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

Annotation 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 - (hide 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 dcarroll 1.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