/[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.13 - (hide annotations) (download)
Wed Mar 30 18:40:40 2005 UTC (19 years, 2 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint57f_pre, checkpoint57f_post
Changes since 1.12: +26 -26 lines
Assign default file names to xx_ files.

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

  ViewVC Help
Powered by ViewVC 1.1.22