/[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.17 by mlosch, Thu Jan 24 20:51:00 2008 UTC revision 1.19 by dimitri, Fri Feb 22 20:25:54 2008 UTC
# Line 44  c     == local variables == Line 44  c     == local variables ==
44    
45  c     == end of interface ==  c     == end of interface ==
46    
47  #ifdef ALLOW_EXF  # ifdef ALLOW_EXF
48        IF ( useEXF ) THEN        IF ( useEXF ) THEN
49  #ifdef ALLOW_OBCS_NORTH  #  ifdef ALLOW_OBCS_NORTH
50        call obcs_prescribe_exf_xz (        call obcs_prescribe_exf_xz (
51       I     obcsNstartdate, obcsNperiod,       I     obcsNstartdate, obcsNperiod,
      I     obcsNstartdate1, obcsNstartdate2,  
52       I     useOBCSYearlyFields,       I     useOBCSYearlyFields,
53       U     OBNu,   OBNu0,   OBNu1,   OBNufile,       U     OBNu,   OBNu0,   OBNu1,   OBNufile,
54       U     OBNv,   OBNv0,   OBNv1,   OBNvfile,       U     OBNv,   OBNv0,   OBNv1,   OBNvfile,
55       U     OBNt,   OBNt0,   OBNt1,   OBNtfile,       U     OBNt,   OBNt0,   OBNt1,   OBNtfile,
56       U     OBNs,   OBNs0,   OBNs1,   OBNsfile,       U     OBNs,   OBNs0,   OBNs1,   OBNsfile,
57  #ifdef ALLOW_SEAICE  #   ifdef ALLOW_SEAICE
58         I     siobNstartdate, siobNperiod,
59       U     OBNa,   OBNa0,   OBNa1,   OBNafile,       U     OBNa,   OBNa0,   OBNa1,   OBNafile,
60       U     OBNh,   OBNh0,   OBNh1,   OBNhfile,       U     OBNh,   OBNh0,   OBNh1,   OBNhfile,
61       U     OBNsl,  OBNsl0,  OBNsl1,  OBNslfile,       U     OBNsl,  OBNsl0,  OBNsl1,  OBNslfile,
62       U     OBNsn,  OBNsn0,  OBNsn1,  OBNsnfile,       U     OBNsn,  OBNsn0,  OBNsn1,  OBNsnfile,
63       U     OBNuice,OBNuice0,OBNuice1,OBNuicefile,       U     OBNuice,OBNuice0,OBNuice1,OBNuicefile,
64       U     OBNvice,OBNvice0,OBNvice1,OBNvicefile,       U     OBNvice,OBNvice0,OBNvice1,OBNvicefile,
65  #endif  #   endif
66  #ifdef ALLOW_PTRACERS  #   ifdef ALLOW_PTRACERS
67       U     OBNptr ,OBNptr0, OBNptr1, OBNptrFile,       U     OBNptr ,OBNptr0, OBNptr1, OBNptrFile,
68  #endif  #   endif
69       I     mycurrenttime, mycurrentiter, mythid       I     mycurrenttime, mycurrentiter, mythid
70       &     )       &     )
71  #endif /* ALLOW_OBCS_NORTH */  #  endif /* ALLOW_OBCS_NORTH */
72    
73  #ifdef ALLOW_OBCS_SOUTH  #  ifdef ALLOW_OBCS_SOUTH
74        call obcs_prescribe_exf_xz (        call obcs_prescribe_exf_xz (
75       I     obcsSstartdate, obcsSperiod,       I     obcsSstartdate, obcsSperiod,
      I     obcsSstartdate1, obcsSstartdate2,  
76       I     useOBCSYearlyFields,       I     useOBCSYearlyFields,
77       U     OBSu,   OBSu0,   OBSu1,   OBSufile,       U     OBSu,   OBSu0,   OBSu1,   OBSufile,
78       U     OBSv,   OBSv0,   OBSv1,   OBSvfile,       U     OBSv,   OBSv0,   OBSv1,   OBSvfile,
79       U     OBSt,   OBSt0,   OBSt1,   OBStfile,       U     OBSt,   OBSt0,   OBSt1,   OBStfile,
80       U     OBSs,   OBSs0,   OBSs1,   OBSsfile,       U     OBSs,   OBSs0,   OBSs1,   OBSsfile,
81  #ifdef ALLOW_SEAICE  #   ifdef ALLOW_SEAICE
82         I     siobSstartdate, siobSperiod,
83       U     OBSa,   OBSa0,   OBSa1,   OBSafile,       U     OBSa,   OBSa0,   OBSa1,   OBSafile,
84       U     OBSh,   OBSh0,   OBSh1,   OBShfile,       U     OBSh,   OBSh0,   OBSh1,   OBShfile,
85       U     OBSsl,  OBSsl0,  OBSsl1,  OBSslfile,       U     OBSsl,  OBSsl0,  OBSsl1,  OBSslfile,
86       U     OBSsn,  OBSsn0,  OBSsn1,  OBSsnfile,       U     OBSsn,  OBSsn0,  OBSsn1,  OBSsnfile,
87       U     OBSuice,OBSuice0,OBSuice1,OBSuicefile,       U     OBSuice,OBSuice0,OBSuice1,OBSuicefile,
88       U     OBSvice,OBSvice0,OBSvice1,OBSvicefile,       U     OBSvice,OBSvice0,OBSvice1,OBSvicefile,
89  #endif  #   endif
90  #ifdef ALLOW_PTRACERS  #   ifdef ALLOW_PTRACERS
91       U     OBSptr ,OBSptr0, OBSptr1, OBSptrFile,       U     OBSptr ,OBSptr0, OBSptr1, OBSptrFile,
92  #endif  #   endif
93       I     mycurrenttime, mycurrentiter, mythid       I     mycurrenttime, mycurrentiter, mythid
94       &     )       &     )
95  #endif /* ALLOW_OBCS_SOUTH */  #  endif /* ALLOW_OBCS_SOUTH */
96    
97  #ifdef ALLOW_OBCS_EAST  #  ifdef ALLOW_OBCS_EAST
98        call obcs_prescribe_exf_yz (        call obcs_prescribe_exf_yz (
99       I     obcsEstartdate, obcsEperiod,       I     obcsEstartdate, obcsEperiod,
      I     obcsEstartdate1, obcsEstartdate2,  
100       I     useOBCSYearlyFields,       I     useOBCSYearlyFields,
101       U     OBEu,   OBEu0,   OBEu1,   OBEufile,       U     OBEu,   OBEu0,   OBEu1,   OBEufile,
102       U     OBEv,   OBEv0,   OBEv1,   OBEvfile,       U     OBEv,   OBEv0,   OBEv1,   OBEvfile,
103       U     OBEt,   OBEt0,   OBEt1,   OBEtfile,       U     OBEt,   OBEt0,   OBEt1,   OBEtfile,
104       U     OBEs,   OBEs0,   OBEs1,   OBEsfile,       U     OBEs,   OBEs0,   OBEs1,   OBEsfile,
105  #ifdef ALLOW_SEAICE  #   ifdef ALLOW_SEAICE
106         I     siobEstartdate, siobEperiod,
107       U     OBEa,   OBEa0,   OBEa1,   OBEafile,       U     OBEa,   OBEa0,   OBEa1,   OBEafile,
108       U     OBEh,   OBEh0,   OBEh1,   OBEhfile,       U     OBEh,   OBEh0,   OBEh1,   OBEhfile,
109       U     OBEsl,  OBEsl0,  OBEsl1,  OBEslfile,       U     OBEsl,  OBEsl0,  OBEsl1,  OBEslfile,
110       U     OBEsn,  OBEsn0,  OBEsn1,  OBEsnfile,       U     OBEsn,  OBEsn0,  OBEsn1,  OBEsnfile,
111       U     OBEuice,OBEuice0,OBEuice1,OBEuicefile,       U     OBEuice,OBEuice0,OBEuice1,OBEuicefile,
112       U     OBEvice,OBEvice0,OBEvice1,OBEvicefile,       U     OBEvice,OBEvice0,OBEvice1,OBEvicefile,
113  #endif  #   endif
114  #ifdef ALLOW_PTRACERS  #   ifdef ALLOW_PTRACERS
115       U     OBEptr ,OBEptr0, OBEptr1, OBEptrFile,       U     OBEptr ,OBEptr0, OBEptr1, OBEptrFile,
116  #endif  #   endif
117       I     mycurrenttime, mycurrentiter, mythid       I     mycurrenttime, mycurrentiter, mythid
118       &     )       &     )
119  #endif /* ALLOW_OBCS_EAST */  #  endif /* ALLOW_OBCS_EAST */
120    
121  #ifdef ALLOW_OBCS_WEST  #  ifdef ALLOW_OBCS_WEST
122        call obcs_prescribe_exf_yz (        call obcs_prescribe_exf_yz (
123       I     obcsWstartdate, obcsWperiod,       I     obcsWstartdate, obcsWperiod,
      I     obcsWstartdate1, obcsWstartdate2,  
124       I     useOBCSYearlyFields,       I     useOBCSYearlyFields,
125       U     OBWu,   OBWu0,   OBWu1,   OBWufile,       U     OBWu,   OBWu0,   OBWu1,   OBWufile,
126       U     OBWv,   OBWv0,   OBWv1,   OBWvfile,       U     OBWv,   OBWv0,   OBWv1,   OBWvfile,
127       U     OBWt,   OBWt0,   OBWt1,   OBWtfile,       U     OBWt,   OBWt0,   OBWt1,   OBWtfile,
128       U     OBWs,   OBWs0,   OBWs1,   OBWsfile,       U     OBWs,   OBWs0,   OBWs1,   OBWsfile,
129  #ifdef ALLOW_SEAICE  #   ifdef ALLOW_SEAICE
130         I     siobEstartdate, siobEperiod,
131       U     OBWa,   OBWa0,   OBWa1,   OBWafile,       U     OBWa,   OBWa0,   OBWa1,   OBWafile,
132       U     OBWh,   OBWh0,   OBWh1,   OBWhfile,       U     OBWh,   OBWh0,   OBWh1,   OBWhfile,
133       U     OBWsl,  OBWsl0,  OBWsl1,  OBWslfile,       U     OBWsl,  OBWsl0,  OBWsl1,  OBWslfile,
134       U     OBWsn,  OBWsn0,  OBWsn1,  OBWsnfile,       U     OBWsn,  OBWsn0,  OBWsn1,  OBWsnfile,
135       U     OBWuice,OBWuice0,OBWuice1,OBWuicefile,       U     OBWuice,OBWuice0,OBWuice1,OBWuicefile,
136       U     OBWvice,OBWvice0,OBWvice1,OBWvicefile,       U     OBWvice,OBWvice0,OBWvice1,OBWvicefile,
137  #endif  #   endif
138  #ifdef ALLOW_PTRACERS  #   ifdef ALLOW_PTRACERS
139       U     OBWptr ,OBWptr0, OBWptr1, OBWptrFile,       U     OBWptr ,OBWptr0, OBWptr1, OBWptrFile,
140  #endif  #   endif
141       I     mycurrenttime, mycurrentiter, mythid       I     mycurrenttime, mycurrentiter, mythid
142       &     )       &     )
143  #endif /* ALLOW_OBCS_WEST */  #  endif /* ALLOW_OBCS_WEST */
144  C     ENDIF useEXF  C     ENDIF useEXF
145        ENDIF        ENDIF
146  #endif /* ALLOW_EXF */  # endif /* ALLOW_EXF */
147    
148  #ifdef ALLOW_OBCS_CONTROL  # ifdef ALLOW_OBCS_CONTROL
149  cgg   WARNING: Assuming North Open Boundary exists and has same  cgg   WARNING: Assuming North Open Boundary exists and has same
150  cgg    calendar information as other boundaries.  cgg    calendar information as other boundaries.
151        call ctrl_obcsbal ( mycurrenttime,mycurrentiter,mythid )        call ctrl_obcsbal ( mycurrenttime,mycurrentiter,mythid )
152  #endif  # endif
153    
154  #ifdef ALLOW_OBCSN_CONTROL  # ifdef ALLOW_OBCSN_CONTROL
155        call ctrl_getobcsn ( mycurrenttime, mycurrentiter, mythid )        call ctrl_getobcsn ( mycurrenttime, mycurrentiter, mythid )
156  #endif  # endif
157    
158  #ifdef ALLOW_OBCSS_CONTROL  # ifdef ALLOW_OBCSS_CONTROL
159        call ctrl_getobcss ( mycurrenttime, mycurrentiter, mythid )        call ctrl_getobcss ( mycurrenttime, mycurrentiter, mythid )
160  #endif  # endif
161    
162  #ifdef ALLOW_OBCSW_CONTROL  # ifdef ALLOW_OBCSW_CONTROL
163        call ctrl_getobcsw ( mycurrenttime, mycurrentiter, mythid )        call ctrl_getobcsw ( mycurrenttime, mycurrentiter, mythid )
164  #endif  # endif
165    
166  #ifdef ALLOW_OBCSE_CONTROL  # ifdef ALLOW_OBCSE_CONTROL
167        call ctrl_getobcse ( mycurrenttime, mycurrentiter, mythid )        call ctrl_getobcse ( mycurrenttime, mycurrentiter, mythid )
168  #endif  # endif
169    
170        IF ( .NOT. useEXF ) THEN        IF ( .NOT. useEXF ) THEN
171         CALL OBCS_EXTERNAL_FIELDS_LOAD(         CALL OBCS_EXTERNAL_FIELDS_LOAD(
172       &     myCurrentTime, myCurrentIter, myThid )       &     myCurrentTime, myCurrentIter, myThid )
173        ENDIF        ENDIF
174    
175  #endif /* ALLOW_OBCS */  #endif /* ALLOW_OBCS and ALLOW_OBCS_PRESCRIBE */
176    
177        RETURN        RETURN
178        END        END
179    
180    
181  C=========================================================================  C=========================================================================
182  C=========================================================================  C=========================================================================
183    
184        subroutine obcs_prescribe_exf_xz (        subroutine obcs_prescribe_exf_xz (
185       I     obcsstartdate, obcsperiod,       I     obcsstartdate, obcsperiod,
      I     obcsstartdate1, obcsstartdate2,  
186       I     useYearlyFields,       I     useYearlyFields,
187       U     OBu,   OBu0,   OBu1,   OBufile,       U     OBu,   OBu0,   OBu1,   OBufile,
188       U     OBv,   OBv0,   OBv1,   OBvfile,       U     OBv,   OBv0,   OBv1,   OBvfile,
189       U     OBt,   OBt0,   OBt1,   OBtfile,       U     OBt,   OBt0,   OBt1,   OBtfile,
190       U     OBs,   OBs0,   OBs1,   OBsfile,       U     OBs,   OBs0,   OBs1,   OBsfile,
191  #if defined ALLOW_SEAICE && defined ALLOW_OBCS  #ifdef ALLOW_SEAICE
192         I     siobstartdate, siobperiod,
193       U     OBa,   OBa0,   OBa1,   OBafile,       U     OBa,   OBa0,   OBa1,   OBafile,
194       U     OBh,   OBh0,   OBh1,   OBhfile,       U     OBh,   OBh0,   OBh1,   OBhfile,
195       U     OBsl,  OBsl0,  OBsl1,  OBslfile,       U     OBsl,  OBsl0,  OBsl1,  OBslfile,
# Line 196  C======================================= Line 197  C=======================================
197       U     OBuice,OBuice0,OBuice1,OBuicefile,       U     OBuice,OBuice0,OBuice1,OBuicefile,
198       U     OBvice,OBvice0,OBvice1,OBvicefile,       U     OBvice,OBvice0,OBvice1,OBvicefile,
199  #endif  #endif
200  #if defined ALLOW_PTRACERS && defined ALLOW_OBCS  #ifdef ALLOW_PTRACERS
201       U     OBptr ,OBptr0, OBptr1, OBptrFile,       U     OBptr ,OBptr0, OBptr1, OBptrFile,
202  #endif  #endif
203       I     mycurrenttime, mycurrentiter, mythid       I     mycurrenttime, mycurrentiter, mythid
# Line 226  c     == global variables == Line 227  c     == global variables ==
227    
228  c     == routine arguments ==  c     == routine arguments ==
229    
       INTEGER obcsstartdate1  
       INTEGER obcsstartdate2  
230        _RL     obcsstartdate        _RL     obcsstartdate
231        _RL     obcsperiod        _RL     obcsperiod
232        LOGICAL useYearlyFields        LOGICAL useYearlyFields
# Line 244  c     == routine arguments == Line 243  c     == routine arguments ==
243        _RL OBt1    (1-Olx:sNx+Olx,Nr,nSx,nSy)        _RL OBt1    (1-Olx:sNx+Olx,Nr,nSx,nSy)
244        _RL OBs1    (1-Olx:sNx+Olx,Nr,nSx,nSy)        _RL OBs1    (1-Olx:sNx+Olx,Nr,nSx,nSy)
245        CHARACTER*(MAX_LEN_FNAM) OBuFile,OBvFile,OBtFile,OBsFile        CHARACTER*(MAX_LEN_FNAM) OBuFile,OBvFile,OBtFile,OBsFile
246  #if defined ALLOW_SEAICE && defined ALLOW_OBCS  #ifdef ALLOW_SEAICE
247          _RL     siobstartdate
248          _RL     siobperiod
249        _RL OBa     (1-Olx:sNx+Olx,nSx,nSy)        _RL OBa     (1-Olx:sNx+Olx,nSx,nSy)
250        _RL OBh     (1-Olx:sNx+Olx,nSx,nSy)        _RL OBh     (1-Olx:sNx+Olx,nSx,nSy)
251        _RL OBa0    (1-Olx:sNx+Olx,nSx,nSy)        _RL OBa0    (1-Olx:sNx+Olx,nSx,nSy)
# Line 266  c     == routine arguments == Line 267  c     == routine arguments ==
267        CHARACTER*(MAX_LEN_FNAM)        CHARACTER*(MAX_LEN_FNAM)
268       &     OBaFile,OBhFile,OBslFile,OBsnFile,OBuiceFile,OBviceFile       &     OBaFile,OBhFile,OBslFile,OBsnFile,OBuiceFile,OBviceFile
269  #endif /* ALLOW_SEAICE */  #endif /* ALLOW_SEAICE */
270  #if defined ALLOW_PTRACERS && defined ALLOW_OBCS  #ifdef ALLOW_PTRACERS
271        _RL OBptr (1-Olx:sNx+Olx,Nr,nSx,nSy,PTRACERS_num)        _RL OBptr (1-Olx:sNx+Olx,Nr,nSx,nSy,PTRACERS_num)
272        _RL OBptr0(1-Olx:sNx+Olx,Nr,nSx,nSy,PTRACERS_num)        _RL OBptr0(1-Olx:sNx+Olx,Nr,nSx,nSy,PTRACERS_num)
273        _RL OBptr1(1-Olx:sNx+Olx,Nr,nSx,nSy,PTRACERS_num)        _RL OBptr1(1-Olx:sNx+Olx,Nr,nSx,nSy,PTRACERS_num)
# Line 284  c     == local variables == Line 285  c     == local variables ==
285        integer count0, count1        integer count0, count1
286        integer year0, year1        integer year0, year1
287        _RL     fac        _RL     fac
288  #ifdef ALLOW_PTRACERS  # ifdef ALLOW_PTRACERS
289        integer iTracer        integer iTracer
290  #endif /* ALLOW_PTRACERS */  # endif /* ALLOW_PTRACERS */
291    
292  c     == end of interface ==  c     == end of interface ==
293        if ( obcsperiod .eq. -12 ) then        if ( obcsperiod .eq. -12 ) then
# Line 306  c     Jan. through Dec. Line 307  c     Jan. through Dec.
307  c     get record numbers and interpolation factor  c     get record numbers and interpolation factor
308         call exf_GetFFieldRec(         call exf_GetFFieldRec(
309       I                       obcsstartdate, obcsperiod,       I                       obcsstartdate, obcsperiod,
310       I                       obcsstartdate1, obcsstartdate2,       I                       useYearlyFields,
311         O                       fac, first, changed,
312         O                       count0, count1, year0, year1,
313         I                       mycurrenttime, mycurrentiter, mythid
314         &                      )
315           call exf_GetFFieldRec(
316         I                       siobstartdate, siobperiod,
317       I                       useYearlyFields,       I                       useYearlyFields,
318       O                       fac, first, changed,       O                       fac, first, changed,
319       O                       count0, count1, year0, year1,       O                       count0, count1, year0, year1,
# Line 330  c     get record numbers and interpolati Line 337  c     get record numbers and interpolati
337       I                     , fac, first, changed, useYearlyFields       I                     , fac, first, changed, useYearlyFields
338       I                     , obcsperiod, count0, count1, year0, year1       I                     , obcsperiod, count0, count1, year0, year1
339       I                     , mycurrenttime, mycurrentiter, mythid )       I                     , mycurrenttime, mycurrentiter, mythid )
340  #ifdef ALLOW_SEAICE  # ifdef ALLOW_SEAICE
341        IF (useSEAICE) THEN        IF (useSEAICE) THEN
342         call exf_set_obcs_x (  OBa, OBa0, OBa1, OBafile, 's'         call exf_set_obcs_x (  OBa, OBa0, OBa1, OBafile, 's'
343       I                     , fac, first, changed, useYearlyFields       I                     , fac, first, changed, useYearlyFields
344       I                     , obcsperiod, count0, count1, year0, year1       I                     , siobperiod, count0, count1, year0, year1
345       I                     , mycurrenttime, mycurrentiter, mythid )       I                     , mycurrenttime, mycurrentiter, mythid )
346         call exf_set_obcs_x (  OBh, OBh0, OBh1, OBhfile, 's'         call exf_set_obcs_x (  OBh, OBh0, OBh1, OBhfile, 's'
347       I                     , fac, first, changed, useYearlyFields       I                     , fac, first, changed, useYearlyFields
348       I                     , obcsperiod, count0, count1, year0, year1       I                     , siobperiod, count0, count1, year0, year1
349       I                     , mycurrenttime, mycurrentiter, mythid )       I                     , mycurrenttime, mycurrentiter, mythid )
350         call exf_set_obcs_x (  OBsl, OBsl0, OBsl1, OBslfile, 's'         call exf_set_obcs_x (  OBsl, OBsl0, OBsl1, OBslfile, 's'
351       I                     , fac, first, changed, useYearlyFields       I                     , fac, first, changed, useYearlyFields
352       I                     , obcsperiod, count0, count1, year0, year1       I                     , siobperiod, count0, count1, year0, year1
353       I                     , mycurrenttime, mycurrentiter, mythid )       I                     , mycurrenttime, mycurrentiter, mythid )
354         call exf_set_obcs_x (  OBsn, OBsn0, OBsn1, OBsnfile, 's'         call exf_set_obcs_x (  OBsn, OBsn0, OBsn1, OBsnfile, 's'
355       I                     , fac, first, changed, useYearlyFields       I                     , fac, first, changed, useYearlyFields
356       I                     , obcsperiod, count0, count1, year0, year1       I                     , siobperiod, count0, count1, year0, year1
357       I                     , mycurrenttime, mycurrentiter, mythid )       I                     , mycurrenttime, mycurrentiter, mythid )
358         call exf_set_obcs_x ( OBuice,OBuice0,OBuice1,OBuicefile,'s'         call exf_set_obcs_x ( OBuice,OBuice0,OBuice1,OBuicefile,'s'
359       I                     , fac, first, changed, useYearlyFields       I                     , fac, first, changed, useYearlyFields
360       I                     , obcsperiod, count0, count1, year0, year1       I                     , siobperiod, count0, count1, year0, year1
361       I                     , mycurrenttime, mycurrentiter, mythid )       I                     , mycurrenttime, mycurrentiter, mythid )
362         call exf_set_obcs_x ( OBvice,OBvice0,OBvice1,OBvicefile,'s'         call exf_set_obcs_x ( OBvice,OBvice0,OBvice1,OBvicefile,'s'
363       I                     , fac, first, changed, useYearlyFields       I                     , fac, first, changed, useYearlyFields
364       I                     , obcsperiod, count0, count1, year0, year1       I                     , siobperiod, count0, count1, year0, year1
365       I                     , mycurrenttime, mycurrentiter, mythid )       I                     , mycurrenttime, mycurrentiter, mythid )
366        ENDIF        ENDIF
367  #endif /* ALLOW_SEAICE */  # endif /* ALLOW_SEAICE */
368  #ifdef ALLOW_PTRACERS  # ifdef ALLOW_PTRACERS
369        if ( usePTRACERS ) then        if ( usePTRACERS ) then
370         do iTracer = 1, PTRACERS_numInUse         do iTracer = 1, PTRACERS_numInUse
371          call exf_set_obcs_xz(  OBptr (1-Olx,1,1,1,iTracer)          call exf_set_obcs_xz(  OBptr (1-Olx,1,1,1,iTracer)
# Line 370  c     get record numbers and interpolati Line 377  c     get record numbers and interpolati
377       I                       , mycurrenttime, mycurrentiter, mythid )       I                       , mycurrenttime, mycurrentiter, mythid )
378         enddo         enddo
379        endif        endif
380  #endif /* ALLOW_PTRACERS */  # endif /* ALLOW_PTRACERS */
381    
382  #endif /* ALLOW_OBCS and ALLOW_OBCS_PRESCRIBE and ALLOW_EXF */  #endif /* ALLOW_OBCS and ALLOW_OBCS_PRESCRIBE and ALLOW_EXF */
383        RETURN        RETURN
# Line 380  C======================================= Line 387  C=======================================
387    
388        subroutine obcs_prescribe_exf_yz (        subroutine obcs_prescribe_exf_yz (
389       I     obcsstartdate, obcsperiod,       I     obcsstartdate, obcsperiod,
      I     obcsstartdate1, obcsstartdate2,  
390       I     useYearlyFields,       I     useYearlyFields,
391       U     OBu,   OBu0,   OBu1,   OBufile,       U     OBu,   OBu0,   OBu1,   OBufile,
392       U     OBv,   OBv0,   OBv1,   OBvfile,       U     OBv,   OBv0,   OBv1,   OBvfile,
393       U     OBt,   OBt0,   OBt1,   OBtfile,       U     OBt,   OBt0,   OBt1,   OBtfile,
394       U     OBs,   OBs0,   OBs1,   OBsfile,       U     OBs,   OBs0,   OBs1,   OBsfile,
395  #if defined ALLOW_SEAICE && defined ALLOW_OBCS  #ifdef ALLOW_SEAICE
396         I     siobstartdate, siobperiod,
397       U     OBa,   OBa0,   OBa1,   OBafile,       U     OBa,   OBa0,   OBa1,   OBafile,
398       U     OBh,   OBh0,   OBh1,   OBhfile,       U     OBh,   OBh0,   OBh1,   OBhfile,
399       U     OBsl,  OBsl0,  OBsl1,  OBslfile,       U     OBsl,  OBsl0,  OBsl1,  OBslfile,
# Line 394  C======================================= Line 401  C=======================================
401       U     OBuice,OBuice0,OBuice1,OBuicefile,       U     OBuice,OBuice0,OBuice1,OBuicefile,
402       U     OBvice,OBvice0,OBvice1,OBvicefile,       U     OBvice,OBvice0,OBvice1,OBvicefile,
403  #endif  #endif
404  #if defined ALLOW_PTRACERS && defined ALLOW_OBCS  #ifdef ALLOW_PTRACERS
405       U     OBptr ,OBptr0, OBptr1, OBptrFile,       U     OBptr ,OBptr0, OBptr1, OBptrFile,
406  #endif  #endif
407       I     mycurrenttime, mycurrentiter, mythid       I     mycurrenttime, mycurrentiter, mythid
# Line 424  c     == global variables == Line 431  c     == global variables ==
431    
432  c     == routine arguments ==  c     == routine arguments ==
433    
       INTEGER obcsstartdate1  
       INTEGER obcsstartdate2  
434        _RL     obcsstartdate        _RL     obcsstartdate
435        _RL     obcsperiod        _RL     obcsperiod
436        LOGICAL useYearlyFields        LOGICAL useYearlyFields
# Line 442  c     == routine arguments == Line 447  c     == routine arguments ==
447        _RL OBt1    (1-Oly:sNy+Oly,Nr,nSx,nSy)        _RL OBt1    (1-Oly:sNy+Oly,Nr,nSx,nSy)
448        _RL OBs1    (1-Oly:sNy+Oly,Nr,nSx,nSy)        _RL OBs1    (1-Oly:sNy+Oly,Nr,nSx,nSy)
449        CHARACTER*(MAX_LEN_FNAM) OBuFile,OBvFile,OBtFile,OBsFile        CHARACTER*(MAX_LEN_FNAM) OBuFile,OBvFile,OBtFile,OBsFile
450  #if defined ALLOW_SEAICE && defined ALLOW_OBCS  #ifdef ALLOW_SEAICE
451          _RL     siobstartdate
452          _RL     siobperiod
453        _RL OBa     (1-Oly:sNy+Oly,nSx,nSy)        _RL OBa     (1-Oly:sNy+Oly,nSx,nSy)
454        _RL OBh     (1-Oly:sNy+Oly,nSx,nSy)        _RL OBh     (1-Oly:sNy+Oly,nSx,nSy)
455        _RL OBa0    (1-Oly:sNy+Oly,nSx,nSy)        _RL OBa0    (1-Oly:sNy+Oly,nSx,nSy)
# Line 464  c     == routine arguments == Line 471  c     == routine arguments ==
471        CHARACTER*(MAX_LEN_FNAM)        CHARACTER*(MAX_LEN_FNAM)
472       &     OBaFile,OBhFile,OBslFile,OBsnFile,OBuiceFile,OBviceFile       &     OBaFile,OBhFile,OBslFile,OBsnFile,OBuiceFile,OBviceFile
473  #endif /* ALLOW_SEAICE */  #endif /* ALLOW_SEAICE */
474  #if defined ALLOW_PTRACERS && defined ALLOW_OBCS  #ifdef ALLOW_PTRACERS
475        _RL OBptr (1-Oly:sNy+Oly,Nr,nSx,nSy,PTRACERS_num)        _RL OBptr (1-Oly:sNy+Oly,Nr,nSx,nSy,PTRACERS_num)
476        _RL OBptr0(1-Oly:sNy+Oly,Nr,nSx,nSy,PTRACERS_num)        _RL OBptr0(1-Oly:sNy+Oly,Nr,nSx,nSy,PTRACERS_num)
477        _RL OBptr1(1-Oly:sNy+Oly,Nr,nSx,nSy,PTRACERS_num)        _RL OBptr1(1-Oly:sNy+Oly,Nr,nSx,nSy,PTRACERS_num)
# Line 482  c     == local variables == Line 489  c     == local variables ==
489        integer count0, count1        integer count0, count1
490        integer year0, year1        integer year0, year1
491        _RL     fac        _RL     fac
492  #ifdef ALLOW_PTRACERS  # ifdef ALLOW_PTRACERS
493        integer iTracer        integer iTracer
494  #endif /* ALLOW_PTRACERS */  # endif /* ALLOW_PTRACERS */
495    
496  c     == end of interface ==  c     == end of interface ==
497        if ( obcsperiod .eq. -12 ) then        if ( obcsperiod .eq. -12 ) then
# Line 504  c     Jan. through Dec. Line 511  c     Jan. through Dec.
511  c     get record numbers and interpolation factor  c     get record numbers and interpolation factor
512         call exf_GetFFieldRec(         call exf_GetFFieldRec(
513       I                       obcsstartdate, obcsperiod,       I                       obcsstartdate, obcsperiod,
      I                       obcsstartdate1, obcsstartdate2,  
514       I                       useYearlyFields,       I                       useYearlyFields,
515       O                       fac, first, changed,       O                       fac, first, changed,
516       O                       count0, count1, year0, year1,       O                       count0, count1, year0, year1,
# Line 528  c     get record numbers and interpolati Line 534  c     get record numbers and interpolati
534       I                     , fac, first, changed, useYearlyFields       I                     , fac, first, changed, useYearlyFields
535       I                     , obcsperiod, count0, count1, year0, year1       I                     , obcsperiod, count0, count1, year0, year1
536       I                     , mycurrenttime, mycurrentiter, mythid )       I                     , mycurrenttime, mycurrentiter, mythid )
537  #ifdef ALLOW_SEAICE  # ifdef ALLOW_SEAICE
538        IF (useSEAICE) THEN        IF (useSEAICE) THEN
539         call exf_set_obcs_y (  OBa, OBa0, OBa1, OBafile, 's'         call exf_set_obcs_y (  OBa, OBa0, OBa1, OBafile, 's'
540       I                     , fac, first, changed, useYearlyFields       I                     , fac, first, changed, useYearlyFields
541       I                     , obcsperiod, count0, count1, year0, year1       I                     , siobperiod, count0, count1, year0, year1
542       I                     , mycurrenttime, mycurrentiter, mythid )       I                     , mycurrenttime, mycurrentiter, mythid )
543         call exf_set_obcs_y (  OBh, OBh0, OBh1, OBhfile, 's'         call exf_set_obcs_y (  OBh, OBh0, OBh1, OBhfile, 's'
544       I                     , fac, first, changed, useYearlyFields       I                     , fac, first, changed, useYearlyFields
545       I                     , obcsperiod, count0, count1, year0, year1       I                     , siobperiod, count0, count1, year0, year1
546       I                     , mycurrenttime, mycurrentiter, mythid )       I                     , mycurrenttime, mycurrentiter, mythid )
547         call exf_set_obcs_y (  OBsl, OBsl0, OBsl1, OBslfile, 's'         call exf_set_obcs_y (  OBsl, OBsl0, OBsl1, OBslfile, 's'
548       I                     , fac, first, changed, useYearlyFields       I                     , fac, first, changed, useYearlyFields
549       I                     , obcsperiod, count0, count1, year0, year1       I                     , siobperiod, count0, count1, year0, year1
550       I                     , mycurrenttime, mycurrentiter, mythid )       I                     , mycurrenttime, mycurrentiter, mythid )
551         call exf_set_obcs_y (  OBsn, OBsn0, OBsn1, OBsnfile, 's'         call exf_set_obcs_y (  OBsn, OBsn0, OBsn1, OBsnfile, 's'
552       I                     , fac, first, changed, useYearlyFields       I                     , fac, first, changed, useYearlyFields
553       I                     , obcsperiod, count0, count1, year0, year1       I                     , siobperiod, count0, count1, year0, year1
554       I                     , mycurrenttime, mycurrentiter, mythid )       I                     , mycurrenttime, mycurrentiter, mythid )
555         call exf_set_obcs_y ( OBuice,OBuice0,OBuice1,OBuicefile,'s'         call exf_set_obcs_y ( OBuice,OBuice0,OBuice1,OBuicefile,'s'
556       I                     , fac, first, changed, useYearlyFields       I                     , fac, first, changed, useYearlyFields
557       I                     , obcsperiod, count0, count1, year0, year1       I                     , siobperiod, count0, count1, year0, year1
558       I                     , mycurrenttime, mycurrentiter, mythid )       I                     , mycurrenttime, mycurrentiter, mythid )
559         call exf_set_obcs_y ( OBvice,OBvice0,OBvice1,OBvicefile,'s'         call exf_set_obcs_y ( OBvice,OBvice0,OBvice1,OBvicefile,'s'
560       I                     , fac, first, changed, useYearlyFields       I                     , fac, first, changed, useYearlyFields
561       I                     , obcsperiod, count0, count1, year0, year1       I                     , siobperiod, count0, count1, year0, year1
562       I                     , mycurrenttime, mycurrentiter, mythid )       I                     , mycurrenttime, mycurrentiter, mythid )
563        ENDIF        ENDIF
564  #endif /* ALLOW_SEAICE */  # endif /* ALLOW_SEAICE */
565  #ifdef ALLOW_PTRACERS  # ifdef ALLOW_PTRACERS
566        if ( usePTRACERS ) then        if ( usePTRACERS ) then
567         do iTracer = 1, PTRACERS_numInUse         do iTracer = 1, PTRACERS_numInUse
568          call exf_set_obcs_yz(  OBptr (1-Olx,1,1,1,iTracer)          call exf_set_obcs_yz(  OBptr (1-Olx,1,1,1,iTracer)
# Line 568  c     get record numbers and interpolati Line 574  c     get record numbers and interpolati
574       I                       , mycurrenttime, mycurrentiter, mythid )       I                       , mycurrenttime, mycurrentiter, mythid )
575         enddo         enddo
576        endif        endif
577  #endif /* ALLOW_PTRACERS */  # endif /* ALLOW_PTRACERS */
578    
579  #endif /* ALLOW_OBCS and ALLOW_OBCS_PRESCRIBE and ALLOW_EXF */  #endif /* ALLOW_OBCS and ALLOW_OBCS_PRESCRIBE and ALLOW_EXF */
580        RETURN        RETURN

Legend:
Removed from v.1.17  
changed lines
  Added in v.1.19

  ViewVC Help
Powered by ViewVC 1.1.22