/[MITgcm]/MITgcm/pkg/exf/exf_set_obcs.F
ViewVC logotype

Diff of /MITgcm/pkg/exf/exf_set_obcs.F

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

revision 1.2 by heimbach, Thu Feb 7 20:00:09 2002 UTC revision 1.3 by heimbach, Tue Nov 12 20:34:41 2002 UTC
# Line 1  Line 1 
1  #include "EXF_CPPOPTIONS.h"  #include "EXF_CPPOPTIONS.h"
2    
3        subroutine exf_set_obcs_xz (        subroutine exf_set_obcs_xz (
4       &       obcs_fld_xz, obcs_file, obcsmask       &       obcs_fld_xz, obcs_xz_0, obcs_xz_1
5         I     , obcs_file, obcsmask
6       I     , fac, first, changed, count0, count1       I     , fac, first, changed, count0, count1
7       I     , mycurrenttime, mycurrentiter, mythid       I     , mycurrenttime, mycurrentiter, mythid
8       &                           )       &                           )
# Line 31  c     == global variables == Line 32  c     == global variables ==
32  c     == routine arguments ==  c     == routine arguments ==
33    
34        _RL obcs_fld_xz(1-olx:snx+olx,Nr,nsx,nsy)        _RL obcs_fld_xz(1-olx:snx+olx,Nr,nsx,nsy)
35          _RL obcs_xz_0(1-olx:snx+olx,Nr,nsx,nsy)
36          _RL obcs_xz_1(1-olx:snx+olx,Nr,nsx,nsy)
37    
38        character*(128) obcs_file        character*(128) obcs_file
39        character*1 obcsmask        character*1 obcsmask
40        logical first, changed        logical first, changed
# Line 47  c     == local variables == Line 51  c     == local variables ==
51        integer bi, bj        integer bi, bj
52        integer i, k        integer i, k
53    
       _RL obcs_xz_0(1-olx:snx+olx,Nr,nsx,nsy)  
       _RL obcs_xz_1(1-olx:snx+olx,Nr,nsx,nsy)  
   
54  c     == end of interface ==  c     == end of interface ==
55    
 #ifndef ALLOW_AUTODIFF_TAMC  
56        if ( first ) then        if ( first ) then
57  #endif          if ( obcs_file .NE. ' ' )
58          call mdsreadfieldxz( obcs_file, exf_iprec, exf_yftype, Nr       &        call mdsreadfieldxz( obcs_file, exf_iprec, exf_yftype, Nr
59       &                     , obcs_xz_1, count0, mythid       &                     , obcs_xz_1, count0, mythid
60       &                     )       &                     )
 #ifndef ALLOW_AUTODIFF_TAMC  
61        endif        endif
 #endif  
62    
 #ifndef ALLOW_AUTODIFF_TAMC  
63        if (( first ) .or. ( changed )) then        if (( first ) .or. ( changed )) then
 #endif  
64          call exf_swapffields_xz( obcs_xz_0, obcs_xz_1, mythid )          call exf_swapffields_xz( obcs_xz_0, obcs_xz_1, mythid )
65    
66          call mdsreadfieldxz( obcs_file, exf_iprec, exf_yftype, Nr          if ( obcs_file .NE. ' ' )
67         &       call mdsreadfieldxz( obcs_file, exf_iprec, exf_yftype, Nr
68       &                     , obcs_xz_1, count1, mythid       &                     , obcs_xz_1, count1, mythid
69       &                     )       &                     )
 #ifndef ALLOW_AUTODIFF_TAMC  
70        endif        endif
 #endif  
71    
72        do bj = mybylo(mythid),mybyhi(mythid)        do bj = mybylo(mythid),mybyhi(mythid)
73          do bi = mybxlo(mythid),mybxhi(mythid)          do bi = mybxlo(mythid),mybxhi(mythid)
# Line 91  c     == end of interface == Line 86  c     == end of interface ==
86        end        end
87    
88        subroutine exf_set_obcs_yz (        subroutine exf_set_obcs_yz (
89       &       obcs_fld_yz, obcs_file, obcsmask       &       obcs_fld_yz, obcs_yz_0, obcs_yz_1
90         I     , obcs_file, obcsmask
91       I     , fac, first, changed, count0, count1       I     , fac, first, changed, count0, count1
92       I     , mycurrenttime, mycurrentiter, mythid       I     , mycurrenttime, mycurrentiter, mythid
93       &                           )       &                           )
# Line 121  c     == global variables == Line 117  c     == global variables ==
117  c     == routine arguments ==  c     == routine arguments ==
118    
119        _RL obcs_fld_yz(1-oly:sny+oly,Nr,nsx,nsy)        _RL obcs_fld_yz(1-oly:sny+oly,Nr,nsx,nsy)
120          _RL obcs_yz_0(1-oly:sny+oly,Nr,nsx,nsy)
121          _RL obcs_yz_1(1-oly:sny+oly,Nr,nsx,nsy)
122        character*(MAX_LEN_FNAM) obcs_file        character*(MAX_LEN_FNAM) obcs_file
123        character*1 obcsmask        character*1 obcsmask
124        logical first, changed        logical first, changed
# Line 137  c     == local variables == Line 135  c     == local variables ==
135        integer bi, bj        integer bi, bj
136        integer j, k        integer j, k
137    
       _RL obcs_yz_0(1-oly:sny+oly,Nr,nsx,nsy)  
       _RL obcs_yz_1(1-oly:sny+oly,Nr,nsx,nsy)  
   
