/[MITgcm]/MITgcm/model/src/packages_write_pickup.F
ViewVC logotype

Contents of /MITgcm/model/src/packages_write_pickup.F

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


Revision 1.38 - (show annotations) (download)
Thu Oct 1 21:28:09 2009 UTC (14 years, 7 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint63a, checkpoint62, checkpoint63, checkpoint62c, checkpoint62b, checkpoint62a, checkpoint62g, checkpoint62f, checkpoint62e, checkpoint62d, checkpoint62k, checkpoint62j, checkpoint62i, checkpoint62h, checkpoint62o, checkpoint62n, checkpoint62m, checkpoint62l, checkpoint62s, checkpoint62r, checkpoint62q, checkpoint62p, checkpoint62w, checkpoint62v, checkpoint62u, checkpoint62t, checkpoint62z, checkpoint62y, checkpoint62x, checkpoint61w, checkpoint61z, checkpoint61x, checkpoint61y
Changes since 1.37: +5 -6 lines
uncomment OBCS_WRITE_PICKUP call

1 C $Header: /u/gcmpack/MITgcm/model/src/packages_write_pickup.F,v 1.37 2009/09/01 19:42:39 jmc Exp $
2 C $Name: $
3
4 #include "PACKAGES_CONFIG.h"
5 #include "CPP_OPTIONS.h"
6
7 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
8 C files.
9
10 CBOP
11 C !ROUTINE: PACKAGES_WRITE_PICKUP
12
13 C !INTERFACE:
14 SUBROUTINE PACKAGES_WRITE_PICKUP(
15 I permPickup,
16 I myTime, myIter, myThid )
17
18 C !DESCRIPTION:
19 C Write pickup files for each package which needs it to restart.
20 C This routine (S/R PACKAGES_WRITE_PICKUP) calls per-package
21 C write-pickup (or checkpoint) routines. It writes both
22 C "rolling-pickup" files (ckptA,ckptB) and permanent pickup.
23
24 C !USES:
25 IMPLICIT NONE
26 #include "SIZE.h"
27 #include "EEPARAMS.h"
28 #include "PARAMS.h"
29 #include "RESTART.h"
30
31 C !INPUT/OUTPUT PARAMETERS:
32 C permPickup :: Is or is not a permanent pickup.
33 C myTime :: Current time of simulation ( s )
34 C myIter :: Iteration number
35 C myThid :: Thread number for this instance of the routine.
36 LOGICAL permPickup
37 _RL myTime
38 INTEGER myIter
39 INTEGER myThid
40
41 C !LOCAL VARIABLES:
42 C == Local variables ==
43 C suffix :: pickup-name suffix
44 CHARACTER*(10) suffix
45 CEOP
46
47 C Going to really do some IO. Make everyone except master thread wait.
48 C this is done within IO routines => no longer needed
49 c _BARRIER
50
51 C Create suffix to pass on to package pickup routines
52 IF ( permPickup ) THEN
53 WRITE(suffix,'(I10.10)') myIter
54 ELSE
55 WRITE(suffix,'(A)') checkPtSuff(nCheckLev)
56 ENDIF
57
58 #ifdef ALLOW_GENERIC_ADVDIFF
59 C Write restart file for 2nd-Order moment (active) Tracers
60 IF ( useGAD ) THEN
61 CALL GAD_WRITE_PICKUP(
62 I suffix, myTime, myIter, myThid )
63 ENDIF
64 #endif /* ALLOW_GENERIC_ADVDIFF */
65
66 #ifdef ALLOW_CD_CODE
67 IF (useCDscheme) THEN
68 CALL CD_CODE_WRITE_PICKUP( permPickup,
69 I suffix, myTime, myIter, myThid )
70 ENDIF
71 #endif /* ALLOW_CD_CODE */
72
73 #ifdef ALLOW_OBCS
74 IF (useOBCS) THEN
75 CALL OBCS_WRITE_PICKUP(
76 & suffix, myTime, myIter, myThid )
77 ENDIF
78 #endif /* ALLOW_OBCS */
79
80 #ifdef ALLOW_SEAICE
81 IF ( useSEAICE ) THEN
82 CALL SEAICE_WRITE_PICKUP( permPickup,
83 I suffix, myTime, myIter, myThid )
84 ENDIF
85 #endif /* ALLOW_SEAICE */
86
87 #ifdef ALLOW_THSICE
88 IF (useThSIce) THEN
89 CALL THSICE_WRITE_PICKUP( permPickup,
90 I suffix, myTime, myIter, myThid )
91 ENDIF
92 #endif /* ALLOW_THSICE */
93
94 #ifdef COMPONENT_MODULE
95 IF (useCoupler) THEN
96 CALL CPL_WRITE_PICKUP(
97 & suffix, myTime, myIter, myThid )
98 ENDIF
99 #endif /* COMPONENT_MODULE */
100
101 #ifdef ALLOW_FLT
102 C Write restart file for floats
103 IF (useFLT) THEN
104 CALL FLT_WRITE_PICKUP(
105 & suffix, myTime, myIter, myThid )
106 ENDIF
107 #endif
108
109 #ifdef ALLOW_LAND
110 C Write pickup file for Land package:
111 IF (useLand) THEN
112 CALL LAND_WRITE_PICKUP( permPickup,
113 & suffix, myTime, myIter, myThid )
114 ENDIF
115 #endif
116
117 #ifdef ALLOW_FIZHI
118 C Write pickup file for fizhi package
119 IF (usefizhi) THEN
120 CALL FIZHI_WRITE_PICKUP(suffix,myTime,myIter,myThid)
121 CALL FIZHI_WRITE_VEGTILES(suffix,0,myTime,myIter,myThid)
122 CALL FIZHI_WRITE_DATETIME(myTime,myIter,myThid)
123 ENDIF
124 #endif
125
126 #ifdef ALLOW_DIAGNOSTICS
127 C Write pickup file for diagnostics package
128 IF (useDiagnostics) THEN
129 CALL DIAGNOSTICS_WRITE_PICKUP( permPickup,
130 I suffix, myTime, myIter, myThid )
131 ENDIF
132 #endif
133
134 #ifdef ALLOW_GGL90
135 IF ( useGGL90 ) THEN
136 CALL GGL90_WRITE_PICKUP( permPickup,
137 I suffix, myTime, myIter, myThid )
138 ENDIF
139 #endif /* ALLOW_GGL90 */
140
141 #ifdef ALLOW_PTRACERS
142 C Write restart file for passive tracers
143 IF (usePTRACERS) THEN
144 CALL PTRACERS_WRITE_PICKUP( permPickup,
145 I suffix, myTime, myIter, myThid )
146 ENDIF
147 #endif /* ALLOW_PTRACERS */
148
149 #ifdef ALLOW_GCHEM
150 C Write restart file for GCHEM pkg & GCHEM sub-packages
151 IF ( useGCHEM ) THEN
152 CALL GCHEM_WRITE_PICKUP( permPickup,
153 I suffix, myTime, myIter, myThid )
154 ENDIF
155 #endif
156
157 #ifdef ALLOW_CHEAPAML
158 C Write restart file for CHEAPAML pkg
159 IF ( useCheapAML ) THEN
160 CALL CHEAPAML_WRITE_PICKUP( permPickup,
161 I suffix, myTime, myIter, myThid)
162 ENDIF
163 #endif /* ALLOW_CHEAPAML */
164
165 #ifdef ALLOW_MYPACKAGE
166 IF (useMYPACKAGE) THEN
167 CALL MYPACKAGE_WRITE_PICKUP( permPickup,
168 I suffix, myTime, myIter, myThid )
169 ENDIF
170 #endif /* ALLOW_MYPACKAGE */
171
172 C-- Every one else must wait until writing is done.
173 C this is done within IO routines => no longer needed
174 c _BARRIER
175
176 RETURN
177 END
178
179 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|

  ViewVC Help
Powered by ViewVC 1.1.22