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

Annotation 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 - (hide 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
changes for fixed point template

1 dgoldberg 1.2 C $Header: /u/gcmpack/MITgcm_contrib/dgoldberg/streamice_oad_files/STREAMICE.h,v 1.1 2014/10/14 15:41:09 dgoldberg Exp $
2 dgoldberg 1.1 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 dgoldberg 1.2 & u_new_si, v_new_si
345 dgoldberg 1.1
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 dgoldberg 1.2 _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 dgoldberg 1.1 _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 dgoldberg 1.2 #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 dgoldberg 1.1 #endif /* ALLOW_STREAMICE */
560    
561     CEH3 ;;; Local Variables: ***
562     CEH3 ;;; mode:fortran ***
563     CEH3 ;;; End: ***

  ViewVC Help
Powered by ViewVC 1.1.22