/[MITgcm]/MITgcm_contrib/dcarroll/highres_darwin/code/shelfice_init_varia.F
ViewVC logotype

Contents of /MITgcm_contrib/dcarroll/highres_darwin/code/shelfice_init_varia.F

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


Revision 1.1 - (show annotations) (download)
Sun Sep 22 21:23:47 2019 UTC (5 years, 10 months ago) by dcarroll
Branch: MAIN
CVS Tags: HEAD
Initial check in of high resolution Darwin simulation code

1 C $Header: /home/ubuntu/mnt/e9_copy/MITgcm/pkg/shelfice/shelfice_init_varia.F,v 1.15 2015/11/02 21:27:42 dimitri 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
26 C === Routine arguments ===
27 C myThid - Number of this instance of SHELFICE_INIT_VARIA
28 INTEGER myThid
29 CEndOfInterface
30
31 #ifdef ALLOW_SHELFICE
32 C === Local variables ===
33 C i,j,bi,bj - Loop counters
34 INTEGER i, j, k, bi, bj
35 CEOP
36
37 DO bj = myByLo(myThid), myByHi(myThid)
38 DO bi = myBxLo(myThid), myBxHi(myThid)
39 DO j = 1-OLy, sNy+OLy
40 DO i = 1-OLx, sNx+OLx
41 shelficeForcingT (i,j,bi,bj) = 0. _d 0
42 shelficeForcingS (i,j,bi,bj) = 0. _d 0
43 shelficeForcingTR(i,j,bi,bj) = 0. _d 0
44 shelficeHeatFlux (i,j,bi,bj) = 0. _d 0
45 shelficeFreshWaterFlux(i,j,bi,bj) = 0. _d 0
46 #ifndef ALLOW_shiTransCoeff_3d
47 shiTransCoeffT (i,j,bi,bj) = 0. _d 0
48 shiTransCoeffS (i,j,bi,bj) = 0. _d 0
49 #endif
50 shelficeMass (i,j,bi,bj) = 0. _d 0
51 DO k = 1, NR
52 #ifdef ALLOW_shiTransCoeff_3d
53 shiTransCoeffT (i,j,k,bi,bj) = 0. _d 0
54 shiTransCoeffS (i,j,k,bi,bj) = 0. _d 0
55 #endif
56 iceFrontHeatFlux(i,j,k,bi,bj) = 0. _d 0
57 iceFrontFreshWaterFlux(i,j,k,bi,bj) = 0. _d 0
58 iceFrontForcingT(i,j,k,bi,bj) = 0. _d 0
59 iceFrontForcingS(i,j,k,bi,bj) = 0. _d 0
60 iceFrontForcingTR(i,j,k,bi,bj) = 0. _d 0
61 ENDDO
62 ENDDO
63 ENDDO
64 ENDDO
65 ENDDO
66 IF ( .NOT. SHELFICEuseGammaFrict ) THEN
67 IF ( SHELFICETransCoeffTFile .NE. ' ' ) THEN
68 #ifndef ALLOW_shiTransCoeff_3d
69 CALL READ_FLD_XY_RL( SHELFICETransCoeffTFile, ' ',
70 & shiTransCoeffT, 0, myThid )
71 _EXCH_XY_RL( shiTransCoeffT, myThid )
72 #else
73 CALL READ_FLD_XYZ_RL( SHELFICETransCoeffTFile, ' ',
74 & shiTransCoeffT, 0, myThid )
75 _EXCH_XYZ_RL( shiTransCoeffT, myThid )
76 #endif
77
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 #ifndef ALLOW_shiTransCoeff_3d
83 shiTransCoeffS(i,j,bi,bj) = 5.05 _d -3 *
84 & shiTransCoeffT(i,j,bi,bj)
85 #else
86 DO k = 1, Nr
87 shiTransCoeffS(i,j,k,bi,bj) = 5.05 _d -3 *
88 & shiTransCoeffT(i,j,k,bi,bj)
89 ENDDO
90 #endif
91 ENDDO
92 ENDDO
93 ENDDO
94 ENDDO
95 ELSE
96 C set coefficients to constant values
97 DO bj = myByLo(myThid), myByHi(myThid)
98 DO bi = myBxLo(myThid), myBxHi(myThid)
99 DO j = 1-OLy, sNy+OLy
100 DO i = 1-OLx, sNx+OLx
101 #ifndef ALLOW_shiTransCoeff_3d
102 shiTransCoeffT(i,j,bi,bj) = SHELFICEheatTransCoeff
103 shiTransCoeffS(i,j,bi,bj) = SHELFICEsaltTransCoeff
104 #else
105 DO k = 1, Nr
106 shiTransCoeffT(i,j,k,bi,bj) = SHELFICEheatTransCoeff
107 shiTransCoeffS(i,j,k,bi,bj) = SHELFICEsaltTransCoeff
108 ENDDO
109 #endif
110 ENDDO
111 ENDDO
112 ENDDO
113 ENDDO
114 ENDIF
115 ENDIF
116
117 DO bj = myByLo(myThid), myByHi(myThid)
118 DO bi = myBxLo(myThid), myBxHi(myThid)
119 DO j = 1-OLy, sNy+OLy
120 DO i = 1-OLx, sNx+OLx
121 shelficeMass(i,j,bi,bj) = shelficeMassInit(i,j,bi,bj)
122 ENDDO
123 ENDDO
124 ENDDO
125 ENDDO
126
127 IF (shelficeMassStepping) THEN
128
129 IF ( .NOT. ( startTime .EQ. baseTime .AND. nIter0 .EQ. 0
130 & .AND. pickupSuff .EQ. ' ') ) THEN
131
132 CALL SHELFICE_READ_PICKUP ( myThid )
133
134 ENDIF
135
136 ENDIF
137
138
139 #ifdef ALLOW_COST
140 DO bj = myByLo(myThid), myByHi(myThid)
141 DO bi = myBxLo(myThid), myBxHi(myThid)
142 DO j = 1-OLy, sNy+OLy
143 DO i = 1-OLx, sNx+OLx
144 cMeanSHIforT (i,j,bi,bj) = 0. _d 0
145 cMeanSHIforS (i,j,bi,bj) = 0. _d 0
146 ENDDO
147 ENDDO
148 ENDDO
149 ENDDO
150 c--
151 DO bj = myByLo(myThid), myByHi(myThid)
152 DO bi = myBxLo(myThid), myBxHi(myThid)
153 objf_shelfice(bi,bj) = 0. _d 0
154 objf_shifwflx(bi,bj) = 0. _d 0
155 num_shifwflx(bi,bj) = 0. _d 0
156 ENDDO
157 ENDDO
158 #endif /* ALLOW_COST */
159
160 #endif /* ALLOW_SHELFICE */
161
162 RETURN
163 END

  ViewVC Help
Powered by ViewVC 1.1.22