/[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 Oct 14 15:43:22 2014 UTC (10 years, 9 months ago) by dgoldberg
Branch: MAIN
CVS Tags: HEAD
Changes since 1.1: +1 -1 lines
FILE REMOVED
cleanup

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     C -------------------------- CHAR PARAMS ---------------------------------------------------
89    
90     CHARACTER*(MAX_LEN_FNAM) STREAMICEthickFile
91     CHARACTER*(MAX_LEN_FNAM) STREAMICEthickInit
92     CHARACTER*(MAX_LEN_FNAM) STREAMICEcalveMaskFile
93     CHARACTER*(MAX_LEN_FNAM) STREAMICEsigcoordInit
94     CHARACTER*(MAX_LEN_FNAM) STREAMICEsigcoordFile
95     CHARACTER*(MAX_LEN_FNAM) STREAMICEdelsigFile
96     CHARACTER*(MAX_LEN_FNAM) STREAMICEbasalTracConfig
97     CHARACTER*(MAX_LEN_FNAM) STREAMICEGlenConstConfig
98     CHARACTER*(MAX_LEN_FNAM) STREAMICEBdotConfig
99     CHARACTER*(MAX_LEN_FNAM) STREAMICEbasalTracFile
100     CHARACTER*(MAX_LEN_FNAM) STREAMICEGlenConstFile
101     CHARACTER*(MAX_LEN_FNAM) STREAMICEBdotFile
102     CHARACTER*(MAX_LEN_FNAM) STREAMICEBdotTimeDepFile
103     CHARACTER*(MAX_LEN_FNAM) STREAMICEvelOptimFile
104     CHARACTER*(MAX_LEN_FNAM) STREAMICEtopogFile
105     CHARACTER*(MAX_LEN_FNAM) STREAMICEcostMaskFile
106     CHARACTER*(MAX_LEN_FNAM) STREAMICE_ADV_SCHEME
107    
108     ! THE FOLLOWING FILENAMES ARE FOR SPECIFYING IRREGULAR DOMAIN GEOMETRIES
109     ! (i.e. boundaries that do not conform with rectangular walls)
110     CHARACTER*(MAX_LEN_FNAM) STREAMICEhmaskFile
111     CHARACTER*(MAX_LEN_FNAM) STREAMICEHBCxFile
112     CHARACTER*(MAX_LEN_FNAM) STREAMICEHBCyFile
113     CHARACTER*(MAX_LEN_FNAM) STREAMICEuFaceBdryFile
114     CHARACTER*(MAX_LEN_FNAM) STREAMICEvFaceBdryFile
115     CHARACTER*(MAX_LEN_FNAM) STREAMICEuDirichValsFile
116     CHARACTER*(MAX_LEN_FNAM) STREAMICEvDirichValsFile
117     CHARACTER*(MAX_LEN_FNAM) STREAMICEuMassFluxFile
118     CHARACTER*(MAX_LEN_FNAM) STREAMICEvMassFluxFile
119    
120     ! THE FOLLOWING FILENAMES ARE FOR SPECIFYING buttressing along calving fronts
121     CHARACTER*(MAX_LEN_FNAM) STREAMICEuNormalStressFile
122     CHARACTER*(MAX_LEN_FNAM) STREAMICEvNormalStressFile
123     CHARACTER*(MAX_LEN_FNAM) STREAMICEuShearStressFile
124     CHARACTER*(MAX_LEN_FNAM) STREAMICEvShearStressFile
125     CHARACTER*(MAX_LEN_FNAM) STREAMICEuNormalTimeDepFile
126     CHARACTER*(MAX_LEN_FNAM) STREAMICEvNormalTimeDepFile
127     CHARACTER*(MAX_LEN_FNAM) STREAMICEuShearTimeDepFile
128     CHARACTER*(MAX_LEN_FNAM) STREAMICEvShearTimeDepFile
129    
130     #ifdef ALLOW_PETSC
131     ! CHARACTER PARAMS FOR PETSC
132     CHARACTER*(MAX_LEN_FNAM) PETSC_SOLVER_TYPE
133     CHARACTER*(MAX_LEN_FNAM) PETSC_PRECOND_TYPE
134     #endif
135    
136     #ifdef ALLOW_STREAMICE_2DTRACER
137     ! CHARACTER PARAMS FOR TRACER
138     CHARACTER*(MAX_LEN_FNAM) STREAMICETrac2DBCxFile
139     CHARACTER*(MAX_LEN_FNAM) STREAMICETrac2DBCyFile
140     CHARACTER*(MAX_LEN_FNAM) STREAMICETrac2DinitFile
141     #endif
142    
143     COMMON /STREAMICE_PARM_C/
144     & STREAMICEthickInit,
145     & STREAMICEthickFile,
146     & STREAMICEcalveMaskFile,
147     & STREAMICEsigcoordInit,
148     & STREAMICEsigcoordFile,
149     & STREAMICEdelsigFile,
150     & STREAMICEbasalTracConfig,
151     & STREAMICEBdotConfig,
152     & STREAMICEbasalTracFile,
153     & STREAMICEvelOptimFile,
154     & STREAMICEtopogFile,
155     & STREAMICEhmaskFile,
156     & STREAMICEHBCxFile,
157     & STREAMICEHBCyFile,
158     & STREAMICEuFaceBdryFile,
159     & STREAMICEvFaceBdryFile,
160     & STREAMICEuDirichValsFile,
161     & STREAMICEvDirichValsFile,
162     & STREAMICEuMassFluxFile,
163     & STREAMICEvMassFluxFile,
164     & STREAMICEuNormalStressFile,
165     & STREAMICEvNormalStressFile,
166     & STREAMICEuShearStressFile,
167     & STREAMICEvShearStressFile,
168     & STREAMICEuNormalTimeDepFile,
169     & STREAMICEvNormalTimeDepFile,
170     & STREAMICEuShearTimeDepFile,
171     & STREAMICEvShearTimeDepFile,
172     & STREAMICEGlenConstFile,
173     & STREAMICEBdotFile,
174     & STREAMICEBdotTimeDepFile,
175     & STREAMICEGlenConstConfig,
176     & STREAMICEcostMaskFile,
177     & STREAMICE_ADV_SCHEME
178    
179     #ifdef ALLOW_PETSC
180     COMMON /PETSC_PARM_C/
181     & PETSC_SOLVER_TYPE,
182     & PETSC_PRECOND_TYPE
183     #endif
184    
185     #ifdef ALLOW_STREAMICE_2DTRACER
186     COMMON /STREAMICE_TRAC2D_C/
187     & STREAMICETrac2DBCxFile,
188     & STREAMICETrac2DBCyFile,
189     & STREAMICETrac2DinitFile
190     #endif
191    
192     C -------------------------- LOGICAL PARAMS ---------------------------------------------------
193    
194     LOGICAL STREAMICEison
195     LOGICAL STREAMICE_dump_mdsio
196     LOGICAL STREAMICE_tave_mdsio
197     LOGICAL STREAMICE_dump_mnc
198     LOGICAL STREAMICE_tave_mnc
199     LOGICAL STREAMICE_move_front
200     LOGICAL STREAMICE_calve_to_mask
201     LOGICAL STREAMICE_construct_matrix
202     LOGICAL STREAMICE_lower_cg_tol
203     LOGICAL STREAMICE_diagnostic_only
204     LOGICAL STREAMICE_ppm_driving_stress
205     LOGICAL STREAMICE_h_ctrl_const_surf
206     LOGICAL STREAMICE_chkfixedptconvergence
207     LOGICAL STREAMICE_chkresidconvergence
208     LOGICAL STREAMICE_allow_cpl
209    
210    
211     C The following parameters specify periodic boundary conditions.
212     C For now this will completely override all other boundary conditions
213     C and apply to the entire boundary
214    
215     LOGICAL STREAMICE_NS_periodic
216     LOGICAL STREAMICE_EW_periodic
217    
218     C LOGICAL STREAMICE_hybrid_stress
219    
220     COMMON /STREAMICE_PARM_L/
221     & STREAMICEison,
222     & STREAMICE_dump_mdsio, STREAMICE_tave_mdsio,
223     & STREAMICE_dump_mnc, STREAMICE_tave_mnc,
224     & STREAMICE_move_front,
225     & STREAMICE_calve_to_mask,
226     & STREAMICE_construct_matrix,
227     & STREAMICE_lower_cg_tol,
228     & STREAMICE_NS_periodic, STREAMICE_EW_periodic,
229     & STREAMICE_diagnostic_only,
230     & STREAMICE_ppm_driving_stress,
231     & STREAMICE_h_ctrl_const_surf,
232     & STREAMICE_chkfixedptconvergence,
233     & STREAMICE_chkresidconvergence,
234     & STREAMICE_allow_cpl
235    
236     C -------------------------- AND NOW ARRAYS ---------------------------------------------------
237    
238     C EXPLANATION OF MASKS
239    
240     C STREAMICE_hmask VALUES 1=ice-covered cell
241     C 2=partially ice-covered cell (no dynamics)
242     C 0=ice-free cell (for now, it means the cell
243     C is treated as an open-ocean cell
244     C that ice shelf can flow into)
245     C -1=outside computational domain; will not change
246     C
247     C STREAMICE_umask VALUES 1=degree of freedom;
248     C 0=homogeneous dirich condition
249     C 3=inhomogeneous dirich condition
250    
251     C STREAMICE_vmask similar to umask
252    
253     C STREAMICE_ufacemask VALUES -1=unset,
254     C 0=no-flow boundary,
255     C 1=no-stress bdry
256     C 2=stress bdry condition,
257     C 3=inhomogeneous dirichlet boundary,
258     C 4=flux boundary: at these faces a flux will be specified by u_flux_bdry_SI
259     C
260     C STREAMICE_vfacemask similar to ufacemask
261     C STREAMICE_ufacemask_bdry field initialized at the beginning of simulation
262     C specified all ufacemask values except for calving front
263     C CONSTANT FOR A SIMULATION (ie not changes after streamice_init_fixed)
264     C STREAMICE_vfacemask_bdry CONSTANT FOR A SIMULATION
265     C STREAMICE_calve_mask specified allowed extent of ice shelf
266     C (should be integer, but do not know howvi sre to read ints from file)
267     C not necessarily used, but CONSTANT FOR A SIMULATION
268     C STREAMICE_float_cond will only be used if partial floatation is implemented
269    
270     C Short arrays (e.g. masks)
271     COMMON /STREAMICE_FIELDS_RS/
272     & STREAMICE_hmask,
273     & STREAMICE_umask,
274     & STREAMICE_vmask,
275     & STREAMICE_ufacemask,
276     & STREAMICE_vfacemask,
277     & STREAMICE_ufacemask_bdry,
278     & STREAMICE_vfacemask_bdry,
279     & STREAMICE_float_cond,
280     & STREAMICE_calve_mask,
281     & STREAMICE_ctrl_mask,
282     & STREAMICE_cost_mask
283     _RS STREAMICE_hmask (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
284     _RS STREAMICE_umask (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
285     _RS STREAMICE_vmask (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
286     _RS STREAMICE_ufacemask
287     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
288     _RS STREAMICE_vfacemask
289     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
290     _RS STREAMICE_ufacemask_bdry
291     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
292     _RS STREAMICE_vfacemask_bdry
293     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
294     _RS STREAMICE_float_cond
295     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
296     _RS STREAMICE_calve_mask
297     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
298     _RS STREAMICE_ctrl_mask
299     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
300     _RS STREAMICE_cost_mask
301     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
302    
303     C NOTES :
304     C STREAMICE_ufacemask_bdry, STREAMICE_vfacemask_bdry ARE CONSTANT (FIXED)
305     C STREAMICE_hmask IS PART OF **STATE**
306     C All other masks are updated within a timestep BASED ON STREAMICE_hmask
307    
308     C Number of quadrature points are hardcoded.. could turn into a CPP macro
309    
310     C REAL ARRAYS
311    
312     COMMON /STREAMICE_FIELDS_RL/
313     & H_streamice,
314     & U_streamice,
315     & V_streamice,
316     & visc_streamice,
317     & tau_beta_eff_streamice,
318     & float_frac_streamice,
319     & base_el_streamice,
320     & surf_el_streamice,
321     & area_shelf_streamice,
322     & mass_ice_streamice,
323     & u_flux_bdry_SI,
324     & v_flux_bdry_SI,
325     & h_ubdry_values_SI,
326     & h_vbdry_values_SI,
327     & u_bdry_values_SI,
328     & v_bdry_values_SI,
329     & STREAMICE_dummy_array,
330     & C_basal_friction,
331     C & A_glen,
332     & B_glen,
333     & BDOT_streamice, ADOT_streamice, BDOT_pert,! mass balances in meters per year
334     & streamice_sigma_coord, streamice_delsigma,
335     & H_streamice_prev
336    
337     #ifdef STREAMICE_STRESS_BOUNDARY_CONTROL
338     COMMON /STREAMICE_STRESS_BOUNDARY/
339     & streamice_u_normal_pert,
340     & streamice_v_normal_pert,
341     & streamice_u_shear_pert,
342     & streamice_v_shear_pert,
343     & streamice_u_normal_stress,
344     & streamice_v_normal_stress,
345     & streamice_u_shear_stress,
346     & streamice_v_shear_stress
347     #endif
348    
349     #ifdef STREAMICE_HYBRID_STRESS
350     COMMON /STREAMICE_HYBRID/
351     & streamice_taubx, streamice_tauby,
352     & streamice_u_surf, streamice_v_surf,
353     & streamice_u_bed, streamice_v_bed,
354     & visc_streamice_full, streamice_omega, streamice_basal_geom,
355     & streamice_vert_shear_uz, streamice_vert_shear_vz
356     #endif
357    
358     #ifdef ALLOW_STREAMICE_TIMEDEP_FORCING
359     COMMON /STREAMICE_TIMEDEP_FORCE/
360     & bdot_streamice0,
361     & bdot_streamice1
362     #ifdef STREAMICE_STRESS_BOUNDARY_CONTROL
363     & ,streamice_u_normal_stress0,
364     & streamice_u_normal_stress1,
365     & streamice_v_normal_stress0,
366     & streamice_v_normal_stress1,
367     & streamice_u_shear_stress0,
368     & streamice_u_shear_stress1,
369     & streamice_v_shear_stress0,
370     & streamice_v_shear_stress1
371     #endif
372     #endif
373    
374     #ifdef ALLOW_STREAMICE_2DTRACER
375     COMMON /STREAMICE_TRAC2D_FIELDS_RL/
376     & trac2d_ubdry_values_SI,
377     & trac2d_vbdry_values_SI,
378     & trac2d
379     #ifdef STREAMICE_TRACER_AB
380     COMMON /STREAMICE_TRAC2D_AB_RL/
381     & GAD_trac_2d
382     #endif
383     #endif
384    
385     #ifdef USE_ALT_RLOW
386     COMMON /STREAMICE_RLOW/
387     & R_low_si
388     #endif
389    
390     _RL H_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
391     _RL U_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
392     _RL V_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
393     _RL visc_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
394     _RL tau_beta_eff_streamice(1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
395     _RL float_frac_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
396     _RL surf_el_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
397     _RL base_el_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
398     _RL area_shelf_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
399     _RL mass_ice_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
400     _RL u_flux_bdry_SI (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
401     _RL v_flux_bdry_SI (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
402     _RL h_ubdry_values_SI (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
403     _RL h_vbdry_values_SI (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
404     _RL u_bdry_values_SI (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
405     _RL v_bdry_values_SI (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
406     _RL C_basal_friction (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
407     C _RL A_glen (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
408     #ifdef STREAMICE_3D_GLEN_CONST
409     _RL B_glen (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
410     #else
411     _RL B_glen (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
412     #endif
413     _RL streamice_sigma_coord (Nr)
414     _RL streamice_delsigma (Nr)
415    
416     #ifdef USE_ALT_RLOW
417     _RL R_low_si (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
418     #endif
419    
420     C The following arrays are used for the hybrid stress balance
421     #ifdef STREAMICE_HYBRID_STRESS
422     _RL streamice_taubx (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
423     _RL streamice_u_surf (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
424     _RL streamice_v_surf (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
425     _RL streamice_u_bed (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
426     _RL streamice_v_bed (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
427     _RL streamice_tauby (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
428     _RL streamice_omega (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
429     _RL streamice_basal_geom
430     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
431     _RL visc_streamice_full
432     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
433     _RL streamice_vert_shear_uz (Nr)
434     _RL streamice_vert_shear_vz (Nr)
435     #endif
436    
437     #ifdef ALLOW_STREAMICE_2DTRACER
438     _RL trac2d_ubdry_values_SI
439     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
440     _RL trac2d_vbdry_values_SI
441     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
442     _RL trac2d (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
443     #ifdef STREAMICE_TRACER_AB
444     _RL GAD_trac_2d (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
445     #endif
446     #endif
447    
448     #ifdef STREAMICE_STRESS_BOUNDARY_CONTROL
449     _RL streamice_u_normal_stress
450     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
451     _RL streamice_v_normal_stress
452     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
453     _RL streamice_u_shear_stress
454     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
455     _RL streamice_v_shear_stress
456     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
457     _RL streamice_u_normal_pert
458     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
459     _RL streamice_v_normal_pert
460     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
461     _RL streamice_u_shear_pert
462     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
463     _RL streamice_v_shear_pert
464     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
465     #endif
466    
467     _RL ADOT_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
468     !! IMPORTANT: MELT RATE IN METERS PER YEAR
469     !! POSITIVE WHERE MELTING
470     _RL BDOT_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
471     _RL BDOT_pert (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
472     _RL H_streamice_prev (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
473     _RL STREAMICE_dummy_array (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
474    
475     #ifdef ALLOW_STREAMICE_TIMEDEP_FORCING
476     #ifdef STREAMICE_STRESS_BOUNDARY_CONTROL
477     _RL streamice_u_normal_stress0
478     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
479     _RL streamice_u_normal_stress1
480     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
481     _RL streamice_v_normal_stress0
482     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
483     _RL streamice_v_normal_stress1
484     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
485     _RL streamice_u_shear_stress0
486     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
487     _RL streamice_u_shear_stress1
488     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
489     _RL streamice_v_shear_stress0
490     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
491     _RL streamice_v_shear_stress1
492     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
493     #endif
494     _RL bdot_streamice0
495     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
496     _RL bdot_streamice1
497     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
498     #endif
499    
500     COMMON /STREAMICE_COST_RL/
501     & cost_func1_streamice,
502     & cost_vel_streamice,
503     & cost_surf_streamice
504     _RL cost_func1_streamice(nSx,nSy)
505     _RL cost_vel_streamice(nSx,nSy)
506     _RL cost_surf_streamice(nSx,nSy)
507    
508     C NOTES :
509     C REAL ARRAYS THAT COMPRISE "STATE":
510     C H_streamice,
511     C U_streamice,
512     C V_streamice,
513     C visc_streamice,
514     C tau_beta_eff_streamice,
515     C area_shelf_streamice
516     C (and do not forget STREAMICE_hmask)
517     C
518     C visc & tau are now calculated based on U,V in streamice_vel_solve
519     C but with Hybdrid stress formulation they will become part of
520     C velocity initial guess, so they are kept
521    
522     #ifdef ALLOW_PETSC
523     COMMON /STREAMICE_PETSC_DOFS_COMMON/
524     & streamice_petsc_dofs_u,
525     & streamice_petsc_dofs_v,
526     & n_dofs_process
527     _RS streamice_petsc_dofs_u
528     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
529     _RS streamice_petsc_dofs_v
530     & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
531     INTEGER n_dofs_process (0:nPx*nPy-1)
532     #endif
533    
534     #endif /* ALLOW_STREAMICE */
535    
536     CEH3 ;;; Local Variables: ***
537     CEH3 ;;; mode:fortran ***
538     CEH3 ;;; End: ***

  ViewVC Help
Powered by ViewVC 1.1.22