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

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

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

revision 1.5 by dgoldberg, Mon Jul 30 19:04:55 2012 UTC revision 1.25 by dgoldberg, Wed Aug 27 19:29:12 2014 UTC
# Line 1  Line 1 
1  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C $Header$
2    C $Name$
3    
4    C---+----1--+-+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
5    
6  #ifdef ALLOW_STREAMICE  #ifdef ALLOW_STREAMICE
7    
8  C     -------------------------- REAL PARAMS ---------------------------------------------------  C     -------------------------- REAL PARAMS ---------------------------------------------------
9    
10        COMMON /STREAMICE_PARMS_R/        COMMON /STREAMICE_PARMS_R/
11       & streamice_density, streamice_density_ocean_avg,       & streamice_density, streamice_density_ocean_avg,
12       & A_glen_isothermal, n_glen, eps_glen_min,  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,       & C_basal_fric_const, n_basal_friction, streamice_input_flux_unif,
15       & streamice_vel_update, streamice_cg_tol, streamice_nonlin_tol,       & streamice_vel_update, streamice_cg_tol, streamice_nonlin_tol,
16       & streamice_nonlin_tol_fp,       & streamice_nonlin_tol_fp,
17       & streamice_CFL_factor, streamice_adjDump       & 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        _RL streamice_density, streamice_density_ocean_avg
29        _RL A_glen_isothermal, n_glen, eps_glen_min  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        _RL C_basal_fric_const
32        _RL n_basal_friction        _RL n_basal_friction
33        _RL streamice_input_flux_unif        _RL streamice_input_flux_unif
34        _RL streamice_vel_update        _RL streamice_vel_update
35        _RL streamice_cg_tol, streamice_nonlin_tol        _RL streamice_cg_tol, streamice_nonlin_tol
36        _RL streamice_nonlin_tol_fp        _RL streamice_nonlin_tol_fp
37        _RL streamice_CFL_factor        _RL streamice_CFL_factor
38        _RL streamice_adjDump        _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  C     parms for parameterized initial thickness
50  C     SHELF_MAX_DRAFT: max thickness of ice in m  C     SHELF_MAX_DRAFT: max thickness of ice in m
51  C     SHELF_MIN_DRAFT: min thickness of ice in m  C     SHELF_MIN_DRAFT: min thickness of ice in m
# Line 53  C     -------------------------- INT PAR Line 77  C     -------------------------- INT PAR
77        COMMON /STREAMICE_PARMS_I/        COMMON /STREAMICE_PARMS_I/
78       &     streamice_max_cg_iter, streamice_max_nl_iter,       &     streamice_max_cg_iter, streamice_max_nl_iter,
79       &     streamice_vel_upd_counter, streamice_nstep_velocity,       &     streamice_vel_upd_counter, streamice_nstep_velocity,
80       &     streamice_n_sub_regularize       &     streamice_maxcgiter_cpl, streamice_maxnliter_cpl
81    !     &     streamice_n_sub_regularize
82    
83        INTEGER streamice_max_cg_iter, streamice_max_nl_iter        INTEGER streamice_max_cg_iter, streamice_max_nl_iter
84        INTEGER streamice_vel_upd_counter, streamice_nstep_velocity        INTEGER streamice_vel_upd_counter, streamice_nstep_velocity
85        INTEGER streamice_n_sub_regularize        INTEGER streamice_maxcgiter_cpl, streamice_maxnliter_cpl
86    !      INTEGER streamice_n_sub_regularize
87    
88  C     -------------------------- CHAR PARAMS ---------------------------------------------------  C     -------------------------- CHAR PARAMS ---------------------------------------------------
89    
90        CHARACTER*(MAX_LEN_FNAM) STREAMICEthickFile        CHARACTER*(MAX_LEN_FNAM) STREAMICEthickFile
91        CHARACTER*(MAX_LEN_FNAM) STREAMICEthickInit        CHARACTER*(MAX_LEN_FNAM) STREAMICEthickInit
92        CHARACTER*(MAX_LEN_FNAM) STREAMICEcalveMaskFile        CHARACTER*(MAX_LEN_FNAM) STREAMICEcalveMaskFile
93        COMMON /STREAMICE_PARM_C/        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,       &     STREAMICEthickInit,
145       &     STREAMICEthickFile,       &     STREAMICEthickFile,
146       &     STREAMICEcalveMaskFile       &     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 ---------------------------------------------------  C     -------------------------- LOGICAL PARAMS ---------------------------------------------------
193    
194        LOGICAL STREAMICEison        LOGICAL STREAMICEison
# Line 75  C     -------------------------- LOGICAL Line 196  C     -------------------------- LOGICAL
196        LOGICAL STREAMICE_tave_mdsio        LOGICAL STREAMICE_tave_mdsio
197        LOGICAL STREAMICE_dump_mnc        LOGICAL STREAMICE_dump_mnc
198        LOGICAL STREAMICE_tave_mnc        LOGICAL STREAMICE_tave_mnc
199        LOGICAL STREAMICE_GL_regularize, STREAMICE_move_front        LOGICAL STREAMICE_move_front
200        LOGICAL STREAMICE_calve_to_mask        LOGICAL STREAMICE_calve_to_mask
201        LOGICAL STREAMICE_construct_matrix        LOGICAL STREAMICE_construct_matrix
202        LOGICAL STREAMICE_lower_cg_tol        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/        COMMON /STREAMICE_PARM_L/
221       & STREAMICEison,       & STREAMICEison,
222       & STREAMICE_dump_mdsio, STREAMICE_tave_mdsio,       & STREAMICE_dump_mdsio, STREAMICE_tave_mdsio,
223       & STREAMICE_dump_mnc, STREAMICE_tave_mnc,       & STREAMICE_dump_mnc, STREAMICE_tave_mnc,
224       & STREAMICE_GL_regularize, STREAMICE_move_front,       & STREAMICE_move_front,
225       & STREAMICE_calve_to_mask,       & STREAMICE_calve_to_mask,
226       & STREAMICE_construct_matrix,       & STREAMICE_construct_matrix,
227       & STREAMICE_lower_cg_tol       & 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 ---------------------------------------------------  C     -------------------------- AND NOW ARRAYS ---------------------------------------------------
237    
238  C     EXPLANATION OF MASKS  C     EXPLANATION OF MASKS
239    
240  C     STREAMICE_hmask           VALUES  1=ice-covered cell  C     STREAMICE_hmask           VALUES  1=ice-covered cell
241  C                                       2=partially ice-covered cell (no dynamics)  C                                       2=partially ice-covered cell (no dynamics)
242  C                                       0=ice-free cell (for now, it means the cell  C                                       0=ice-free cell (for now, it means the cell
243  C                                                           is treated as an open-ocean cell  C                                                           is treated as an open-ocean cell
244  C                                                           that ice shelf can flow into)  C                                                           that ice shelf can flow into)
245  C                                       -1=outside computational domain; will not change  C                                       -1=outside computational domain; will not change
246  C  C
247  C     STREAMICE_umask           VALUES  1=degree of freedom;  C     STREAMICE_umask           VALUES  1=degree of freedom;
248  C                                       0=homogeneous dirich condition  C                                       0=homogeneous dirich condition
249  C                                       3=inhomogeneous dirich condition  C                                       3=inhomogeneous dirich condition
250    
251  C     STREAMICE_vmask           similar to umask  C     STREAMICE_vmask           similar to umask
252    
253  C     STREAMICE_ufacemask       VALUES  -1=unset,  C     STREAMICE_ufacemask       VALUES  -1=unset,
254  C                                       0=no-flow boundary,  C                                       0=no-flow boundary,
255  C                                       1=no-stress bdry  C                                       1=no-stress bdry
256  C                                       2=stress bdry condition,  C                                       2=stress bdry condition,
257  C                                       3=inhomogeneous dirichlet boundary,  C                                       3=inhomogeneous dirichlet boundary,
258  C                                       4=flux boundary: at these faces a flux will be specified by u_flux_bdry_SI  C                                       4=flux boundary: at these faces a flux will be specified by u_flux_bdry_SI
259  C                                        C
260  C     STREAMICE_vfacemask       similar to ufacemask  C     STREAMICE_vfacemask       similar to ufacemask
261  C     STREAMICE_ufacemask_bdry  field initialized at the beginning of simulation  C     STREAMICE_ufacemask_bdry  field initialized at the beginning of simulation
262  C                               specified all ufacemask values except for calving front  C                               specified all ufacemask values except for calving front
263  C                               CONSTANT FOR A SIMULATION (ie not changes after streamice_init_fixed)  C                               CONSTANT FOR A SIMULATION (ie not changes after streamice_init_fixed)
264  C     STREAMICE_vfacemask_bdry  CONSTANT FOR A SIMULATION  C     STREAMICE_vfacemask_bdry  CONSTANT FOR A SIMULATION
265  C     STREAMICE_calve_mask      specified allowed extent of ice shelf  C     STREAMICE_calve_mask      specified allowed extent of ice shelf
266  C                                (should be integer, but don't know howvi sre to read ints from file)  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  C                               not necessarily used, but CONSTANT FOR A SIMULATION
268  C     STREAMICE_float_cond      will only be used if partial floatation is implemented  C     STREAMICE_float_cond      will only be used if partial floatation is implemented
269    
# Line 132  C     Short arrays (e.g. masks) Line 277  C     Short arrays (e.g. masks)
277       &     STREAMICE_ufacemask_bdry,       &     STREAMICE_ufacemask_bdry,
278       &     STREAMICE_vfacemask_bdry,       &     STREAMICE_vfacemask_bdry,
279       &     STREAMICE_float_cond,       &     STREAMICE_float_cond,
280       &     STREAMICE_calve_mask       &     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)        _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)        _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)        _RS STREAMICE_vmask (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
286        _RS STREAMICE_ufacemask        _RS STREAMICE_ufacemask
287       &  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)       &  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
288        _RS STREAMICE_vfacemask        _RS STREAMICE_vfacemask
289       &  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)       &  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
290        _RS STREAMICE_ufacemask_bdry        _RS STREAMICE_ufacemask_bdry
291       &  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)       &  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
292        _RS STREAMICE_vfacemask_bdry        _RS STREAMICE_vfacemask_bdry
293       &  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)       &  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
294        _RS STREAMICE_float_cond        _RS STREAMICE_float_cond
295       &  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)       &  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
296        _RS STREAMICE_calve_mask        _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)       & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
302        
303  C    NOTES :  C    NOTES :
304  C     STREAMICE_ufacemask_bdry, STREAMICE_vfacemask_bdry ARE CONSTANT (FIXED)  C     STREAMICE_ufacemask_bdry, STREAMICE_vfacemask_bdry ARE CONSTANT (FIXED)
305  C     STREAMICE_hmask IS PART OF **STATE**  C     STREAMICE_hmask IS PART OF **STATE**
306  C     All other masks are updated within a timestep BASED ON STREAMICE_hmask  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      C    Number of quadrature points are hardcoded.. could turn into a CPP macro
309    
310  C    REAL ARRAYS  C    REAL ARRAYS
311    
312        COMMON /STREAMICE_FIELDS_RL/        COMMON /STREAMICE_FIELDS_RL/
313       &     H_streamice,       &     H_streamice,
314       &     U_streamice,       &     U_streamice,
315       &     V_streamice,       &     V_streamice,
# Line 171  C    REAL ARRAYS Line 322  C    REAL ARRAYS
322       &     mass_ice_streamice,       &     mass_ice_streamice,
323       &     u_flux_bdry_SI,       &     u_flux_bdry_SI,
324       &     v_flux_bdry_SI,       &     v_flux_bdry_SI,
325       &     h_bdry_values_SI,       &     h_ubdry_values_SI,
326         &     h_vbdry_values_SI,
327       &     u_bdry_values_SI,       &     u_bdry_values_SI,
328       &     v_bdry_values_SI,       &     v_bdry_values_SI,
329       &     STREAMICE_dummy_array,       &     STREAMICE_dummy_array,
330       &     C_basal_friction       &     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)        _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)        _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)        _RL V_streamice           (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
# Line 188  C    REAL ARRAYS Line 399  C    REAL ARRAYS
399        _RL mass_ice_streamice    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)        _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)        _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)        _RL v_flux_bdry_SI    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
402        _RL h_bdry_values_SI    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)        _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)        _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)        _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)        _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)        _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 :  C    NOTES :
509  C      REAL ARRAYS THAT COMPRISE "STATE":  C      REAL ARRAYS THAT COMPRISE "STATE":
510  C       H_streamice,  C       H_streamice,
# Line 203  C       V_streamice, Line 513  C       V_streamice,
513  C       visc_streamice,  C       visc_streamice,
514  C       tau_beta_eff_streamice,  C       tau_beta_eff_streamice,
515  C       area_shelf_streamice  C       area_shelf_streamice
516  C       (and don't forget STREAMICE_hmask)  C       (and do not forget STREAMICE_hmask)
517  C        C
518  C       visc & tau are now calculated based on U,V in streamice_vel_solve  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  C        but with Hybdrid stress formulation they will become part of
520  C        velocity initial guess, so they are kept  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 */  #endif /* ALLOW_STREAMICE */
535    
536  CEH3 ;;; Local Variables: ***  CEH3 ;;; Local Variables: ***

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.25

  ViewVC Help
Powered by ViewVC 1.1.22