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

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

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

revision 1.7 by heimbach, Thu Nov 11 06:28:33 2004 UTC revision 1.24 by heimbach, Wed Jun 7 01:55:14 2006 UTC
# Line 34  c     == global variables == Line 34  c     == global variables ==
34  #ifdef ALLOW_OBCS_CONTROL  #ifdef ALLOW_OBCS_CONTROL
35  # include "OBCS.h"  # include "OBCS.h"
36  #endif  #endif
 #ifdef ALLOW_ECCO_OPTIMIZATION  
 # include "optim.h"  
 #endif  
37    
38  c     == routine arguments ==  c     == routine arguments ==
39    
# Line 48  c     == local variables == Line 45  c     == local variables ==
45        integer i,j,k        integer i,j,k
46        integer ntmp        integer ntmp
47        integer ivarindex        integer ivarindex
48          integer iUnit
49        integer iobcs        integer iobcs
50        integer il        integer il
51        integer errio        integer errio
# Line 77  c--   Read the namelist input. Line 74  c--   Read the namelist input.
74       &  xx_salt_file,       &  xx_salt_file,
75       &  xx_hflux_file,       &  xx_hflux_file,
76       &  xx_hfluxstartdate1, xx_hfluxstartdate2, xx_hfluxperiod,       &  xx_hfluxstartdate1, xx_hfluxstartdate2, xx_hfluxperiod,
77         &  xx_hflux_remo_intercept, xx_hflux_remo_slope,
78       &  xx_sflux_file,       &  xx_sflux_file,
79       &  xx_sfluxstartdate1, xx_sfluxstartdate2, xx_sfluxperiod,       &  xx_sfluxstartdate1, xx_sfluxstartdate2, xx_sfluxperiod,
80         &  xx_sflux_remo_intercept, xx_sflux_remo_slope,
81       &  xx_tauu_file,       &  xx_tauu_file,
82       &  xx_tauustartdate1,  xx_tauustartdate2,  xx_tauuperiod,       &  xx_tauustartdate1,  xx_tauustartdate2,  xx_tauuperiod,
83         &  xx_tauu_remo_intercept, xx_tauu_remo_slope,
84       &  xx_tauv_file,       &  xx_tauv_file,
85       &  xx_tauvstartdate1,  xx_tauvstartdate2,  xx_tauvperiod,       &  xx_tauvstartdate1,  xx_tauvstartdate2,  xx_tauvperiod,
86         &  xx_tauv_remo_intercept, xx_tauv_remo_slope,
87       &  xx_atemp_file,       &  xx_atemp_file,
88       &  xx_atempstartdate1, xx_atempstartdate2, xx_atempperiod,       &  xx_atempstartdate1, xx_atempstartdate2, xx_atempperiod,
89         &  xx_atemp_remo_intercept, xx_atemp_remo_slope,
90       &  xx_aqh_file,       &  xx_aqh_file,
91       &  xx_aqhstartdate1, xx_aqhstartdate2, xx_aqhperiod,       &  xx_aqhstartdate1, xx_aqhstartdate2, xx_aqhperiod,
92         &  xx_aqh_remo_intercept, xx_aqh_remo_slope,
93         &  xx_precip_file,
94         &  xx_precipstartdate1, xx_precipstartdate2, xx_precipperiod,
95         &  xx_precip_remo_intercept, xx_precip_remo_slope,
96         &  xx_swflux_file,
97         &  xx_swfluxstartdate1, xx_swfluxstartdate2, xx_swfluxperiod,
98         &  xx_swflux_remo_intercept, xx_swflux_remo_slope,
99         &  xx_swdown_file,
100         &  xx_swdownstartdate1, xx_swdownstartdate2, xx_swdownperiod,
101         &  xx_swdown_remo_intercept, xx_swdown_remo_slope,
102       &  xx_uwind_file,       &  xx_uwind_file,
103       &  xx_uwindstartdate1, xx_uwindstartdate2, xx_uwindperiod,       &  xx_uwindstartdate1, xx_uwindstartdate2, xx_uwindperiod,
104         &  xx_uwind_remo_intercept, xx_uwind_remo_slope,
105       &  xx_vwind_file,       &  xx_vwind_file,
106       &  xx_vwindstartdate1, xx_vwindstartdate2, xx_vwindperiod,       &  xx_vwindstartdate1, xx_vwindstartdate2, xx_vwindperiod,
107         &  xx_vwind_remo_intercept, xx_vwind_remo_slope,
108       &  xx_obcsn_file,       &  xx_obcsn_file,
109       &  xx_obcsnstartdate1,  xx_obcsnstartdate2,  xx_obcsnperiod,       &  xx_obcsnstartdate1,  xx_obcsnstartdate2,  xx_obcsnperiod,
110       &  xx_obcss_file,       &  xx_obcss_file,
# Line 103  c--   Read the namelist input. Line 117  c--   Read the namelist input.
117       &  xx_kapgm_file,       &  xx_kapgm_file,
118       &  xx_tr1_file,       &  xx_tr1_file,
119       &  xx_sst_file,       &  xx_sst_file,
120         &  xx_sststartdate1, xx_sststartdate2, xx_sstperiod,
121       &  xx_sss_file,       &  xx_sss_file,
122       &  xx_hfacc_file,       &  xx_sssstartdate1, xx_sssstartdate2, xx_sssperiod,
123         &  xx_depth_file,
124       &  xx_efluxy_file,       &  xx_efluxy_file,
125       &  xx_efluxp_file,       &  xx_efluxp_file,
126       &  xx_bottomdrag_file,       &  xx_bottomdrag_file,
127       &  doInitXX       &  xx_edtaux_file,
128         &  xx_edtauy_file,
129         &  xx_uvel_file,
130         &  xx_vvel_file,
131         &  xx_etan_file,
132         &  doInitXX,
133         &  doPackDiag,
134         &  doZscaleUnpack,
135         &  doZscalePack,
136         &  doMainUnpack,
137         &  doMainPack,
138         &  doAdmtlmBypassAD,
139         &  delZexp
140    
141        namelist /ctrl_packnames/        namelist /ctrl_packnames/
142       &  yadmark, yctrlid, yctrlposunpack, yctrlpospack,       &  yadmark, yctrlid, yctrlposunpack, yctrlpospack,
# Line 117  c--   Read the namelist input. Line 145  c--   Read the namelist input.
145        _BEGIN_MASTER( myThid )        _BEGIN_MASTER( myThid )
146    
147  c--     Set default values.  c--     Set default values.
148          xx_theta_file      = ' '          doInitXX            = .TRUE.
149          xx_salt_file       = ' '  #ifdef ALLOW_ADMTLM
150            doAdmTlm            = .TRUE.
151    #else
152            doAdmTlm            = .FALSE.
153    #endif
154            doPackDiag          = .FALSE.
155            doZscaleUnpack      = .FALSE.
156            doZscalePack        = .FALSE.
157            doMainUnpack        = .TRUE.
158            doMainPack          = .TRUE.
159            doAdmtlmBypassAD    = .FALSE.
160    
161            delZexp = 0.
162    
163            xx_theta_file      = 'xx_theta'
164            xx_salt_file       = 'xx_salt'
165    c
166          xx_hfluxstartdate1 =   0          xx_hfluxstartdate1 =   0
167          xx_hfluxstartdate2 =   0          xx_hfluxstartdate2 =   0
168          xx_hfluxperiod     =   0. _d 0          xx_hfluxperiod     =   0. _d 0
169          xx_hflux_file      = ' '          xx_hflux_file      = 'xx_hfl'
170            xx_hflux_remo_intercept =   0. _d 0
171            xx_hflux_remo_slope =   0. _d 0
172    c
173          xx_sfluxstartdate1 =   0          xx_sfluxstartdate1 =   0
174          xx_sfluxstartdate2 =   0          xx_sfluxstartdate2 =   0
175          xx_sfluxperiod     =   0. _d 0          xx_sfluxperiod     =   0. _d 0
176          xx_sflux_file      = ' '          xx_sflux_file      = 'xx_sfl'
177            xx_sflux_remo_intercept =   0. _d 0
178            xx_sflux_remo_slope =   0. _d 0
179    c
180          xx_tauustartdate1  =   0          xx_tauustartdate1  =   0
181          xx_tauustartdate2  =   0          xx_tauustartdate2  =   0
182          xx_tauuperiod      =   0. _d 0          xx_tauuperiod      =   0. _d 0
183          xx_tauu_file       = ' '          xx_tauu_file       = 'xx_tauu'
184            xx_tauu_remo_intercept =   0. _d 0
185            xx_tauu_remo_slope =   0. _d 0
186    c
187          xx_tauvstartdate1  =   0          xx_tauvstartdate1  =   0
188          xx_tauvstartdate2  =   0          xx_tauvstartdate2  =   0
189          xx_tauvperiod      =   0. _d 0          xx_tauvperiod      =   0. _d 0
190          xx_tauv_file       = ' '          xx_tauv_file       = 'xx_tauv'
191            xx_tauv_remo_intercept =   0. _d 0
192            xx_tauv_remo_slope =   0. _d 0
193    c
194          xx_atempstartdate1  =   0          xx_atempstartdate1  =   0
195          xx_atempstartdate2  =   0          xx_atempstartdate2  =   0
196          xx_atempperiod      =   0. _d 0          xx_atempperiod      =   0. _d 0
197          xx_atemp_file       = ' '          xx_atemp_file       = 'xx_atemp'
198            xx_atemp_remo_intercept =   0. _d 0
199            xx_atemp_remo_slope =   0. _d 0
200    c
201          xx_aqhstartdate1    =   0          xx_aqhstartdate1    =   0
202          xx_aqhstartdate2    =   0          xx_aqhstartdate2    =   0
203          xx_aqhperiod        =   0. _d 0          xx_aqhperiod        =   0. _d 0
204          xx_aqh_file         = ' '          xx_aqh_file         = 'xx_aqh'
205            xx_aqh_remo_intercept =   0. _d 0
206            xx_aqh_remo_slope =   0. _d 0
207    c
208            xx_precipstartdate1 =   0
209            xx_precipstartdate2 =   0
210            xx_precipperiod     =   0. _d 0
211            xx_precip_file      = 'xx_precip'
212            xx_precip_remo_intercept =   0. _d 0
213            xx_precip_remo_slope =   0. _d 0
214    c
215            xx_swfluxstartdate1 =   0
216            xx_swfluxstartdate2 =   0
217            xx_swfluxperiod     =   0. _d 0
218            xx_swflux_file      = 'xx_swflux'
219            xx_swflux_remo_intercept =   0. _d 0
220            xx_swflux_remo_slope =   0. _d 0
221    c
222            xx_swdownstartdate1 =   0
223            xx_swdownstartdate2 =   0
224            xx_swdownperiod     =   0. _d 0
225            xx_swdown_file      = 'xx_swdown'
226            xx_swdown_remo_intercept =   0. _d 0
227            xx_swdown_remo_slope =   0. _d 0
228    c
229          xx_uwindstartdate1  =   0          xx_uwindstartdate1  =   0
230          xx_uwindstartdate2  =   0          xx_uwindstartdate2  =   0
231          xx_uwindperiod      =   0. _d 0          xx_uwindperiod      =   0. _d 0
232          xx_uwind_file       = ' '          xx_uwind_file       = 'xx_uwind'
233            xx_uwind_remo_intercept =   0. _d 0
234            xx_uwind_remo_slope =   0. _d 0
235    c
236          xx_vwindstartdate1  =   0          xx_vwindstartdate1  =   0
237          xx_vwindstartdate2  =   0          xx_vwindstartdate2  =   0
238          xx_vwindperiod      =   0. _d 0          xx_vwindperiod      =   0. _d 0
239          xx_vwind_file       = ' '          xx_vwind_file       = 'xx_vwind'
240            xx_vwind_remo_intercept =   0. _d 0
241            xx_vwind_remo_slope =   0. _d 0
242    c
243          xx_obcsnstartdate1  =   0          xx_obcsnstartdate1  =   0
244          xx_obcsnstartdate2  =   0          xx_obcsnstartdate2  =   0
245          xx_obcsnperiod      =   0. _d 0          xx_obcsnperiod      =   0. _d 0
246          xx_obcsn_file       = ' '          xx_obcsn_file       = 'xx_obcsn'
247    c
248          xx_obcssstartdate1  =   0          xx_obcssstartdate1  =   0
249          xx_obcssstartdate2  =   0          xx_obcssstartdate2  =   0
250          xx_obcssperiod      =   0. _d 0          xx_obcssperiod      =   0. _d 0
251          xx_obcss_file       = ' '          xx_obcss_file       = 'xx_obcss'
252    c
253          xx_obcswstartdate1  =   0          xx_obcswstartdate1  =   0
254          xx_obcswstartdate2  =   0          xx_obcswstartdate2  =   0
255          xx_obcswperiod      =   0. _d 0          xx_obcswperiod      =   0. _d 0
256          xx_obcsw_file       = ' '          xx_obcsw_file       = 'xx_obcsw'
257    c
258          xx_obcsestartdate1  =   0          xx_obcsestartdate1  =   0
259          xx_obcsestartdate2  =   0          xx_obcsestartdate2  =   0
260          xx_obcseperiod      =   0. _d 0          xx_obcseperiod      =   0. _d 0
261          xx_obcse_file       = ' '          xx_obcse_file       = 'xx_obcse'
262          xx_diffkr_file      = ' '  c
263          xx_kapgm_file       = ' '          xx_sststartdate1    =   0
264          xx_tr1_file         = ' '          xx_sststartdate2    =   0
265          xx_sst_file         = ' '          xx_sstperiod        =   0. _d 0
266          xx_sss_file         = ' '          xx_sst_file         = 'xx_sst'
267          xx_hfacc_file       = ' '  c
268          xx_efluxy_file      = ' '          xx_sssstartdate1    =   0
269          xx_efluxp_file      = ' '          xx_sssstartdate2    =   0
270          xx_bottomdrag_file  = ' '          xx_sssperiod        =   0. _d 0
271            xx_sss_file         = 'xx_sss'
272          doInitXX            = .TRUE.  c
273            xx_diffkr_file      = 'xx_diffkr'
274            xx_kapgm_file       = 'xx_kapgm'
275            xx_tr1_file         = 'xx_ptr'
276            xx_depth_file       = 'xx_depth'
277            xx_efluxy_file      = 'xx_efluxy'
278            xx_efluxp_file      = 'xx_efluxp'
279            xx_bottomdrag_file  = 'xx_bottomdrag'
280            xx_edtaux_file      = 'xx_edtaux'
281            xx_edtauy_file      = 'xx_edtauy'
282            xx_uvel_file        = 'xx_uvel'
283            xx_vvel_file        = 'xx_vvel'
284            xx_etan_file        = 'xx_etan'
285    
286  #ifdef ALLOW_TANGENTLINEAR_RUN  #ifdef ALLOW_TANGENTLINEAR_RUN
287          yadprefix           = 'g_'          yadprefix           = 'g_'
# Line 195  c--     Set default values. Line 299  c--     Set default values.
299          maskname            = ' '          maskname            = ' '
300          metaname            = ' '          metaname            = ' '
301    
302  c--     Check versions.  c--     Next, read the cost data file.
303            WRITE(msgBuf,'(A)') 'CTRL_READPARMS: opening data.ctrl'
304          open(unit=scrunit1,status='scratch')          CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
305         &                    SQUEEZE_RIGHT , 1)
306    
307            CALL OPEN_COPY_DATA_FILE(
308         I                          'data.ctrl', 'CTRL_READPARMS',
309         O                          iUnit,
310         I                          myThid )
311    
312            READ(unit = iUnit, nml = ctrl_nml)
313            READ(unit = iUnit, nml = ctrl_packnames)
314    
315            WRITE(msgBuf,'(A)')
316         &       'CTRL_READPARMS: finished reading data.ctrl'
317            CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
318         &                  SQUEEZE_RIGHT , 1)
319    
320  c--     Next, read the ecco data file.          CLOSE( iUnit )
         open(unit = modeldataunit,file = 'data.ctrl',  
      &       status = 'old', iostat = errio)  
         if ( errio .lt. 0 ) then  
           stop ' stopped in ctrl_readparms'  
         endif  
   
         do while ( .true. )  
           read(modeldataunit, fmt='(a)', end=1001) record  
           il = max(ilnblnk(record),1)  
           if ( record(1:1) .ne. commentcharacter )  
      &        write(unit=scrunit1, fmt='(a)') record(:il)  
         enddo  
  1001   continue  
         close( modeldataunit )  
   
         rewind( scrunit1 )  
         read(unit = scrunit1, nml = ctrl_nml)  
         read(unit = scrunit1, nml = ctrl_packnames)  
         close( scrunit1 )  
321    
322        _END_MASTER( myThid )        _END_MASTER( myThid )
323    

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.24

  ViewVC Help
Powered by ViewVC 1.1.22