/[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.9 - (hide annotations) (download)
Sat Dec 4 17:12:00 2004 UTC (19 years, 5 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint57b_post, checkpoint57a_post, checkpoint57a_pre, checkpoint57
Changes since 1.8: +2 -5 lines
Untangle ALLOW_ECCO_OPTIMIZATION option.

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

  ViewVC Help
Powered by ViewVC 1.1.22