/[MITgcm]/MITgcm/pkg/seaice/seaice_pickup.F
ViewVC logotype

Contents of /MITgcm/pkg/seaice/seaice_pickup.F

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


Revision 1.5 - (show annotations) (download)
Thu Oct 9 04:19:20 2003 UTC (20 years, 7 months ago) by edhill
Branch: MAIN
CVS Tags: checkpoint51k_post, checkpoint51l_post, checkpoint51o_pre, checkpoint51n_pre, checkpoint51r_post, checkpoint51i_post, checkpoint51l_pre, checkpoint51o_post, checkpoint51q_post, checkpoint51m_post, checkpoint51t_post, checkpoint51p_post, checkpoint51n_post, checkpoint51s_post
Branch point for: branch-nonh, tg2-branch, checkpoint51n_branch
Changes since 1.4: +2 -1 lines
 o first check-in for the "branch-genmake2" merge
 o verification suite as run on shelley (gcc 3.2.2):

Wed Oct  8 23:42:29 EDT 2003
                T           S           U           V
G D M    c        m  s        m  s        m  s        m  s
E p a R  g  m  m  e  .  m  m  e  .  m  m  e  .  m  m  e  .
N n k u  2  i  a  a  d  i  a  a  d  i  a  a  d  i  a  a  d
2 d e n  d  n  x  n  .  n  x  n  .  n  x  n  .  n  x  n  .

OPTFILE=NONE

Y Y Y Y 13 16 16 16  0 16 16 16 16 16 16 16 16 13 12  0  0 pass  adjustment.128x64x1
Y Y Y Y 16 16 16 16  0 16 16 16 16 16 16  0  0 16 16  0  0 pass  adjustment.cs-32x32x1
Y Y Y Y 16 16 16 16  0 16 16 16 16 16 16 22  0 16 16 22  0 pass  adjust_nlfs.cs-32x32x1
Y Y Y Y -- 13 13 16 16 13 13 13 13 16 16 16 16 16 16 16 16 N/O   advect_cs
Y Y Y Y -- 22 16 16 16 16 16 16 13 16 16 16 16 16 16 16 16 N/O   advect_xy
Y Y Y Y -- 13 16 13 16 16 16 16 16 16 16 22 16 16 16 16 16 N/O   advect_xz
Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 pass  aim.5l_cs
Y Y Y Y 14 16 16 16 16 16 16 16 16 13 16 16 16 16 16 13 16 pass  aim.5l_Equatorial_Channel
Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 13 16 16 13 13 16 pass  aim.5l_LatLon
Y Y Y Y 13 16 16 16 16 16 16 16 16 16 13 12 13 13 16 13 16 pass  exp0
Y Y Y Y 14 16 16 16 16 16 16 16 22 16 16 16 13 16 16 22 16 pass  exp1
Y Y Y Y 13 13 16 13 16 16 16 16 16 13 13 16 16 13 13 13 13 pass  exp2
Y Y Y Y 16 16 16 16 16 16 16 16 22 16 16 16 16 16 16 16 16 pass  exp4
Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 22 16 16 16 22 16 pass  exp5
Y Y Y Y 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 pass  front_relax
Y Y Y Y 14 16 16 13 13 16 16 13 13 16 13 13 16 12 13 13 16 pass  global_ocean.90x40x15
Y Y Y Y 10 16 16 13 13 16 13 16 16 13 13 13 13 16 16 13 16 FAIL  global_ocean.cs32x15
Y Y Y Y  6 11 12 13 13 12 13 16 13  9  9  9  9 10  9  9 11 FAIL  global_ocean_pressure
Y Y Y Y 14 16 16 13 16 16 16 13 13 13 13 13 16 12 16 13 16 pass  global_with_exf
Y Y Y Y 14 16 16 16 16 16 16 16 16 11 13 22 13 16 16  9 16 pass  hs94.128x64x5
Y Y Y Y 13 16 16 16 16 16 16 16 16 11 16 16 16 13 16 22 13 pass  hs94.1x64x5
Y Y Y Y 14 16 16 16 16 16 16 16 16 13 16 13 13 16 16 22 13 pass  hs94.cs-32x32x5
Y Y Y Y 10 10 16 13 13 16 16 16 22 16 13 13 13 13 13 22 13 FAIL  ideal_2D_oce
Y Y Y Y  8 16 16 16 16 16 16 16 16 13 13  8 16 16 16 16 16 FAIL  internal_wave
Y Y Y Y 14 16 16 16 16 16 16 16 16 13 13 22 13 13 13 22 16 pass  inverted_barometer
Y Y Y Y 12 16 16 16 16 16 16 16 16 16 13 12 13 13 13 13 13 FAIL  lab_sea
Y Y Y Y 11 16 16 16 16 16 16 16 13 13 13 12 13 16 13 12 13 FAIL  natl_box
Y Y Y Y 16 16 16 16 16 16 16 16 22 16 16 16 16 16 16 16 16 pass  plume_on_slope
Y Y Y Y 13 16 16 16 16 13 16 16 16 16 16 16 16 13 16 16 16 pass  solid-body.cs-32x32x1

