/[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.19 - (hide annotations) (download)
Wed Aug 31 00:03:30 2005 UTC (18 years, 9 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint57t_post, checkpoint57v_post, checkpoint57s_post, checkpoint57y_post, checkpoint57y_pre, checkpoint57r_post, checkpoint57x_post, checkpoint57w_post, checkpint57u_post
Changes since 1.18: +9 -1 lines
Adding time-dependent SST, SSS control.

1 edhill 1.5 C
2 heimbach 1.19 C $Header: /u/gcmpack/MITgcm/pkg/ctrl/ctrl_readparms.F,v 1.18 2005/08/06 11:02:01 heimbach Exp $
3 heimbach 1.10 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    
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 heimbach 1.15 integer iUnit
49 heimbach 1.2 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 heimbach 1.16 & xx_precip_file,
88     & xx_precipstartdate1, xx_precipstartdate2, xx_precipperiod,
89 heimbach 1.17 & xx_swflux_file,
90     & xx_swfluxstartdate1, xx_swfluxstartdate2, xx_swfluxperiod,
91 heimbach 1.18 & xx_swdown_file,
92     & xx_swdownstartdate1, xx_swdownstartdate2, xx_swdownperiod,
93 heimbach 1.2 & xx_uwind_file,
94     & xx_uwindstartdate1, xx_uwindstartdate2, xx_uwindperiod,
95     & xx_vwind_file,
96     & xx_vwindstartdate1, xx_vwindstartdate2, xx_vwindperiod,
97     & xx_obcsn_file,
98     & xx_obcsnstartdate1, xx_obcsnstartdate2, xx_obcsnperiod,
99     & xx_obcss_file,
100     & xx_obcssstartdate1, xx_obcssstartdate2, xx_obcssperiod,
101     & xx_obcsw_file,
102     & xx_obcswstartdate1, xx_obcswstartdate2, xx_obcswperiod,
103     & xx_obcse_file,
104     & xx_obcsestartdate1, xx_obcsestartdate2, xx_obcseperiod,
105     & xx_diffkr_file,
106     & xx_kapgm_file,
107     & xx_tr1_file,
108     & xx_sst_file,
109 heimbach 1.19 & xx_sststartdate1, xx_sststartdate2, xx_sstperiod,
110 heimbach 1.2 & xx_sss_file,
111 heimbach 1.19 & xx_sssstartdate1, xx_sssstartdate2, xx_sssperiod,
112 heimbach 1.2 & xx_hfacc_file,
113     & xx_efluxy_file,
114     & xx_efluxp_file,
115 heimbach 1.7 & xx_bottomdrag_file,
116 heimbach 1.12 & xx_edtaux_file,
117     & xx_edtauy_file,
118 heimbach 1.14 & xx_uvel_file,
119     & xx_vvel_file,
120     & xx_etan_file,
121 heimbach 1.10 & doInitXX,
122 heimbach 1.11 & doPackDiag,
123     & doZscaleUnpack,
124     & doZscalePack
125    
126 heimbach 1.2
127     namelist /ctrl_packnames/
128 heimbach 1.6 & yadmark, yctrlid, yctrlposunpack, yctrlpospack,
129 heimbach 1.2 & ctrlname, costname, scalname, maskname, metaname
130    
131     _BEGIN_MASTER( myThid )
132    
133     c-- Set default values.
134 heimbach 1.8 doInitXX = .TRUE.
135     #ifdef ALLOW_ADMTLM
136     doAdmTlm = .TRUE.
137     #else
138     doAdmTlm = .FALSE.
139     #endif
140 heimbach 1.10 doPackDiag = .FALSE.
141 heimbach 1.11 doZscaleUnpack = .FALSE.
142     doZscalePack = .FALSE.
143 heimbach 1.8
144 heimbach 1.13 xx_theta_file = 'xx_theta'
145     xx_salt_file = 'xx_salt'
146 heimbach 1.2 xx_hfluxstartdate1 = 0
147     xx_hfluxstartdate2 = 0
148     xx_hfluxperiod = 0. _d 0
149 heimbach 1.13 xx_hflux_file = 'xx_hfl'
150 heimbach 1.2 xx_sfluxstartdate1 = 0
151     xx_sfluxstartdate2 = 0
152     xx_sfluxperiod = 0. _d 0
153 heimbach 1.13 xx_sflux_file = 'xx_sfl'
154 heimbach 1.2 xx_tauustartdate1 = 0
155     xx_tauustartdate2 = 0
156     xx_tauuperiod = 0. _d 0
157 heimbach 1.13 xx_tauu_file = 'xx_tauu'
158 heimbach 1.2 xx_tauvstartdate1 = 0
159     xx_tauvstartdate2 = 0
160     xx_tauvperiod = 0. _d 0
161 heimbach 1.13 xx_tauv_file = 'xx_tauv'
162 heimbach 1.2 xx_atempstartdate1 = 0
163     xx_atempstartdate2 = 0
164     xx_atempperiod = 0. _d 0
165 heimbach 1.13 xx_atemp_file = 'xx_atemp'
166 heimbach 1.2 xx_aqhstartdate1 = 0
167     xx_aqhstartdate2 = 0
168     xx_aqhperiod = 0. _d 0
169 heimbach 1.13 xx_aqh_file = 'xx_aqh'
170 heimbach 1.16 xx_precipstartdate1 = 0
171     xx_precipstartdate2 = 0
172     xx_precipperiod = 0. _d 0
173     xx_precip_file = 'xx_precip'
174 heimbach 1.17 xx_swfluxstartdate1 = 0
175     xx_swfluxstartdate2 = 0
176     xx_swfluxperiod = 0. _d 0
177     xx_swflux_file = 'xx_swflux'
178 heimbach 1.18 xx_swdownstartdate1 = 0
179     xx_swdownstartdate2 = 0
180     xx_swdownperiod = 0. _d 0
181     xx_swdown_file = 'xx_swdown'
182 heimbach 1.2 xx_uwindstartdate1 = 0
183     xx_uwindstartdate2 = 0
184     xx_uwindperiod = 0. _d 0
185 heimbach 1.13 xx_uwind_file = 'xx_uwind'
186 heimbach 1.2 xx_vwindstartdate1 = 0
187     xx_vwindstartdate2 = 0
188     xx_vwindperiod = 0. _d 0
189 heimbach 1.13 xx_vwind_file = 'xx_vwind'
190 heimbach 1.2 xx_obcsnstartdate1 = 0
191     xx_obcsnstartdate2 = 0
192     xx_obcsnperiod = 0. _d 0
193 heimbach 1.13 xx_obcsn_file = 'xx_obcsn'
194 heimbach 1.2 xx_obcssstartdate1 = 0
195     xx_obcssstartdate2 = 0
196     xx_obcssperiod = 0. _d 0
197 heimbach 1.13 xx_obcss_file = 'xx_obcss'
198 heimbach 1.2 xx_obcswstartdate1 = 0
199     xx_obcswstartdate2 = 0
200     xx_obcswperiod = 0. _d 0
201 heimbach 1.13 xx_obcsw_file = 'xx_obcsw'
202 heimbach 1.2 xx_obcsestartdate1 = 0
203     xx_obcsestartdate2 = 0
204     xx_obcseperiod = 0. _d 0
205 heimbach 1.13 xx_obcse_file = 'xx_obcse'
206     xx_diffkr_file = 'xx_diffkr'
207     xx_kapgm_file = 'xx_kapgm'
208     xx_tr1_file = 'xx_ptr'
209 heimbach 1.19 xx_sststartdate1 = 0
210     xx_sststartdate2 = 0
211     xx_sstperiod = 0. _d 0
212 heimbach 1.13 xx_sst_file = 'xx_sst'
213 heimbach 1.19 xx_sssstartdate1 = 0
214     xx_sssstartdate2 = 0
215     xx_sssperiod = 0. _d 0
216 heimbach 1.13 xx_sss_file = 'xx_sss'
217     xx_hfacc_file = 'xx_hfacc'
218     xx_efluxy_file = 'xx_efluxy'
219     xx_efluxp_file = 'xx_efluxp'
220     xx_bottomdrag_file = 'xx_bottomdrag'
221     xx_edtaux_file = 'xx_edtaux'
222     xx_edtauy_file = 'xx_edtauy'
223 heimbach 1.14 xx_uvel_file = 'xx_uvel'
224     xx_vvel_file = 'xx_vvel'
225     xx_etan_file = 'xx_etan'
226 heimbach 1.2
227 heimbach 1.4 #ifdef ALLOW_TANGENTLINEAR_RUN
228     yadprefix = 'g_'
229     yadmark = 'g_'
230     #else
231     yadprefix = 'ad'
232 heimbach 1.2 yadmark = 'ad'
233     #endif
234     yctrlid = 'MIT_CE_000'
235 heimbach 1.6 yctrlposunpack = '.opt'
236     yctrlpospack = '.opt'
237 heimbach 1.2 ctrlname = ' '
238     costname = ' '
239     scalname = ' '
240     maskname = ' '
241     metaname = ' '
242    
243 heimbach 1.15 c-- Next, read the cost data file.
244     WRITE(msgBuf,'(A)') 'CTRL_READPARMS: opening data.ctrl'
245     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
246     & SQUEEZE_RIGHT , 1)
247    
248     CALL OPEN_COPY_DATA_FILE(
249     I 'data.ctrl', 'CTRL_READPARMS',
250     O iUnit,
251     I myThid )
252    
253     READ(unit = iUnit, nml = ctrl_nml)
254     READ(unit = iUnit, nml = ctrl_packnames)
255    
256     WRITE(msgBuf,'(A)')
257     & 'CTRL_READPARMS: finished reading data.ctrl'
258     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
259     & SQUEEZE_RIGHT , 1)
260 heimbach 1.2
261 heimbach 1.15 CLOSE( iUnit )
262 heimbach 1.2
263     _END_MASTER( myThid )
264    
265     _BARRIER
266    
267     return
268     end
269    

  ViewVC Help
Powered by ViewVC 1.1.22