/[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.1 - (hide annotations) (download)
Tue Oct 14 15:41:09 2014 UTC (10 years, 9 months ago) by dgoldberg
Branch: MAIN
File MIME type: text/plain
source files for streamice verification -- oad fixed point

1 dgoldberg 1.1 C $Header: /u/gcmpack/MITgcm/pkg/streamice/STREAMICE.h,v 1.12 2014/09/05 14:25:11 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    
345     #ifdef STREAMICE_STRESS_BOUNDARY_CONTROL
346     COMMON /STREAMICE_STRESS_BOUNDARY/
347     & streamice_u_normal_pert,
348     & streamice_v_normal_pert,
349     & streamice_u_shear_pert,
350     & streamice_v_shear_pert,
351     & streamice_u_normal_stress,
352     & streamice_v_normal_stress,
353     & streamice_u_shear_stress,
354     & streamice_v_shear_stress
355     #endif
356    
357     #ifdef STREAMICE_HYBRID_STRESS
358     COMMON /STREAMICE_HYBRID/
359     & streamice_taubx, streamice_tauby,
360     & streamice_u_surf, streamice_v_surf,
361     & streamice_u_bed, streamice_v_bed,
362     & visc_streamice_full, streamice_omega, streamice_basal_geom,
363     & streamice_vert_shear_uz, streamice_vert_shear_vz
364     #endif
365    
366     #ifdef ALLOW_STREAMICE_TIMEDEP_FORCING
367     COMMON /STREAMICE_TIMEDEP_FORCE/
368     & bdot_streamice0,
369     & bdot_streamice1
370     #ifdef STREAMICE_STRESS_BOUNDARY_CONTROL
371     & ,streamice_u_normal_stress0,
372     & streamice_u_normal_stress1,
373     & streamice_v_normal_stress0,
374     & streamice_v_normal_stress1,
375     & streamice_u_shear_stress0,
376     & streamice_u_shear_stress1,
377     & streamice_v_shear_stress0,
378     & streamice_v_shear_stress1
379     #endif
380     #endif
381    
382     #ifdef ALLOW_STREAMICE_2DTRACER
383     COMMON /STREAMICE_TRAC2D_FIELDS_RL/
384     & trac2d_ubdry_values_SI,
385     & trac2d_vbdry_values_SI,
386     & trac2d
387     #ifdef STREAMICE_TRACER_AB
388     COMMON /STREAMICE_TRAC2D_AB_RL/
389     & GAD_trac_2d
390     #endif
391     #endif
392    
393     #ifdef USE_ALT_RLOW
394     COMMON /STREAMICE_RLOW/
395     & R_low_si
396     #endif
397    
398     _RL H_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
399     _RL U_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
400     _RL V_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
401     _RL visc_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
402     _RL tau_beta_eff_streamice(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
403     _RL float_frac_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
404     _RL surf_el_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
405     _RL base_el_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
406     _RL area_shelf_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
407     _RL mass_ice_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
408     _RL u_flux_bdry_SI (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
409     _RL v_flux_bdry_SI (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
410     _RL h_ubdry_values_SI (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
411     _RL h_vbdry_values_SI (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
412     _RL u_bdry_values_SI (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
413     _RL v_bdry_values_SI (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
414     _RL C_basal_friction (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
415     C _RL A_glen (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
416     #ifdef STREAMICE_3D_GLEN_CONST
417     _RL B_glen (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
418     #else
419     _RL B_glen (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
420     #endif
421     _RL streamice_sigma_coord (Nr)
422     _RL streamice_delsigma (Nr)
423    
424     #ifdef USE_ALT_RLOW
425     _RL R_low_si (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
426     #endif
427    
428     C The following arrays are used for the hybrid stress balance
429     #ifdef STREAMICE_HYBRID_STRESS
430     _RL streamice_taubx (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
431     _RL streamice_u_surf (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
432     _RL streamice_v_surf (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
433     _RL streamice_u_bed (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
434     _RL streamice_v_bed (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
435     _RL streamice_tauby (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
436     _RL streamice_omega (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
437     _RL streamice_basal_geom
438     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
439     _RL visc_streamice_full
440     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
441     _RL streamice_vert_shear_uz (Nr)
442     _RL streamice_vert_shear_vz (Nr)
443     #endif
444    
445     #ifdef ALLOW_STREAMICE_2DTRACER
446     _RL trac2d_ubdry_values_SI
447     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
448     _RL trac2d_vbdry_values_SI
449     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
450     _RL trac2d (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
451     #ifdef STREAMICE_TRACER_AB
452     _RL GAD_trac_2d (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
453     #endif
454     #endif
455    
456     #ifdef STREAMICE_STRESS_BOUNDARY_CONTROL
457     _RL streamice_u_normal_stress
458     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
459     _RL streamice_v_normal_stress
460     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
461     _RL streamice_u_shear_stress
462     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
463     _RL streamice_v_shear_stress
464     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
465     _RL streamice_u_normal_pert
466     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
467     _RL streamice_v_normal_pert
468     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
469     _RL streamice_u_shear_pert
470     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
471     _RL streamice_v_shear_pert
472     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
473     #endif
474    
475     _RL ADOT_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
476     !! IMPORTANT: MELT RATE IN METERS PER YEAR
477     !! POSITIVE WHERE MELTING
478     _RL BDOT_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
479     _RL BDOT_pert (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
480     _RL H_streamice_prev (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
481     _RL STREAMICE_dummy_array (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
482    
483     #ifdef ALLOW_STREAMICE_TIMEDEP_FORCING
484     #ifdef STREAMICE_STRESS_BOUNDARY_CONTROL
485     _RL streamice_u_normal_stress0
486     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
487     _RL streamice_u_normal_stress1
488     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
489     _RL streamice_v_normal_stress0
490     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
491     _RL streamice_v_normal_stress1
492     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
493     _RL streamice_u_shear_stress0
494     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
495     _RL streamice_u_shear_stress1
496     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
497     _RL streamice_v_shear_stress0
498     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
499     _RL streamice_v_shear_stress1
500     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
501     #endif
502     _RL bdot_streamice0
503     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
504     _RL bdot_streamice1
505     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
506     #endif
507    
508     COMMON /STREAMICE_COST_RL/
509     & cost_func1_streamice,
510     & cost_vel_streamice,
511     & cost_surf_streamice
512     _RL cost_func1_streamice(nSx,nSy)
513     _RL cost_vel_streamice(nSx,nSy)
514     _RL cost_surf_streamice(nSx,nSy)
515    
516     C NOTES :
517     C REAL ARRAYS THAT COMPRISE "STATE":
518     C H_streamice,
519     C U_streamice,
520     C V_streamice,
521     C visc_streamice,
522     C tau_beta_eff_streamice,
523     C area_shelf_streamice
524     C (and do not forget STREAMICE_hmask)
525     C
526     C visc & tau are now calculated based on U,V in streamice_vel_solve
527     C but with Hybdrid stress formulation they will become part of
528     C velocity initial guess, so they are kept
529    
530     #ifdef ALLOW_PETSC
531     COMMON /STREAMICE_PETSC_DOFS_COMMON/
532     & streamice_petsc_dofs_u,
533     & streamice_petsc_dofs_v,
534     & n_dofs_process
535     _RS streamice_petsc_dofs_u
536     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
537     _RS streamice_petsc_dofs_v
538     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
539     INTEGER n_dofs_process (0:nPx*nPy-1)
540     #endif
541    
542     #endif /* ALLOW_STREAMICE */
543    
544     CEH3 ;;; Local Variables: ***
545     CEH3 ;;; mode:fortran ***
546     CEH3 ;;; End: ***

  ViewVC Help
Powered by ViewVC 1.1.22