/[MITgcm]/MITgcm/pkg/thsice/thsice_main.F
ViewVC logotype

Contents of /MITgcm/pkg/thsice/thsice_main.F

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


Revision 1.1 - (show annotations) (download)
Sun Nov 23 01:20:13 2003 UTC (20 years, 5 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint52l_pre, checkpoint52e_pre, hrcube4, checkpoint52j_post, checkpoint52e_post, hrcube_1, branch-netcdf, checkpoint52d_pre, checkpoint52l_post, checkpoint52k_post, checkpoint52d_post, checkpoint52b_post, checkpoint52f_post, checkpoint52c_post, hrcube5, checkpoint52i_post, checkpoint52j_pre, checkpoint52i_pre, checkpoint52h_pre, checkpoint52f_pre, hrcube_2, hrcube_3
Branch point for: netcdf-sm0
new pkg "thSIce" (replace therm_seaice).

1 C $Header: $
2 C $Name: $
3
4 #include "THSICE_OPTIONS.h"
5
6 C !ROUTINE: THSICE_MAIN
7 C !INTERFACE:
8 SUBROUTINE THSICE_MAIN(
9 I myTime, myIter, myThid )
10 C *==========================================================*
11 C | SUBROUTINE THSICE_MAIN
12 C | o Therm_SeaIce main routine.
13 C | step forward Thermodynamic_SeaIce variables and modify
14 C | ocean surface forcing accordingly.
15 C *==========================================================*
16
17 C !USES:
18 IMPLICIT NONE
19 C === Global variables ===
20 #include "SIZE.h"
21 #include "EEPARAMS.h"
22 #include "PARAMS.h"
23 #include "FFIELDS.h"
24 #include "THSICE_PARAMS.h"
25 #include "THSICE.h"
26
27 C !INPUT/OUTPUT PARAMETERS:
28 C === Routine arguments ===
29 C myIter :: iteration counter for this thread
30 C myTime :: time counter for this thread
31 C myThid :: thread number for this instance of the routine.
32 _RL myTime
33 INTEGER myIter
34 INTEGER myThid
35
36 #ifdef ALLOW_THSICE
37 C !LOCAL VARIABLES:
38 C === Local variables ===
39 INTEGER i,j
40 INTEGER bi,bj
41 INTEGER iMin, iMax
42 INTEGER jMin, jMax
43
44 _RL tauFac
45
46 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
47
48 IF ( stressReduction.GT. 0. _d 0 ) THEN
49 iMin = 1-Olx
50 iMax = sNx+Olx-1
51 jMin = 1-Oly
52 jMax = sNy+Oly-1
53 ELSE
54 iMin = 1
55 iMax = sNx
56 jMin = 1
57 jMax = sNy
58 ENDIF
59
60 DO bj=myByLo(myThid),myByHi(myThid)
61 DO bi=myBxLo(myThid),myBxHi(myThid)
62 CALL THSICE_STEP_FWD(
63 I bi, bj, iMin, iMax, jMin, jMax,
64 I myTime, myIter, myThid )
65 IF ( thSIce_taveFreq .GT. 0. _d 0 )
66 & CALL THSICE_AVE( bi,bj, mythid )
67 c ENDDO
68 c ENDDO
69
70 c IF ( .FALSE. ) THEN
71 IF ( stressReduction.GT. 0. _d 0 ) THEN
72 DO j = jMin, jMax
73 DO i = iMin+1,iMax
74 tauFac = stressReduction
75 & *(iceMask(i-1,j,bi,bj)+iceMask(i,j,bi,bj))*0.5 _d 0
76 fu(i,j,bi,bj) = (1. _d 0 - tauFac)*fu(i,j,bi,bj)
77 ENDDO
78 ENDDO
79 DO j = jMin+1, jMax
80 DO i = iMin, iMax
81 tauFac = stressReduction
82 & *(iceMask(i,j-1,bi,bj)+iceMask(i,j,bi,bj))*0.5 _d 0
83 fv(i,j,bi,bj) = (1. _d 0 - tauFac)*fv(i,j,bi,bj)
84 ENDDO
85 ENDDO
86 ENDIF
87
88 C-- end bi,bj loop
89 ENDDO
90 ENDDO
91
92 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
93 #endif /*ALLOW_THSICE*/
94
95 RETURN
96 END

  ViewVC Help
Powered by ViewVC 1.1.22