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

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

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


Revision 1.1 - (hide 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 heimbach 1.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