1 C $Header: /u/u3/gcmpack/MITgcm/pkg/seaice/seaice_pickup.F,v 1.4.2.1 2003/10/02 18:18:34 adcroft Exp $
2 C $Name: $
3
4 #include "SEAICE_OPTIONS.h"
5
6 C-- File seaice_pickup.F: Routines to handle reading and writing
7 C-- sea ice pickup files.
8 C-- Contents
9 C-- o SEAICE_READ_PICKUP - Read sea ice pickup file for restarting.
10 C-- o SEAICE_WRITE_PICKUP - Write out sea ice pickup file.
11
12 CStartofinterface
13 SUBROUTINE SEAICE_READ_PICKUP ( myThid )
14 C /==========================================================\
15 C | SUBROUTINE SEAICE_READ_PICKUP |
16 C | o Read in sea ice pickup file for restarting. |
17 C |==========================================================|
18 C \==========================================================/
19 IMPLICIT NONE
20
21 C == Global variables ===
22 #include "SIZE.h"
23 #include "EEPARAMS.h"
24 #include "PARAMS.h"
25 #include "SEAICE.h"
26
27 C == Routine arguments ==
28 C myThid - Thread number for this instance of the routine.
29 INTEGER myThid
30 CEndofinterface
31
32 #ifdef ALLOW_SEAICE
33
34 C == Local variables ==
35 CHARACTER*(MAX_LEN_FNAM) fn
36
37 C-- Going to do some IO. Make everyone except master thread wait.
38 _BARRIER
39 _BEGIN_MASTER( myThid )
40
41 C-- Read ice model fields
42 WRITE(fn,'(A,I10.10)') 'pickup_seaice.',nIter0
43 #ifdef SEAICE_MULTILEVEL
44 CALL MDSREADFIELD( fn, precFloat64, 'RL', 7, TICES, 1, myThid )
45 CALL MDSREADFIELD( fn, precFloat64, 'RL', 1, YNEG , 8, myThid )
46 CALL MDSREADFIELD( fn, precFloat64, 'RL', 1, HSNOW, 9, myThid )
47 CALL MDSREADFIELD( fn, precFloat64, 'RL', 3, UICE , 4, myThid )
48 CALL MDSREADFIELD( fn, precFloat64, 'RL', 3, VICE , 5, myThid )
49 CALL MDSREADFIELD( fn, precFloat64, 'RL', 3, HEFF , 6, myThid )
50 CALL MDSREADFIELD( fn, precFloat64, 'RL', 3, AREA , 7, myThid )
51 #else /* SEAICE_MULTILEVEL */
52 CALL MDSREADFIELD( fn, precFloat64, 'RL', 1, TICE , 1, myThid )
53 CALL MDSREADFIELD( fn, precFloat64, 'RL', 1, YNEG , 2, myThid )
54 CALL MDSREADFIELD( fn, precFloat64, 'RL', 1, HSNOW, 3, myThid )
55 CALL MDSREADFIELD( fn, precFloat64, 'RL', 3, UICE , 2, myThid )
56 CALL MDSREADFIELD( fn, precFloat64, 'RL', 3, VICE , 3, myThid )
57 CALL MDSREADFIELD( fn, precFloat64, 'RL', 3, HEFF , 4, myThid )
58 CALL MDSREADFIELD( fn, precFloat64, 'RL', 3, AREA , 5, myThid )
59 #endif /* SEAICE_MULTILEVEL */
60
61 _END_MASTER( myThid )
62 _BARRIER
63
64 C-- Update overlap regions
65 CALL SEAICE_EXCH ( UICE, myThid )
66 CALL SEAICE_EXCH ( VICE, myThid )
67 CALL SEAICE_EXCH ( HEFF, myThid )
68 CALL SEAICE_EXCH ( AREA, myThid )
69 _EXCH_XY_R8(TICE , myThid )
70 _EXCH_XY_R8(YNEG , myThid )
71 _EXCH_XY_R8(HSNOW, myThid )
72
73 #endif /* ALLOW_SEAICE */
74
75 RETURN
76 END
77
78 CStartofinterface
79 SUBROUTINE SEAICE_WRITE_PICKUP ( modelEnd, myCurrentTime,
80 & myIt, myThid )
81 C /==========================================================\
82 C | SUBROUTINE SEAICE_WRITE_PICKUP |
83 C | o Write sea ice pickup file for restarting. |
84 C |==========================================================|
85 C \==========================================================/
86 IMPLICIT NONE
87
88 C == Global variables ===
89 #include "SIZE.h"
90 #include "EEPARAMS.h"
91 #include "PARAMS.h"
92 #include "SEAICE.h"
93
94 LOGICAL DIFFERENT_MULTIPLE
95 EXTERNAL DIFFERENT_MULTIPLE
96 INTEGER IO_ERRCOUNT
97 EXTERNAL IO_ERRCOUNT
98
99 C == Routine arguments ==
100 C modelEnd - Checkpoint call at end of model run.
101 C myCurrentTime - Current time of simulation ( s )
102 C myIt - Iteration number
103 C myThid - Thread number for this instance of the routine.
104 LOGICAL modelEnd
105 INTEGER myThid
106 INTEGER myIt
107 _RL myCurrentTime
108 CEndofinterface
109
110 #ifdef ALLOW_SEAICE
111
112 C == Common blocks ==
113 COMMON /PCKP_GBLFLS/ globalFile
114 LOGICAL globalFile
115
116 C == Local variables ==
117 C permCheckPoint - Flag indicating whether a permanent checkpoint
118 C will be written.
119 LOGICAL permCheckPoint
120 CHARACTER*(MAX_LEN_FNAM) fn
121 INTEGER prec
122 LOGICAL lgf
123
124 permCheckPoint = .FALSE.
125 permCheckPoint=
126 & DIFFERENT_MULTIPLE(pChkptFreq,myCurrentTime,
127 & myCurrentTime-deltaTClock)
128
129 IF (
130 & (.NOT. modelEnd .AND. (
131 & permCheckPoint
132 & .OR.
133 & DIFFERENT_MULTIPLE(chkptFreq,
134 & myCurrentTime,myCurrentTime-deltaTClock)
135 & )
136 & )
137 & .OR.
138 & (
139 & modelEnd
140 & .AND. .NOT.
141 & permCheckPoint
142 & .AND. .NOT.
143 & DIFFERENT_MULTIPLE(chkptFreq,
144 & myCurrentTime,myCurrentTime-deltaTClock)
145 & )
146 & ) THEN
147
148 C-- Going to do some IO. Make everyone except master thread wait.
149 _BARRIER
150 _BEGIN_MASTER( myThid )
151
152 prec = precFloat64
153 lgf = globalFile
154
155 C-- Write model fields
156 IF ( permCheckPoint ) THEN
157 WRITE(fn,'(A,I10.10)') 'pickup_seaice.',myIt
158 ELSE
159 WRITE(fn,'(A,A)') 'pickup_seaice.',checkPtSuff(nCheckLev)
160 ENDIF
161 #ifdef SEAICE_MULTILEVEL
162 CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 7, TICES,1, myIt,myThid)
163 CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 1, YNEG, 8, myIt,myThid)
164 CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 1, HSNOW, 9, myIt,myThid)
165 CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 3, UICE, 4, myIt,myThid)
166 CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 3, VICE, 5, myIt,myThid)
167 CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 3, HEFF, 6, myIt,myThid)
168 CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 3, AREA, 7, myIt,myThid)
169 #else /* SEAICE_MULTILEVEL */
170 CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 1, TICE, 1, myIt,myThid)
171 CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 1, YNEG, 2, myIt,myThid)
172 CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 1, HSNOW, 3, myIt,myThid)
173 CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 3, UICE, 2, myIt,myThid)
174 CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 3, VICE, 3, myIt,myThid)
175 CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 3, HEFF, 4, myIt,myThid)
176 CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 3, AREA, 5, myIt,myThid)
177 #endif /* SEAICE_MULTILEVEL */
178
179 _END_MASTER( myThid )
180 _BARRIER
181
182 ENDIF
183
184 #endif /* ALLOW_SEAICE */
185
186 RETURN
187 END

  ViewVC Help
Powered by ViewVC 1.1.22