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

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

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


Revision 1.1 - (hide annotations) (download)
Sun Nov 23 01:20:13 2003 UTC (20 years, 6 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 jmc 1.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