/[MITgcm]/MITgcm/pkg/cal/cal_readparms.F
ViewVC logotype

Annotation of /MITgcm/pkg/cal/cal_readparms.F

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


Revision 1.10 - (hide annotations) (download)
Tue Oct 11 23:02:39 2011 UTC (12 years, 7 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint63g, checkpoint63d, checkpoint63e, checkpoint63f
Changes since 1.9: +19 -13 lines
add some debug-print

1 jmc 1.10 C $Header: /u/gcmpack/MITgcm/pkg/cal/cal_readparms.F,v 1.9 2006/03/20 15:14:27 jmc Exp $
2 edhill 1.3 C $Name: $
3 heimbach 1.2
4 edhill 1.3 #include "CAL_OPTIONS.h"
5 heimbach 1.2
6 jmc 1.10 SUBROUTINE CAL_READPARMS( myThid )
7 heimbach 1.2
8     c ==================================================================
9     c SUBROUTINE cal_readparms
10     c ==================================================================
11     c
12     c o This routine initialises the calendar according to the user
13     c specifications in "data.calendar".
14     c
15     c started: Christian Eckert eckert@mit.edu 30-Jun-1999
16     c
17     c changed: Christian Eckert eckert@mit.edu 29-Dec-1999
18     c
19     c - restructured the original version in order to have a
20     c better interface to the MITgcmUV.
21     c
22     c Christian Eckert eckert@mit.edu 10-Jan-2000
23     c
24     c - Modified namelist input. The data file is first copied
25     c to scrunit1 with the comment lines being left out.
26     c After this, scrunit1 is used to read the namelist data.
27     c
28     c Christian Eckert eckert@mit.edu 19-Jan-2000
29     c
30     c - Changed the role of the routine arguments. Chris Hill
31     c proposed to make the calendar less "invasive". The tool
32     c now assumes that the MITgcmUV already provides an ade-
33     c quate set of time stepping parameters. The calendar
34     c only associates a date with the given starttime of the
35     c numerical model. startdate corresponds to zero start-
36     c time. So, given niter0 or startdate .ne. zero the actual
37     c startdate of the current integration is shifted by the
38     c time interval correponding to niter0, startdate respec-
39     c tively.
40     c
41     c Christian Eckert eckert@mit.edu 03-Feb-2000
42     c
43     c - Introduced new routine and function names, cal_<NAME>,
44     c for verion 0.1.3.
45     c
46     c ==================================================================
47     c SUBROUTINE cal_readparms
48     c ==================================================================
49    
50     implicit none
51    
52     c == global variables ==
53    
54     #include "SIZE.h"
55     #include "EEPARAMS.h"
56     #include "PARAMS.h"
57 heimbach 1.8 #include "cal.h"
58 heimbach 1.2
59 jmc 1.10 C == routine arguments ==
60     C myThid :: my Thread Id number
61     INTEGER myThid
62 heimbach 1.2
63 jmc 1.10 c == local variables ==
64 heimbach 1.2 c modstart - start time of the model integration
65     c modend - end time of the model integration
66     c moditerini - initial iteration number of the model
67     c moditerend - last iteration number of the model
68     c modstep - timestep of the numerical model
69     c modintsteps - number of timesteps that are to be performed.
70    
71     _RL modstart
72     _RL modend
73     _RL modstep
74     integer moditerini
75     integer moditerend
76     integer modintsteps
77    
78     integer errio
79     integer ierr
80     integer il
81     integer enddate_1
82     integer enddate_2
83    
84     c Variables related to the calendar tool.
85     character*(9) TheCalendar
86 heimbach 1.6 integer iUnit
87 heimbach 1.2
88 jmc 1.10 character*(max_len_mbuf) msgBuf
89 heimbach 1.2 character*(max_len_prec) record
90    
91     c == external ==
92    
93     integer ilnblnk
94     external ilnblnk
95    
96     c == end of interface ==
97    
98     c Calendar parameters
99     c (version 0.1.3 >> START << )
100    
101     namelist /CAL_NML/
102     & TheCalendar,
103 jmc 1.9 & startDate_1,startDate_2,
104     & calendarDumps
105 heimbach 1.2
106     c (version 0.1.3 >> END << )
107    
108 jmc 1.10 #ifdef ALLOW_DEBUG
109     IF (debugMode) CALL DEBUG_ENTER('CAL_READPARMS',myThid)
110     #endif
111 heimbach 1.2
112     _BEGIN_MASTER(myThid)
113    
114 edhill 1.5 c Initialise the calendar parameters
115 heimbach 1.2 TheCalendar = ' '
116     startdate_1 = 0
117     startdate_2 = 0
118     enddate_1 = 0
119     enddate_2 = 0
120 jmc 1.9 calendarDumps = .FALSE.
121 heimbach 1.2
122     c Next, read the calendar data file.
123 heimbach 1.6 WRITE(msgBuf,'(A)') 'CAL_READPARMS: opening data.cal'
124     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
125     & SQUEEZE_RIGHT , 1)
126    
127     CALL OPEN_COPY_DATA_FILE(
128     I 'data.cal', 'CAL_READPARMS',
129     O iUnit,
130     I myThid )
131    
132     READ(unit = iUnit, nml = cal_nml)
133    
134 jmc 1.10 WRITE(msgBuf,'(A)')
135 heimbach 1.6 & 'CAL_READPARMS: finished reading data.cal'
136     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
137     & SQUEEZE_RIGHT , 1)
138 heimbach 1.2
139 heimbach 1.6 CLOSE( iUnit )
140 heimbach 1.2
141 edhill 1.5 c Check consistency of the date specifications with the MITgcm
142 heimbach 1.2 c startTime, endTime, and nTimeSteps, then set all the calendar
143     c parameters.
144    
145     modstart = startTime
146     modend = endTime
147     modstep = deltaTclock
148     moditerini = nIter0
149     moditerend = nEndIter
150     modintsteps = nTimeSteps
151    
152     call cal_Set(
153     I modstart,
154     I modend,
155     I modstep,
156     I TheCalendar,
157     I startdate_1,
158     I startdate_2,
159     I enddate_1,
160     I enddate_2,
161     I moditerini,
162     I moditerend,
163     I modintsteps,
164 jmc 1.10 I myThid
165 heimbach 1.2 & )
166    
167 jmc 1.10 call cal_Summary( myThid )
168 heimbach 1.2
169     _END_MASTER(myThid)
170    
171     c Everyone else must wait for the parameters to be loaded
172     _BARRIER
173    
174 jmc 1.10 #ifdef ALLOW_DEBUG
175     IF (debugMode) CALL DEBUG_LEAVE('CAL_READPARMS',myThid)
176     #endif
177    
178     RETURN
179     END

  ViewVC Help
Powered by ViewVC 1.1.22