/[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.11 by dgoldberg, Tue Oct 2 00:05:24 2012 UTC revision 1.21 by dgoldberg, Thu May 23 22:12:33 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         & B_glen_isothermal, n_glen, eps_glen_min, eps_u_min,
11       & C_basal_fric_const, n_basal_friction, streamice_input_flux_unif,       & C_basal_fric_const, n_basal_friction, streamice_input_flux_unif,
12       & streamice_vel_update, streamice_cg_tol, streamice_nonlin_tol,       & streamice_vel_update, streamice_cg_tol, streamice_nonlin_tol,
13       & streamice_nonlin_tol_fp,       & streamice_nonlin_tol_fp,
14       & streamice_CFL_factor, streamice_adjDump,       & streamice_CFL_factor, streamice_adjDump,
15       & streamice_bg_surf_slope_x, streamice_bg_surf_slope_y,       & streamice_bg_surf_slope_x, streamice_bg_surf_slope_y,
16       & streamice_kx_b_init, streamice_ky_b_init       & streamice_kx_b_init, streamice_ky_b_init,
17         & streamice_wgt_drift, streamice_wgt_surf,
18         & streamice_wgt_avthick, streamice_wgt_vel,
19         & streamice_wgt_tikh,
20         & streamice_addl_backstress,
21         & streamice_smooth_gl_width
22        _RL streamice_density, streamice_density_ocean_avg        _RL streamice_density, streamice_density_ocean_avg
23        _RL A_glen_isothermal, n_glen, eps_glen_min  !      _RL A_glen_isothermal, n_glen, eps_glen_min, eps_u_min
24          _RL B_glen_isothermal, n_glen, eps_glen_min, eps_u_min
25        _RL C_basal_fric_const        _RL C_basal_fric_const
26        _RL n_basal_friction        _RL n_basal_friction
27        _RL streamice_input_flux_unif        _RL streamice_input_flux_unif
# Line 25  C     -------------------------- REAL PA Line 32  C     -------------------------- REAL PA
32        _RL streamice_adjDump        _RL streamice_adjDump
33        _RL streamice_bg_surf_slope_x, streamice_bg_surf_slope_y        _RL streamice_bg_surf_slope_x, streamice_bg_surf_slope_y
34        _RL streamice_kx_b_init, streamice_ky_b_init        _RL streamice_kx_b_init, streamice_ky_b_init
35          _RL streamice_wgt_drift, streamice_wgt_surf
36          _RL streamice_wgt_avthick, streamice_wgt_vel
37          _RL streamice_wgt_tikh
38          _RL streamice_addl_backstress
39          _RL streamice_smooth_gl_width
40          
41                
42  C     parms for parameterized initial thickness  C     parms for parameterized initial thickness
43  C     SHELF_MAX_DRAFT: max thickness of ice in m  C     SHELF_MAX_DRAFT: max thickness of ice in m
# Line 71  C     -------------------------- CHAR PA Line 84  C     -------------------------- CHAR PA
84        CHARACTER*(MAX_LEN_FNAM) STREAMICEsigcoordFile        CHARACTER*(MAX_LEN_FNAM) STREAMICEsigcoordFile
85        CHARACTER*(MAX_LEN_FNAM) STREAMICEdelsigFile        CHARACTER*(MAX_LEN_FNAM) STREAMICEdelsigFile
86        CHARACTER*(MAX_LEN_FNAM) STREAMICEbasalTracConfig        CHARACTER*(MAX_LEN_FNAM) STREAMICEbasalTracConfig
87          CHARACTER*(MAX_LEN_FNAM) STREAMICEGlenConstConfig
88          CHARACTER*(MAX_LEN_FNAM) STREAMICEBdotConfig
89        CHARACTER*(MAX_LEN_FNAM) STREAMICEbasalTracFile        CHARACTER*(MAX_LEN_FNAM) STREAMICEbasalTracFile
90          CHARACTER*(MAX_LEN_FNAM) STREAMICEGlenConstFile
91          CHARACTER*(MAX_LEN_FNAM) STREAMICEBdotFile
92        CHARACTER*(MAX_LEN_FNAM) STREAMICEvelOptimFile        CHARACTER*(MAX_LEN_FNAM) STREAMICEvelOptimFile
93          CHARACTER*(MAX_LEN_FNAM) STREAMICEtopogFile
94          CHARACTER*(MAX_LEN_FNAM) STREAMICEcostMaskFile
95          
96    !     THE FOLLOWING FILENAMES ARE FOR SPECIFYING IRREGULAR DOMAIN GEOMETRIES
97    !     (i.e. boundaries that do not conform with rectangular walls)
98          CHARACTER*(MAX_LEN_FNAM) STREAMICEhmaskFile
99          CHARACTER*(MAX_LEN_FNAM) STREAMICEuFaceBdryFile
100          CHARACTER*(MAX_LEN_FNAM) STREAMICEvFaceBdryFile
101          CHARACTER*(MAX_LEN_FNAM) STREAMICEuDirichValsFile
102          CHARACTER*(MAX_LEN_FNAM) STREAMICEvDirichValsFile
103    
104    !     CHARACTER PARAMS FOR PETSC
105          CHARACTER*(MAX_LEN_FNAM) PETSC_SOLVER_TYPE
106          CHARACTER*(MAX_LEN_FNAM) PETSC_PRECOND_TYPE
107          
108          
109        COMMON /STREAMICE_PARM_C/        COMMON /STREAMICE_PARM_C/
110       &     STREAMICEthickInit,       &     STREAMICEthickInit,
111       &     STREAMICEthickFile,       &     STREAMICEthickFile,
# Line 82  C     -------------------------- CHAR PA Line 115  C     -------------------------- CHAR PA
115       &     STREAMICEdelsigFile,       &     STREAMICEdelsigFile,
116       &     STREAMICEbasalTracConfig,       &     STREAMICEbasalTracConfig,
117       &     STREAMICEbasalTracFile,       &     STREAMICEbasalTracFile,
118       &     STREAMICEvelOptimFile       &     STREAMICEvelOptimFile,
119         &     STREAMICEtopogFile,
120         &     STREAMICEhmaskFile,
121         &     STREAMICEuFaceBdryFile,
122         &     STREAMICEvFaceBdryFile,
123         &     STREAMICEuDirichValsFile,
124         &     STREAMICEvDirichValsFile,
125         &     STREAMICEGlenConstFile,
126         &     STREAMICEGlenConstConfig,
127         &     STREAMICEBdotFile,
128         &     STREAMICEBdotConfig,
129         &     STREAMICEcostMaskFile
130    
131          COMMON /PETSC_PARM_C/
132         &     PETSC_SOLVER_TYPE,
133         &     PETSC_PRECOND_TYPE
134            
135  C     -------------------------- LOGICAL PARAMS ---------------------------------------------------  C     -------------------------- LOGICAL PARAMS ---------------------------------------------------
136    
# Line 165  C     Short arrays (e.g. masks) Line 213  C     Short arrays (e.g. masks)
213       &     STREAMICE_ufacemask_bdry,       &     STREAMICE_ufacemask_bdry,
214       &     STREAMICE_vfacemask_bdry,       &     STREAMICE_vfacemask_bdry,
215       &     STREAMICE_float_cond,       &     STREAMICE_float_cond,
216       &     STREAMICE_calve_mask       &     STREAMICE_calve_mask,
217         &     STREAMICE_ctrl_mask,
218         &     STREAMICE_cost_mask
219        _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)
220        _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)
221        _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 181  C     Short arrays (e.g. masks) Line 231  C     Short arrays (e.g. masks)
231       &  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)       &  (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
232        _RS STREAMICE_calve_mask        _RS STREAMICE_calve_mask
233       & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)       & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
234          _RS STREAMICE_ctrl_mask
235         & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
236          _RS STREAMICE_cost_mask
237         & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
238            
239  C    NOTES :  C    NOTES :
240  C     STREAMICE_ufacemask_bdry, STREAMICE_vfacemask_bdry ARE CONSTANT (FIXED)  C     STREAMICE_ufacemask_bdry, STREAMICE_vfacemask_bdry ARE CONSTANT (FIXED)
# Line 209  C    REAL ARRAYS Line 263  C    REAL ARRAYS
263       &     v_bdry_values_SI,       &     v_bdry_values_SI,
264       &     STREAMICE_dummy_array,       &     STREAMICE_dummy_array,
265       &     C_basal_friction,       &     C_basal_friction,
266       &     A_glen,  !     &     A_glen,
267       &     BDOT_streamice,       &     B_glen,
268         &     BDOT_streamice, ADOT_streamice,  ! mass balances in meters per year
269         &     streamice_sigma_coord, streamice_delsigma,
270         &     H_streamice_prev
271    
272    #ifdef STREAMICE_HYBRID_STRESS
273          COMMON /STREAMICE_HYBRID/
274       &     streamice_taubx, streamice_tauby,       &     streamice_taubx, streamice_tauby,
275       &     streamice_u_surf, streamice_v_surf,       &     streamice_u_surf, streamice_v_surf,
276       &     visc_streamice_full, streamice_omega, streamice_basal_geom,       &     visc_streamice_full, streamice_omega, streamice_basal_geom,
277       &     streamice_vert_shear_uz, streamice_vert_shear_vz,       &     streamice_vert_shear_uz, streamice_vert_shear_vz    
278    #endif
279    
280  #ifdef USE_ALT_RLOW  #ifdef USE_ALT_RLOW
281       &     R_low_si,        COMMON /STREAMICE_RLOW/
282         &     R_low_si
283  #endif  #endif
      &     streamice_sigma_coord, streamice_delsigma  
