/[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.2 - (hide annotations) (download)
Mon Jan 30 16:35:09 2017 UTC (9 years, 7 months ago) by ksnow
Branch: MAIN
Changes since 1.1: +5 -5 lines
update shelfice experiment code for darcy test application

1 ksnow 1.1 C $Header: /u/gcmpack/MITgcm_contrib/verification_other/shelfice_remeshing/code/shelfice_init_varia.F,v 1.1 2016/01/22 16:09:34 dgoldberg Exp $
2     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     CEOP
39    
40     DO bj = myByLo(myThid), myByHi(myThid)
41     DO bi = myBxLo(myThid), myBxHi(myThid)
42     DO j = 1-OLy, sNy+OLy
43     DO i = 1-OLx, sNx+OLx
44     shelficeForcingT (i,j,bi,bj) = 0. _d 0
45     shelficeForcingS (i,j,bi,bj) = 0. _d 0
46     shelficeHeatFlux (i,j,bi,bj) = 0. _d 0
47     shelficeFreshWaterFlux(i,j,bi,bj) = 0. _d 0
48     shiTransCoeffT (i,j,bi,bj) = 0. _d 0
49     shiTransCoeffS (i,j,bi,bj) = 0. _d 0
50     shelficeMass (i,j,bi,bj) = 0. _d 0
51     EFFMASS (i,j,bi,bj) = 0. _d 0
52     SeaLevelRestore (i,j,bi,bj) = 0. _d 0
53 ksnow 1.2 C KS_gl
54     GrdFactor (i,j,bi,bj) = 0. _d 0
55 ksnow 1.1 ENDDO
56     ENDDO
57     ENDDO
58     ENDDO
59     IF ( .NOT. SHELFICEuseGammaFrict ) THEN
60     IF ( SHELFICETransCoeffTFile .NE. ' ' ) THEN
61     CALL READ_FLD_XY_RL( SHELFICETransCoeffTFile, ' ',
62     & shiTransCoeffT, 0, myThid )
63     _EXCH_XY_RL( shiTransCoeffT, myThid )
64     DO bj = myByLo(myThid), myByHi(myThid)
65     DO bi = myBxLo(myThid), myBxHi(myThid)
66     DO j = 1-OLy, sNy+OLy
67     DO i = 1-OLx, sNx+OLx
68     shiTransCoeffS(i,j,bi,bj) = 5.05 _d -3 *
69     & shiTransCoeffT(i,j,bi,bj)
70     ENDDO
71     ENDDO
72     ENDDO
73     ENDDO
74     ELSE
75     C set coefficients to constant values
76     DO bj = myByLo(myThid), myByHi(myThid)
77     DO bi = myBxLo(myThid), myBxHi(myThid)
78     DO j = 1-OLy, sNy+OLy
79     DO i = 1-OLx, sNx+OLx
80     shiTransCoeffT(i,j,bi,bj) = SHELFICEheatTransCoeff
81     shiTransCoeffS(i,j,bi,bj) = SHELFICEsaltTransCoeff
82     ENDDO
83     ENDDO
84     ENDDO
85     ENDDO
86     ENDIF
87     ENDIF
88    
89     DO bj = myByLo(myThid), myByHi(myThid)
90     DO bi = myBxLo(myThid), myBxHi(myThid)
91     DO j = 1-OLy, sNy+OLy
92     DO i = 1-OLx, sNx+OLx
93     shelficeMass(i,j,bi,bj) = shelficeMassInit(i,j,bi,bj)
94     ENDDO
95     ENDDO
96     ENDDO
97     ENDDO
98    
99     IF (shelficeMassStepping) THEN
100    
101     IF ( .NOT. ( startTime .EQ. baseTime .AND. nIter0 .EQ. 0
102     & .AND. pickupSuff .EQ. ' ') ) THEN
103    
104     CALL SHELFICE_READ_PICKUP ( myThid )
105    
106     ENDIF
107    
108     ENDIF
109    
110    
111     #ifdef ALLOW_COST
112     DO bj = myByLo(myThid), myByHi(myThid)
113     DO bi = myBxLo(myThid), myBxHi(myThid)
114     DO j = 1-OLy, sNy+OLy
115     DO i = 1-OLx, sNx+OLx
116     cMeanSHIforT (i,j,bi,bj) = 0. _d 0
117     cMeanSHIforS (i,j,bi,bj) = 0. _d 0
118     ENDDO
119     ENDDO
120     ENDDO
121     ENDDO
122     c--
123     DO bj = myByLo(myThid), myByHi(myThid)
124     DO bi = myBxLo(myThid), myBxHi(myThid)
125     objf_shelfice(bi,bj) = 0. _d 0
126     objf_shifwflx(bi,bj) = 0. _d 0
127     num_shifwflx(bi,bj) = 0. _d 0
128     ENDDO
129     ENDDO
130     #endif /* ALLOW_COST */
131    
132     #ifdef ALLOW_SHELFICE_GROUNDED_ICE
133 ksnow 1.2 ! CALL SHELFICE_CALC_GRD_FAC( massMin, myThid )
134 ksnow 1.1 DO bj = myByLo(myThid), myByHi(myThid)
135     DO bi = myBxLo(myThid), myBxHi(myThid)
136     DO j = 1-OLy, sNy+OLy
137     DO i = 1-OLx, sNx+OLx
138     ! IF (GrdFactor(i,j,bi,bj).lt.0.) THEN
139     Rmin_surf(i,j,bi,bj) = R_low(i,j,bi,bj) + hfacMin
140    
141     ENDDO
142     ENDDO
143     ENDDO
144     ENDDO
145    
146     #endif
147    
148 ksnow 1.2
149    
150 ksnow 1.1 #endif /* ALLOW_SHELFICE */
151    
152     RETURN
153     END

  ViewVC Help
Powered by ViewVC 1.1.22