/[MITgcm]/MITgcm_contrib/ksnow/press_release/code_expt/shelfice_init_varia.F
ViewVC logotype

Annotation of /MITgcm_contrib/ksnow/press_release/code_expt/shelfice_init_varia.F

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


Revision 1.4 - (hide annotations) (download)
Sun Feb 5 15:49:42 2017 UTC (9 years, 6 months ago) by dgoldberg
Branch: MAIN
Changes since 1.3: +2 -1 lines
overlap update

1 dgoldberg 1.4 C $Header: /u/gcmpack/MITgcm_contrib/ksnow/press_release/code_expt/shelfice_init_varia.F,v 1.3 2017/02/01 12:45:48 dgoldberg Exp $
2 ksnow 1.1 C $Name: $
3    
4     #include "SHELFICE_OPTIONS.h"
5    
6     CBOP
7     SUBROUTINE SHELFICE_INIT_VARIA( myThid )
8     C *============================================================*
9     C | SUBROUTINE SHELFICE_INIT_VARIA
10     C | o Routine to initialize SHELFICE variables.
11     C *============================================================*
12     C | Initialize SHELFICE parameters and variables.
13     C *============================================================*
14     IMPLICIT NONE
15    
16     C === Global variables ===
17     #include "SIZE.h"
18     #include "EEPARAMS.h"
19     #include "PARAMS.h"
20     #include "GRID.h"
21     #include "SHELFICE.h"
22     #ifdef ALLOW_COST
23     # include "SHELFICE_COST.h"
24     #endif /* ALLOW_COST */
25     #ifdef ALLOW_SHELFICE_GROUNDED_ICE
26     #include "SURFACE.h"
27     #endif
28    
29     C === Routine arguments ===
30     C myThid - Number of this instance of SHELFICE_INIT_VARIA
31     INTEGER myThid
32     CEndOfInterface
33    
34     #ifdef ALLOW_SHELFICE
35     C === Local variables ===
36     C i,j,bi,bj - Loop counters
37     INTEGER i, j, bi, bj
38 dgoldberg 1.3 #ifdef ALLOW_SHELFICE_GROUNDED_ICE
39     ! simply as an argument to find the the grounded factor
40     _RL massMin(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
41     #endif
42 ksnow 1.1 CEOP
43    
44     DO bj = myByLo(myThid), myByHi(myThid)
45     DO bi = myBxLo(myThid), myBxHi(myThid)
46     DO j = 1-OLy, sNy+OLy
47     DO i = 1-OLx, sNx+OLx
48     shelficeForcingT (i,j,bi,bj) = 0. _d 0
49     shelficeForcingS (i,j,bi,bj) = 0. _d 0
50     shelficeHeatFlux (i,j,bi,bj) = 0. _d 0
51     shelficeFreshWaterFlux(i,j,bi,bj) = 0. _d 0
52     shiTransCoeffT (i,j,bi,bj) = 0. _d 0
53     shiTransCoeffS (i,j,bi,bj) = 0. _d 0
54     shelficeMass (i,j,bi,bj) = 0. _d 0
55     EFFMASS (i,j,bi,bj) = 0. _d 0
56     SeaLevelRestore (i,j,bi,bj) = 0. _d 0
57     ENDDO
58     ENDDO
59     ENDDO
60     ENDDO
61     IF ( .NOT. SHELFICEuseGammaFrict ) THEN
62     IF ( SHELFICETransCoeffTFile .NE. ' ' ) THEN
63     CALL READ_FLD_XY_RL( SHELFICETransCoeffTFile, ' ',
64     & shiTransCoeffT, 0, myThid )
65     _EXCH_XY_RL( shiTransCoeffT, myThid )
66     DO bj = myByLo(myThid), myByHi(myThid)
67     DO bi = myBxLo(myThid), myBxHi(myThid)
68     DO j = 1-OLy, sNy+OLy
69     DO i = 1-OLx, sNx+OLx
70     shiTransCoeffS(i,j,bi,bj) = 5.05 _d -3 *
71     & shiTransCoeffT(i,j,bi,bj)
72     ENDDO
73     ENDDO
74     ENDDO
75     ENDDO
76     ELSE
77     C set coefficients to constant values
78     DO bj = myByLo(myThid), myByHi(myThid)
79     DO bi = myBxLo(myThid), myBxHi(myThid)
80     DO j = 1-OLy, sNy+OLy
81     DO i = 1-OLx, sNx+OLx
82     shiTransCoeffT(i,j,bi,bj) = SHELFICEheatTransCoeff
83     shiTransCoeffS(i,j,bi,bj) = SHELFICEsaltTransCoeff
84     ENDDO
85     ENDDO
86     ENDDO
87     ENDDO
88     ENDIF
89     ENDIF
90    
91     DO bj = myByLo(myThid), myByHi(myThid)
92     DO bi = myBxLo(myThid), myBxHi(myThid)
93     DO j = 1-OLy, sNy+OLy
94     DO i = 1-OLx, sNx+OLx
95     shelficeMass(i,j,bi,bj) = shelficeMassInit(i,j,bi,bj)
96     ENDDO
97     ENDDO
98     ENDDO
99     ENDDO
100    
101     IF (shelficeMassStepping) THEN
102    
103     IF ( .NOT. ( startTime .EQ. baseTime .AND. nIter0 .EQ. 0
104     & .AND. pickupSuff .EQ. ' ') ) THEN
105    
106     CALL SHELFICE_READ_PICKUP ( myThid )
107    
108     ENDIF
109    
110     ENDIF
111    
112    
113     #ifdef ALLOW_COST
114     DO bj = myByLo(myThid), myByHi(myThid)
115     DO bi = myBxLo(myThid), myBxHi(myThid)
116     DO j = 1-OLy, sNy+OLy
117     DO i = 1-OLx, sNx+OLx
118     cMeanSHIforT (i,j,bi,bj) = 0. _d 0
119     cMeanSHIforS (i,j,bi,bj) = 0. _d 0
120     ENDDO
121     ENDDO
122     ENDDO
123     ENDDO
124     c--
125     DO bj = myByLo(myThid), myByHi(myThid)
126     DO bi = myBxLo(myThid), myBxHi(myThid)
127     objf_shelfice(bi,bj) = 0. _d 0
128     objf_shifwflx(bi,bj) = 0. _d 0
129     num_shifwflx(bi,bj) = 0. _d 0
130     ENDDO
131     ENDDO
132     #endif /* ALLOW_COST */
133    
134     #ifdef ALLOW_SHELFICE_GROUNDED_ICE
135 dgoldberg 1.3 CALL SHELFICE_CALC_GRD_FAC( massMin, myThid )
136 ksnow 1.1 DO bj = myByLo(myThid), myByHi(myThid)
137     DO bi = myBxLo(myThid), myBxHi(myThid)
138     DO j = 1-OLy, sNy+OLy
139     DO i = 1-OLx, sNx+OLx
140     ! IF (GrdFactor(i,j,bi,bj).lt.0.) THEN
141     Rmin_surf(i,j,bi,bj) = R_low(i,j,bi,bj) + hfacMin
142    
143     ENDDO
144     ENDDO
145     ENDDO
146     ENDDO
147 dgoldberg 1.4 _EXCH_XY_RL (Rmin_surf, myThid)
148 ksnow 1.1
149     #endif
150    
151     #endif /* ALLOW_SHELFICE */
152    
153     RETURN
154     END

  ViewVC Help
Powered by ViewVC 1.1.22