/[MITgcm]/MITgcm/pkg/obcs/obcs_checkpoint.F
ViewVC logotype

Annotation of /MITgcm/pkg/obcs/obcs_checkpoint.F

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


Revision 1.2 - (hide annotations) (download)
Tue May 29 14:01:39 2001 UTC (23 years ago) by adcroft
Branch: MAIN
CVS Tags: checkpoint46n_post, checkpoint47e_post, checkpoint46l_post, checkpoint46g_pre, checkpoint47c_post, release1_p13_pre, checkpoint50c_post, checkpoint46f_post, checkpoint48e_post, checkpoint50g_post, checkpoint46b_post, checkpoint43a-release1mods, checkpoint44g_post, checkpoint48c_post, release1_p13, checkpoint40pre3, checkpoint40pre2, checkpoint40pre1, checkpoint40pre7, checkpoint40pre6, checkpoint48i_post, checkpoint40pre9, checkpoint40pre8, checkpoint46l_pre, checkpoint50d_pre, chkpt44d_post, release1_p8, release1_p9, checkpoint50d_post, release1_p1, release1_p2, release1_p3, release1_p4, release1_p5, release1_p6, release1_p7, checkpoint50b_pre, checkpoint44e_pre, release1_b1, checkpoint48b_post, checkpoint43, checkpoint48c_pre, release1_chkpt44d_post, checkpoint48d_pre, checkpoint47i_post, checkpoint47d_post, checkpoint46d_pre, checkpoint48d_post, release1-branch_tutorials, checkpoint48f_post, checkpoint45d_post, checkpoint46j_pre, checkpoint47d_pre, chkpt44a_post, checkpoint44h_pre, checkpoint48h_post, checkpoint40pre4, checkpoint46a_post, checkpoint47g_post, chkpt44c_post, checkpoint46j_post, checkpoint46k_post, checkpoint46b_pre, chkpt44c_pre, checkpoint45a_post, checkpoint50f_post, checkpoint50a_post, checkpoint50f_pre, checkpoint44e_post, release1_p12, release1_p10, release1_p11, release1_p16, release1_p17, release1_p14, release1_p15, checkpoint47a_post, checkpoint46e_pre, checkpoint45b_post, release1-branch-end, release1_final_v1, release1_p12_pre, checkpoint46c_pre, checkpoint44f_post, checkpoint47b_post, checkpoint44b_post, checkpoint46h_pre, checkpoint46m_post, checkpoint46a_pre, checkpoint50c_pre, checkpoint45c_post, checkpoint44h_post, checkpoint46g_post, checkpoint46i_post, checkpoint50e_pre, checkpoint48a_post, checkpoint47j_post, branch-exfmods-tag, checkpoint40pre5, checkpoint47f_post, checkpoint50e_post, chkpt44a_pre, checkpoint46c_post, checkpoint46e_post, release1_beta1, checkpoint44b_pre, checkpoint42, checkpoint40, checkpoint41, checkpoint46, checkpoint47, checkpoint44, checkpoint45, checkpoint48, checkpoint49, checkpoint46h_post, checkpoint50, checkpoint47h_post, checkpoint44f_pre, checkpoint46d_post, checkpoint50b_post, release1-branch_branchpoint, checkpoint48g_post
Branch point for: branch-exfmods-curt, release1_coupled, release1_final, release1-branch, release1, ecco-branch, release1_50yr
Changes since 1.1: +24 -24 lines
Merge from branch pre38:
 o essential mods for cubed sphere
 o debugged atmosphere, dynamcis + physics (aim)
 o new packages (mom_vecinv, mom_fluxform, ...)

