/[MITgcm]/MITgcm_contrib/MPMice/beaufort/code/cpl_mpmice.F
ViewVC logotype

Diff of /MITgcm_contrib/MPMice/beaufort/code/cpl_mpmice.F

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

revision 1.13 by dimitri, Wed Mar 14 05:32:10 2012 UTC revision 1.18 by dimitri, Thu Nov 14 17:17:47 2013 UTC
# Line 23  C     == Global variables == Line 23  C     == Global variables ==
23  #include "DYNVARS.h"  #include "DYNVARS.h"
24  #include "GRID.h"  #include "GRID.h"
25  #include "FFIELDS.h"  #include "FFIELDS.h"
26    #include "SEAICE_OPTIONS.h"
27    #include "SEAICE_SIZE.h"
28    #include "SEAICE.h"
29  #ifdef ALLOW_EXF  #ifdef ALLOW_EXF
30  # include "EXF_OPTIONS.h"  # include "EXF_OPTIONS.h"
31  # include "EXF_FIELDS.h"  # include "EXF_FIELDS.h"
32  #endif  #endif
 #ifdef ALLOW_SEAICE  
 # include "SEAICE_OPTIONS.h"  
 # include "SEAICE_SIZE.h"  
 # include "SEAICE.h"  
 #endif  
33    
34        LOGICAL  DIFFERENT_MULTIPLE        LOGICAL  DIFFERENT_MULTIPLE
35        EXTERNAL DIFFERENT_MULTIPLE        EXTERNAL DIFFERENT_MULTIPLE
# Line 61  CEOP Line 59  CEOP
59        Real*8  xfer_bc_veloc(2*(Nx+Ny)-6)        Real*8  xfer_bc_veloc(2*(Nx+Ny)-6)
60        _RL     local(1:sNx,1:sNy,nSx,nSy)        _RL     local(1:sNx,1:sNy,nSx,nSy)
61    
62        COMMON /FFIELDS_tmp/ fu_tmp, fv_tmp, Qnet_tmp, Qsw_tmp, EmPmR_tmp  # ifdef CPL_DEBUG
63        _RS  fu_tmp       (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)        character*(10) itername
64        _RS  fv_tmp       (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)        write(itername,'(i10.10)') myIter
65        _RS  Qnet_tmp     (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)  # endif /* CPL_DEBUG */
       _RS  Qsw_tmp      (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)  
       _RS  EmPmR_tmp    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)  
