-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathswitch.h
94 lines (93 loc) · 3.95 KB
/
switch.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
c===================== include file "switch.h" =========================
#ifdef hcomments
c
c @(#) SCCS module: switch.h version: 1.1
c Creation date: 10/13/97
c
c-----------------------------------------------------------------------
c
c All time dependent decisions are made in time manager
c "tmngr.F" and communicated elsewhere in the model via
c logical switches .
c
c inputs: (set through namelist)
c
c days = number of days to integrate
c init = true if this run is starts from scratch
c false if restarting from an archived data set.
c nmix = number of time steps between time step mixing
c to damp leap frog time splitting
c eb = true implies euler backward mixing, false
c implies a forward timestep.
c acor = (>0, 0) = (implicit, explicit) treatment of coriolis
c term
c tsi = number of days between printing of time step info
c dgnstc = number of days between extra idagnostic printing
c snapd = number of days between saving a snapshot dataset
c archd = number of days between saving an archive dataset
c statms = number of seconds between master printing status data
c in main loop. 0.0 = no printing
c statis = number of seconds between master printing status data
c while waiting in idling loop. 0.0 = no printing
c restrt = true if a restart data set is to be written
c at the end of this run
c idebug = controls printing of debug information
c
c outputs: (set in tmngr.F)
c
c the following logical switches are set within "tmngr" every
c time step based on the above requirements.
c
c last = true if this is the last timestep of a run
c mixts = true if this is a mixing time step
c prntsi = master: true if time step info to be printed
c slave: true if time step info needed but as yet
c not sent to master
c diagts = true if this is an extra diagnostic timestep
c snapts = master :true if this is a snapshot timestep
c slave: true if this is a snapshot timestep and
c as yet not all data sent to master.
c archts = master: true if this is an archive timestep
c slaves: true if this is a archive timestep and
c as yet not all data sent to master.
c metts = true if a met update is now due
c
c lastn = true if the next timestep is the last timestep of a run
c prntsn = true if time step info to be printed next timestep
c snaptn = true if there is a snapshot next timestep
c archtn = true if there is an archive next timestep
c mettn = true if there is a met update due next timestep
c
c the following switches are set within the main program
c
c first = true if this is the first timestep of a run
c eots = end of a time step. always true except for first
c pass of an euler backward time step
c mxpas2 = second pass of mixing timestep
c frpas1 = first pass of a free surface model timestep
# ifdef de_checkbd
c lchkbd = logical variable used within the barotropic
c time loop to decide whether or not to apply
c the del-cross-del-plus filter
# endif
c
c note: other switches used for message passing are defined within
c include file "mesdta.h"
c
c-----------------------------------------------------------------------
c
#endif
logical init, restrt, eb, first, last, mixts, eots
&, mxpas2, frpas1, prntsi, diagts, snapts, archts
&, lastn , prntsn, snaptn, archtn, metts, mettn
#ifdef de_checkbd
&, lchkbd
#endif
common /switchl/init, eb, restrt, first, last, mixts, eots
&, mxpas2, frpas1, prntsi, diagts, snapts, archts
&, lastn , prntsn, snaptn, archtn, metts, mettn
#ifdef de_checkbd
&, lchkbd
#endif
common /switchr/days,acor,tsi,dgnstc,snapd,archd,statms,statis
common /switchi/nmix,idebug