/[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.14 by dimitri, Thu Mar 15 20:02:56 2012 UTC revision 1.16 by dimitri, Sun Mar 18 01:25:21 2012 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 60  CEOP Line 58  CEOP
58        Real*8  xfer_bc_tracer(2*(Nx+Ny)-4)        Real*8  xfer_bc_tracer(2*(Nx+Ny)-4)
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)
       character*(10) itername  
   
       COMMON /FFIELDS_tmp/ fu_tmp, fv_tmp, Qnet_tmp, Qsw_tmp, EmPmR_tmp  
       _RS  fu_tmp       (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)  
       _RS  fv_tmp       (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)  
       _RS  Qnet_tmp     (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)  
       _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)  
61    
62  # ifdef CPL_DEBUG  # ifdef CPL_DEBUG
63          character*(10) itername
64        write(itername,'(i10.10)') myIter        write(itername,'(i10.10)') myIter
65  # endif /* CPL_DEBUG */  # endif /* CPL_DEBUG */
66    
# Line 204  C     Send snow thickness Line 195  C     Send snow thickness
195    
196        ENDIF ! ( myTime .EQ. startTime )        ENDIF ! ( myTime .EQ. startTime )
197    
198    C--   Apply ice open boundary conditions
199    #ifdef ALLOW_OBCS
200          IF ( useOBCS ) THEN
201           CALL OBCS_APPLY_SEAICE( myThid )
202           CALL OBCS_APPLY_UVICE( uice, vice, myThid )
203          ENDIF
204    #endif /* ALLOW_OBCS */
205    
206  C     Send ocean model time  C     Send ocean model time
207        _BEGIN_MASTER( myThid )        _BEGIN_MASTER( myThid )
208        xfer_scalar = myTime        xfer_scalar = myTime
# Line 877  C     Receive u surface stress Line 876  C     Receive u surface stress
876         DO bi=1,nSx         DO bi=1,nSx
877          DO j=1,sNy          DO j=1,sNy
878           DO i=1,sNx           DO i=1,sNx
879            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) +
880       &                (1.-AREA(i,j,bi,bj)) * fu_tmp(i,j,bi,bj)       &                (1.-AREA(i,j,bi,bj)) * fu   (i,j,bi,bj)
881           ENDDO           ENDDO
882          ENDDO          ENDDO
883         ENDDO         ENDDO
# Line 905  C     Receive v surface stress Line 904  C     Receive v surface stress
904         DO bi=1,nSx         DO bi=1,nSx
905          DO j=1,sNy          DO j=1,sNy
906           DO i=1,sNx           DO i=1,sNx
907            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) +
908       &                (1.-AREA(i,j,bi,bj)) * fv_tmp(i,j,bi,bj)       &                (1.-AREA(i,j,bi,bj)) * fv   (i,j,bi,bj)
909           ENDDO           ENDDO
910          ENDDO          ENDDO
911         ENDDO         ENDDO
# Line 933  C     Receive residual shortwave Line 932  C     Receive residual shortwave
932         DO bi=1,nSx         DO bi=1,nSx
933          DO j=1,sNy          DO j=1,sNy
934           DO i=1,sNx           DO i=1,sNx
935            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) +
936       &                  (1.-AREA(i,j,bi,bj)) * Qsw_tmp(i,j,bi,bj)       &                  (1.-AREA(i,j,bi,bj)) *   Qsw(i,j,bi,bj)
937           ENDDO           ENDDO
938          ENDDO          ENDDO
939         ENDDO         ENDDO
# Line 962  C     Receive heat flux Line 961  C     Receive heat flux
961          DO j=1,sNy          DO j=1,sNy
962           DO i=1,sNx           DO i=1,sNx
963            Qnet(i,j,bi,bj) = Qsw(i,j,bi,bj) -            Qnet(i,j,bi,bj) = Qsw(i,j,bi,bj) -
964       &                   AREA(i,j,bi,bj) * local(i,j,bi,bj) +       &                   AREA(i,j,bi,bj)  * local(i,j,bi,bj) +
965       &               (1.-AREA(i,j,bi,bj)) * Qnet_tmp(i,j,bi,bj)       &               (1.-AREA(i,j,bi,bj)) *  Qnet(i,j,bi,bj)
966           ENDDO           ENDDO
967          ENDDO          ENDDO
968         ENDDO         ENDDO
# Line 990  C     Receive freshwater flux Line 989  C     Receive freshwater flux
989         DO bi=1,nSx         DO bi=1,nSx
990          DO j=1,sNy          DO j=1,sNy
991           DO i=1,sNx           DO i=1,sNx
992            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) +
993       &                  ( 1. - AREA(i,j,bi,bj)) * EmPmR_tmp(i,j,bi,bj)       &                  ( 1. - AREA(i,j,bi,bj)) * EmPmR(i,j,bi,bj)
994           ENDDO           ENDDO
995          ENDDO          ENDDO
996         ENDDO         ENDDO

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

  ViewVC Help
Powered by ViewVC 1.1.22