/[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.9 - (show annotations) (download)
Mon Dec 27 20:34:11 2004 UTC (19 years, 6 months ago) by dimitri
Branch: MAIN
CVS Tags: checkpoint57t_post, checkpoint57m_post, checkpoint57v_post, checkpoint57f_post, checkpoint57s_post, checkpoint57j_post, checkpoint58b_post, checkpoint57f_pre, checkpoint57k_post, checkpoint57d_post, checkpoint57g_post, checkpoint57h_pre, checkpoint57y_post, checkpoint57x_post, checkpoint57g_pre, checkpoint57e_post, checkpoint57h_post, checkpoint57y_pre, checkpoint57c_pre, checkpoint57o_post, checkpoint57r_post, checkpoint57i_post, checkpoint58, checkpoint57h_done, checkpoint57n_post, checkpoint57w_post, checkpoint57p_post, checkpint57u_post, checkpoint58a_post, checkpoint57q_post, checkpoint57z_post, eckpoint57e_pre, checkpoint57c_post, checkpoint57l_post
Changes since 1.8: +1 -9 lines
o added seaice_summary.F and removed obsolete ALLOW_SEAICE's from pkg/seaice

1 C $Header: /u/gcmpack/MITgcm/pkg/seaice/seaice_pickup.F,v 1.8 2003/12/15 18:39:16 jmc 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 C == Local variables ==
33 CHARACTER*(MAX_LEN_FNAM) fn
34
35 C-- Going to do some IO. Make everyone except master thread wait.
36 _BARRIER
37 _BEGIN_MASTER( myThid )
38
39 C-- Read ice model fields
40 WRITE(fn,'(A,I10.10)') 'pickup_seaice.',nIter0
41 #ifdef SEAICE_MULTILEVEL
42 CALL MDSREADFIELD
43 & ( fn, precFloat64, 'RL', MULTDIM, TICES, 1, myThid )
44 CALL MDSREADFIELD( fn, precFloat64, 'RL', 1, YNEG , 8, myThid )
45 CALL MDSREADFIELD( fn, precFloat64, 'RL', 1, HSNOW, 9, myThid )
46 CALL MDSREADFIELD( fn, precFloat64, 'RL', 3, UICE , 4, myThid )
47 CALL MDSREADFIELD( fn, precFloat64, 'RL', 3, VICE , 5, myThid )
48 CALL MDSREADFIELD( fn, precFloat64, 'RL', 3, HEFF , 6, myThid )
49 CALL MDSREADFIELD( fn, precFloat64, 'RL', 3, AREA , 7, myThid )
50 #else /* SEAICE_MULTILEVEL */
51 CALL MDSREADFIELD( fn, precFloat64, 'RL', 1, TICE , 1, myThid )
52 CALL MDSREADFIELD( fn, precFloat64, 'RL', 1, YNEG , 2, myThid )
53 CALL MDSREADFIELD( fn, precFloat64, 'RL', 1, HSNOW, 3, myThid )
54 CALL MDSREADFIELD( fn, precFloat64, 'RL', 3, UICE , 2, myThid )
55 CALL MDSREADFIELD( fn, precFloat64, 'RL', 3, VICE , 3, myThid )
56 CALL MDSREADFIELD( fn, precFloat64, 'RL', 3, HEFF , 4, myThid )
57 CALL MDSREADFIELD( fn, precFloat64, 'RL', 3, AREA , 5, myThid )
58 #endif /* SEAICE_MULTILEVEL */
59
60 _END_MASTER( myThid )
61 _BARRIER
62
63 C-- Update overlap regions
64 CALL SEAICE_EXCH_UV ( UICE, VICE, myThid )
65 CALL SEAICE_EXCH ( HEFF, myThid )
66 CALL SEAICE_EXCH ( AREA, myThid )
67 _EXCH_XY_R8(TICE , myThid )
68 _EXCH_XY_R8(YNEG , myThid )
69 _EXCH_XY_R8(HSNOW, myThid )
70
71 RETURN
72 END
73
74 CStartofinterface
75 SUBROUTINE SEAICE_WRITE_PICKUP (
76 I prec, lgf, permCheckPoint, myIt, myThid )
77 C /==========================================================\
78 C | SUBROUTINE SEAICE_WRITE_PICKUP |
79 C | o Write sea ice pickup file for restarting. |
80 C |==========================================================|
81 C \==========================================================/
82 IMPLICIT NONE
83
84 C == Global variables ===
85 #include "SIZE.h"
86 #include "EEPARAMS.h"
87 #include "PARAMS.h"
88 #include "SEAICE.h"
89
90 C == Routine arguments ==
91 C prec - Precision of pickup file ( precFloat64 )
92 C lgf - Flag to indicate whether to use global file mode.
93 C permCheckPoint - Flag indicating whether a permanent checkpoint
94 C will be written.
95 C myIt - Iteration number
96 C myThid - Thread number for this instance of the routine.
97 INTEGER prec
98 LOGICAL permCheckPoint
99 INTEGER myThid
100 INTEGER myIt
101 CEndofinterface
102
103 C == Local variables ==
104 CHARACTER*(MAX_LEN_FNAM) fn
105 LOGICAL lgf
106
107 C-- Write model fields
108 IF ( permCheckPoint ) THEN
109 WRITE(fn,'(A,I10.10)') 'pickup_seaice.',myIt
110 ELSE
111 WRITE(fn,'(A,A)') 'pickup_seaice.',checkPtSuff(nCheckLev)
112 ENDIF
113 #ifdef SEAICE_MULTILEVEL
114 CALL MDSWRITEFIELD
115 & (fn,prec,lgf,'RL', MULTDIM, TICES,1, myIt,myThid)
116 CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 1, YNEG, 8, myIt,myThid)
117 CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 1, HSNOW, 9, myIt,myThid)
118 CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 3, UICE, 4, myIt,myThid)
119 CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 3, VICE, 5, myIt,myThid)
120 CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 3, HEFF, 6, myIt,myThid)
121 CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 3, AREA, 7, myIt,myThid)
122 #else /* SEAICE_MULTILEVEL */
123 CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 1, TICE, 1, myIt,myThid)
124 CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 1, YNEG, 2, myIt,myThid)
125 CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 1, HSNOW, 3, myIt,myThid)
126 CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 3, UICE, 2, myIt,myThid)
127 CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 3, VICE, 3, myIt,myThid)
128 CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 3, HEFF, 4, myIt,myThid)
129 CALL MDSWRITEFIELD(fn,prec,lgf,'RL', 3, AREA, 5, myIt,myThid)
130 #endif /* SEAICE_MULTILEVEL */
131
132 RETURN
133 END

  ViewVC Help
Powered by ViewVC 1.1.22