66    
67        IF( myTime .EQ. startTime ) THEN        IF( myTime .EQ. startTime ) THEN
68    
# Line 101  C     Send grid dimensions (Nx,Ny) Line 97  C     Send grid dimensions (Nx,Ny)
97  # endif /* CPL_COUPLED */  # endif /* CPL_COUPLED */
98         _END_MASTER( myThid )         _END_MASTER( myThid )
99    
100    C     Send longitude East of SouthWest corner
101           DO bj=1,nSy
102            DO bi=1,nSx
103             DO j=1,sNy
104              DO i=1,sNx
105               local(i,j,bi,bj) = xG(i,j,bi,bj)
106              ENDDO
107             ENDDO
108            ENDDO
109           ENDDO
110           CALL GATHER_2D( xfer_array, local, myThid )
111    # ifdef CPL_DEBUG
112           CALL PLOT_FIELD_XYRL( xG, 'xG', myIter, myThid )
113    # endif /* CPL_DEBUG */
114    # ifdef CPL_COUPLED
115           _BEGIN_MASTER( myThid )
116           IF ( myworldid .EQ. local_ocean_leader ) THEN
117            buffsize = Nx*Ny
118            CALL MPI_SEND(xfer_array,buffsize,MPI_DOUBLE_PRECISION,
119         &     local_ice_leader,xGTag,MPI_COMM_WORLD,mpierr)
120           ENDIF
121           _END_MASTER( myThid )
122    # endif /* CPL_COUPLED */
123    
124    C     Send latitude North of SouthWest corner
125           DO bj=1,nSy
126            DO bi=1,nSx
127             DO j=1,sNy
128              DO i=1,sNx
129               local(i,j,bi,bj) = yG(i,j,bi,bj)
130              ENDDO
131             ENDDO
132            ENDDO
133           ENDDO
134           CALL GATHER_2D( xfer_array, local, myThid )
135    # ifdef CPL_DEBUG
136           CALL PLOT_FIELD_XYRL( yG, 'yG', myIter, myThid )
137    # endif /* CPL_DEBUG */
138    # ifdef CPL_COUPLED
139           _BEGIN_MASTER( myThid )
140           IF ( myworldid .EQ. local_ocean_leader ) THEN
141            buffsize = Nx*Ny
142            CALL MPI_SEND(xfer_array,buffsize,MPI_DOUBLE_PRECISION,
143         &     local_ice_leader,yGTag,MPI_COMM_WORLD,mpierr)
144           ENDIF
145           _END_MASTER( myThid )
146    # endif /* CPL_COUPLED */
147    
148    C     Send distance in m between SouthWest and SouthEast corner
149           DO bj=1,nSy
150            DO bi=1,nSx
151             DO j=1,sNy
152              DO i=1,sNx
153               local(i,j,bi,bj) = dxG(i,j,bi,bj)
154              ENDDO
155             ENDDO
156            ENDDO
157           ENDDO
158           CALL GATHER_2D( xfer_array, local, myThid )
159    # ifdef CPL_DEBUG
160           CALL PLOT_FIELD_XYRL( dxG, 'dxG', myIter, myThid )
161    # endif /* CPL_DEBUG */
162    # ifdef CPL_COUPLED
163           _BEGIN_MASTER( myThid )
164           IF ( myworldid .EQ. local_ocean_leader ) THEN
165            buffsize = Nx*Ny
166            CALL MPI_SEND(xfer_array,buffsize,MPI_DOUBLE_PRECISION,
167         &     local_ice_leader,dxGTag,MPI_COMM_WORLD,mpierr)
168           ENDIF
169           _END_MASTER( myThid )
170    # endif /* CPL_COUPLED */
171    
172    C     Send distance in m between SouthWest and NorthEast corner
173           DO bj=1,nSy
174            DO bi=1,nSx
175             DO j=1,sNy
176              DO i=1,sNx
177               local(i,j,bi,bj) = dyG(i,j,bi,bj)
178              ENDDO
179             ENDDO
180            ENDDO
181           ENDDO
182           CALL GATHER_2D( xfer_array, local, myThid )
183    # ifdef CPL_DEBUG
184           CALL PLOT_FIELD_XYRL( dyG, 'dyG', myIter, myThid )
185    # endif /* CPL_DEBUG */
186    # ifdef CPL_COUPLED
187           _BEGIN_MASTER( myThid )
188           IF ( myworldid .EQ. local_ocean_leader ) THEN
189            buffsize = Nx*Ny
190            CALL MPI_SEND(xfer_array,buffsize,MPI_DOUBLE_PRECISION,
191         &     local_ice_leader,dyGTag,MPI_COMM_WORLD,mpierr)
192           ENDIF
193           _END_MASTER( myThid )
194    # endif /* CPL_COUPLED */
195    
196    C     Send landmask of center of grid cell, 0 is land, >0 is ocean
197           DO bj=1,nSy
198            DO bi=1,nSx
199             DO j=1,sNy
200              DO i=1,sNx
201               local(i,j,bi,bj) = hFacC(i,j,1,bi,bj)
202              ENDDO
203             ENDDO
204            ENDDO
205           ENDDO
206           CALL GATHER_2D( xfer_array, local, myThid )
207    # ifdef CPL_DEBUG
208           CALL PLOT_FIELD_XYRL( hFacC, 'hFacC', myIter, myThid )
209    # endif /* CPL_DEBUG */
210    # ifdef CPL_COUPLED
211           _BEGIN_MASTER( myThid )
212           IF ( myworldid .EQ. local_ocean_leader ) THEN
213            buffsize = Nx*Ny
214            CALL MPI_SEND(xfer_array,buffsize,MPI_DOUBLE_PRECISION,
215         &     local_ice_leader,hFacCtag,MPI_COMM_WORLD,mpierr)
216           ENDIF
217           _END_MASTER( myThid )
218    # endif /* CPL_COUPLED */
219    
220  C     Send ice area  C     Send ice area
221         DO bj=1,nSy         DO bj=1,nSy
222          DO bi=1,nSx          DO bi=1,nSx
# Line 199  C     Send snow thickness Line 315  C     Send snow thickness
315    
316        ENDIF ! ( myTime .EQ. startTime )        ENDIF ! ( myTime .EQ. startTime )
317    
318    C--   Apply ice open boundary conditions
319    #ifdef ALLOW_OBCS
320          IF ( useOBCS ) THEN
321           CALL OBCS_APPLY_SEAICE( myThid )
322           CALL OBCS_APPLY_UVICE( uice, vice, myThid )
323          ENDIF
324    #endif /* ALLOW_OBCS */
325    
326  C     Send ocean model time  C     Send ocean model time
327        _BEGIN_MASTER( myThid )        _BEGIN_MASTER( myThid )
328        xfer_scalar = myTime        xfer_scalar = myTime
# Line 242  C     Send boundary ice area Line 366  C     Send boundary ice area
366         idx = idx + 1         idx = idx + 1
367         xfer_bc_tracer(idx) = xfer_array(1,j)         xfer_bc_tracer(idx) = xfer_array(1,j)
368        ENDDO        ENDDO
369          buffsize = 2*(Nx+Ny)-4
370  # ifdef CPL_DEBUG  # ifdef CPL_DEBUG
371        CALL PLOT_FIELD_XYRL( AREA, 'AREA obcs', myIter, myThid )        CALL PLOT_FIELD_XYRL( AREA, 'AREA obcs', myIter, myThid )
372          CALL WRITE_GLVEC_RS ( 'AREAobcs.', itername,
373         &     xfer_bc_tracer, buffsize, myIter, myThid )
374  # endif /* CPL_DEBUG */  # endif /* CPL_DEBUG */
375  # ifdef CPL_COUPLED  # ifdef CPL_COUPLED
376        _BEGIN_MASTER( myThid )        _BEGIN_MASTER( myThid )
377        IF ( myworldid .EQ. local_ocean_leader ) THEN        IF ( myworldid .EQ. local_ocean_leader ) THEN
        buffsize = 2*(Nx+Ny)-4  
