| 18 |
& streamice_wgt_avthick, streamice_wgt_vel, |
& streamice_wgt_avthick, streamice_wgt_vel, |
| 19 |
& streamice_wgt_tikh, |
& streamice_wgt_tikh, |
| 20 |
& streamice_addl_backstress, |
& streamice_addl_backstress, |
| 21 |
& streamice_smooth_gl_width |
& streamice_smooth_gl_width, |
| 22 |
|
& streamice_adot_uniform |
| 23 |
_RL streamice_density, streamice_density_ocean_avg |
_RL streamice_density, streamice_density_ocean_avg |
| 24 |
! _RL A_glen_isothermal, n_glen, eps_glen_min, eps_u_min |
! _RL A_glen_isothermal, n_glen, eps_glen_min, eps_u_min |
| 25 |
_RL B_glen_isothermal, n_glen, eps_glen_min, eps_u_min |
_RL B_glen_isothermal, n_glen, eps_glen_min, eps_u_min |
| 38 |
_RL streamice_wgt_tikh |
_RL streamice_wgt_tikh |
| 39 |
_RL streamice_addl_backstress |
_RL streamice_addl_backstress |
| 40 |
_RL streamice_smooth_gl_width |
_RL streamice_smooth_gl_width |
| 41 |
|
_RL streamice_adot_uniform |
| 42 |
|
|
| 43 |
|
|
| 44 |
C parms for parameterized initial thickness |
C parms for parameterized initial thickness |
| 92 |
CHARACTER*(MAX_LEN_FNAM) STREAMICEvelOptimFile |
CHARACTER*(MAX_LEN_FNAM) STREAMICEvelOptimFile |
| 93 |
CHARACTER*(MAX_LEN_FNAM) STREAMICEtopogFile |
CHARACTER*(MAX_LEN_FNAM) STREAMICEtopogFile |
| 94 |
CHARACTER*(MAX_LEN_FNAM) STREAMICEcostMaskFile |
CHARACTER*(MAX_LEN_FNAM) STREAMICEcostMaskFile |
| 95 |
|
CHARACTER*(MAX_LEN_FNAM) STREAMICE_ADV_SCHEME |
| 96 |
|
|
| 97 |
! THE FOLLOWING FILENAMES ARE FOR SPECIFYING IRREGULAR DOMAIN GEOMETRIES |
! THE FOLLOWING FILENAMES ARE FOR SPECIFYING IRREGULAR DOMAIN GEOMETRIES |
| 98 |
! (i.e. boundaries that do not conform with rectangular walls) |
! (i.e. boundaries that do not conform with rectangular walls) |
| 99 |
CHARACTER*(MAX_LEN_FNAM) STREAMICEhmaskFile |
CHARACTER*(MAX_LEN_FNAM) STREAMICEhmaskFile |
| 100 |
|
CHARACTER*(MAX_LEN_FNAM) STREAMICEHBCxFile |
| 101 |
|
CHARACTER*(MAX_LEN_FNAM) STREAMICEHBCyFile |
| 102 |
CHARACTER*(MAX_LEN_FNAM) STREAMICEuFaceBdryFile |
CHARACTER*(MAX_LEN_FNAM) STREAMICEuFaceBdryFile |
| 103 |
CHARACTER*(MAX_LEN_FNAM) STREAMICEvFaceBdryFile |
CHARACTER*(MAX_LEN_FNAM) STREAMICEvFaceBdryFile |
| 104 |
CHARACTER*(MAX_LEN_FNAM) STREAMICEuDirichValsFile |
CHARACTER*(MAX_LEN_FNAM) STREAMICEuDirichValsFile |
| 105 |
CHARACTER*(MAX_LEN_FNAM) STREAMICEvDirichValsFile |
CHARACTER*(MAX_LEN_FNAM) STREAMICEvDirichValsFile |
| 106 |
|
|
| 107 |
|
#ifdef ALLOW_PETSC |
| 108 |
|
! CHARACTER PARAMS FOR PETSC |
| 109 |
|
CHARACTER*(MAX_LEN_FNAM) PETSC_SOLVER_TYPE |
| 110 |
|
CHARACTER*(MAX_LEN_FNAM) PETSC_PRECOND_TYPE |
| 111 |
|
#endif |
| 112 |
|
|
| 113 |
|
#ifdef ALLOW_STREAMICE_2DTRACER |
| 114 |
|
! CHARACTER PARAMS FOR TRACER |
| 115 |
|
CHARACTER*(MAX_LEN_FNAM) STREAMICETrac2DBCxFile |
| 116 |
|
CHARACTER*(MAX_LEN_FNAM) STREAMICETrac2DBCyFile |
| 117 |
|
CHARACTER*(MAX_LEN_FNAM) STREAMICETrac2DinitFile |
| 118 |
|
#endif |
| 119 |
|
|
| 120 |
COMMON /STREAMICE_PARM_C/ |
COMMON /STREAMICE_PARM_C/ |
| 121 |
& STREAMICEthickInit, |
& STREAMICEthickInit, |
| 122 |
& STREAMICEthickFile, |
& STREAMICEthickFile, |
| 129 |
& STREAMICEvelOptimFile, |
& STREAMICEvelOptimFile, |
| 130 |
& STREAMICEtopogFile, |
& STREAMICEtopogFile, |
| 131 |
& STREAMICEhmaskFile, |
& STREAMICEhmaskFile, |
| 132 |
|
& STREAMICEHBCxFile, |
| 133 |
|
& STREAMICEHBCyFile, |
| 134 |
& STREAMICEuFaceBdryFile, |
& STREAMICEuFaceBdryFile, |
| 135 |
& STREAMICEvFaceBdryFile, |
& STREAMICEvFaceBdryFile, |
| 136 |
& STREAMICEuDirichValsFile, |
& STREAMICEuDirichValsFile, |
| 137 |
& STREAMICEvDirichValsFile, |
& STREAMICEvDirichValsFile, |
| 138 |
& STREAMICEGlenConstFile, |
& STREAMICEGlenConstFile, |
| 139 |
& STREAMICEGlenConstConfig, |
& STREAMICEGlenConstConfig, |
| 140 |
& STREAMICEcostMaskFile |
& STREAMICEcostMaskFile, |
| 141 |
|
& STREAMICE_ADV_SCHEME |
| 142 |
|
|
| 143 |
|
#ifdef ALLOW_PETSC |
| 144 |
|
COMMON /PETSC_PARM_C/ |
| 145 |
|
& PETSC_SOLVER_TYPE, |
| 146 |
|
& PETSC_PRECOND_TYPE |
| 147 |
|
#endif |
| 148 |
|
|
| 149 |
|
#ifdef ALLOW_STREAMICE_2DTRACER |
| 150 |
|
COMMON /STREAMICE_TRAC2D_C/ |
| 151 |
|
& STREAMICETrac2DBCxFile, |
| 152 |
|
& STREAMICETrac2DBCyFile, |
| 153 |
|
& STREAMICETrac2DinitFile |
| 154 |
|
#endif |
| 155 |
|
|
| 156 |
C -------------------------- LOGICAL PARAMS --------------------------------------------------- |
C -------------------------- LOGICAL PARAMS --------------------------------------------------- |
| 157 |
|
|
| 194 |
|
|
| 195 |
C EXPLANATION OF MASKS |
C EXPLANATION OF MASKS |
| 196 |
|
|
| 197 |
C STREAMICE_hmask VALUES 1=ice-covered cell |
C STREAMICE_hmask VALUES 1=ice-covered cell |
| 198 |
C 2=partially ice-covered cell (no dynamics) |
C 2=partially ice-covered cell (no dynamics) |
| 199 |
C 0=ice-free cell (for now, it means the cell |
C 0=ice-free cell (for now, it means the cell |
| 200 |
C is treated as an open-ocean cell |
C is treated as an open-ocean cell |
| 279 |
& mass_ice_streamice, |
& mass_ice_streamice, |
| 280 |
& u_flux_bdry_SI, |
& u_flux_bdry_SI, |
| 281 |
& v_flux_bdry_SI, |
& v_flux_bdry_SI, |
| 282 |
& h_bdry_values_SI, |
& h_ubdry_values_SI, |
| 283 |
|
& h_vbdry_values_SI, |
| 284 |
& u_bdry_values_SI, |
& u_bdry_values_SI, |
| 285 |
& v_bdry_values_SI, |
& v_bdry_values_SI, |
| 286 |
& STREAMICE_dummy_array, |
& STREAMICE_dummy_array, |
| 299 |
& streamice_vert_shear_uz, streamice_vert_shear_vz |
& streamice_vert_shear_uz, streamice_vert_shear_vz |
| 300 |
#endif |
#endif |
| 301 |
|
|
| 302 |
|
#ifdef ALLOW_STREAMICE_2DTRACER |
| 303 |
|
COMMON /STREAMICE_TRAC2D_FIELDS_RL/ |
| 304 |
|
& trac2d_ubdry_values_SI, |
| 305 |
|
& trac2d_vbdry_values_SI, |
| 306 |
|
& trac2d |
| 307 |
|
#ifdef STREAMICE_TRACER_AB |
| 308 |
|
COMMON /STREAMICE_TRAC2D_AB_RL/ |
| 309 |
|
& GAD_trac_2d |
| 310 |
|
#endif |
| 311 |
|
#endif |
| 312 |
|
|
| 313 |
#ifdef USE_ALT_RLOW |
#ifdef USE_ALT_RLOW |
| 314 |
COMMON /STREAMICE_RLOW/ |
COMMON /STREAMICE_RLOW/ |
| 315 |
& R_low_si |
& R_low_si |
| 328 |
_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) |
| 329 |
_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) |
| 330 |
_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) |
| 331 |
_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) |
| 332 |
|
_RL h_vbdry_values_SI (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
| 333 |
_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) |
| 334 |
_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) |
| 335 |
_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) |
| 356 |
_RL streamice_vert_shear_uz (Nr) |
_RL streamice_vert_shear_uz (Nr) |
| 357 |
_RL streamice_vert_shear_vz (Nr) |
_RL streamice_vert_shear_vz (Nr) |
| 358 |
#endif |
#endif |
| 359 |
|
|
| 360 |
|
#ifdef ALLOW_STREAMICE_2DTRACER |
| 361 |
|
_RL trac2d_ubdry_values_SI |
| 362 |
|
& (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
| 363 |
|
_RL trac2d_vbdry_values_SI |
| 364 |
|
& (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
| 365 |
|
_RL trac2d (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
| 366 |
|
#ifdef STREAMICE_TRACER_AB |
| 367 |
|
_RL GAD_trac_2d (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
| 368 |
|
#endif |
| 369 |
|
#endif |
| 370 |
|
|
| 371 |
_RL ADOT_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
_RL ADOT_streamice (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
| 372 |
!! IMPORTANT: MELT RATE IN METERS PER YEAR |
!! IMPORTANT: MELT RATE IN METERS PER YEAR |
| 394 |
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 |
| 395 |
C but with Hybdrid stress formulation they will become part of |
C but with Hybdrid stress formulation they will become part of |
| 396 |
C velocity initial guess, so they are kept |
C velocity initial guess, so they are kept |
| 397 |
|
|
| 398 |
|
#ifdef ALLOW_PETSC |
| 399 |
|
COMMON /STREAMICE_PETSC_DOFS_COMMON/ |
| 400 |
|
& streamice_petsc_dofs_u, |
| 401 |
|
& streamice_petsc_dofs_v, |
| 402 |
|
& n_dofs_process |
| 403 |
|
_RS streamice_petsc_dofs_u |
| 404 |
|
& (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
| 405 |
|
_RS streamice_petsc_dofs_v |
| 406 |
|
& (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) |
| 407 |
|
INTEGER n_dofs_process (0:nPx*nPy-1) |
| 408 |
|
#endif |
| 409 |
|
|
| 410 |
|
|
| 411 |
#endif /* ALLOW_STREAMICE */ |
#endif /* ALLOW_STREAMICE */ |