/[MITgcm]/MITgcm/pkg/seaice/diffus.F
ViewVC logotype

Annotation of /MITgcm/pkg/seaice/diffus.F

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


Revision 1.6 - (hide annotations) (download)
Wed Apr 30 07:04:08 2003 UTC (21 years ago) by dimitri
Branch: MAIN
CVS Tags: checkpoint50c_post, checkpoint50c_pre, checkpoint50d_post, checkpoint50f_post, checkpoint50f_pre, checkpoint50e_pre, checkpoint50e_post, checkpoint50d_pre
Changes since 1.5: +2 -2 lines
checkpoint50c_pre
Merging from release1_p13:
o bug fix for pkg/seaice dynamic solver
o Added SEAICE_initialHEFF to pkg/seaice

1 heimbach 1.2 C $Header:
2    
3     #include "SEAICE_OPTIONS.h"
4    
5     CStartOfInterface
6     SUBROUTINE diffus( HEFF, DIFFA, HEFFM, DELTT, myThid )
7     C /==========================================================\
8     C | SUBROUTINE diffus |
9     C | o Add diffusion terms to ice mass conservation equations |
10     C |==========================================================|
11     C \==========================================================/
12     IMPLICIT NONE
13    
14     C === Global variables ===
15     #include "SIZE.h"
16     #include "EEPARAMS.h"
17     #include "SEAICE_GRID.h"
18    
19     C === Routine arguments ===
20     C myThid - Thread no. that called this routine.
21     _RL HEFF (1-OLx:sNx+OLx,1-OLy:sNy+OLy,3,nSx,nSy)
22     _RL HEFFM (1-OLx:sNx+OLx,1-OLy:sNy+OLy, nSx,nSy)
23     _RL DIFFA (1-OLx:sNx+OLx,1-OLy:sNy+OLy)
24     _RL DELTT
25     INTEGER myThid
26     CEndOfInterface
27    
28     #ifdef ALLOW_SEAICE
29    
30     C === Local variables ===
31 dimitri 1.4 C i,j,bi,bj - Loop counters
32 heimbach 1.2
33 dimitri 1.4 INTEGER i, j, bi, bj
34 heimbach 1.2 _RL DELTXX1, DELTYY1, DELTXX, DELTYY
35 dimitri 1.5 _RL HEFF1 (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
36 heimbach 1.2
37     DO bj=myByLo(myThid),myByHi(myThid)
38     DO bi=myBxLo(myThid),myBxHi(myThid)
39    
40     DO j=1-OLy,sNy+OLy
41     DO i=1-OLx,sNx+OLx
42 dimitri 1.5 HEFF1(I,J,bi,bj)=0.0 _d 0
43 heimbach 1.2 ENDDO
44     ENDDO
45    
46     C NOW DO DIFFUSION WITH NUIT CONVERSION
47     DO j=1,sNy
48     DO i=1,sNx
49     DELTXX1=DELTT*DIFFA(I,J)
50     DELTYY1=DELTT*DIFFA(I,J)
51     DELTXX=DELTXX1/(DXTICE(I,J,bi,bj)*DXTICE(I,J,bi,bj)
52     & *CSTICE(I,J,bi,bj)*CSTICE(I,J,bi,bj))
53     DELTYY=DELTYY1/(DYTICE(I,J,bi,bj)*DYTICE(I,J,bi,bj)
54     & *CSTICE(I,J,bi,bj))
55 dimitri 1.5 HEFF1(I,J,bi,bj)=DELTXX*((HEFF(I+1,J,3,bi,bj)
56     & -HEFF(I,J,3,bi,bj))*HEFFM(I+1,J,bi,bj)
57 heimbach 1.2 & -(HEFF(I,J,3,bi,bj)-HEFF(I-1,J,3,bi,bj))*HEFFM(I-1,J,bi,bj))
58     & +DELTYY*((HEFF(I,J+1,3,bi,bj)-HEFF(I,J,3,bi,bj))
59 dimitri 1.6 & *CSUICE(I+1,J+1,bi,bj)*HEFFM(I,J+1,bi,bj)
60 heimbach 1.2 & -(HEFF(I,J,3,bi,bj)-HEFF(I,J-1,3,bi,bj))
61 dimitri 1.6 & *CSUICE(I+1,J,bi,bj)*HEFFM(I,J-1,bi,bj))
62 heimbach 1.2 ENDDO
63     ENDDO
64    
65     ENDDO
66     ENDDO
67    
68     _EXCH_XY_R8(HEFF1, myThid)
69    
70     DO bj=myByLo(myThid),myByHi(myThid)
71     DO bi=myBxLo(myThid),myBxHi(myThid)
72     DO j=1-OLy,sNy+OLy
73     DO i=1-OLx,sNx+OLx
74 dimitri 1.5 HEFF(I,J,3,bi,bj)=HEFF1(I,J,bi,bj)
75 heimbach 1.2 ENDDO
76     ENDDO
77     ENDDO
78     ENDDO
79    
80 dimitri 1.5 #endif /* ALLOW_SEAICE */
81 heimbach 1.2
82     RETURN
83     END

  ViewVC Help
Powered by ViewVC 1.1.22