378  cdb    print*,'MITgcm is about to send AreaBcTag',buffsize  cdb    print*,'MITgcm is about to send AreaBcTag',buffsize
379         CALL MPI_SEND(xfer_bc_tracer,buffsize,MPI_DOUBLE_PRECISION,         CALL MPI_SEND(xfer_bc_tracer,buffsize,MPI_DOUBLE_PRECISION,
380       &    local_ice_leader,AreaBcTag,MPI_COMM_WORLD,mpierr)       &    local_ice_leader,AreaBcTag,MPI_COMM_WORLD,mpierr)
# Line 285  C     Send boundary ice thickness Line 411  C     Send boundary ice thickness
411         idx = idx + 1         idx = idx + 1
412         xfer_bc_tracer(idx) = xfer_array(1,j)         xfer_bc_tracer(idx) = xfer_array(1,j)
413        ENDDO        ENDDO
414          buffsize = 2*(Nx+Ny)-4
415  # ifdef CPL_DEBUG  # ifdef CPL_DEBUG
416        CALL PLOT_FIELD_XYRL( HEFF, 'HEFF obcs', myIter, myThid )        CALL PLOT_FIELD_XYRL( HEFF, 'HEFF obcs', myIter, myThid )
417          CALL WRITE_GLVEC_RS ( 'HEFFobcs.', itername,
418         &     xfer_bc_tracer, buffsize, myIter, myThid )
419  # endif /* CPL_DEBUG */  # endif /* CPL_DEBUG */
420  # ifdef CPL_COUPLED  # ifdef CPL_COUPLED
421        _BEGIN_MASTER( myThid )        _BEGIN_MASTER( myThid )
422        IF ( myworldid .EQ. local_ocean_leader ) THEN        IF ( myworldid .EQ. local_ocean_leader ) THEN
        buffsize = 2*(Nx+Ny)-4  
