/[MITgcm]/MITgcm_contrib/dgoldberg/streamice/STREAMICE.h
ViewVC logotype

Contents of /MITgcm_contrib/dgoldberg/streamice/STREAMICE.h

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


Revision 1.8 - (show annotations) (download)
Wed Sep 26 15:16:51 2012 UTC (12 years, 10 months ago) by dgoldberg
Branch: MAIN
Changes since 1.7: +1 -0 lines
File MIME type: text/plain
test from aces

1 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
2
3 #ifdef ALLOW_STREAMICE
4
5 C -------------------------- REAL PARAMS ---------------------------------------------------
6
7 COMMON /STREAMICE_PARMS_R/
8 & streamice_density, streamice_density_ocean_avg,
9 & A_glen_isothermal, n_glen, eps_glen_min,
10 & C_basal_fric_const, n_basal_friction, streamice_input_flux_unif,
11 & streamice_vel_update, streamice_cg_tol, streamice_nonlin_tol,
12 & streamice_nonlin_tol_fp,
13 & streamice_CFL_factor, streamice_adjDump,
14 & streamice_bg_surf_slope_x, streamice_bg_surf_slope_y,
15 & streamice_kx_b_init, streamice_ky_b_init
16 _RL streamice_density, streamice_density_ocean_avg
17 _RL A_glen_isothermal, n_glen, eps_glen_min
18 _RL C_basal_fric_const
19 _RL n_basal_friction
20 _RL streamice_input_flux_unif
21 _RL streamice_vel_update
22 _RL streamice_cg_tol, streamice_nonlin_tol
23 _RL streamice_nonlin_tol_fp
24 _RL streamice_CFL_factor
25 _RL streamice_adjDump
26 _RL streamice_bg_surf_slope_x, streamice_bg_surf_slope_y
27 _RL streamice_kx_b_init, streamice_ky_b_init
28
29 C parms for parameterized initial thickness
30 C SHELF_MAX_DRAFT: max thickness of ice in m
31 C SHELF_MIN_DRAFT: min thickness of ice in m
32 C SHELF_EDGE_POS: extent of ice shelf in (km?)
33 C SHELF_SLOPE_SCALE: dist over which shelf slopes (km?)
34 C SHELF_FLAT_WIDTH: width of flat shelf (km?)
35 C also must be aware of units (m for cartesian, deg for curvilinear, m/deg for CYLINDRICAL POLAR)
36 C FLOW_DIR: 1.0=west, 2.0=east, 3.0=south, 4.0=north
37
38 COMMON /STREAMICE_H_INIT_R/
39 & shelf_max_draft,
40 & shelf_min_draft,
41 & shelf_edge_pos,
42 & shelf_slope_scale,
43 & shelf_flat_width,
44 & flow_dir
45 _RL shelf_max_draft
46 _RL shelf_min_draft
47 _RL shelf_edge_pos
48 _RL shelf_slope_scale
49 _RL shelf_flat_width
50 _RL flow_dir
51
52 C -------------------------- INT PARAMS ---------------------------------------------------
53
54 INTEGER streamice_max_nl
55 PARAMETER ( streamice_max_nl = 100 )
56
57 COMMON /STREAMICE_PARMS_I/
58 & streamice_max_cg_iter, streamice_max_nl_iter,
59 & streamice_vel_upd_counter, streamice_nstep_velocity,
60 & streamice_n_sub_regularize
61 INTEGER streamice_max_cg_iter, streamice_max_nl_iter
62 INTEGER streamice_vel_upd_counter, streamice_nstep_velocity
63 INTEGER streamice_n_sub_regularize
64
65 C -------------------------- CHAR PARAMS ---------------------------------------------------
66
67 CHARACTER*(MAX_LEN_FNAM) STREAMICEthickFile
68 CHARACTER*(MAX_LEN_FNAM) STREAMICEthickInit
69 CHARACTER*(MAX_LEN_FNAM) STREAMICEcalveMaskFile
70 CHARACTER*(MAX_LEN_FNAM) STREAMICEsigcoordInit
71 CHARACTER*(MAX_LEN_FNAM) STREAMICEsigcoordFile
72 CHARACTER*(MAX_LEN_FNAM) STREAMICEdelsigFile
73 CHARACTER*(MAX_LEN_FNAM) STREAMICEbasalTracConfig
74 CHARACTER*(MAX_LEN_FNAM) STREAMICEbasalTracFile
75 CHARACTER*(MAX_LEN_FNAM) STREAMICEvelOptimFile
76 COMMON /STREAMICE_PARM_C/
77 & STREAMICEthickInit,
78 & STREAMICEthickFile,
79 & STREAMICEcalveMaskFile,
80 & STREAMICEsigcoordInit,
81 & STREAMICEsigcoordFile,
82 & STREAMICEdelsigFile,
83 & STREAMICEbasalTracConfig,
84 & STREAMICEbasalTracFile,
85 & STREAMICEvelOptimFile
86
87 C -------------------------- LOGICAL PARAMS ---------------------------------------------------
88
89 LOGICAL STREAMICEison
90 LOGICAL STREAMICE_dump_mdsio
91 LOGICAL STREAMICE_tave_mdsio
92 LOGICAL STREAMICE_dump_mnc
93 LOGICAL STREAMICE_tave_mnc
94 LOGICAL STREAMICE_GL_regularize, STREAMICE_move_front
95 LOGICAL STREAMICE_calve_to_mask
96 LOGICAL STREAMICE_construct_matrix
97 LOGICAL STREAMICE_lower_cg_tol
98 LOGICAL STREAMICE_diagnostic_only
99 LOGICAL STREAMICE_h_ctrl_const_surf
100
101 C The following parameters specify periodic boundary conditions.
102 C For now this will completely override all other boundary conditions
103 C and apply to the entire boundary
104
105 LOGICAL STREAMICE_NS_periodic
106 LOGICAL STREAMICE_EW_periodic
107
108 C LOGICAL STREAMICE_hybrid_stress
109
110 COMMON /STREAMICE_PARM_L/
111 & STREAMICEison,
112 & STREAMICE_dump_mdsio, STREAMICE_tave_mdsio,
113 & STREAMICE_dump_mnc, STREAMICE_tave_mnc,
114 & STREAMICE_GL_regularize, STREAMICE_move_front,
115 & STREAMICE_calve_to_mask,
116 & STREAMICE_construct_matrix,
117 & STREAMICE_lower_cg_tol,
118 & STREAMICE_NS_periodic, STREAMICE_EW_periodic,
119 & STREAMICE_diagnostic_only
120
121 C -------------------------- AND NOW ARRAYS ---------------------------------------------------
122
123 C EXPLANATION OF MASKS
124
125 C STREAMICE_hmask VALUES 1=ice-covered cell
126 C 2=partially ice-covered cell (no dynamics)
127 C 0=ice-free cell (for now, it means the cell
128 C is treated as an open-ocean cell
129 C that ice shelf can flow into)
130 C -1=outside computational domain; will not change
131 C
132 C STREAMICE_umask VALUES 1=degree of freedom;
133 C 0=homogeneous dirich condition
134 C 3=inhomogeneous dirich condition
135
136 C STREAMICE_vmask similar to umask
137
138 C STREAMICE_ufacemask VALUES -1=unset,
139 C 0=no-flow boundary,
140 C 1=no-stress bdry
141 C 2=stress bdry condition,
142 C 3=inhomogeneous dirichlet boundary,
143 C 4=flux boundary: at these faces a flux will be specified by u_flux_bdry_SI
144 C
145 C STREAMICE_vfacemask similar to ufacemask
146 C STREAMICE_ufacemask_bdry field initialized at the beginning of simulation
147 C specified all ufacemask values except for calving front
148 C CONSTANT FOR A SIMULATION (ie not changes after streamice_init_fixed)
149 C STREAMICE_vfacemask_bdry CONSTANT FOR A SIMULATION
150 C STREAMICE_calve_mask specified allowed extent of ice shelf
151 C (should be integer, but don't know howvi sre to read ints from file)
152 C not necessarily used, but CONSTANT FOR A SIMULATION
153 C STREAMICE_float_cond will only be used if partial floatation is implemented
154
155 C Short arrays (e.g. masks)
156 COMMON /STREAMICE_FIELDS_RS/
157 & STREAMICE_hmask,
158 & STREAMICE_umask,
159 & STREAMICE_vmask,
160 & STREAMICE_ufacemask,
161 & STREAMICE_vfacemask,
162 & STREAMICE_ufacemask_bdry,
163 & STREAMICE_vfacemask_bdry,
164 & STREAMICE_float_cond,
165 & STREAMICE_calve_mask
166 _RS STREAMICE_hmask (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
167 _RS STREAMICE_umask (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
168 _RS STREAMICE_vmask (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
169 _RS STREAMICE_ufacemask
170 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
171 _RS STREAMICE_vfacemask
172 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
173 _RS STREAMICE_ufacemask_bdry
174 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
175 _RS STREAMICE_vfacemask_bdry
176 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
177 _RS STREAMICE_float_cond
178 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
179 _RS STREAMICE_calve_mask
180 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
181
182 C NOTES :
183 C STREAMICE_ufacemask_bdry, STREAMICE_vfacemask_bdry ARE CONSTANT (FIXED)
184 C STREAMICE_hmask IS PART OF **STATE**
185 C All other masks are updated within a timestep BASED ON STREAMICE_hmask
186
187 C Number of quadrature points are hardcoded.. could turn into a CPP macro
188
189 C REAL ARRAYS
190
191 COMMON /STREAMICE_FIELDS_RL/
192 & H_streamice,
193 & U_streamice,
194 & V_streamice,
195 & visc_streamice,
196 & tau_beta_eff_streamice,
197 & float_frac_streamice,
198 & base_el_streamice,
199 & surf_el_streamice,
200 & area_shelf_streamice,
201 & mass_ice_streamice,
202 & u_flux_bdry_SI,
203 & v_flux_bdry_SI,
204 & h_bdry_values_SI,
205 & u_bdry_values_SI,
206 & v_bdry_values_SI,
207 & STREAMICE_dummy_array,
208 & C_basal_friction,
209 & A_glen,
210 & BDOT_streamice,
211 & streamice_taubx, streamice_tauby,
212 & streamice_u_surf, streamice_v_surf,
213 & visc_streamice_full, streamice_omega, streamice_basal_geom,
214 & streamice_vert_shear_uz, streamice_vert_shear_vz,
215 & streamice_sigma_coord, streamice_delsigma
216 _RL H_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
217 _RL U_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
218 _RL V_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
219 _RL visc_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
220 _RL tau_beta_eff_streamice(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
221 _RL float_frac_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
222 _RL surf_el_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
223 _RL base_el_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
224 _RL area_shelf_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
225 _RL mass_ice_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
226 _RL u_flux_bdry_SI (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
227 _RL v_flux_bdry_SI (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
228 _RL h_bdry_values_SI (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
229 _RL u_bdry_values_SI (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
230 _RL v_bdry_values_SI (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
231 _RL C_basal_friction (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
232 _RL A_glen (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
233
234 C The following arrays are used for the hybrid stress balance
235
236 _RL streamice_taubx (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
237 _RL streamice_tauby (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
238 _RL streamice_u_surf (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
239 _RL streamice_v_surf (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
240 _RL streamice_omega (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
241 _RL streamice_basal_geom
242 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
243 _RL visc_streamice_full
244 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
245 _RL streamice_vert_shear_uz (Nr)
246 _RL streamice_vert_shear_vz (Nr)
247 _RL streamice_sigma_coord (Nr)
248 _RL streamice_delsigma (Nr)
249
250 !! IMPORTANT: MELT RATE IN METERS PER YEAR
251 !! POSITIVE WHERE MELTING
252 _RL BDOT_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
253
254 _RL STREAMICE_dummy_array (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
255
256 C NOTES :
257 C REAL ARRAYS THAT COMPRISE "STATE":
258 C H_streamice,
259 C U_streamice,
260 C V_streamice,
261 C visc_streamice,
262 C tau_beta_eff_streamice,
263 C area_shelf_streamice
264 C (and don't forget STREAMICE_hmask)
265 C
266 C visc & tau are now calculated based on U,V in streamice_vel_solve
267 C but with Hybdrid stress formulation they will become part of
268 C velocity initial guess, so they are kept
269
270
271 #endif /* ALLOW_STREAMICE */
272
273 CEH3 ;;; Local Variables: ***
274 CEH3 ;;; mode:fortran ***
275 CEH3 ;;; End: ***

  ViewVC Help
Powered by ViewVC 1.1.22