forked from altMITgcm/MITgcm
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ice_checkpoint.F
101 lines (82 loc) · 3.37 KB
/
ice_checkpoint.F
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
94
95
96
97
98
99
100
C $Header:
C $Name:
#include "CPP_OPTIONS.h"
CStartofinterface
SUBROUTINE ICE_READ_CHECKPOINT( prec, myIter, myThid )
C /==========================================================\
C | SUBROUTINE ICE_READ_CHECKPOINT |
C | o Read ice checkpoint arrays |
C |==========================================================|
C | |
C \==========================================================/
IMPLICIT NONE
C === Global variables ===
#include "SIZE.h"
#include "EEPARAMS.h"
#include "PARAMS.h"
#include "ICE.h"
C == Routine arguments ==
INTEGER prec
INTEGER myIter
INTEGER myThid
CEndofinterface
#ifdef ALLOW_THERM_SEAICE
C == Local variables ==
CHARACTER*(MAX_LEN_FNAM) fn
WRITE(fn,'(A,I10.10)') 'pickup_ic.',myIter
CALL MDSREADFIELD(fn,prec,'RL',1,iceMask, 1,myThid)
CALL MDSREADFIELD(fn,prec,'RL',1,iceHeight, 2,myThid)
CALL MDSREADFIELD(fn,prec,'RL',1,snowHeight,3,myThid)
CALL MDSREADFIELD(fn,prec,'RL',1,Tsrf, 4,myThid)
CALL MDSREADFIELD(fn,prec,'RL',1,Tice1, 5,myThid)
CALL MDSREADFIELD(fn,prec,'RL',1,Tice2, 6,myThid)
CALL MDSREADFIELD(fn,prec,'RL',1,Qice1, 7,myThid)
CALL MDSREADFIELD(fn,prec,'RL',1,Qice2, 8,myThid)
CALL MDSREADFIELD(fn,prec,'RL',1,sage, 9,myThid)
#endif /* ALLOW_THERM_SEAICE */
RETURN
END
CStartofinterface
SUBROUTINE ICE_WRITE_CHECKPOINT( prec, lgf, permCheckPoint,
& myIter, myThid )
C /==========================================================\
C | SUBROUTINE ICE_WRITE_CHECKPOINT |
C | o Write ice checkpoint arrays |
C |==========================================================|
C | |
C \==========================================================/
IMPLICIT NONE
C === Global variables ===
#include "SIZE.h"
#include "EEPARAMS.h"
#include "PARAMS.h"
#include "ICE.h"
C == Common blocks ==
COMMON /PCKP_GBLFLS/ globalFile
LOGICAL globalFile
C == Routine arguments ==
INTEGER prec
LOGICAL lgf
LOGICAL permCheckPoint
INTEGER myIter
INTEGER myThid
CEndofinterface
#ifdef ALLOW_THERM_SEAICE
C == Local variables ==
CHARACTER*(MAX_LEN_FNAM) fn
WRITE(fn,'(A,I10.10)') 'pickup_ic.',myIter
CALL MDSWRITEFIELD(fn,prec,lgf,'RL',1,iceMask, 1,
& myIter,myThid)
CALL MDSWRITEFIELD(fn,prec,lgf,'RL',1,iceHeight, 2,
& myIter,myThid)
CALL MDSWRITEFIELD(fn,prec,lgf,'RL',1,snowHeight,3,
& myIter,myThid)
CALL MDSWRITEFIELD(fn,prec,lgf,'RL',1,Tsrf, 4,myIter,myThid)
CALL MDSWRITEFIELD(fn,prec,lgf,'RL',1,Tice1,5,myIter,myThid)
CALL MDSWRITEFIELD(fn,prec,lgf,'RL',1,Tice2,6,myIter,myThid)
CALL MDSWRITEFIELD(fn,prec,lgf,'RL',1,Qice1,7,myIter,myThid)
CALL MDSWRITEFIELD(fn,prec,lgf,'RL',1,Qice2,8,myIter,myThid)
CALL MDSWRITEFIELD(fn,prec,lgf,'RL',1,sage ,9,myIter,myThid)
#endif /* ALLOW_THERM_SEAICE */
RETURN
END