/[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.12 - (hide annotations) (download)
Mon Feb 28 17:29:38 2005 UTC (19 years, 3 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint57e_post
Changes since 1.11: +5 -1 lines
Adding eddy stress controls a la Ferreira et al.

1 edhill 1.5 C
2 heimbach 1.12 C $Header: /u/gcmpack/MITgcm/pkg/ctrl/ctrl_readparms.F,v 1.11 2005/01/12 23:39:39 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.2 xx_theta_file = ' '
134     xx_salt_file = ' '
135     xx_hfluxstartdate1 = 0
136     xx_hfluxstartdate2 = 0
137     xx_hfluxperiod = 0. _d 0
138     xx_hflux_file = ' '
139     xx_sfluxstartdate1 = 0
140     xx_sfluxstartdate2 = 0
141     xx_sfluxperiod = 0. _d 0
142     xx_sflux_file = ' '
143     xx_tauustartdate1 = 0
144     xx_tauustartdate2 = 0
145     xx_tauuperiod = 0. _d 0
146     xx_tauu_file = ' '
147     xx_tauvstartdate1 = 0
148     xx_tauvstartdate2 = 0
149     xx_tauvperiod = 0. _d 0
150     xx_tauv_file = ' '
151     xx_atempstartdate1 = 0
152     xx_atempstartdate2 = 0
153     xx_atempperiod = 0. _d 0
154     xx_atemp_file = ' '
155     xx_aqhstartdate1 = 0
156     xx_aqhstartdate2 = 0
157     xx_aqhperiod = 0. _d 0
158     xx_aqh_file = ' '
159     xx_uwindstartdate1 = 0
160     xx_uwindstartdate2 = 0
161     xx_uwindperiod = 0. _d 0
162     xx_uwind_file = ' '
163     xx_vwindstartdate1 = 0
164     xx_vwindstartdate2 = 0
165     xx_vwindperiod = 0. _d 0
166     xx_vwind_file = ' '
167     xx_obcsnstartdate1 = 0
168     xx_obcsnstartdate2 = 0
169     xx_obcsnperiod = 0. _d 0
170     xx_obcsn_file = ' '
171     xx_obcssstartdate1 = 0
172     xx_obcssstartdate2 = 0
173     xx_obcssperiod = 0. _d 0
174     xx_obcss_file = ' '
175     xx_obcswstartdate1 = 0
176     xx_obcswstartdate2 = 0
177     xx_obcswperiod = 0. _d 0
178     xx_obcsw_file = ' '
179     xx_obcsestartdate1 = 0
180     xx_obcsestartdate2 = 0
181     xx_obcseperiod = 0. _d 0
182     xx_obcse_file = ' '
183     xx_diffkr_file = ' '
184     xx_kapgm_file = ' '
185     xx_tr1_file = ' '
186     xx_sst_file = ' '
187     xx_sss_file = ' '
188     xx_hfacc_file = ' '
189     xx_efluxy_file = ' '
190     xx_efluxp_file = ' '
191     xx_bottomdrag_file = ' '
192 heimbach 1.12 xx_edtaux_file = ' '
193     xx_edtauy_file = ' '
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