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

Contents of /MITgcm/pkg/obcs/obcs_prescribe_read.F

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


Revision 1.1 - (show annotations) (download)
Wed Sep 22 20:43:04 2004 UTC (19 years, 8 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint55c_post
move pkg/exf/exf_getobcs.F to pkg/obcs/obcs_prescribe_read.F

1 C $Header: $
2 C $Name: $
3
4 # include "OBCS_OPTIONS.h"
5
6 subroutine obcs_prescribe_read (
7 I mycurrenttime
8 I , mycurrentiter
9 I , mythid
10 & )
11 c |==================================================================|
12 c | SUBROUTINE obcs_prescribe_read |
13 c |==================================================================|
14 c | read open boundary conditions from file |
15 c | N.B.: * uses exf and cal routines for file/record handling |
16 c | * uses ctrl routines for control variable handling |
17 c |==================================================================|
18
19 implicit none
20
21 c == global variables ==
22
23 #include "EEPARAMS.h"
24 #include "SIZE.h"
25 #include "GRID.h"
26 #include "OBCS.h"
27 #ifdef ALLOW_EXF
28 # include "exf_param.h"
29 #endif
30
31 c == routine arguments ==
32
33 _RL mycurrenttime
34 integer mycurrentiter
35 integer mythid
36
37 #if (defined (ALLOW_OBCS) && defined (ALLOW_OBCS_PRESCRIBE))
38
39 c == local variables ==
40
41 logical first, changed
42 integer count0, count1
43 _RL fac
44
45 c == end of interface ==
46
47 #ifdef ALLOW_OBCS_NORTH
48 call exf_getffieldrec(
49 I obcsNstartdate, obcsNperiod
50 O , fac, first, changed, count0, count1
51 I , mycurrenttime, mycurrentiter, mythid
52 & )
53
54 call exf_set_obcs_xz( OBNu, OBNu0, OBNu1, OBNufile, 'u'
55 I , fac, first, changed, count0, count1
56 I , mycurrenttime, mycurrentiter, mythid )
57 call exf_set_obcs_xz( OBNv, OBNv0, OBNv1, OBNvfile, 'v'
58 I , fac, first, changed, count0, count1
59 I , mycurrenttime, mycurrentiter, mythid )
60 call exf_set_obcs_xz( OBNt, OBNt0, OBNt1, OBNtfile, 's'
61 I , fac, first, changed, count0, count1
62 I , mycurrenttime, mycurrentiter, mythid )
63 call exf_set_obcs_xz( OBNs, OBNs0, OBNs1, OBNsfile, 's'
64 I , fac, first, changed, count0, count1
65 I , mycurrenttime, mycurrentiter, mythid )
66 #endif
67
68 #ifdef ALLOW_OBCS_SOUTH
69 call exf_getffieldrec(
70 I obcsSstartdate, obcsSperiod
71 O , fac, first, changed, count0, count1
72 I , mycurrenttime, mycurrentiter, mythid
73 & )
74
75 call exf_set_obcs_xz( OBSu, OBSu0, OBSu1, OBSufile, 'u'
76 I , fac, first, changed, count0, count1
77 I , mycurrenttime, mycurrentiter, mythid )
78 call exf_set_obcs_xz( OBSv, OBSv0, OBSv1, OBSvfile, 'v'
79 I , fac, first, changed, count0, count1
80 I , mycurrenttime, mycurrentiter, mythid )
81 call exf_set_obcs_xz( OBSt, OBSt0, OBSt1, OBStfile, 's'
82 I , fac, first, changed, count0, count1
83 I , mycurrenttime, mycurrentiter, mythid )
84 call exf_set_obcs_xz( OBSs, OBSs0, OBSs1, OBSsfile, 's'
85 I , fac, first, changed, count0, count1
86 I , mycurrenttime, mycurrentiter, mythid )
87
88 #endif
89
90 #ifdef ALLOW_OBCS_EAST
91 call exf_getffieldrec(
92 I obcsEstartdate, obcsEperiod
93 O , fac, first, changed, count0, count1
94 I , mycurrenttime, mycurrentiter, mythid
95 & )
96
97 call exf_set_obcs_yz( OBEu, OBEu0, OBEu1, OBEufile, 'u'
98 I , fac, first, changed, count0, count1
99 I , mycurrenttime, mycurrentiter, mythid )
100 call exf_set_obcs_yz( OBEv, OBEv0, OBEv1, OBEvfile, 'v'
101 I , fac, first, changed, count0, count1
102 I , mycurrenttime, mycurrentiter, mythid )
103 call exf_set_obcs_yz( OBEt, OBEt0, OBEt1, OBEtfile, 's'
104 I , fac, first, changed, count0, count1
105 I , mycurrenttime, mycurrentiter, mythid )
106 call exf_set_obcs_yz( OBEs, OBEs0, OBEs1, OBEsfile, 's'
107 I , fac, first, changed, count0, count1
108 I , mycurrenttime, mycurrentiter, mythid )
109
110 #endif
111
112 #ifdef ALLOW_OBCS_WEST
113 call exf_getffieldrec(
114 I obcsWstartdate, obcsWperiod
115 O , fac, first, changed, count0, count1
116 I , mycurrenttime, mycurrentiter, mythid
117 & )
118
119 call exf_set_obcs_yz( OBWu, OBWu0, OBWu1, OBWufile, 'u'
120 I , fac, first, changed, count0, count1
121 I , mycurrenttime, mycurrentiter, mythid )
122 call exf_set_obcs_yz( OBWv, OBWv0, OBWv1, OBWvfile, 'v'
123 I , fac, first, changed, count0, count1
124 I , mycurrenttime, mycurrentiter, mythid )
125 call exf_set_obcs_yz( OBWt, OBWt0, OBWt1, OBWtfile, 's'
126 I , fac, first, changed, count0, count1
127 I , mycurrenttime, mycurrentiter, mythid )
128 call exf_set_obcs_yz( OBWs, OBWs0, OBWs1, OBWsfile, 's'
129 I , fac, first, changed, count0, count1
130 I , mycurrenttime, mycurrentiter, mythid )
131
132 #endif
133
134 #ifdef ALLOW_OBCS_CONTROL
135 cgg WARNING: Assuming North Open Boundary exists and has same
136 cgg calendar information as other boundaries.
137 call ctrl_obcsbal ( mycurrenttime,mycurrentiter,mythid )
138 #endif
139
140 #ifdef ALLOW_OBCSN_CONTROL
141 call ctrl_getobcsn ( mycurrenttime, mycurrentiter, mythid )
142 #endif
143
144 #ifdef ALLOW_OBCSS_CONTROL
145 call ctrl_getobcss ( mycurrenttime, mycurrentiter, mythid )
146 #endif
147
148 #ifdef ALLOW_OBCSW_CONTROL
149 call ctrl_getobcsw ( mycurrenttime, mycurrentiter, mythid )
150 #endif
151
152 #ifdef ALLOW_OBCSE_CONTROL
153 call ctrl_getobcse ( mycurrenttime, mycurrentiter, mythid )
154 #endif
155
156
157 #endif /* ALLOW_OBCS */
158
159 end
160

  ViewVC Help
Powered by ViewVC 1.1.22