/[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.2 by dgoldberg, Mon May 14 16:47:10 2012 UTC revision 1.18 by dgoldberg, Wed Jan 9 21:56:17 2013 UTC
# Line 1  Line 1 
1  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C---+----1--+-+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
2    
3  #ifdef ALLOW_STREAMICE  #ifdef ALLOW_STREAMICE
4    
# Line 6  C     -------------------------- REAL PA Line 6  C     -------------------------- REAL PA
6    
7        COMMON /STREAMICE_PARMS_R/        COMMON /STREAMICE_PARMS_R/
8       & streamice_density, streamice_density_ocean_avg,       & streamice_density, streamice_density_ocean_avg,
9       & A_glen_isothermal, n_glen, eps_glen_min,       & A_glen_isothermal, n_glen, eps_glen_min, eps_u_min,
10       & C_basal_fric_const, n_basal_friction, streamice_input_flux_unif,       & C_basal_fric_const, n_basal_friction, streamice_input_flux_unif,
11       & streamice_vel_update, streamice_cg_tol, streamice_nonlin_tol,       & streamice_vel_update, streamice_cg_tol, streamice_nonlin_tol,
12       & streamice_CFL_factor       & streamice_nonlin_tol_fp,
13         & streamice_CFL_factor, streamice_adjDump,
14         & streamice_bg_surf_slope_x, streamice_bg_surf_slope_y,
15         & streamice_kx_b_init, streamice_ky_b_init,
16         & streamice_wgt_drift, streamice_wgt_surf,
17         & streamice_wgt_avthick, streamice_wgt_vel,
18         & streamice_wgt_tikh,
19         & streamice_addl_backstress
20        _RL streamice_density, streamice_density_ocean_avg        _RL streamice_density, streamice_density_ocean_avg
21        _RL A_glen_isothermal, n_glen, eps_glen_min        _RL A_glen_isothermal, n_glen, eps_glen_min, eps_u_min
22        _RL C_basal_fric_const        _RL C_basal_fric_const
23        _RL n_basal_friction        _RL n_basal_friction
24        _RL streamice_input_flux_unif        _RL streamice_input_flux_unif
25        _RL streamice_vel_update        _RL streamice_vel_update
26        _RL streamice_cg_tol, streamice_nonlin_tol        _RL streamice_cg_tol, streamice_nonlin_tol
27          _RL streamice_nonlin_tol_fp
28        _RL streamice_CFL_factor        _RL streamice_CFL_factor
29          _RL streamice_adjDump
30          _RL streamice_bg_surf_slope_x, streamice_bg_surf_slope_y
31          _RL streamice_kx_b_init, streamice_ky_b_init
32          _RL streamice_wgt_drift, streamice_wgt_surf
33          _RL streamice_wgt_avthick, streamice_wgt_vel
34          _RL streamice_wgt_tikh
35          _RL streamice_addl_backstress
36          
37                
38  C     parms for parameterized initial thickness  C     parms for parameterized initial thickness
39  C     SHELF_MAX_DRAFT: max thickness of ice in m  C     SHELF_MAX_DRAFT: max thickness of ice in m
# Line 44  C     FLOW_DIR: 1.0=west, 2.0=east, 3.0= Line 60  C     FLOW_DIR: 1.0=west, 2.0=east, 3.0=
60    
61  C     -------------------------- INT PARAMS ---------------------------------------------------  C     -------------------------- INT PARAMS ---------------------------------------------------
62    
63          INTEGER streamice_max_nl
64          PARAMETER ( streamice_max_nl = 100 )
65    
66        COMMON /STREAMICE_PARMS_I/        COMMON /STREAMICE_PARMS_I/
67       &     streamice_max_cg_iter, streamice_max_nl_iter,       &     streamice_max_cg_iter, streamice_max_nl_iter,
68       &     streamice_vel_upd_counter, streamice_nstep_velocity,       &     streamice_vel_upd_counter, streamice_nstep_velocity,
# Line 57  C     -------------------------- CHAR PA Line 76  C     -------------------------- CHAR PA
76        CHARACTER*(MAX_LEN_FNAM) STREAMICEthickFile        CHARACTER*(MAX_LEN_FNAM) STREAMICEthickFile
77        CHARACTER*(MAX_LEN_FNAM) STREAMICEthickInit        CHARACTER*(MAX_LEN_FNAM) STREAMICEthickInit
78        CHARACTER*(MAX_LEN_FNAM) STREAMICEcalveMaskFile        CHARACTER*(MAX_LEN_FNAM) STREAMICEcalveMaskFile
79          CHARACTER*(MAX_LEN_FNAM) STREAMICEsigcoordInit
80          CHARACTER*(MAX_LEN_FNAM) STREAMICEsigcoordFile
81          CHARACTER*(MAX_LEN_FNAM) STREAMICEdelsigFile
82          CHARACTER*(MAX_LEN_FNAM) STREAMICEbasalTracConfig
83          CHARACTER*(MAX_LEN_FNAM) STREAMICEGlenConstConfig
84          CHARACTER*(MAX_LEN_FNAM) STREAMICEbasalTracFile
85          CHARACTER*(MAX_LEN_FNAM) STREAMICEGlenConstFile
86          CHARACTER*(MAX_LEN_FNAM) STREAMICEvelOptimFile
87          
88    !     THE FOLLOWING FILENAMES ARE FOR SPECIFYING IRREGULAR DOMAIN GEOMETRIES
89    !     (i.e. boundaries that do not conform with rectangular walls)
90          CHARACTER*(MAX_LEN_FNAM) STREAMICEhmaskFile
91          CHARACTER*(MAX_LEN_FNAM) STREAMICEuFaceBdryFile
92          CHARACTER*(MAX_LEN_FNAM) STREAMICEvFaceBdryFile
93          CHARACTER*(MAX_LEN_FNAM) STREAMICEuDirichValsFile
94          CHARACTER*(MAX_LEN_FNAM) STREAMICEvDirichValsFile
95          
96          
97        COMMON /STREAMICE_PARM_C/        COMMON /STREAMICE_PARM_C/
98       &     STREAMICEthickInit,       &     STREAMICEthickInit,
99       &     STREAMICEthickFile,       &     STREAMICEthickFile,
100       &     STREAMICEcalveMaskFile       &     STREAMICEcalveMaskFile,
101         &     STREAMICEsigcoordInit,
102         &     STREAMICEsigcoordFile,
103         &     STREAMICEdelsigFile,
104         &     STREAMICEbasalTracConfig,
105         &     STREAMICEbasalTracFile,
106         &     STREAMICEvelOptimFile,
107         &     STREAMICEhmaskFile,
108         &     STREAMICEuFaceBdryFile,
109         &     STREAMICEvFaceBdryFile,
110         &     STREAMICEuDirichValsFile,
111         &     STREAMICEvDirichValsFile,
112         &     STREAMICEGlenConstFile,
113         &     STREAMICEGlenConstConfig
114            
115  C     -------------------------- LOGICAL PARAMS ---------------------------------------------------  C     -------------------------- LOGICAL PARAMS ---------------------------------------------------
116    
# Line 71  C     -------------------------- LOGICAL Line 121  C     -------------------------- LOGICAL
121        LOGICAL STREAMICE_tave_mnc        LOGICAL STREAMICE_tave_mnc
122        LOGICAL STREAMICE_GL_regularize, STREAMICE_move_front        LOGICAL STREAMICE_GL_regularize, STREAMICE_move_front
123        LOGICAL STREAMICE_calve_to_mask        LOGICAL STREAMICE_calve_to_mask
124  !       LOGICAL STREAMICE_construct_matrix        LOGICAL STREAMICE_construct_matrix
125        LOGICAL STREAMICE_lower_cg_tol        LOGICAL STREAMICE_lower_cg_tol
126          LOGICAL STREAMICE_diagnostic_only
127          LOGICAL STREAMICE_ppm_driving_stress
128          LOGICAL STREAMICE_h_ctrl_const_surf
129          
130    C     The following parameters specify periodic boundary conditions.
131    C     For now this will completely override all other boundary conditions
132    C     and apply to the entire boundary
133    
134          LOGICAL STREAMICE_NS_periodic
135          LOGICAL STREAMICE_EW_periodic
136          
137    C      LOGICAL STREAMICE_hybrid_stress
138          
139        COMMON /STREAMICE_PARM_L/        COMMON /STREAMICE_PARM_L/
140       & STREAMICEison,       & STREAMICEison,
141       & STREAMICE_dump_mdsio, STREAMICE_tave_mdsio,       & STREAMICE_dump_mdsio, STREAMICE_tave_mdsio,
142       & STREAMICE_dump_mnc, STREAMICE_tave_mnc,       & STREAMICE_dump_mnc, STREAMICE_tave_mnc,
143       & STREAMICE_GL_regularize, STREAMICE_move_front,       & STREAMICE_GL_regularize, STREAMICE_move_front,
144       & STREAMICE_calve_to_mask,       & STREAMICE_calve_to_mask,
145  !     & STREAMICE_construct_matrix,       & STREAMICE_construct_matrix,
146       & STREAMICE_lower_cg_tol       & STREAMICE_lower_cg_tol,
147         & STREAMICE_NS_periodic, STREAMICE_EW_periodic,
148         & STREAMICE_diagnostic_only,
149         & STREAMICE_ppm_driving_stress,
150         & STREAMICE_h_ctrl_const_surf
151    
152  C     -------------------------- AND NOW ARRAYS ---------------------------------------------------  C     -------------------------- AND NOW ARRAYS ---------------------------------------------------
153    
# Line 126  C     Short arrays (e.g. masks) Line 193  C     Short arrays (e.g. masks)
193       &     STREAMICE_ufacemask_bdry,       &     STREAMICE_ufacemask_bdry,
194       &     STREAMICE_vfacemask_bdry,       &     STREAMICE_vfacemask_bdry,
195       &     STREAMICE_float_cond,       &     STREAMICE_float_cond,
196       &     STREAMICE_calve_mask       &     STREAMICE_calve_mask,
197         &     STREAMICE_ctrl_mask
198        _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)
199        _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)
200        _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)
# Line 142  C     Short arrays (e.g. masks) Line 210  C     Short arrays (e.g. masks)
210       &  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)       &  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
211        _RS STREAMICE_calve_mask        _RS STREAMICE_calve_mask
212       & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)       & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
213          _RS STREAMICE_ctrl_mask
214         & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy,Nr)
215            
216  C    NOTES :  C    NOTES :
217  C     STREAMICE_ufacemask_bdry, STREAMICE_vfacemask_bdry ARE CONSTANT (FIXED)  C     STREAMICE_ufacemask_bdry, STREAMICE_vfacemask_bdry ARE CONSTANT (FIXED)
# Line 169  C    REAL ARRAYS Line 239  C    REAL ARRAYS
239       &     u_bdry_values_SI,       &     u_bdry_values_SI,
240       &     v_bdry_values_SI,       &     v_bdry_values_SI,
241       &     STREAMICE_dummy_array,       &     STREAMICE_dummy_array,
242       &     C_basal_friction       &     C_basal_friction,
243         &     A_glen,
244         &     BDOT_streamice, ADOT_streamice,  ! mass balances in meters per year
245         &     streamice_sigma_coord, streamice_delsigma,
246         &     H_streamice_prev
247    
248    #ifdef STREAMICE_HYBRID_STRESS
249          COMMON /STREAMICE_HYBRID/
250         &     streamice_taubx, streamice_tauby,
251         &     streamice_u_surf, streamice_v_surf,
252         &     visc_streamice_full, streamice_omega, streamice_basal_geom,
253         &     streamice_vert_shear_uz, streamice_vert_shear_vz    
254    #endif
255    
256    #ifdef USE_ALT_RLOW
257          COMMON /STREAMICE_RLOW/
258         &     R_low_si
259    #endif
260    
261    
262        _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)
263        _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)
264        _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 186  C    REAL ARRAYS Line 275  C    REAL ARRAYS
275        _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)
276        _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)
277        _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)
278          _RL A_glen    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
279          _RL streamice_sigma_coord (Nr)
280          _RL streamice_delsigma (Nr)      
281    
282    #ifdef USE_ALT_RLOW
283          _RL R_low_si    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
284    #endif
285    
286    C     The following arrays are used for the hybrid stress balance            
287    #ifdef STREAMICE_HYBRID_STRESS      
288          _RL streamice_taubx (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
289          _RL streamice_tauby (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
290          _RL streamice_u_surf (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
291          _RL streamice_v_surf (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
292          _RL streamice_omega (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
293          _RL streamice_basal_geom
294         & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
295          _RL visc_streamice_full
296         & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
297          _RL streamice_vert_shear_uz (Nr)
298          _RL streamice_vert_shear_vz (Nr)
299    #endif      
300                
301          
302          _RL ADOT_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
303    !! IMPORTANT: MELT RATE IN METERS PER YEAR
304    !! POSITIVE WHERE MELTING
305          _RL BDOT_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
306          _RL H_streamice_prev (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
307        _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)
308                
309          
310              
311          COMMON /STREAMICE_COST_RL/
312         &       cost_func1_streamice
313          _RL cost_func1_streamice(nSx,nSy)
314          
315  C    NOTES :  C    NOTES :
316  C      REAL ARRAYS THAT COMPRISE "STATE":  C      REAL ARRAYS THAT COMPRISE "STATE":
317  C       H_streamice,  C       H_streamice,

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.18

  ViewVC Help
Powered by ViewVC 1.1.22