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

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

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


Revision 1.9 - (show annotations) (download)
Mon Dec 27 20:34:11 2004 UTC (19 years, 5 months ago) by dimitri
Branch: MAIN
CVS Tags: checkpoint57m_post, checkpoint57g_pre, checkpoint57s_post, checkpoint57g_post, checkpoint57y_post, checkpoint57r_post, checkpoint57d_post, checkpoint57i_post, checkpoint58, checkpoint57n_post, checkpoint58a_post, checkpoint57z_post, checkpoint57l_post, checkpoint57t_post, checkpoint57v_post, checkpoint57f_post, checkpoint57h_pre, checkpoint57h_post, checkpoint57y_pre, checkpoint57c_post, checkpoint57c_pre, checkpoint57e_post, checkpoint57p_post, checkpint57u_post, checkpoint57q_post, eckpoint57e_pre, checkpoint57h_done, checkpoint57j_post, checkpoint57f_pre, checkpoint57o_post, checkpoint57k_post, checkpoint57w_post, checkpoint57x_post
Changes since 1.8: +1 -5 lines
o added seaice_summary.F and removed obsolete ALLOW_SEAICE's from pkg/seaice

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

  ViewVC Help
Powered by ViewVC 1.1.22