/[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.14 by dimitri, Thu Mar 15 20:02:56 2012 UTC
# Line 60  CEOP Line 60  CEOP
60        Real*8  xfer_bc_tracer(2*(Nx+Ny)-4)        Real*8  xfer_bc_tracer(2*(Nx+Ny)-4)
61        Real*8  xfer_bc_veloc(2*(Nx+Ny)-6)        Real*8  xfer_bc_veloc(2*(Nx+Ny)-6)
62        _RL     local(1:sNx,1:sNy,nSx,nSy)        _RL     local(1:sNx,1:sNy,nSx,nSy)
63          character*(10) itername
64    
65        COMMON /FFIELDS_tmp/ fu_tmp, fv_tmp, Qnet_tmp, Qsw_tmp, EmPmR_tmp        COMMON /FFIELDS_tmp/ fu_tmp, fv_tmp, Qnet_tmp, Qsw_tmp, EmPmR_tmp
66        _RS  fu_tmp       (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)        _RS  fu_tmp       (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
# Line 68  CEOP Line 69  CEOP
69        _RS  Qsw_tmp      (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)        _RS  Qsw_tmp      (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
70        _RS  EmPmR_tmp    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)        _RS  EmPmR_tmp    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
71    
72    # ifdef CPL_DEBUG
73          write(itername,'(i10.10)') myIter
74    # endif /* CPL_DEBUG */
75    
76        IF( myTime .EQ. startTime ) THEN        IF( myTime .EQ. startTime ) THEN
77    
78  C     Send deltatimestep  C     Send deltatimestep
# Line 242  C     Send boundary ice area Line 247  C     Send boundary ice area
247         idx = idx + 1         idx = idx + 1
248         xfer_bc_tracer(idx) = xfer_array(1,j)         xfer_bc_tracer(idx) = xfer_array(1,j)
249        ENDDO        ENDDO
250          buffsize = 2*(Nx+Ny)-4
251  # ifdef CPL_DEBUG  # ifdef CPL_DEBUG
252        CALL PLOT_FIELD_XYRL( AREA, 'AREA obcs', myIter, myThid )        CALL PLOT_FIELD_XYRL( AREA, 'AREA obcs', myIter, myThid )
253          CALL WRITE_GLVEC_RS ( 'AREAobcs.', itername,
254         &     xfer_bc_tracer, buffsize, myIter, myThid )
255  # endif /* CPL_DEBUG */  # endif /* CPL_DEBUG */
256  # ifdef CPL_COUPLED  # ifdef CPL_COUPLED
257        _BEGIN_MASTER( myThid )        _BEGIN_MASTER( myThid )
258        IF ( myworldid .EQ. local_ocean_leader ) THEN        IF ( myworldid .EQ. local_ocean_leader ) THEN
        buffsize = 2*(Nx+Ny)-4  
259  cdb    print*,'MITgcm is about to send AreaBcTag',buffsize  cdb    print*,'MITgcm is about to send AreaBcTag',buffsize
260         CALL MPI_SEND(xfer_bc_tracer,buffsize,MPI_DOUBLE_PRECISION,         CALL MPI_SEND(xfer_bc_tracer,buffsize,MPI_DOUBLE_PRECISION,
261       &    local_ice_leader,AreaBcTag,MPI_COMM_WORLD,mpierr)       &    local_ice_leader,AreaBcTag,MPI_COMM_WORLD,mpierr)
# Line 285  C     Send boundary ice thickness Line 292  C     Send boundary ice thickness
292         idx = idx + 1         idx = idx + 1
293         xfer_bc_tracer(idx) = xfer_array(1,j)         xfer_bc_tracer(idx) = xfer_array(1,j)
294        ENDDO        ENDDO
295          buffsize = 2*(Nx+Ny)-4
296  # ifdef CPL_DEBUG  # ifdef CPL_DEBUG
297        CALL PLOT_FIELD_XYRL( HEFF, 'HEFF obcs', myIter, myThid )        CALL PLOT_FIELD_XYRL( HEFF, 'HEFF obcs', myIter, myThid )
298          CALL WRITE_GLVEC_RS ( 'HEFFobcs.', itername,
299         &     xfer_bc_tracer, buffsize, myIter, myThid )
300  # endif /* CPL_DEBUG */  # endif /* CPL_DEBUG */
301  # ifdef CPL_COUPLED  # ifdef CPL_COUPLED
302        _BEGIN_MASTER( myThid )        _BEGIN_MASTER( myThid )
303        IF ( myworldid .EQ. local_ocean_leader ) THEN        IF ( myworldid .EQ. local_ocean_leader ) THEN
        buffsize = 2*(Nx+Ny)-4  
304         CALL MPI_SEND(xfer_bc_tracer,buffsize,MPI_DOUBLE_PRECISION,         CALL MPI_SEND(xfer_bc_tracer,buffsize,MPI_DOUBLE_PRECISION,
305       &    local_ice_leader,HeffBcTag,MPI_COMM_WORLD,mpierr)       &    local_ice_leader,HeffBcTag,MPI_COMM_WORLD,mpierr)
306        ENDIF        ENDIF
# Line 326  C     Send boundary ice salinity Line 335  C     Send boundary ice salinity
335         idx = idx + 1         idx = idx + 1
336         xfer_bc_tracer(idx) = xfer_array(1,j)         xfer_bc_tracer(idx) = xfer_array(1,j)
337        ENDDO        ENDDO
338          buffsize = 2*(Nx+Ny)-4
339  # ifdef CPL_DEBUG  # ifdef CPL_DEBUG
340        CALL PLOT_FIELD_XYRL( HSALT, 'HSALT obcs', myIter, myThid )        CALL PLOT_FIELD_XYRL( HSALT, 'HSALT obcs', myIter, myThid )
341          CALL WRITE_GLVEC_RS ( 'HSALTobcs.', itername,
342         &     xfer_bc_tracer, buffsize, myIter, myThid )
343  # endif /* CPL_DEBUG */  # endif /* CPL_DEBUG */
344  # ifdef CPL_COUPLED  # ifdef CPL_COUPLED
345        _BEGIN_MASTER( myThid )        _BEGIN_MASTER( myThid )
346        IF ( myworldid .EQ. local_ocean_leader ) THEN        IF ( myworldid .EQ. local_ocean_leader ) THEN
        buffsize = 2*(Nx+Ny)-4  
347         CALL MPI_SEND(xfer_bc_tracer,buffsize,MPI_DOUBLE_PRECISION,         CALL MPI_SEND(xfer_bc_tracer,buffsize,MPI_DOUBLE_PRECISION,
348       &    local_ice_leader,HsaltBcTag,MPI_COMM_WORLD,mpierr)       &    local_ice_leader,HsaltBcTag,MPI_COMM_WORLD,mpierr)
349        ENDIF        ENDIF
# Line 367  C     Send boundary snow thickness Line 378  C     Send boundary snow thickness
378         idx = idx + 1         idx = idx + 1
379         xfer_bc_tracer(idx) = xfer_array(1,j)         xfer_bc_tracer(idx) = xfer_array(1,j)
380        ENDDO        ENDDO
381          buffsize = 2*(Nx+Ny)-4
382  # ifdef CPL_DEBUG  # ifdef CPL_DEBUG
383        CALL PLOT_FIELD_XYRL( HSNOW, 'HSNOW obcs', myIter, myThid )        CALL PLOT_FIELD_XYRL( HSNOW, 'HSNOW obcs', myIter, myThid )
384          CALL WRITE_GLVEC_RS ( 'HSNOWobcs.', itername,
385         &     xfer_bc_tracer, buffsize, myIter, myThid )
386  # endif /* CPL_DEBUG */  # endif /* CPL_DEBUG */
387  # ifdef CPL_COUPLED  # ifdef CPL_COUPLED
388        _BEGIN_MASTER( myThid )        _BEGIN_MASTER( myThid )
389        IF ( myworldid .EQ. local_ocean_leader ) THEN        IF ( myworldid .EQ. local_ocean_leader ) THEN
        buffsize = 2*(Nx+Ny)-4  
390         CALL MPI_SEND(xfer_bc_tracer,buffsize,MPI_DOUBLE_PRECISION,         CALL MPI_SEND(xfer_bc_tracer,buffsize,MPI_DOUBLE_PRECISION,
391       &    local_ice_leader,HsnowBcTag,MPI_COMM_WORLD,mpierr)       &    local_ice_leader,HsnowBcTag,MPI_COMM_WORLD,mpierr)
392        ENDIF        ENDIF
# Line 408  C     Send boundary u ice Line 421  C     Send boundary u ice
421         idx = idx + 1         idx = idx + 1
422         xfer_bc_veloc(idx) = xfer_array(2,j)         xfer_bc_veloc(idx) = xfer_array(2,j)
423        ENDDO        ENDDO
424          buffsize = 2*(Nx+Ny)-6
425  # ifdef CPL_DEBUG  # ifdef CPL_DEBUG
426        CALL PLOT_FIELD_XYRL( UICE, 'UICE obcs', myIter, myThid )        CALL PLOT_FIELD_XYRL( UICE, 'UICE obcs', myIter, myThid )
427          CALL WRITE_GLVEC_RS ( 'UICEobcs.', itername,
428         &     xfer_bc_veloc, buffsize, myIter, myThid )
429  # endif /* CPL_DEBUG */  # endif /* CPL_DEBUG */
430  # ifdef CPL_COUPLED  # ifdef CPL_COUPLED
431        _BEGIN_MASTER( myThid )        _BEGIN_MASTER( myThid )
432        IF ( myworldid .EQ. local_ocean_leader ) THEN        IF ( myworldid .EQ. local_ocean_leader ) THEN
        buffsize = 2*(Nx+Ny)-6  
433         CALL MPI_SEND(xfer_bc_veloc,buffsize,MPI_DOUBLE_PRECISION,         CALL MPI_SEND(xfer_bc_veloc,buffsize,MPI_DOUBLE_PRECISION,
434       &    local_ice_leader,UiceBcTag,MPI_COMM_WORLD,mpierr)       &    local_ice_leader,UiceBcTag,MPI_COMM_WORLD,mpierr)
435        ENDIF        ENDIF
# Line 449  C     Send boundary v ice Line 464  C     Send boundary v ice
464         idx = idx + 1         idx = idx + 1
465         xfer_bc_veloc(idx) = xfer_array(1,j)         xfer_bc_veloc(idx) = xfer_array(1,j)
466        ENDDO        ENDDO
467          buffsize = 2*(Nx+Ny)-6
468  # ifdef CPL_DEBUG  # ifdef CPL_DEBUG
469        CALL PLOT_FIELD_XYRL( VICE, 'VICE obcs', myIter, myThid )        CALL PLOT_FIELD_XYRL( VICE, 'VICE obcs', myIter, myThid )
470          CALL WRITE_GLVEC_RS ( 'VICEobcs.', itername,
471         &     xfer_bc_veloc, buffsize, myIter, myThid )
472  # endif /* CPL_DEBUG */  # endif /* CPL_DEBUG */
473  # ifdef CPL_COUPLED  # ifdef CPL_COUPLED
474        _BEGIN_MASTER( myThid )        _BEGIN_MASTER( myThid )
475        IF ( myworldid .EQ. local_ocean_leader ) THEN        IF ( myworldid .EQ. local_ocean_leader ) THEN
        buffsize = 2*(Nx+Ny)-6  
476         CALL MPI_SEND(xfer_bc_veloc,buffsize,MPI_DOUBLE_PRECISION,         CALL MPI_SEND(xfer_bc_veloc,buffsize,MPI_DOUBLE_PRECISION,
477       &    local_ice_leader,ViceBcTag,MPI_COMM_WORLD,mpierr)       &    local_ice_leader,ViceBcTag,MPI_COMM_WORLD,mpierr)
478        ENDIF        ENDIF

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

  ViewVC Help
Powered by ViewVC 1.1.22