423         CALL MPI_SEND(xfer_bc_tracer,buffsize,MPI_DOUBLE_PRECISION,         CALL MPI_SEND(xfer_bc_tracer,buffsize,MPI_DOUBLE_PRECISION,
424       &    local_ice_leader,HeffBcTag,MPI_COMM_WORLD,mpierr)       &    local_ice_leader,HeffBcTag,MPI_COMM_WORLD,mpierr)
425        ENDIF        ENDIF
# Line 326  C     Send boundary ice salinity Line 454  C     Send boundary ice salinity
454         idx = idx + 1         idx = idx + 1
455         xfer_bc_tracer(idx) = xfer_array(1,j)         xfer_bc_tracer(idx) = xfer_array(1,j)
456        ENDDO        ENDDO
457          buffsize = 2*(Nx+Ny)-4
458  # ifdef CPL_DEBUG  # ifdef CPL_DEBUG
459        CALL PLOT_FIELD_XYRL( HSALT, 'HSALT obcs', myIter, myThid )        CALL PLOT_FIELD_XYRL( HSALT, 'HSALT obcs', myIter, myThid )
460          CALL WRITE_GLVEC_RS ( 'HSALTobcs.', itername,
461         &     xfer_bc_tracer, buffsize, myIter, myThid )
462  # endif /* CPL_DEBUG */  # endif /* CPL_DEBUG */
463  # ifdef CPL_COUPLED  # ifdef CPL_COUPLED
464        _BEGIN_MASTER( myThid )        _BEGIN_MASTER( myThid )
465        IF ( myworldid .EQ. local_ocean_leader ) THEN        IF ( myworldid .EQ. local_ocean_leader ) THEN
        buffsize = 2*(Nx+Ny)-4  
466         CALL MPI_SEND(xfer_bc_tracer,buffsize,MPI_DOUBLE_PRECISION,         CALL MPI_SEND(xfer_bc_tracer,buffsize,MPI_DOUBLE_PRECISION,
467       &    local_ice_leader,HsaltBcTag,MPI_COMM_WORLD,mpierr)       &    local_ice_leader,HsaltBcTag,MPI_COMM_WORLD,mpierr)
468        ENDIF        ENDIF
# Line 367  C     Send boundary snow thickness Line 497  C     Send boundary snow thickness
497         idx = idx + 1         idx = idx + 1
498         xfer_bc_tracer(idx) = xfer_array(1,j)         xfer_bc_tracer(idx) = xfer_array(1,j)
499        ENDDO        ENDDO
500          buffsize = 2*(Nx+Ny)-4
501  # ifdef CPL_DEBUG  # ifdef CPL_DEBUG
502        CALL PLOT_FIELD_XYRL( HSNOW, 'HSNOW obcs', myIter, myThid )        CALL PLOT_FIELD_XYRL( HSNOW, 'HSNOW obcs', myIter, myThid )
503          CALL WRITE_GLVEC_RS ( 'HSNOWobcs.', itername,
504         &     xfer_bc_tracer, buffsize, myIter, myThid )
505  # endif /* CPL_DEBUG */  # endif /* CPL_DEBUG */
506  # ifdef CPL_COUPLED  # ifdef CPL_COUPLED
507        _BEGIN_MASTER( myThid )        _BEGIN_MASTER( myThid )
508        IF ( myworldid .EQ. local_ocean_leader ) THEN        IF ( myworldid .EQ. local_ocean_leader ) THEN
        buffsize = 2*(Nx+Ny)-4  
