/[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.3 - (show annotations) (download)
Thu Dec 5 08:43:02 2002 UTC (21 years, 5 months ago) by dimitri
Branch: MAIN
CVS Tags: checkpoint47e_post, checkpoint47c_post, checkpoint47d_pre, checkpoint47d_post, branch-exfmods-tag, checkpoint47b_post
Branch point for: branch-exfmods-curt
Changes since 1.2: +1 -1 lines
checkpoint47b_post
Merging from release1_p9:
o pkg/seaice
  - removed GOTO's and added taf directives
  - double precision constants to reduce the g77 (Linux)
    to F77 (SGI) differences reported in release1_p8
o tools/genmake
  - added SGI options
o verification/testscript
  - updated to that of checkpoint47a_post
o verification/global_ocean.90x40x15/input/eedata
  - modified for SGI f77 compatibility
o verification/lab_sea
  - added description of sea-ice model
  - added missing matlab routines
  - added test of thermodynamics parallelization
Modified Files:
   doc/tag-index pkg/seaice/SEAICE_FFIELDS.h
   pkg/seaice/SEAICE_PARAMS.h pkg/seaice/adi.F
   pkg/seaice/advect.F pkg/seaice/budget.F pkg/seaice/diffus.F
   pkg/seaice/dynsolver.F pkg/seaice/groatb.F pkg/seaice/growth.F
   pkg/seaice/lsr.F pkg/seaice/ostres.F
   pkg/seaice/seaice_do_diags.F pkg/seaice/seaice_get_forcing.F
   pkg/seaice/seaice_init.F pkg/seaice/seaice_model.F
   pkg/seaice/seaice_readparms.F tools/genmake
   verification/global_ocean.90x40x15/input/eedata
   verification/lab_sea/README
   verification/lab_sea/matlab/lookat_exp1.m
   verification/lab_sea/matlab/lookat_exp2.m
   verification/lab_sea/matlab/lookat_exp3.m
   verification/lab_sea/matlab/lookat_exp4.m
   verification/lab_sea/matlab/lookat_exp5.m
   verification/lab_sea/matlab/lookat_exp6.m
   verification/lab_sea/results/AREAtave.0000000010.data
   verification/lab_sea/results/HEFFtave.0000000010.data
   verification/lab_sea/results/UICEtave.0000000010.data
   verification/lab_sea/results/VICEtave.0000000010.data
   verification/lab_sea/results/output.txt
Added Files:
   verification/lab_sea/seaice.ps
   verification/lab_sea/matlab/lookat_exp7.m
   verification/lab_sea/matlab/mmax.m
   verification/lab_sea/matlab/mypcolor.m
   verification/lab_sea/matlab/myquiver.m
   verification/lab_sea/matlab/readbin.m
   verification/lab_sea/matlab/wysiwyg.m
Removed Files:
   verification/lab_sea/code/KPP_OPTIONS.h

1 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 C i,j,k,bi,bj - Loop counters
32
33 INTEGER i, j, k, bi, bj
34 _RL DELTXX1, DELTYY1, DELTXX, DELTYY
35 _RL HEFF1 (1-OLx:sNx+OLx, 1-OLy:sNy+OLy)
36
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 HEFF1(I,J)=0.0 _d 0
43 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 HEFF1(I,J)=DELTXX*((HEFF(I+1,J,3,bi,bj)-HEFF(I,J,3,bi,bj))
56 & *HEFFM(I+1,J,bi,bj)
57 & -(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 & *CSUICE(I,J,bi,bj)*HEFFM(I,J+1,bi,bj)
60 & -(HEFF(I,J,3,bi,bj)-HEFF(I,J-1,3,bi,bj))
61 & *CSUICE(I,J-1,bi,bj)*HEFFM(I,J-1,bi,bj))
62 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 HEFF(I,J,3,bi,bj)=HEFF1(I,J)
75 ENDDO
76 ENDDO
77 ENDDO
78 ENDDO
79
80 #endif ALLOW_SEAICE
81
82 RETURN
83 END

  ViewVC Help
Powered by ViewVC 1.1.22