/[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.1 by dimitri, Sun May 31 03:41:36 2009 UTC revision 1.4 by dimitri, Fri Dec 4 19:39:27 2009 UTC
# Line 57  CEOP Line 57  CEOP
57        Real*8  xfer_bc_tracer(2*(Nx+Ny)-4)        Real*8  xfer_bc_tracer(2*(Nx+Ny)-4)
58        Real*8  xfer_bc_veloc(2*(Nx+Ny)-6)        Real*8  xfer_bc_veloc(2*(Nx+Ny)-6)
59        _RL     local(1:sNx,1:sNy,nSx,nSy)        _RL     local(1:sNx,1:sNy,nSx,nSy)
60    
61    #ifdef CPL_DEBUG
62        _RL ScatArray(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)        _RL ScatArray(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
63          DO bj=1,nSy
64           DO bi=1,nSx
65            DO j=1-OLy,sNy+OLy
66             DO i=1-OLx,sNx+OLx
67              ScatArray(i,j,bi,bj) = 0.0 _d 0
68             ENDDO
69            ENDDO
70           ENDDO
71          ENDDO
72    #endif
73    
74        IF( myTime .EQ. startTime ) THEN        IF( myTime .EQ. startTime ) THEN
75    
# Line 211  C     Send boundary ice area Line 223  C     Send boundary ice area
223         idx = idx + 1         idx = idx + 1
224         xfer_bc_tracer(idx) = xfer_array(Nx,j)         xfer_bc_tracer(idx) = xfer_array(Nx,j)
225        ENDDO        ENDDO
226        DO i = (Nx-1), -1, 1        DO i = (Nx-1), 1, -1
227         idx = idx + 1         idx = idx + 1
228         xfer_bc_tracer(idx) = xfer_array(i,Ny)         xfer_bc_tracer(idx) = xfer_array(i,Ny)
229        ENDDO        ENDDO
230        DO j = (Ny-1), -1, 2        DO j = (Ny-1), 2, -1
231         idx = idx + 1         idx = idx + 1
232         xfer_bc_tracer(idx) = xfer_array(1,j)         xfer_bc_tracer(idx) = xfer_array(1,j)
233        ENDDO        ENDDO
# Line 249  C     Send boundary ice thickness Line 261  C     Send boundary ice thickness
261         idx = idx + 1         idx = idx + 1
262         xfer_bc_tracer(idx) = xfer_array(Nx,j)         xfer_bc_tracer(idx) = xfer_array(Nx,j)
263        ENDDO        ENDDO
264        DO i = (Nx-1), -1, 1        DO i = (Nx-1), 1, -1
265         idx = idx + 1         idx = idx + 1
266         xfer_bc_tracer(idx) = xfer_array(i,Ny)         xfer_bc_tracer(idx) = xfer_array(i,Ny)
267        ENDDO        ENDDO
268        DO j = (Ny-1), -1, 2        DO j = (Ny-1), 2, -1
269         idx = idx + 1         idx = idx + 1
270         xfer_bc_tracer(idx) = xfer_array(1,j)         xfer_bc_tracer(idx) = xfer_array(1,j)
271        ENDDO        ENDDO
# Line 285  C     Send boundary ice salinity Line 297  C     Send boundary ice salinity
297         idx = idx + 1         idx = idx + 1
298         xfer_bc_tracer(idx) = xfer_array(Nx,j)         xfer_bc_tracer(idx) = xfer_array(Nx,j)
299        ENDDO        ENDDO
300        DO i = (Nx-1), -1, 1        DO i = (Nx-1), 1, -1
301         idx = idx + 1         idx = idx + 1
302         xfer_bc_tracer(idx) = xfer_array(i,Ny)         xfer_bc_tracer(idx) = xfer_array(i,Ny)
303        ENDDO        ENDDO
304        DO j = (Ny-1), -1, 2        DO j = (Ny-1), 2, -1
305         idx = idx + 1         idx = idx + 1
306         xfer_bc_tracer(idx) = xfer_array(1,j)         xfer_bc_tracer(idx) = xfer_array(1,j)
307        ENDDO        ENDDO
# Line 321  C     Send boundary snow thickness Line 333  C     Send boundary snow thickness
333         idx = idx + 1         idx = idx + 1
334         xfer_bc_tracer(idx) = xfer_array(Nx,j)         xfer_bc_tracer(idx) = xfer_array(Nx,j)
335        ENDDO        ENDDO
336        DO i = (Nx-1), -1, 1        DO i = (Nx-1), 1, -1
337         idx = idx + 1         idx = idx + 1
338         xfer_bc_tracer(idx) = xfer_array(i,Ny)         xfer_bc_tracer(idx) = xfer_array(i,Ny)
339        ENDDO        ENDDO
340        DO j = (Ny-1), -1, 2        DO j = (Ny-1), 2, -1
341         idx = idx + 1         idx = idx + 1
342         xfer_bc_tracer(idx) = xfer_array(1,j)         xfer_bc_tracer(idx) = xfer_array(1,j)
343        ENDDO        ENDDO
# Line 357  C     Send boundary u ice Line 369  C     Send boundary u ice
369         idx = idx + 1         idx = idx + 1
370         xfer_bc_veloc(idx) = xfer_array(Nx,j)         xfer_bc_veloc(idx) = xfer_array(Nx,j)
371        ENDDO        ENDDO
372        DO i = (Nx-1), -1, 2        DO i = (Nx-1), 2, -1
373         idx = idx + 1         idx = idx + 1
374         xfer_bc_veloc(idx) = xfer_array(i,Ny)         xfer_bc_veloc(idx) = xfer_array(i,Ny)
375        ENDDO        ENDDO
376        DO j = (Ny-1), -1, 2        DO j = (Ny-1), 2, -1
377         idx = idx + 1         idx = idx + 1
378         xfer_bc_veloc(idx) = xfer_array(2,j)         xfer_bc_veloc(idx) = xfer_array(2,j)
379        ENDDO        ENDDO
# Line 393  C     Send boundary v ice Line 405  C     Send boundary v ice
405         idx = idx + 1         idx = idx + 1
406         xfer_bc_veloc(idx) = xfer_array(Nx,j)         xfer_bc_veloc(idx) = xfer_array(Nx,j)
407        ENDDO        ENDDO
408        DO i = (Nx-1), -1, 1        DO i = (Nx-1), 1, -1
409         idx = idx + 1         idx = idx + 1
410         xfer_bc_veloc(idx) = xfer_array(i,Ny)         xfer_bc_veloc(idx) = xfer_array(i,Ny)
411        ENDDO        ENDDO
412        DO j = (Ny-1), -1, 3        DO j = (Ny-1), 3, -1
413         idx = idx + 1         idx = idx + 1
414         xfer_bc_veloc(idx) = xfer_array(1,j)         xfer_bc_veloc(idx) = xfer_array(1,j)
415        ENDDO        ENDDO
# Line 633  C     Receive ice area Line 645  C     Receive ice area
645        ENDIF        ENDIF
646        _END_MASTER( myThid )        _END_MASTER( myThid )
647        CALL SCATTER_2D( xfer_array, local, myThid )        CALL SCATTER_2D( xfer_array, local, myThid )
648    #ifdef CPL_DEBUG
649        DO bj=1,nSy        DO bj=1,nSy
650         DO bi=1,nSx         DO bi=1,nSx
651          DO j=1,sNy          DO j=1,sNy
# Line 642  C     Receive ice area Line 655  C     Receive ice area
655          ENDDO          ENDDO
656         ENDDO         ENDDO
657        ENDDO        ENDDO
 #ifdef CPL_DEBUG  
658        CALL PLOT_FIELD_XYRL( ScatArray, 'ice area', myIter, myThid )        CALL PLOT_FIELD_XYRL( ScatArray, 'ice area', myIter, myThid )
659  #endif  #endif
660    
# Line 655  C     Receive ice thickness Line 667  C     Receive ice thickness
667        ENDIF        ENDIF
668        _END_MASTER( myThid )        _END_MASTER( myThid )
669        CALL SCATTER_2D( xfer_array, local, myThid )        CALL SCATTER_2D( xfer_array, local, myThid )
670    #ifdef CPL_DEBUG
671        DO bj=1,nSy        DO bj=1,nSy
672         DO bi=1,nSx         DO bi=1,nSx
673          DO j=1,sNy          DO j=1,sNy
# Line 664  C     Receive ice thickness Line 677  C     Receive ice thickness
677          ENDDO          ENDDO
678         ENDDO         ENDDO
679        ENDDO        ENDDO
 #ifdef CPL_DEBUG  
680        CALL PLOT_FIELD_XYRL( ScatArray, 'ice thickness', myIter, myThid )        CALL PLOT_FIELD_XYRL( ScatArray, 'ice thickness', myIter, myThid )
681  #endif  #endif
682    
# Line 677  C     Receive ice salinity Line 689  C     Receive ice salinity
689        ENDIF        ENDIF
690        _END_MASTER( myThid )        _END_MASTER( myThid )
691        CALL SCATTER_2D( xfer_array, local, myThid )        CALL SCATTER_2D( xfer_array, local, myThid )
692    #ifdef CPL_DEBUG
693        DO bj=1,nSy        DO bj=1,nSy
694         DO bi=1,nSx         DO bi=1,nSx
695          DO j=1,sNy          DO j=1,sNy
# Line 686  C     Receive ice salinity Line 699  C     Receive ice salinity
699          ENDDO          ENDDO
700         ENDDO         ENDDO
701        ENDDO        ENDDO
 #ifdef CPL_DEBUG  
702        CALL PLOT_FIELD_XYRL( ScatArray, 'ice salinity', myIter, myThid )        CALL PLOT_FIELD_XYRL( ScatArray, 'ice salinity', myIter, myThid )
703  #endif  #endif
704    
# Line 699  C     Receive snow thickness Line 711  C     Receive snow thickness
711        ENDIF        ENDIF
712        _END_MASTER( myThid )        _END_MASTER( myThid )
713        CALL SCATTER_2D( xfer_array, local, myThid )        CALL SCATTER_2D( xfer_array, local, myThid )
714    #ifdef CPL_DEBUG
715        DO bj=1,nSy        DO bj=1,nSy
716         DO bi=1,nSx         DO bi=1,nSx
717          DO j=1,sNy          DO j=1,sNy
# Line 708  C     Receive snow thickness Line 721  C     Receive snow thickness
721          ENDDO          ENDDO
722         ENDDO         ENDDO
723        ENDDO        ENDDO
 #ifdef CPL_DEBUG  
724        CALL PLOT_FIELD_XYRL( ScatArray, 'ice thickness', myIter, myThid )        CALL PLOT_FIELD_XYRL( ScatArray, 'ice thickness', myIter, myThid )
725  #endif  #endif
726    
# Line 721  C     Receive u surface stress Line 733  C     Receive u surface stress
733        ENDIF        ENDIF
734        _END_MASTER( myThid )        _END_MASTER( myThid )
735        CALL SCATTER_2D( xfer_array, local, myThid )        CALL SCATTER_2D( xfer_array, local, myThid )
736    #ifdef CPL_DEBUG
737        DO bj=1,nSy        DO bj=1,nSy
738         DO bi=1,nSx         DO bi=1,nSx
739          DO j=1,sNy          DO j=1,sNy
# Line 730  C     Receive u surface stress Line 743  C     Receive u surface stress
743          ENDDO          ENDDO
744         ENDDO         ENDDO
745        ENDDO        ENDDO
 #ifdef CPL_DEBUG  
746        CALL PLOT_FIELD_XYRL( ScatArray, 'u stress', myIter, myThid )        CALL PLOT_FIELD_XYRL( ScatArray, 'u stress', myIter, myThid )
747  #endif  #endif
748    
# Line 743  C     Receive v surface stress Line 755  C     Receive v surface stress
755        ENDIF        ENDIF
756        _END_MASTER( myThid )        _END_MASTER( myThid )
757        CALL SCATTER_2D( xfer_array, local, myThid )        CALL SCATTER_2D( xfer_array, local, myThid )
758    #ifdef CPL_DEBUG
759        DO bj=1,nSy        DO bj=1,nSy
760         DO bi=1,nSx         DO bi=1,nSx
761          DO j=1,sNy          DO j=1,sNy
# Line 752  C     Receive v surface stress Line 765  C     Receive v surface stress
765          ENDDO          ENDDO
766         ENDDO         ENDDO
767        ENDDO        ENDDO
 #ifdef CPL_DEBUG  
768        CALL PLOT_FIELD_XYRL( ScatArray, 'v stress', myIter, myThid )        CALL PLOT_FIELD_XYRL( ScatArray, 'v stress', myIter, myThid )
769  #endif  #endif
770    
# Line 765  C     Receive residual shortwave Line 777  C     Receive residual shortwave
777        ENDIF        ENDIF
778        _END_MASTER( myThid )        _END_MASTER( myThid )
779        CALL SCATTER_2D( xfer_array, local, myThid )        CALL SCATTER_2D( xfer_array, local, myThid )
780    #ifdef CPL_DEBUG
781        DO bj=1,nSy        DO bj=1,nSy
782         DO bi=1,nSx         DO bi=1,nSx
783          DO j=1,sNy          DO j=1,sNy
# Line 774  C     Receive residual shortwave Line 787  C     Receive residual shortwave
787          ENDDO          ENDDO
788         ENDDO         ENDDO
789        ENDDO        ENDDO
 #ifdef CPL_DEBUG  
790        CALL PLOT_FIELD_XYRL( ScatArray, 'shortwave', myIter, myThid )        CALL PLOT_FIELD_XYRL( ScatArray, 'shortwave', myIter, myThid )
791  #endif  #endif
792    
# Line 787  C     Receive heat flux Line 799  C     Receive heat flux
799        ENDIF        ENDIF
800        _END_MASTER( myThid )        _END_MASTER( myThid )
801        CALL SCATTER_2D( xfer_array, local, myThid )        CALL SCATTER_2D( xfer_array, local, myThid )
802    #ifdef CPL_DEBUG
803        DO bj=1,nSy        DO bj=1,nSy
804         DO bi=1,nSx         DO bi=1,nSx
805          DO j=1,sNy          DO j=1,sNy
# Line 796  C     Receive heat flux Line 809  C     Receive heat flux
809          ENDDO          ENDDO
810         ENDDO         ENDDO
811        ENDDO        ENDDO
 #ifdef CPL_DEBUG  
812        CALL PLOT_FIELD_XYRL( ScatArray, 'heat flux', myIter, myThid )        CALL PLOT_FIELD_XYRL( ScatArray, 'heat flux', myIter, myThid )
813  #endif  #endif
814    
# Line 809  C     Receive freshwater flux Line 821  C     Receive freshwater flux
821        ENDIF        ENDIF
822        _END_MASTER( myThid )        _END_MASTER( myThid )
823        CALL SCATTER_2D( xfer_array, local, myThid )        CALL SCATTER_2D( xfer_array, local, myThid )
824    #ifdef CPL_DEBUG
825        DO bj=1,nSy        DO bj=1,nSy
826         DO bi=1,nSx         DO bi=1,nSx
827          DO j=1,sNy          DO j=1,sNy
# Line 818  C     Receive freshwater flux Line 831  C     Receive freshwater flux
831          ENDDO          ENDDO
832         ENDDO         ENDDO
833        ENDDO        ENDDO
 #ifdef CPL_DEBUG  
834        CALL PLOT_FIELD_XYRL( ScatArray, 'freshwater', myIter, myThid )        CALL PLOT_FIELD_XYRL( ScatArray, 'freshwater', myIter, myThid )
835  #endif  #endif
836    
# Line 831  C     Receive salt flux Line 843  C     Receive salt flux
843        ENDIF        ENDIF
844        _END_MASTER( myThid )        _END_MASTER( myThid )
845        CALL SCATTER_2D( xfer_array, local, myThid )        CALL SCATTER_2D( xfer_array, local, myThid )
846    #ifdef CPL_DEBUG
847        DO bj=1,nSy        DO bj=1,nSy
848         DO bi=1,nSx         DO bi=1,nSx
849          DO j=1,sNy          DO j=1,sNy
# Line 840  C     Receive salt flux Line 853  C     Receive salt flux
853          ENDDO          ENDDO
854         ENDDO         ENDDO
855        ENDDO        ENDDO
 #ifdef CPL_DEBUG  
856        CALL PLOT_FIELD_XYRL( ScatArray, 'salt flux', myIter, myThid )        CALL PLOT_FIELD_XYRL( ScatArray, 'salt flux', myIter, myThid )
857  #endif  #endif
858    

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

  ViewVC Help
Powered by ViewVC 1.1.22