1 heimbach 1.1 C
2     C
3    
4     #include "OBCS_OPTIONS.h"
5    
6     CStartofinterface
7     SUBROUTINE OBCS_READ_CHECKPOINT( prec, myIt, myThid )
8     C /==========================================================\
9     C | SUBROUTINE OBCS_READ_CHECKPOINT |
10     C | o Read open boundary checkpoint arrays |
11     C |==========================================================|
12     C | |
13     C \==========================================================/
14     IMPLICIT NONE
15    
16     C === Global variables ===
17     #include "SIZE.h"
18     #include "EEPARAMS.h"
19     #include "PARAMS.h"
20     #include "OBCS.h"
21    
22     C == Routine arguments ==
23     INTEGER prec
24     INTEGER myIt
25     INTEGER myThid
26     CEndofinterface
27    
28     #ifdef ALLOW_OBCS
29    
30     C == Local variables ==
31     CHARACTER*(MAX_LEN_FNAM) fn
32    
33     C READ N and S OB arrays
34     WRITE(fn,'(A,I10.10)') 'pickup_obNS.',myIt
35     CALL MDSREADFIELDXZ(fn,prec,'RS',Nr,OBNu,1,myThid)
36     CALL MDSREADFIELDXZ(fn,prec,'RS',Nr,OBNv,2,myThid)
37     CALL MDSREADFIELDXZ(fn,prec,'RS',Nr,OBNt,3,myThid)
38     CALL MDSREADFIELDXZ(fn,prec,'RS',Nr,OBNs,4,myThid)
39     CALL MDSREADFIELDXZ(fn,prec,'RS',Nr,OBSu,5,myThid)
40     CALL MDSREADFIELDXZ(fn,prec,'RS',Nr,OBSv,6,myThid)
41     CALL MDSREADFIELDXZ(fn,prec,'RS',Nr,OBSt,7,myThid)
42     CALL MDSREADFIELDXZ(fn,prec,'RS',Nr,OBSs,8,myThid)
43     #ifdef ALLOW_NONHYDROSTATIC
44     CALL MDSREADFIELDXZ(fn,prec,'RS',Nr,OBNw,9,myThid)
45     CALL MDSREADFIELDXZ(fn,prec,'RS',Nr,OBSw,10,myThid)
46     #endif
47    
48     C READ E and W OB arrays
49     WRITE(fn,'(A,I10.10)') 'pickup_obEW.',myIt
50     CALL MDSREADFIELDYZ(fn,prec,'RS',Nr,OBEu,1,myThid)
51     CALL MDSREADFIELDYZ(fn,prec,'RS',Nr,OBEv,2,myThid)
52     CALL MDSREADFIELDYZ(fn,prec,'RS',Nr,OBEt,3,myThid)
53     CALL MDSREADFIELDYZ(fn,prec,'RS',Nr,OBEs,4,myThid)
54     CALL MDSREADFIELDYZ(fn,prec,'RS',Nr,OBWu,5,myThid)
55     CALL MDSREADFIELDYZ(fn,prec,'RS',Nr,OBWv,6,myThid)
56     CALL MDSREADFIELDYZ(fn,prec,'RS',Nr,OBWt,7,myThid)
57     CALL MDSREADFIELDYZ(fn,prec,'RS',Nr,OBWs,8,myThid)
58     #ifdef ALLOW_NONHYDROSTATIC
59     CALL MDSREADFIELDYZ(fn,prec,'RS',Nr,OBEw,9,myThid)
60     CALL MDSREADFIELDYZ(fn,prec,'RS',Nr,OBWw,10,myThid)
61     #endif
62    
63     C Fill in edge regions
64 adcroft 1.2 c _EXCH_XZ_R4(OBNu , myThid)
65     c _EXCH_XZ_R4(OBNv , myThid)
66     c _EXCH_XZ_R4(OBNt , myThid)
67     c _EXCH_XZ_R4(OBNs , myThid)
68     c _EXCH_XZ_R4(OBSu , myThid)
69     c _EXCH_XZ_R4(OBSv , myThid)
70     c _EXCH_XZ_R4(OBSt , myThid)
71     c _EXCH_XZ_R4(OBSs , myThid)
72     c#ifdef ALLOW_NONHYDROSTATIC
73     c _EXCH_XZ_R4(OBNw , myThid)
74     c _EXCH_XZ_R4(OBSw , myThid)
75     c#endif
76 heimbach 1.1
77     C Fill in edge regions
78 adcroft 1.2 c _EXCH_YZ_R4(OBEu , myThid)
79     c _EXCH_YZ_R4(OBEv , myThid)
80     c _EXCH_YZ_R4(OBEt , myThid)
81     c _EXCH_YZ_R4(OBEs , myThid)
82     c _EXCH_YZ_R4(OBWu , myThid)
83     c _EXCH_YZ_R4(OBWv , myThid)
84     c _EXCH_YZ_R4(OBWt , myThid)
85     c _EXCH_YZ_R4(OBWs , myThid)
86     c#ifdef ALLOW_NONHYDROSTATIC
87     c _EXCH_YZ_R4(OBEw , myThid)
88     c _EXCH_YZ_R4(OBWw , myThid)
89     c#endif
90 heimbach 1.1
91     #ifdef ALLOW_ORLANSKI
92     IF (useOrlanskiNorth.OR.useOrlanskiSouth.OR.
93     & useOrlanskiEast.OR.useOrlanskiWest) THEN
94     CALL ORLANSKI_READ_CHECKPOINT(
95     & prec, myIt, myThid )
96     ENDIF
97     #endif /* ALLOW_ORLANSKI */
98    
99     #endif /* ALLOW_OBCS */
100     RETURN
101     END
102    
103    
104     CStartofinterface
105     SUBROUTINE OBCS_WRITE_CHECKPOINT( prec, lgf, permCheckPoint,
106     & myIt, myThid )
107     C /==========================================================\
108     C | SUBROUTINE OBCS_WRITE_CHECKPOINT |
109     C | o Write open boundary checkpoint arrays |
110     C |==========================================================|
111     C | |
112     C \==========================================================/
113     IMPLICIT NONE
114    
115     C === Global variables ===
116     #include "SIZE.h"
117     #include "EEPARAMS.h"
118     #include "PARAMS.h"
119     #include "OBCS.h"
120    
121     C == Routine arguments ==
122     INTEGER prec
123     LOGICAL lgf
124     LOGICAL permCheckPoint
125     INTEGER myIt
126     INTEGER myThid
127     CEndofinterface
128    
129     #ifdef ALLOW_OBCS
130    
131     C == Local variables ==
132     CHARACTER*(MAX_LEN_FNAM) fn
133    
134     C Write N and S OB arrays
135     IF ( permCheckPoint ) THEN
136     WRITE(fn,'(A,I10.10)') 'pickup_obNS.',myIt
137     ELSE
138     WRITE(fn,'(A,A)') 'pickup_obNS.',checkPtSuff(nCheckLev)
139     ENDIF
140     CALL MDSWRITEFIELDXZ(fn,prec,lgf,'RS',Nr,OBNu,1,myIt,myThid)
141     CALL MDSWRITEFIELDXZ(fn,prec,lgf,'RS',Nr,OBNv,2,myIt,myThid)
142     CALL MDSWRITEFIELDXZ(fn,prec,lgf,'RS',Nr,OBNt,3,myIt,myThid)
143     CALL MDSWRITEFIELDXZ(fn,prec,lgf,'RS',Nr,OBNs,4,myIt,myThid)
144     CALL MDSWRITEFIELDXZ(fn,prec,lgf,'RS',Nr,OBSu,5,myIt,myThid)
145     CALL MDSWRITEFIELDXZ(fn,prec,lgf,'RS',Nr,OBSv,6,myIt,myThid)
146     CALL MDSWRITEFIELDXZ(fn,prec,lgf,'RS',Nr,OBSt,7,myIt,myThid)
147     CALL MDSWRITEFIELDXZ(fn,prec,lgf,'RS',Nr,OBSs,8,myIt,myThid)
148     #ifdef ALLOW_NONHYDROSTATIC
149     CALL MDSWRITEFIELDXZ(fn,prec,lgf,'RS',Nr,OBNw,9,myIt,myThid)
150     CALL MDSWRITEFIELDXZ(fn,prec,lgf,'RS',Nr,OBSw,10,myIt,myThid)
151     #endif
152    
153     C Write E and W OB arrays
154     IF ( permCheckPoint ) THEN
155     WRITE(fn,'(A,I10.10)') 'pickup_obEW.',myIt
156     ELSE
157     WRITE(fn,'(A,A)') 'pickup_obEW.',checkPtSuff(nCheckLev)
158     ENDIF
159     CALL MDSWRITEFIELDYZ(fn,prec,lgf,'RS',Nr,OBEu,1,myIt,myThid)
160     CALL MDSWRITEFIELDYZ(fn,prec,lgf,'RS',Nr,OBEv,2,myIt,myThid)
161     CALL MDSWRITEFIELDYZ(fn,prec,lgf,'RS',Nr,OBEt,3,myIt,myThid)
162     CALL MDSWRITEFIELDYZ(fn,prec,lgf,'RS',Nr,OBEs,4,myIt,myThid)
163     CALL MDSWRITEFIELDYZ(fn,prec,lgf,'RS',Nr,OBWu,5,myIt,myThid)
164     CALL MDSWRITEFIELDYZ(fn,prec,lgf,'RS',Nr,OBWv,6,myIt,myThid)
165     CALL MDSWRITEFIELDYZ(fn,prec,lgf,'RS',Nr,OBWt,7,myIt,myThid)
166     CALL MDSWRITEFIELDYZ(fn,prec,lgf,'RS',Nr,OBWs,8,myIt,myThid)
167     #ifdef ALLOW_NONHYDROSTATIC
168     CALL MDSWRITEFIELDYZ(fn,prec,lgf,'RS',Nr,OBEw,9,myIt,myThid)
169     CALL MDSWRITEFIELDYZ(fn,prec,lgf,'RS',Nr,OBWw,10,myIt,myThid)
170     #endif
171    
172     #ifdef ALLOW_ORLANSKI
173     IF (useOrlanskiNorth.OR.useOrlanskiSouth.OR.
174     & useOrlanskiEast.OR.useOrlanskiWest) THEN
175     CALL ORLANSKI_WRITE_CHECKPOINT(
176     & prec, lgf, permCheckPoint, myIt, myThid )
177     ENDIF
178     #endif /* ALLOW_ORLANSKI */
179    
180     #endif /* ALLOW_OBCS */
181     RETURN
182     END
183    

  ViewVC Help
Powered by ViewVC 1.1.22