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

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

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


Revision 1.4.4.4 - (show annotations) (download)
Fri Feb 28 09:47:31 2003 UTC (22 years, 4 months ago) by dimitri
Branch: ecco-branch
Changes since 1.4.4.3: +1 -0 lines
o Reduced derivative singularities in pkg/seaice.

1 C $Header:
2
3 #include "SEAICE_OPTIONS.h"
4
5 CStartOfInterface
6 SUBROUTINE groatb( A22, myThid )
7 C /==========================================================\
8 C | SUBROUTINE groatb |
9 C | o Calculate ice growth |
10 C |==========================================================|
11 C \==========================================================/
12 IMPLICIT NONE
13
14 C === Global variables ===
15 #include "SIZE.h"
16 #include "EEPARAMS.h"
17 #include "PARAMS.h"
18 #include "DYNVARS.h"
19 #include "FFIELDS.h"
20 #include "SEAICE.h"
21 #include "SEAICE_PARAMS.h"
22 #include "SEAICE_FFIELDS.h"
23
24 C === Routine arguments ===
25 C myThid - Thread no. that called this routine.
26 _RL A22
27 INTEGER myThid
28 CEndOfInterface
29
30 #ifdef ALLOW_SEAICE
31
32 C === Local variables ===
33 C i,j,bi,bj - Loop counters
34
35 INTEGER i, j, bi, bj
36 INTEGER KOPEN
37 _RL U1, V1, SPEED_SQ
38
39 _RL HICE (1-OLx:sNx+OLx, 1-OLy:sNy+OLy)
40 _RL UG (1-OLx:sNx+OLx, 1-OLy:sNy+OLy)
41
42 C if this is not done before then do it here
43 _EXCH_XY_R8(UWIND, myThid)
44 _EXCH_XY_R8(VWIND, myThid)
45
46 c$taf loop = parallel
47 DO bj=myByLo(myThid),myByHi(myThid)
48 c$taf loop = parallel
49 DO bi=myBxLo(myThid),myBxHi(myThid)
50
51 C DETERMINE AMOUNT OF OPEN WATER AND ICE THICKNESS
52 DO J=1,sNy
53 DO I=1,sNx
54 AREA(I,J,2,bi,bj)=MAX(A22,AREA(I,J,2,bi,bj))
55 FHEFF(I,J,bi,bj)=0.0 _d 0
56 HICE(I,J)=HEFF(I,J,2,bi,bj)/AREA(I,J,2,bi,bj)
57 ENDDO
58 ENDDO
59
60 C NOW DETERMINE MIXED LAYER TEMPERATURE
61 DO J=1,sNy
62 DO I=1,sNx
63 TMIX(I,J,bi,bj)=theta(I,J,1,bi,bj)+273.16 _d +00
64 #ifdef SEAICE_DEBUG
65 TMIX(I,J,bi,bj)=MAX(TMIX(I,J,bi,bj),271.2 _d +00)
66 #endif
67 ENDDO
68 ENDDO
69
70 DO J=1,sNy
71 DO I=1,sNx
72 U1=0.25 _d 0*(UWIND(I-1,J-1,bi,bj)+UWIND(I-1,J,bi,bj)
73 1 +UWIND(I,J-1,bi,bj)+UWIND(I,J,bi,bj))
74 V1=0.25 _d 0*(VWIND(I-1,J-1,bi,bj)+VWIND(I-1,J,bi,bj)
75 1 +VWIND(I,J-1,bi,bj)+VWIND(I,J,bi,bj))
76 SPEED_SQ = U1**2 + V1**2
77 IF ( SPEED_SQ .LT. SEAICE_EPS_SQ ) THEN
78 UG(I,J)=SEAICE_EPS
79 ELSE
80 UG(I,J)=SQRT(SPEED_SQ)
81 ENDIF
82 ENDDO
83 ENDDO
84
85 C NOW DETERMINE GROWTH RATES
86 C FIRST DO OPEN WATER
87 KOPEN=-1
88 CALL BUDGET(UG, TMIX, HICE, FO, KOPEN, bi, bj)
89 C NOW DO ICE
90 KOPEN=1
91 CALL BUDGET(UG, TICE, HICE, FICE, KOPEN, bi, bj)
92
93 ENDDO
94 ENDDO
95
96 #endif /* ALLOW_SEAICE */
97
98 RETURN
99 END

  ViewVC Help
Powered by ViewVC 1.1.22