509         CALL MPI_SEND(xfer_bc_tracer,buffsize,MPI_DOUBLE_PRECISION,         CALL MPI_SEND(xfer_bc_tracer,buffsize,MPI_DOUBLE_PRECISION,
510       &    local_ice_leader,HsnowBcTag,MPI_COMM_WORLD,mpierr)       &    local_ice_leader,HsnowBcTag,MPI_COMM_WORLD,mpierr)
511        ENDIF        ENDIF
# Line 408  C     Send boundary u ice Line 540  C     Send boundary u ice
540         idx = idx + 1         idx = idx + 1
541         xfer_bc_veloc(idx) = xfer_array(2,j)         xfer_bc_veloc(idx) = xfer_array(2,j)
542        ENDDO        ENDDO
543          buffsize = 2*(Nx+Ny)-6
544  # ifdef CPL_DEBUG  # ifdef CPL_DEBUG
545        CALL PLOT_FIELD_XYRL( UICE, 'UICE obcs', myIter, myThid )        CALL PLOT_FIELD_XYRL( UICE, 'UICE obcs', myIter, myThid )
546          CALL WRITE_GLVEC_RS ( 'UICEobcs.', itername,
547         &     xfer_bc_veloc, buffsize, myIter, myThid )
548  # endif /* CPL_DEBUG */  # endif /* CPL_DEBUG */
549  # ifdef CPL_COUPLED  # ifdef CPL_COUPLED
550        _BEGIN_MASTER( myThid )        _BEGIN_MASTER( myThid )
551        IF ( myworldid .EQ. local_ocean_leader ) THEN        IF ( myworldid .EQ. local_ocean_leader ) THEN
        buffsize = 2*(Nx+Ny)-6  
552         CALL MPI_SEND(xfer_bc_veloc,buffsize,MPI_DOUBLE_PRECISION,         CALL MPI_SEND(xfer_bc_veloc,buffsize,MPI_DOUBLE_PRECISION,
553       &    local_ice_leader,UiceBcTag,MPI_COMM_WORLD,mpierr)       &    local_ice_leader,UiceBcTag,MPI_COMM_WORLD,mpierr)
554        ENDIF        ENDIF
# Line 449  C     Send boundary v ice Line 583  C     Send boundary v ice
583         idx = idx + 1         idx = idx + 1
584         xfer_bc_veloc(idx) = xfer_array(1,j)         xfer_bc_veloc(idx) = xfer_array(1,j)
585        ENDDO        ENDDO
586          buffsize = 2*(Nx+Ny)-6
587  # ifdef CPL_DEBUG  # ifdef CPL_DEBUG
588        CALL PLOT_FIELD_XYRL( VICE, 'VICE obcs', myIter, myThid )        CALL PLOT_FIELD_XYRL( VICE, 'VICE obcs', myIter, myThid )
589          CALL WRITE_GLVEC_RS ( 'VICEobcs.', itername,
590         &     xfer_bc_veloc, buffsize, myIter, myThid )
591  # endif /* CPL_DEBUG */  # endif /* CPL_DEBUG */
592  # ifdef CPL_COUPLED  # ifdef CPL_COUPLED
593        _BEGIN_MASTER( myThid )        _BEGIN_MASTER( myThid )
594        IF ( myworldid .EQ. local_ocean_leader ) THEN        IF ( myworldid .EQ. local_ocean_leader ) THEN
        buffsize = 2*(Nx+Ny)-6  
