/[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.6 - (show annotations) (download)
Wed Apr 30 07:04:08 2003 UTC (21 years ago) by dimitri
Branch: MAIN
CVS Tags: checkpoint50e_post, checkpoint50c_post, checkpoint50c_pre, checkpoint50d_pre, checkpoint50d_post, checkpoint50f_post, checkpoint50f_pre, checkpoint50e_pre
Changes since 1.5: +17 -7 lines
checkpoint50c_pre
Merging from release1_p13:
o bug fix for pkg/seaice dynamic solver
o Added SEAICE_initialHEFF to 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_FFIELDS.h"
22 COMMON /SEAICE_BOUND_RL/
23 & MAX_HEFF, MIN_ATEMP, MIN_LWDOWN, MAX_TICE, MIN_TICE,
24 & SEAICE_EPS, SEAICE_EPS_SQ
25 _RL SEAICE_EPS, SEAICE_EPS_SQ
26 _RL MAX_HEFF, MIN_ATEMP, MIN_LWDOWN, MAX_TICE, MIN_TICE
27
28 C === Routine arguments ===
29 C myThid - Thread no. that called this routine.
30 _RL A22
31 INTEGER myThid
32 CEndOfInterface
33
34 #ifdef ALLOW_SEAICE
35
36 C === Local variables ===
37 C i,j,bi,bj - Loop counters
38
39 INTEGER i, j, bi, bj
40 INTEGER KOPEN
41 _RL U1, V1, SPEED_SQ
42
43 _RL HICE (1-OLx:sNx+OLx, 1-OLy:sNy+OLy)
44 _RL UG (1-OLx:sNx+OLx, 1-OLy:sNy+OLy)
45
46 C if this is not done before then do it here
47 _EXCH_XY_R8(UWIND, myThid)
48 _EXCH_XY_R8(VWIND, myThid)
49
50 c$taf loop = parallel
51 DO bj=myByLo(myThid),myByHi(myThid)
52 c$taf loop = parallel
53 DO bi=myBxLo(myThid),myBxHi(myThid)
54
55 C DETERMINE AMOUNT OF OPEN WATER AND ICE THICKNESS
56 DO J=1,sNy
57 DO I=1,sNx
58 AREA(I,J,2,bi,bj)=MAX(A22,AREA(I,J,2,bi,bj))
59 FHEFF(I,J,bi,bj)=0.0 _d 0
60 HICE(I,J)=HEFF(I,J,2,bi,bj)/AREA(I,J,2,bi,bj)
61 ENDDO
62 ENDDO
63
64 C NOW DETERMINE MIXED LAYER TEMPERATURE
65 DO J=1,sNy
66 DO I=1,sNx
67 TMIX(I,J,bi,bj)=theta(I,J,1,bi,bj)+273.16 _d +00
68 #ifdef SEAICE_DEBUG
69 TMIX(I,J,bi,bj)=MAX(TMIX(I,J,bi,bj),271.2 _d +00)
70 #endif
71 ENDDO
72 ENDDO
73
74 DO J=1,sNy
75 DO I=1,sNx
76 U1=0.25 _d 0*(UWIND(I+1,J+1,bi,bj)+UWIND(I+1,J,bi,bj)
77 1 +UWIND(I,J+1,bi,bj)+UWIND(I,J,bi,bj))
78 V1=0.25 _d 0*(VWIND(I+1,J+1,bi,bj)+VWIND(I+1,J,bi,bj)
79 1 +VWIND(I,J+1,bi,bj)+VWIND(I,J,bi,bj))
80 SPEED_SQ = U1**2 + V1**2
81 IF ( SPEED_SQ .LT. SEAICE_EPS_SQ ) THEN
82 UG(I,J)=SEAICE_EPS
83 ELSE
84 UG(I,J)=SQRT(SPEED_SQ)
85 ENDIF
86 ENDDO
87 ENDDO
88
89 C NOW DETERMINE GROWTH RATES
90 C FIRST DO OPEN WATER
91 KOPEN=-1
92 CALL BUDGET(UG, TMIX, HICE, FO, KOPEN, bi, bj)
93 C NOW DO ICE
94 KOPEN=1
95 CALL BUDGET(UG, TICE, HICE, FICE, KOPEN, bi, bj)
96
97 ENDDO
98 ENDDO
99
100 #endif /* ALLOW_SEAICE */
101
102 RETURN
103 END

  ViewVC Help
Powered by ViewVC 1.1.22