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

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

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


Revision 1.2 - (show annotations) (download)
Tue Nov 25 18:29:18 2014 UTC (10 years, 7 months ago) by dgoldberg
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +18 -1 lines
File MIME type: text/plain
Error occurred while calculating annotation data.
changes for fixed point template

1 C $Header: /u/gcmpack/MITgcm_contrib/dgoldberg/streamice_oad_files/STREAMICE.h,v 1.1 2014/10/14 15:41:09 dgoldberg Exp $
2 C $Name: $
3
4 C---+----1--+-+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
5
6 #ifdef ALLOW_STREAMICE
7
8 C -------------------------- REAL PARAMS ---------------------------------------------------
9
10 COMMON /STREAMICE_PARMS_R/
11 & streamice_density, streamice_density_ocean_avg,
12 C & A_glen_isothermal, n_glen, eps_glen_min, eps_u_min,
13 & B_glen_isothermal, n_glen, eps_glen_min, eps_u_min,
14 & C_basal_fric_const, n_basal_friction, streamice_input_flux_unif,
15 & streamice_vel_update, streamice_cg_tol, streamice_nonlin_tol,
16 & streamice_nonlin_tol_fp,
17 & streamice_CFL_factor, streamice_adjDump,
18 & streamice_bg_surf_slope_x, streamice_bg_surf_slope_y,
19 & streamice_kx_b_init, streamice_ky_b_init,
20 & streamice_wgt_drift, streamice_wgt_surf,
21 & streamice_wgt_avthick, streamice_wgt_vel,
22 & streamice_wgt_tikh,
23 & streamice_addl_backstress,
24 & streamice_smooth_gl_width,
25 & streamice_adot_uniform,
26 & streamice_forcing_period
27
28 _RL streamice_density, streamice_density_ocean_avg
29 C _RL A_glen_isothermal, n_glen, eps_glen_min, eps_u_min
30 _RL B_glen_isothermal, n_glen, eps_glen_min, eps_u_min
31 _RL C_basal_fric_const
32 _RL n_basal_friction
33 _RL streamice_input_flux_unif
34 _RL streamice_vel_update
35 _RL streamice_cg_tol, streamice_nonlin_tol
36 _RL streamice_nonlin_tol_fp
37 _RL streamice_CFL_factor
38 _RL streamice_adjDump
39 _RL streamice_bg_surf_slope_x, streamice_bg_surf_slope_y
40 _RL streamice_kx_b_init, streamice_ky_b_init
41 _RL streamice_wgt_drift, streamice_wgt_surf
42 _RL streamice_wgt_avthick, streamice_wgt_vel
43 _RL streamice_wgt_tikh
44 _RL streamice_addl_backstress
45 _RL streamice_smooth_gl_width
46 _RL streamice_adot_uniform
47 _RL streamice_forcing_period
48
49 C parms for parameterized initial thickness
50 C SHELF_MAX_DRAFT: max thickness of ice in m
51 C SHELF_MIN_DRAFT: min thickness of ice in m
52 C SHELF_EDGE_POS: extent of ice shelf in (km?)
53 C SHELF_SLOPE_SCALE: dist over which shelf slopes (km?)
54 C SHELF_FLAT_WIDTH: width of flat shelf (km?)
55 C also must be aware of units (m for cartesian, deg for curvilinear, m/deg for CYLINDRICAL POLAR)
56 C FLOW_DIR: 1.0=west, 2.0=east, 3.0=south, 4.0=north
57
58 COMMON /STREAMICE_H_INIT_R/
59 & shelf_max_draft,
60 & shelf_min_draft,
61 & shelf_edge_pos,
62 & shelf_slope_scale,
63 & shelf_flat_width,
64 & flow_dir
65 _RL shelf_max_draft
66 _RL shelf_min_draft
67 _RL shelf_edge_pos
68 _RL shelf_slope_scale
69 _RL shelf_flat_width
70 _RL flow_dir
71
72 C -------------------------- INT PARAMS ---------------------------------------------------
73
74 INTEGER streamice_max_nl
75 PARAMETER ( streamice_max_nl = 100 )
76
77 COMMON /STREAMICE_PARMS_I/
78 & streamice_max_cg_iter, streamice_max_nl_iter,
79 & streamice_vel_upd_counter, streamice_nstep_velocity,
80 & streamice_maxcgiter_cpl, streamice_maxnliter_cpl
81 ! & streamice_n_sub_regularize
82
83 INTEGER streamice_max_cg_iter, streamice_max_nl_iter
84 INTEGER streamice_vel_upd_counter, streamice_nstep_velocity
85 INTEGER streamice_maxcgiter_cpl, streamice_maxnliter_cpl
86 ! INTEGER streamice_n_sub_regularize
87
88 #ifdef ALLOW_OPENAD
89 COMMON /STREAMICE_PARMS_I_OPENAD/
90 & isinloop0, isinloop1, isinloop2
91
92 INTEGER isinloop0, isinloop1, isinloop2
93
94 #endif
95
96 C -------------------------- CHAR PARAMS ---------------------------------------------------
97
98 CHARACTER*(MAX_LEN_FNAM) STREAMICEthickFile
99 CHARACTER*(MAX_LEN_FNAM) STREAMICEthickInit
100 CHARACTER*(MAX_LEN_FNAM) STREAMICEcalveMaskFile
101 CHARACTER*(MAX_LEN_FNAM) STREAMICEsigcoordInit
102 CHARACTER*(MAX_LEN_FNAM) STREAMICEsigcoordFile
103 CHARACTER*(MAX_LEN_FNAM) STREAMICEdelsigFile
104 CHARACTER*(MAX_LEN_FNAM) STREAMICEbasalTracConfig
105 CHARACTER*(MAX_LEN_FNAM) STREAMICEGlenConstConfig
106 CHARACTER*(MAX_LEN_FNAM) STREAMICEBdotConfig
107 CHARACTER*(MAX_LEN_FNAM) STREAMICEbasalTracFile
108 CHARACTER*(MAX_LEN_FNAM) STREAMICEGlenConstFile
109 CHARACTER*(MAX_LEN_FNAM) STREAMICEBdotFile
110 CHARACTER*(MAX_LEN_FNAM) STREAMICEBdotTimeDepFile
111 CHARACTER*(MAX_LEN_FNAM) STREAMICEvelOptimFile
112 CHARACTER*(MAX_LEN_FNAM) STREAMICEtopogFile
113 CHARACTER*(MAX_LEN_FNAM) STREAMICEcostMaskFile
114 CHARACTER*(MAX_LEN_FNAM) STREAMICE_ADV_SCHEME
115
116 ! THE FOLLOWING FILENAMES ARE FOR SPECIFYING IRREGULAR DOMAIN GEOMETRIES
117 ! (i.e. boundaries that do not conform with rectangular walls)
118 CHARACTER*(MAX_LEN_FNAM) STREAMICEhmaskFile
119 CHARACTER*(MAX_LEN_FNAM) STREAMICEHBCxFile
120 CHARACTER*(MAX_LEN_FNAM) STREAMICEHBCyFile
121 CHARACTER*(MAX_LEN_FNAM) STREAMICEuFaceBdryFile
122 CHARACTER*(MAX_LEN_FNAM) STREAMICEvFaceBdryFile
123 CHARACTER*(MAX_LEN_FNAM) STREAMICEuDirichValsFile
124 CHARACTER*(MAX_LEN_FNAM) STREAMICEvDirichValsFile
125 CHARACTER*(MAX_LEN_FNAM) STREAMICEuMassFluxFile
126 CHARACTER*(MAX_LEN_FNAM) STREAMICEvMassFluxFile
127
128 ! THE FOLLOWING FILENAMES ARE FOR SPECIFYING buttressing along calving fronts
129 CHARACTER*(MAX_LEN_FNAM) STREAMICEuNormalStressFile
130 CHARACTER*(MAX_LEN_FNAM) STREAMICEvNormalStressFile
131 CHARACTER*(MAX_LEN_FNAM) STREAMICEuShearStressFile
132 CHARACTER*(MAX_LEN_FNAM) STREAMICEvShearStressFile
133 CHARACTER*(MAX_LEN_FNAM) STREAMICEuNormalTimeDepFile
134 CHARACTER*(MAX_LEN_FNAM) STREAMICEvNormalTimeDepFile
135 CHARACTER*(MAX_LEN_FNAM) STREAMICEuShearTimeDepFile
136 CHARACTER*(MAX_LEN_FNAM) STREAMICEvShearTimeDepFile
137
138 #ifdef ALLOW_PETSC
139 ! CHARACTER PARAMS FOR PETSC
140 CHARACTER*(MAX_LEN_FNAM) PETSC_SOLVER_TYPE
141 CHARACTER*(MAX_LEN_FNAM) PETSC_PRECOND_TYPE
142 #endif
143
144 #ifdef ALLOW_STREAMICE_2DTRACER
145 ! CHARACTER PARAMS FOR TRACER
146 CHARACTER*(MAX_LEN_FNAM) STREAMICETrac2DBCxFile
147 CHARACTER*(MAX_LEN_FNAM) STREAMICETrac2DBCyFile
148 CHARACTER*(MAX_LEN_FNAM) STREAMICETrac2DinitFile
149 #endif
150
151 COMMON /STREAMICE_PARM_C/
152 & STREAMICEthickInit,
153 & STREAMICEthickFile,
154 & STREAMICEcalveMaskFile,
155 & STREAMICEsigcoordInit,
156 & STREAMICEsigcoordFile,
157 & STREAMICEdelsigFile,
158 & STREAMICEbasalTracConfig,
159 & STREAMICEBdotConfig,
160 & STREAMICEbasalTracFile,
161 & STREAMICEvelOptimFile,
162 & STREAMICEtopogFile,
163 & STREAMICEhmaskFile,
164 & STREAMICEHBCxFile,
165 & STREAMICEHBCyFile,
166 & STREAMICEuFaceBdryFile,
167 & STREAMICEvFaceBdryFile,
168 & STREAMICEuDirichValsFile,
169 & STREAMICEvDirichValsFile,
170 & STREAMICEuMassFluxFile,
171 & STREAMICEvMassFluxFile,
172 & STREAMICEuNormalStressFile,
173 & STREAMICEvNormalStressFile,
174 & STREAMICEuShearStressFile,
175 & STREAMICEvShearStressFile,
176 & STREAMICEuNormalTimeDepFile,
177 & STREAMICEvNormalTimeDepFile,
178 & STREAMICEuShearTimeDepFile,
179 & STREAMICEvShearTimeDepFile,
180 & STREAMICEGlenConstFile,
181 & STREAMICEBdotFile,
182 & STREAMICEBdotTimeDepFile,
183 & STREAMICEGlenConstConfig,
184 & STREAMICEcostMaskFile,
185 & STREAMICE_ADV_SCHEME
186
187 #ifdef ALLOW_PETSC
188 COMMON /PETSC_PARM_C/
189 & PETSC_SOLVER_TYPE,
190 & PETSC_PRECOND_TYPE
191 #endif
192
193 #ifdef ALLOW_STREAMICE_2DTRACER
194 COMMON /STREAMICE_TRAC2D_C/
195 & STREAMICETrac2DBCxFile,
196 & STREAMICETrac2DBCyFile,
197 & STREAMICETrac2DinitFile
198 #endif
199
200 C -------------------------- LOGICAL PARAMS ---------------------------------------------------
201
202 LOGICAL STREAMICEison
203 LOGICAL STREAMICE_dump_mdsio
204 LOGICAL STREAMICE_tave_mdsio
205 LOGICAL STREAMICE_dump_mnc
206 LOGICAL STREAMICE_tave_mnc
207 LOGICAL STREAMICE_move_front
208 LOGICAL STREAMICE_calve_to_mask
209 LOGICAL STREAMICE_construct_matrix
210 LOGICAL STREAMICE_lower_cg_tol
211 LOGICAL STREAMICE_diagnostic_only
212 LOGICAL STREAMICE_ppm_driving_stress
213 LOGICAL STREAMICE_h_ctrl_const_surf
214 LOGICAL STREAMICE_chkfixedptconvergence
215 LOGICAL STREAMICE_chkresidconvergence
216 LOGICAL STREAMICE_allow_cpl
217
218
219 C The following parameters specify periodic boundary conditions.
220 C For now this will completely override all other boundary conditions
221 C and apply to the entire boundary
222
223 LOGICAL STREAMICE_NS_periodic
224 LOGICAL STREAMICE_EW_periodic
225
226 C LOGICAL STREAMICE_hybrid_stress
227
228 COMMON /STREAMICE_PARM_L/
229 & STREAMICEison,
230 & STREAMICE_dump_mdsio, STREAMICE_tave_mdsio,
231 & STREAMICE_dump_mnc, STREAMICE_tave_mnc,
232 & STREAMICE_move_front,
233 & STREAMICE_calve_to_mask,
234 & STREAMICE_construct_matrix,
235 & STREAMICE_lower_cg_tol,
236 & STREAMICE_NS_periodic, STREAMICE_EW_periodic,
237 & STREAMICE_diagnostic_only,
238 & STREAMICE_ppm_driving_stress,
239 & STREAMICE_h_ctrl_const_surf,
240 & STREAMICE_chkfixedptconvergence,
241 & STREAMICE_chkresidconvergence,
242 & STREAMICE_allow_cpl
243
244 C -------------------------- AND NOW ARRAYS ---------------------------------------------------
245
246 C EXPLANATION OF MASKS
247
248 C STREAMICE_hmask VALUES 1=ice-covered cell
249 C 2=partially ice-covered cell (no dynamics)
250 C 0=ice-free cell (for now, it means the cell
251 C is treated as an open-ocean cell
252 C that ice shelf can flow into)
253 C -1=outside computational domain; will not change
254 C
255 C STREAMICE_umask VALUES 1=degree of freedom;
256 C 0=homogeneous dirich condition
257 C 3=inhomogeneous dirich condition
258
259 C STREAMICE_vmask similar to umask
260
261 C STREAMICE_ufacemask VALUES -1=unset,
262 C 0=no-flow boundary,
263 C 1=no-stress bdry
264 C 2=stress bdry condition,
265 C 3=inhomogeneous dirichlet boundary,
266 C 4=flux boundary: at these faces a flux will be specified by u_flux_bdry_SI
267 C
268 C STREAMICE_vfacemask similar to ufacemask
269 C STREAMICE_ufacemask_bdry field initialized at the beginning of simulation
270 C specified all ufacemask values except for calving front
271 C CONSTANT FOR A SIMULATION (ie not changes after streamice_init_fixed)
272 C STREAMICE_vfacemask_bdry CONSTANT FOR A SIMULATION
273 C STREAMICE_calve_mask specified allowed extent of ice shelf
274 C (should be integer, but do not know howvi sre to read ints from file)
275 C not necessarily used, but CONSTANT FOR A SIMULATION
276 C STREAMICE_float_cond will only be used if partial floatation is implemented
277
278 C Short arrays (e.g. masks)
279 COMMON /STREAMICE_FIELDS_RS/
280 & STREAMICE_hmask,
281 & STREAMICE_umask,
282 & STREAMICE_vmask,
283 & STREAMICE_ufacemask,
284 & STREAMICE_vfacemask,
285 & STREAMICE_ufacemask_bdry,
286 & STREAMICE_vfacemask_bdry,
287 & STREAMICE_float_cond,
288 & STREAMICE_calve_mask,
289 & STREAMICE_ctrl_mask,
290 & STREAMICE_cost_mask
291 _RS STREAMICE_hmask (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
292 _RS STREAMICE_umask (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
293 _RS STREAMICE_vmask (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
294 _RS STREAMICE_ufacemask
295 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
296 _RS STREAMICE_vfacemask
297 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
298 _RS STREAMICE_ufacemask_bdry
299 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
300 _RS STREAMICE_vfacemask_bdry
301 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
302 _RS STREAMICE_float_cond
303 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
304 _RS STREAMICE_calve_mask
305 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
306 _RS STREAMICE_ctrl_mask
307 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
308 _RS STREAMICE_cost_mask
309 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
310
311 C NOTES :
312 C STREAMICE_ufacemask_bdry, STREAMICE_vfacemask_bdry ARE CONSTANT (FIXED)
313 C STREAMICE_hmask IS PART OF **STATE**
314 C All other masks are updated within a timestep BASED ON STREAMICE_hmask
315
316 C Number of quadrature points are hardcoded.. could turn into a CPP macro
317
318 C REAL ARRAYS
319
320 COMMON /STREAMICE_FIELDS_RL/
321 & H_streamice,
322 & U_streamice,
323 & V_streamice,
324 & visc_streamice,
325 & tau_beta_eff_streamice,
326 & float_frac_streamice,
327 & base_el_streamice,
328 & surf_el_streamice,
329 & area_shelf_streamice,
330 & mass_ice_streamice,
331 & u_flux_bdry_SI,
332 & v_flux_bdry_SI,
333 & h_ubdry_values_SI,
334 & h_vbdry_values_SI,
335 & u_bdry_values_SI,
336 & v_bdry_values_SI,
337 & STREAMICE_dummy_array,
338 & C_basal_friction,
339 C & A_glen,
340 & B_glen,
341 & BDOT_streamice, ADOT_streamice, BDOT_pert,! mass balances in meters per year
342 & streamice_sigma_coord, streamice_delsigma,
343 & H_streamice_prev
344 & u_new_si, v_new_si
345
346 #ifdef STREAMICE_STRESS_BOUNDARY_CONTROL
347 COMMON /STREAMICE_STRESS_BOUNDARY/
348 & streamice_u_normal_pert,
349 & streamice_v_normal_pert,
350 & streamice_u_shear_pert,
351 & streamice_v_shear_pert,
352 & streamice_u_normal_stress,
353 & streamice_v_normal_stress,
354 & streamice_u_shear_stress,
355 & streamice_v_shear_stress
356 #endif
357
358 #ifdef STREAMICE_HYBRID_STRESS
359 COMMON /STREAMICE_HYBRID/
360 & streamice_taubx, streamice_tauby,
361 & streamice_u_surf, streamice_v_surf,
362 & streamice_u_bed, streamice_v_bed,
363 & visc_streamice_full, streamice_omega, streamice_basal_geom,
364 & streamice_vert_shear_uz, streamice_vert_shear_vz
365 #endif
366
367 #ifdef ALLOW_STREAMICE_TIMEDEP_FORCING
368 COMMON /STREAMICE_TIMEDEP_FORCE/
369 & bdot_streamice0,
370 & bdot_streamice1
371 #ifdef STREAMICE_STRESS_BOUNDARY_CONTROL
372 & ,streamice_u_normal_stress0,
373 & streamice_u_normal_stress1,
374 & streamice_v_normal_stress0,
375 & streamice_v_normal_stress1,
376 & streamice_u_shear_stress0,
377 & streamice_u_shear_stress1,
378 & streamice_v_shear_stress0,
379 & streamice_v_shear_stress1
380 #endif
381 #endif
382
383 #ifdef ALLOW_STREAMICE_2DTRACER
384 COMMON /STREAMICE_TRAC2D_FIELDS_RL/
385 & trac2d_ubdry_values_SI,
386 & trac2d_vbdry_values_SI,
387 & trac2d
388 #ifdef STREAMICE_TRACER_AB
389 COMMON /STREAMICE_TRAC2D_AB_RL/
390 & GAD_trac_2d
391 #endif
392 #endif
393
394 #ifdef USE_ALT_RLOW
395 COMMON /STREAMICE_RLOW/
396 & R_low_si
397 #endif
398
399 _RL H_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
400 _RL U_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
401 _RL V_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
402 _RL visc_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
403 _RL tau_beta_eff_streamice(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
404 _RL float_frac_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
405 _RL surf_el_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
406 _RL base_el_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
407 _RL area_shelf_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
408 _RL mass_ice_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
409 _RL u_flux_bdry_SI (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
410 _RL v_flux_bdry_SI (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
411 _RL h_ubdry_values_SI (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
412 _RL h_vbdry_values_SI (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
413 _RL u_bdry_values_SI (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
414 _RL v_bdry_values_SI (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
415 _RL C_basal_friction (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
416 C _RL A_glen (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
417 #ifdef STREAMICE_3D_GLEN_CONST
418 _RL B_glen (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
419 #else
420 _RL B_glen (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
421 #endif
422 _RL streamice_sigma_coord (Nr)
423 _RL streamice_delsigma (Nr)
424
425 #ifdef USE_ALT_RLOW
426 _RL R_low_si (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
427 #endif
428
429 C The following arrays are used for the hybrid stress balance
430 #ifdef STREAMICE_HYBRID_STRESS
431 _RL streamice_taubx (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
432 _RL streamice_u_surf (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
433 _RL streamice_v_surf (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
434 _RL streamice_u_bed (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
435 _RL streamice_v_bed (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
436 _RL streamice_tauby (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
437 _RL streamice_omega (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
438 _RL streamice_basal_geom
439 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
440 _RL visc_streamice_full
441 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
442 _RL streamice_vert_shear_uz (Nr)
443 _RL streamice_vert_shear_vz (Nr)
444 #endif
445
446 #ifdef ALLOW_STREAMICE_2DTRACER
447 _RL trac2d_ubdry_values_SI
448 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
449 _RL trac2d_vbdry_values_SI
450 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
451 _RL trac2d (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
452 #ifdef STREAMICE_TRACER_AB
453 _RL GAD_trac_2d (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
454 #endif
455 #endif
456
457 #ifdef STREAMICE_STRESS_BOUNDARY_CONTROL
458 _RL streamice_u_normal_stress
459 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
460 _RL streamice_v_normal_stress
461 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
462 _RL streamice_u_shear_stress
463 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
464 _RL streamice_v_shear_stress
465 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
466 _RL streamice_u_normal_pert
467 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
468 _RL streamice_v_normal_pert
469 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
470 _RL streamice_u_shear_pert
471 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
472 _RL streamice_v_shear_pert
473 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
474 #endif
475
476 _RL ADOT_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
477 !! IMPORTANT: MELT RATE IN METERS PER YEAR
478 !! POSITIVE WHERE MELTING
479 _RL BDOT_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
480 _RL BDOT_pert (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
481 _RL H_streamice_prev (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
482 _RL v_new_si (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
483 _RL u_new_si (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
484 _RL STREAMICE_dummy_array (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
485
486 #ifdef ALLOW_STREAMICE_TIMEDEP_FORCING
487 #ifdef STREAMICE_STRESS_BOUNDARY_CONTROL
488 _RL streamice_u_normal_stress0
489 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
490 _RL streamice_u_normal_stress1
491 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
492 _RL streamice_v_normal_stress0
493 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
494 _RL streamice_v_normal_stress1
495 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
496 _RL streamice_u_shear_stress0
497 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
498 _RL streamice_u_shear_stress1
499 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
500 _RL streamice_v_shear_stress0
501 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
502 _RL streamice_v_shear_stress1
503 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
504 #endif
505 _RL bdot_streamice0
506 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
507 _RL bdot_streamice1
508 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
509 #endif
510
511 COMMON /STREAMICE_COST_RL/
512 & cost_func1_streamice,
513 & cost_vel_streamice,
514 & cost_surf_streamice
515 _RL cost_func1_streamice(nSx,nSy)
516 _RL cost_vel_streamice(nSx,nSy)
517 _RL cost_surf_streamice(nSx,nSy)
518
519 C NOTES :
520 C REAL ARRAYS THAT COMPRISE "STATE":
521 C H_streamice,
522 C U_streamice,
523 C V_streamice,
524 C visc_streamice,
525 C tau_beta_eff_streamice,
526 C area_shelf_streamice
527 C (and do not forget STREAMICE_hmask)
528 C
529 C visc & tau are now calculated based on U,V in streamice_vel_solve
530 C but with Hybdrid stress formulation they will become part of
531 C velocity initial guess, so they are kept
532
533 #ifdef ALLOW_PETSC
534 COMMON /STREAMICE_PETSC_DOFS_COMMON/
535 & streamice_petsc_dofs_u,
536 & streamice_petsc_dofs_v,
537 & n_dofs_process
538 _RS streamice_petsc_dofs_u
539 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
540 _RS streamice_petsc_dofs_v
541 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
542 INTEGER n_dofs_process (0:nPx*nPy-1)
543 #endif
544
545 #ifdef ALLOW_OPENAD
546 COMMON /STREAMICE_OPENAD_PARMS/
547 & streamice_oad_nonlin_tol_fp
548 _RL streamice_oad_nonlin_tol_fp
549
550 COMMON /STREAMICE_PHISTAGE_ARRS/
551 & U_streamice_dvals,
552 & V_streamice_dvals
553 _RL U_streamice_dvals
554 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
555 _RL V_streamice_dvals
556 & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
557 #endif
558
559 #endif /* ALLOW_STREAMICE */
560
561 CEH3 ;;; Local Variables: ***
562 CEH3 ;;; mode:fortran ***
563 CEH3 ;;; End: ***

  ViewVC Help
Powered by ViewVC 1.1.22