284    
285    
286        _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)
# Line 237  C    REAL ARRAYS Line 299  C    REAL ARRAYS
299        _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)
300        _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)
301        _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)
302        _RL A_glen    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)  !      _RL A_glen    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
303          _RL B_glen    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
304          _RL streamice_sigma_coord (Nr)
305          _RL streamice_delsigma (Nr)      
306    
307  #ifdef USE_ALT_RLOW  #ifdef USE_ALT_RLOW
308        _RL R_low_si    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)        _RL R_low_si    (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
309  #endif  #endif
310    
311  C      The following arrays are used for the hybrid stress balance        C     The following arrays are used for the hybrid stress balance            
312          #ifdef STREAMICE_HYBRID_STRESS      
313        _RL streamice_taubx (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)        _RL streamice_taubx (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
314        _RL streamice_tauby (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)        _RL streamice_tauby (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
315        _RL streamice_u_surf (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)        _RL streamice_u_surf (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
# Line 255  C      The following arrays are used for Line 321  C      The following arrays are used for
321       & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)       & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,Nr,nSx,nSy)
322        _RL streamice_vert_shear_uz (Nr)        _RL streamice_vert_shear_uz (Nr)
323        _RL streamice_vert_shear_vz (Nr)        _RL streamice_vert_shear_vz (Nr)
324        _RL streamice_sigma_coord (Nr)  #endif      
       _RL streamice_delsigma (Nr)  
325                
326          
327          _RL ADOT_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
328  !! IMPORTANT: MELT RATE IN METERS PER YEAR  !! IMPORTANT: MELT RATE IN METERS PER YEAR
329  !! POSITIVE WHERE MELTING  !! POSITIVE WHERE MELTING
330        _RL BDOT_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)        _RL BDOT_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
331                _RL H_streamice_prev (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
332        _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)
333                
334          
335                        
336        COMMON /STREAMICE_COST_RL/        COMMON /STREAMICE_COST_RL/
337       &       cost_func1_streamice       &       cost_func1_streamice
# Line 282  C Line 350  C
350  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
351  C        but with Hybdrid stress formulation they will become part of  C        but with Hybdrid stress formulation they will become part of
352  C        velocity initial guess, so they are kept  C        velocity initial guess, so they are kept
353    
354    #ifdef ALLOW_PETSC
355          COMMON /STREAMICE_PETSC_DOFS_COMMON/
356         &      streamice_petsc_dofs_u,
357         &      streamice_petsc_dofs_v,
358         &      n_dofs_process
359          _RS streamice_petsc_dofs_u
360         & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
361          _RS streamice_petsc_dofs_v
362         & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy)
363          INTEGER n_dofs_process (0:nPx*nPy-1)
364    #endif
365                
366                
367  #endif /* ALLOW_STREAMICE */  #endif /* ALLOW_STREAMICE */

Legend:
Removed from v.1.11  
changed lines
  Added in v.1.21

  ViewVC Help
Powered by ViewVC 1.1.22