138  c     == end of interface ==  c     == end of interface ==
139    
 #ifndef ALLOW_AUTODIFF_TAMC  
140        if ( first ) then        if ( first ) then
141  #endif          if ( obcs_file .NE. ' ' )
142          call mdsreadfieldyz( obcs_file, exf_iprec, exf_yftype, Nr       &        call mdsreadfieldyz( obcs_file, exf_iprec, exf_yftype, Nr
143       &                     , obcs_yz_1, count0, mythid       &                     , obcs_yz_1, count0, mythid
144       &                     )       &                     )
 #ifndef ALLOW_AUTODIFF_TAMC  
145        endif        endif
 #endif  
146    
 #ifndef ALLOW_AUTODIFF_TAMC  
147        if (( first ) .or. ( changed )) then        if (( first ) .or. ( changed )) then
 #endif  
148          call exf_swapffields_yz( obcs_yz_0, obcs_yz_1, mythid )          call exf_swapffields_yz( obcs_yz_0, obcs_yz_1, mythid )
149    
150          call mdsreadfieldyz( obcs_file, exf_iprec, exf_yftype, Nr          if ( obcs_file .NE. ' ' )
151         &       call mdsreadfieldyz( obcs_file, exf_iprec, exf_yftype, Nr
152       &                     , obcs_yz_1, count1, mythid       &                     , obcs_yz_1, count1, mythid
153       &                     )       &                     )
 #ifndef ALLOW_AUTODIFF_TAMC  
154        endif        endif
 #endif  
155    
156        do bj = mybylo(mythid),mybyhi(mythid)        do bj = mybylo(mythid),mybyhi(mythid)
157          do bi = mybxlo(mythid),mybxhi(mythid)          do bi = mybxlo(mythid),mybxhi(mythid)
# Line 179  c     == end of interface == Line 168  c     == end of interface ==
168  #endif  #endif
169    
170        end        end
   
       subroutine exf_init_obcs_xz(  
      I                             mythid  
      &                           )  
   
 c     ==================================================================  
 c     SUBROUTINE exf_init_obcs_xz  
 c     ==================================================================  
 c  
 c     o  
 c  
 c     started: heimbach@mit.edu 01-May-2001  
 c  
 c     ==================================================================  
 c     SUBROUTINE exf_init_obcs_xz  
 c     ==================================================================  
   
       implicit none  
   
 c     == global variables ==  
   
 #include "EEPARAMS.h"  
 #include "SIZE.h"  
   
 c     == routine arguments ==  
   
       integer mythid  
   
 #ifdef ALLOW_OBCS  
   
 c     == local variables ==  
   
       integer bi, bj  
       integer i, k  
   
       _RL obcs_xz_0(1-olx:snx+olx,Nr,nsx,nsy)  
       _RL obcs_xz_1(1-olx:snx+olx,Nr,nsx,nsy)  
   
 c     == end of interface ==  
   
       do bj = mybylo(mythid), mybyhi(mythid)  
         do bi = mybxlo(mythid), mybxhi(mythid)  
           do k = 1, Nr  
             do i = 1, snx  
               obcs_xz_0(i,k,bi,bj) = 0. _d 0  
               obcs_xz_1(i,k,bi,bj) = 0. _d 0  
             enddo  
           enddo  
         enddo  
       enddo  
   
 #endif  
       end  
   
   
       subroutine exf_init_obcs_yz(  
      I                             mythid  
      &                           )  
   
 c     ==================================================================  
 c     SUBROUTINE exf_init_obcs_yz  
 c     ==================================================================  
 c  
 c     o  
 c  
 c     started: heimbach@mit.edu 01-May-2001  
 c  
 c     ==================================================================  
 c     SUBROUTINE exf_init_obcs_yz  
 c     ==================================================================  
   
       implicit none  
   
 c     == global variables ==  
   
 #include "EEPARAMS.h"  
 #include "SIZE.h"  
   
 c     == routine arguments ==  
   
       integer mythid  
   
       _RL obcs_yz_0(1-oly:sny+oly,Nr,nsx,nsy)  
       _RL obcs_yz_1(1-oly:sny+oly,Nr,nsx,nsy)  
   
 #ifdef ALLOW_OBCS  
   
 c     == local variables ==  
   
       integer bi, bj  
       integer i, j, k  
   
 c     == end of interface ==  
   
       do bj = mybylo(mythid), mybyhi(mythid)  
         do bi = mybxlo(mythid), mybxhi(mythid)  
           do k = 1, Nr  
             do j = 1, sny  
               obcs_yz_0(j,k,bi,bj) = 0. _d 0  
               obcs_yz_1(j,k,bi,bj) = 0. _d 0  
             enddo  
           enddo  
         enddo  
       enddo  
   
 #endif  
       end  

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.3

  ViewVC Help
Powered by ViewVC 1.1.22