595         CALL MPI_SEND(xfer_bc_veloc,buffsize,MPI_DOUBLE_PRECISION,         CALL MPI_SEND(xfer_bc_veloc,buffsize,MPI_DOUBLE_PRECISION,
596       &    local_ice_leader,ViceBcTag,MPI_COMM_WORLD,mpierr)       &    local_ice_leader,ViceBcTag,MPI_COMM_WORLD,mpierr)
597        ENDIF        ENDIF
# Line 846  C     Receive snow thickness Line 982  C     Receive snow thickness
982        CALL PLOT_FIELD_XYRL( HSNOW, 'snow thickness', myIter, myThid )        CALL PLOT_FIELD_XYRL( HSNOW, 'snow thickness', myIter, myThid )
983  # endif /* CPL_DEBUG */  # endif /* CPL_DEBUG */
984    
985    C     Receive u ice velocity
986    # ifdef CPL_COUPLED
987          _BEGIN_MASTER( myThid )
988          IF ( myworldid .EQ. local_ocean_leader ) THEN
989           buffsize = Nx*Ny
990           CALL MPI_RECV(xfer_array,buffsize,MPI_DOUBLE_PRECISION,
991         &    local_ice_leader,UiceTag,MPI_COMM_WORLD,mpistatus,mpierr)
992          ENDIF
993          _END_MASTER( myThid )
994          CALL SCATTER_2D( xfer_array, local, myThid )
995          DO bj=1,nSy
996           DO bi=1,nSx
997            DO j=1,sNy
998             DO i=1,sNx
999              UICE(i,j,bi,bj) = local(i,j,bi,bj)
1000             ENDDO
1001            ENDDO
1002           ENDDO
1003          ENDDO
1004    #  ifdef CPL_DEBUG
1005          CALL PLOT_FIELD_XYRL( local, 'uice', myIter, myThid )
1006    #  endif /* CPL_DEBUG */
1007    # endif /* CPL_COUPLED */
1008    # ifdef CPL_DEBUG
1009          CALL PLOT_FIELD_XYRL( UICE, 'uice', myIter, myThid )
1010    # endif /* CPL_DEBUG */
1011    
1012    C     Receive v ice velocity
1013    # ifdef CPL_COUPLED
1014          _BEGIN_MASTER( myThid )
1015          IF ( myworldid .EQ. local_ocean_leader ) THEN
1016           buffsize = Nx*Ny
1017           CALL MPI_RECV(xfer_array,buffsize,MPI_DOUBLE_PRECISION,
1018         &    local_ice_leader,ViceTag,MPI_COMM_WORLD,mpistatus,mpierr)
1019          ENDIF
1020          _END_MASTER( myThid )
1021          CALL SCATTER_2D( xfer_array, local, myThid )
1022          DO bj=1,nSy
1023           DO bi=1,nSx
1024            DO j=1,sNy
1025             DO i=1,sNx
1026              VICE(i,j,bi,bj) = local(i,j,bi,bj)
1027             ENDDO
1028            ENDDO
1029           ENDDO
1030          ENDDO
1031    #  ifdef CPL_DEBUG
1032          CALL PLOT_FIELD_XYRL( local, 'vice', myIter, myThid )
1033    #  endif /* CPL_DEBUG */
1034    # endif /* CPL_COUPLED */
1035    # ifdef CPL_DEBUG
1036          CALL PLOT_FIELD_XYRL( VICE, 'vice', myIter, myThid )
1037    # endif /* CPL_DEBUG */
1038    
1039  C     Receive u surface stress  C     Receive u surface stress
1040  # ifdef CPL_COUPLED  # ifdef CPL_COUPLED
1041        _BEGIN_MASTER( myThid )        _BEGIN_MASTER( myThid )
# Line 860  C     Receive u surface stress Line 1050  C     Receive u surface stress
1050         DO bi=1,nSx         DO bi=1,nSx
1051          DO j=1,sNy          DO j=1,sNy
1052           DO i=1,sNx           DO i=1,sNx
1053            fu(i,j,bi,bj) = AREA(i,j,bi,bj) * local(i,j,bi,bj) +            fu(i,j,bi,bj) = AREA(i,j,bi,bj)  * local(i,j,bi,bj) +
1054       &                (1.-AREA(i,j,bi,bj)) * fu_tmp(i,j,bi,bj)       &                (1.-AREA(i,j,bi,bj)) * fu   (i,j,bi,bj)
1055           ENDDO           ENDDO
1056          ENDDO          ENDDO
1057         ENDDO         ENDDO
# Line 888  C     Receive v surface stress Line 1078  C     Receive v surface stress
1078         DO bi=1,nSx         DO bi=1,nSx
1079          DO j=1,sNy          DO j=1,sNy
1080           DO i=1,sNx           DO i=1,sNx
1081            fv(i,j,bi,bj) = AREA(i,j,bi,bj) * local(i,j,bi,bj) +            fv(i,j,bi,bj) = AREA(i,j,bi,bj)  * local(i,j,bi,bj) +
1082       &                (1.-AREA(i,j,bi,bj)) * fv_tmp(i,j,bi,bj)       &                (1.-AREA(i,j,bi,bj)) * fv   (i,j,bi,bj)
1083           ENDDO           ENDDO
1084          ENDDO          ENDDO
1085         ENDDO         ENDDO
# Line 916  C     Receive residual shortwave Line 1106  C     Receive residual shortwave
1106         DO bi=1,nSx         DO bi=1,nSx
1107          DO j=1,sNy          DO j=1,sNy
1108           DO i=1,sNx           DO i=1,sNx
1109            Qsw(i,j,bi,bj) = -AREA(i,j,bi,bj) * local(i,j,bi,bj) +            Qsw(i,j,bi,bj) = -AREA(i,j,bi,bj)  * local(i,j,bi,bj) +
1110       &                  (1.-AREA(i,j,bi,bj)) * Qsw_tmp(i,j,bi,bj)       &                  (1.-AREA(i,j,bi,bj)) *   Qsw(i,j,bi,bj)
1111           ENDDO           ENDDO
1112          ENDDO          ENDDO
1113         ENDDO         ENDDO
# Line 945  C     Receive heat flux Line 1135  C     Receive heat flux
1135          DO j=1,sNy          DO j=1,sNy
1136           DO i=1,sNx           DO i=1,sNx
1137            Qnet(i,j,bi,bj) = Qsw(i,j,bi,bj) -            Qnet(i,j,bi,bj) = Qsw(i,j,bi,bj) -
1138       &                   AREA(i,j,bi,bj) * local(i,j,bi,bj) +       &                   AREA(i,j,bi,bj)  * local(i,j,bi,bj) +
1139       &               (1.-AREA(i,j,bi,bj)) * Qnet_tmp(i,j,bi,bj)       &               (1.-AREA(i,j,bi,bj)) *  Qnet(i,j,bi,bj)
1140           ENDDO           ENDDO
1141          ENDDO          ENDDO
1142         ENDDO         ENDDO
# Line 973  C     Receive freshwater flux Line 1163  C     Receive freshwater flux
1163         DO bi=1,nSx         DO bi=1,nSx
1164          DO j=1,sNy          DO j=1,sNy
1165           DO i=1,sNx           DO i=1,sNx
1166            EmPmR(i,j,bi,bj) = - AREA(i,j,bi,bj)  * local    (i,j,bi,bj) +            EmPmR(i,j,bi,bj) = - AREA(i,j,bi,bj)  * local(i,j,bi,bj) +
1167       &                  ( 1. - AREA(i,j,bi,bj)) * EmPmR_tmp(i,j,bi,bj)       &                  ( 1. - AREA(i,j,bi,bj)) * EmPmR(i,j,bi,bj)
1168           ENDDO           ENDDO
1169          ENDDO          ENDDO
1170         ENDDO         ENDDO

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.18

  ViewVC Help
Powered by ViewVC 1.1.22