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

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

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

revision 1.1 by heimbach, Wed Sep 22 20:43:04 2004 UTC revision 1.11 by dimitri, Thu Oct 11 01:29:16 2007 UTC
# Line 25  c     == global variables == Line 25  c     == global variables ==
25  #include "GRID.h"  #include "GRID.h"
26  #include "OBCS.h"  #include "OBCS.h"
27  #ifdef ALLOW_EXF  #ifdef ALLOW_EXF
28  # include "exf_param.h"  # include "EXF_PARAM.h"
29  #endif  #endif
30    #ifdef ALLOW_PTRACERS.h
31    # include "PARAMS.h"
32    # include "PTRACERS_SIZE.h"
33    # include "PTRACERS.h"
34    # include "OBCS_PTRACERS.h"
35    #endif /* ALLOW_PTRACERS */
36    
37  c     == routine arguments ==  c     == routine arguments ==
38    
# Line 38  c     == routine arguments == Line 44  c     == routine arguments ==
44    
45  c     == local variables ==  c     == local variables ==
46    
47    #ifdef ALLOW_EXF
48        logical first, changed        logical first, changed
49        integer count0, count1        integer count0, count1
50          integer year0, year1
51        _RL     fac        _RL     fac
52    #ifdef ALLOW_PTRACERS
53          integer iTracer, i,j,k
54    #endif /* ALLOW_PTRACERS */
55    #endif /* ALLOW_EXF */
56    
57  c     == end of interface ==  c     == end of interface ==
58    
59    #ifdef ALLOW_EXF
60  #ifdef ALLOW_OBCS_NORTH  #ifdef ALLOW_OBCS_NORTH
61        call exf_getffieldrec(        call exf_getffieldrec(
62       I                       obcsNstartdate, obcsNperiod       I                       obcsNstartdate, obcsNperiod
63       O                     , fac, first, changed, count0, count1       I                     , obcsNstartdate1, obcsNstartdate2
64         I                     , .false.
65         O                     , fac, first, changed
66         O                     , count0, count1, year0, year1
67       I                     , mycurrenttime, mycurrentiter, mythid       I                     , mycurrenttime, mycurrentiter, mythid
68       &                     )       &                     )
69    
# Line 63  c     == end of interface == Line 79  c     == end of interface ==
79        call exf_set_obcs_xz(  OBNs, OBNs0, OBNs1, OBNsfile, 's'        call exf_set_obcs_xz(  OBNs, OBNs0, OBNs1, OBNsfile, 's'
80       I                     , fac, first, changed, count0, count1       I                     , fac, first, changed, count0, count1
81       I                     , mycurrenttime, mycurrentiter, mythid )       I                     , mycurrenttime, mycurrentiter, mythid )
82  #endif  #ifdef ALLOW_SEAICE
83          call exf_set_obcs_x (  OBNa, OBNa0, OBNa1, OBNafile, 's'
84         I                     , fac, first, changed, count0, count1
85         I                     , mycurrenttime, mycurrentiter, mythid )
86          call exf_set_obcs_x (  OBNh, OBNh0, OBNh1, OBNhfile, 's'
87         I                     , fac, first, changed, count0, count1
88         I                     , mycurrenttime, mycurrentiter, mythid )
89    #endif /* ALLOW_SEAICE */
90    #ifdef ALLOW_PTRACERS
91          if ( usePTRACERS ) then
92           do itracer = 1, PTRACERS_numInUse
93            call exf_set_obcs_xz(  OBNptr (1-Olx,1,1,1,iTracer)
94         I                       , OBNptr0(1-Olx,1,1,1,iTracer)
95         I                       , OBNptr1(1-Olx,1,1,1,iTracer)
96         I                       , OBNptrFile(iTracer), 's'
97         I                       , fac, first, changed, count0, count1
98         I                       , mycurrenttime, mycurrentiter, mythid )
99           enddo
100          endif
101    #endif /* ALLOW_PTRACERS */
102    #endif /* ALLOW_OBCS_NORTH */
103    
104  #ifdef ALLOW_OBCS_SOUTH  #ifdef ALLOW_OBCS_SOUTH
105        call exf_getffieldrec(        call exf_getffieldrec(
106       I                       obcsSstartdate, obcsSperiod       I                       obcsSstartdate, obcsSperiod
107       O                     , fac, first, changed, count0, count1       I                     , obcsSstartdate1, obcsSstartdate2
108         I                     , .false.
109         O                     , fac, first, changed
110         O                     , count0, count1, year0, year1
111       I                     , mycurrenttime, mycurrentiter, mythid       I                     , mycurrenttime, mycurrentiter, mythid
112       &                     )       &                     )
113    
# Line 84  c     == end of interface == Line 123  c     == end of interface ==
123        call exf_set_obcs_xz(  OBSs, OBSs0, OBSs1, OBSsfile, 's'        call exf_set_obcs_xz(  OBSs, OBSs0, OBSs1, OBSsfile, 's'
124       I                     , fac, first, changed, count0, count1       I                     , fac, first, changed, count0, count1
125       I                     , mycurrenttime, mycurrentiter, mythid )       I                     , mycurrenttime, mycurrentiter, mythid )
126    #ifdef ALLOW_SEAICE
127  #endif        call exf_set_obcs_x (  OBSa, OBSa0, OBSa1, OBSafile, 's'
128         I                     , fac, first, changed, count0, count1
129         I                     , mycurrenttime, mycurrentiter, mythid )
130          call exf_set_obcs_x (  OBSh, OBSh0, OBSh1, OBShfile, 's'
131         I                     , fac, first, changed, count0, count1
132         I                     , mycurrenttime, mycurrentiter, mythid )
133    #endif /* ALLOW_SEAICE */
134    #ifdef ALLOW_PTRACERS
135          if ( usePTRACERS ) then
136           do itracer = 1, PTRACERS_numInUse
137            call exf_set_obcs_xz(  OBSptr (1-Olx,1,1,1,iTracer)
138         I                       , OBSptr0(1-Olx,1,1,1,iTracer)
139         I                       , OBSptr1(1-Olx,1,1,1,iTracer)
140         I                       , OBSptrFile(iTracer), 's'
141         I                       , fac, first, changed, count0, count1
142         I                       , mycurrenttime, mycurrentiter, mythid )
143           enddo
144          endif
145    #endif /* ALLOW_PTRACERS */
146    #endif /* ALLOW_OBCS_SOUTH */
147    
148  #ifdef ALLOW_OBCS_EAST  #ifdef ALLOW_OBCS_EAST
149        call exf_getffieldrec(        call exf_getffieldrec(
150       I                       obcsEstartdate, obcsEperiod       I                       obcsEstartdate, obcsEperiod
151       O                     , fac, first, changed, count0, count1       I                     , obcsEstartdate1, obcsEstartdate2
152         I                     , .false.
153         O                     , fac, first, changed
154         O                     , count0, count1, year0, year1
155       I                     , mycurrenttime, mycurrentiter, mythid       I                     , mycurrenttime, mycurrentiter, mythid
156       &                     )       &                     )
157    
# Line 106  c     == end of interface == Line 167  c     == end of interface ==
167        call exf_set_obcs_yz(  OBEs, OBEs0, OBEs1, OBEsfile, 's'        call exf_set_obcs_yz(  OBEs, OBEs0, OBEs1, OBEsfile, 's'
168       I                     , fac, first, changed, count0, count1       I                     , fac, first, changed, count0, count1
169       I                     , mycurrenttime, mycurrentiter, mythid )       I                     , mycurrenttime, mycurrentiter, mythid )
170    #ifdef ALLOW_SEAICE
171  #endif        call exf_set_obcs_y (  OBEa, OBEa0, OBEa1, OBEafile, 's'
172         I                     , fac, first, changed, count0, count1
173         I                     , mycurrenttime, mycurrentiter, mythid )
174          call exf_set_obcs_y (  OBEh, OBEh0, OBEh1, OBEhfile, 's'
175         I                     , fac, first, changed, count0, count1
176         I                     , mycurrenttime, mycurrentiter, mythid )
177    #endif /* ALLOW_SEAICE */
178    #ifdef ALLOW_PTRACERS
179          if ( usePTRACERS ) then
180           do itracer = 1, PTRACERS_numInUse
181            call exf_set_obcs_yz(  OBEptr (1-Oly,1,1,1,iTracer)
182         I                       , OBEptr0(1-Oly,1,1,1,iTracer)
183         I                       , OBEptr1(1-Oly,1,1,1,iTracer)
184         I                       , OBEptrFile(iTracer), 's'
185         I                       , fac, first, changed, count0, count1
186         I                       , mycurrenttime, mycurrentiter, mythid )
187           enddo
188          endif
189    #endif /* ALLOW_PTRACERS */
190    #endif /* ALLOW_OBCS_EAST */
191    
192  #ifdef ALLOW_OBCS_WEST  #ifdef ALLOW_OBCS_WEST
193        call exf_getffieldrec(        call exf_getffieldrec(
194       I                       obcsWstartdate, obcsWperiod       I                       obcsWstartdate, obcsWperiod
195       O                     , fac, first, changed, count0, count1       I                     , obcsWstartdate1, obcsWstartdate2
196         I                     , .false.
197         O                     , fac, first, changed
198         O                     , count0, count1, year0, year1
199       I                     , mycurrenttime, mycurrentiter, mythid       I                     , mycurrenttime, mycurrentiter, mythid
200       &                     )       &                     )
201    
# Line 128  c     == end of interface == Line 211  c     == end of interface ==
211        call exf_set_obcs_yz(  OBWs, OBWs0, OBWs1, OBWsfile, 's'        call exf_set_obcs_yz(  OBWs, OBWs0, OBWs1, OBWsfile, 's'
212       I                     , fac, first, changed, count0, count1       I                     , fac, first, changed, count0, count1
213       I                     , mycurrenttime, mycurrentiter, mythid )       I                     , mycurrenttime, mycurrentiter, mythid )
214    #ifdef ALLOW_SEAICE
215  #endif        call exf_set_obcs_y (  OBWa, OBWa0, OBWa1, OBWafile, 's'
216         I                     , fac, first, changed, count0, count1
217         I                     , mycurrenttime, mycurrentiter, mythid )
218          call exf_set_obcs_y (  OBWh, OBWh0, OBWh1, OBWhfile, 's'
219         I                     , fac, first, changed, count0, count1
220         I                     , mycurrenttime, mycurrentiter, mythid )
221    #endif /* ALLOW_SEAICE */
222    #ifdef ALLOW_PTRACERS
223          if ( usePTRACERS ) then
224           do itracer = 1, PTRACERS_numInUse
225            call exf_set_obcs_yz(  OBWptr (1-Oly,1,1,1,iTracer)
226         I                       , OBWptr0(1-Oly,1,1,1,iTracer)
227         I                       , OBWptr1(1-Oly,1,1,1,iTracer)
228         I                       , OBWptrFile(iTracer), 's'
229         I                       , fac, first, changed, count0, count1
230         I                       , mycurrenttime, mycurrentiter, mythid )
231           enddo
232          endif
233    #endif /* ALLOW_PTRACERS */
234    #endif /* ALLOW_OBCS_WEST */
235    
236  #ifdef ALLOW_OBCS_CONTROL  #ifdef ALLOW_OBCS_CONTROL
237  cgg   WARNING: Assuming North Open Boundary exists and has same  cgg   WARNING: Assuming North Open Boundary exists and has same
# Line 153  cgg    calendar information as other bou Line 255  cgg    calendar information as other bou
255        call ctrl_getobcse ( mycurrenttime, mycurrentiter, mythid )        call ctrl_getobcse ( mycurrenttime, mycurrentiter, mythid )
256  #endif  #endif
257    
258    #else /* not ALLOW_EXF */
259          CALL OBCS_EXTERNAL_FIELDS_LOAD(
260         &     myCurrentTime, myCurrentIter, myThid )
261    #endif /*  ALLOw_EXF */
262    
263  #endif /* ALLOW_OBCS */  #endif /* ALLOW_OBCS */
264    
265        end        RETURN
266          END

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.11

  ViewVC Help
Powered by ViewVC 1.1.22