--- MITgcm_contrib/dgoldberg/streamice/STREAMICE.h 2013/03/07 15:23:19 1.19 +++ MITgcm_contrib/dgoldberg/streamice/STREAMICE.h 2013/04/06 17:43:41 1.20 @@ -98,6 +98,10 @@ CHARACTER*(MAX_LEN_FNAM) STREAMICEvFaceBdryFile CHARACTER*(MAX_LEN_FNAM) STREAMICEuDirichValsFile CHARACTER*(MAX_LEN_FNAM) STREAMICEvDirichValsFile + +! CHARACTER PARAMS FOR PETSC + CHARACTER*(MAX_LEN_FNAM) PETSC_SOLVER_TYPE + CHARACTER*(MAX_LEN_FNAM) PETSC_PRECOND_TYPE COMMON /STREAMICE_PARM_C/ @@ -119,6 +123,10 @@ & STREAMICEGlenConstFile, & STREAMICEGlenConstConfig, & STREAMICEcostMaskFile + + COMMON /PETSC_PARM_C/ + & PETSC_SOLVER_TYPE, + & PETSC_PRECOND_TYPE C -------------------------- LOGICAL PARAMS --------------------------------------------------- @@ -338,6 +346,18 @@ C visc & tau are now calculated based on U,V in streamice_vel_solve C but with Hybdrid stress formulation they will become part of C velocity initial guess, so they are kept + +#ifdef ALLOW_PETSC + COMMON /STREAMICE_PETSC_DOFS_COMMON/ + & streamice_petsc_dofs_u, + & streamice_petsc_dofs_v, + & n_dofs_process + _RS streamice_petsc_dofs_u + & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) + _RS streamice_petsc_dofs_v + & (1-OLx:sNx+OLx,1-OLy:sNy+OLy,nSx,nSy) + INTEGER n_dofs_process (0:nPx*nPy-1) +#endif #endif /* ALLOW_STREAMICE */