133 |
& 'SEAICE_waterDrag =', ' /* water-ice drag * density */') |
& 'SEAICE_waterDrag =', ' /* water-ice drag * density */') |
134 |
CALL WRITE_0D_RL( SEAICE_waterDrag_south ,INDEX_NONE, |
CALL WRITE_0D_RL( SEAICE_waterDrag_south ,INDEX_NONE, |
135 |
& 'SEAICE_waterDrag_south =', ' /* Southern Ocean waterDrag */') |
& 'SEAICE_waterDrag_south =', ' /* Southern Ocean waterDrag */') |
136 |
CALL WRITE_0D_L ( SEAICEuseTILT, INDEX_NONE, |
CALL WRITE_0D_L ( SEAICEuseTilt, INDEX_NONE, |
137 |
& 'SEAICEuseTILT =', ' /* include surface tilt in dyna. */') |
& 'SEAICEuseTilt =', ' /* include surface tilt in dyna. */') |
138 |
CALL WRITE_0D_L ( SEAICEuseTEM, INDEX_NONE, |
CALL WRITE_0D_L ( SEAICEuseTEM, INDEX_NONE, |
139 |
& 'SEAICEuseTEM =', ' /* use truncated ellipse rheology */') |
& 'SEAICEuseTEM =', ' /* use truncated ellipse rheology */') |
140 |
CALL WRITE_0D_RL( SEAICE_strength ,INDEX_NONE, |
CALL WRITE_0D_RL( SEAICE_strength ,INDEX_NONE, |
183 |
& 'SOLV_NCHECK =', ' /* test interval for LSR solver */') |
& 'SOLV_NCHECK =', ' /* test interval for LSR solver */') |
184 |
CALL WRITE_0D_I ( NPSEUDOTIMESTEPS, INDEX_NONE, |
CALL WRITE_0D_I ( NPSEUDOTIMESTEPS, INDEX_NONE, |
185 |
& 'NPSEUDOTIMESTEPS =', ' /* num. of extra pseudo time steps */') |
& 'NPSEUDOTIMESTEPS =', ' /* num. of extra pseudo time steps */') |
186 |
|
CALL WRITE_0D_L ( SEAICEuseMultiTileSolver, INDEX_NONE, |
187 |
|
& 'SEAICEuseMultiTileSolver =', |
188 |
|
& ' /* use full domain tri-diag solver */') |
189 |
|
CALL WRITE_0D_I ( SEAICE_OLx, INDEX_NONE, |
190 |
|
& 'SEAICE_OLx =', ' /* overlap for LSR/preconditioner */') |
191 |
|
CALL WRITE_0D_I ( SEAICE_OLy, INDEX_NONE, |
192 |
|
& 'SEAICE_OLy =', ' /* overlap for LSR/preconditioner */') |
193 |
|
#ifdef SEAICE_ALLOW_JFNK |
194 |
|
IF ( SEAICEuseJFNK ) THEN |
195 |
|
CALL WRITE_0D_I ( SEAICEnewtonIterMax, INDEX_NONE, |
196 |
|
& 'SEAICEnewtonIterMax =', ' /* num. of JFNK Newton steps */') |
197 |
|
CALL WRITE_0D_I ( SEAICEkrylovIterMax, INDEX_NONE, |
198 |
|
& 'SEAICEkrylovIterMax =', ' /* num. of JFNK Krylov steps */') |
199 |
|
CALL WRITE_0D_I ( SEAICE_JFNK_lsIter, INDEX_NONE, |
200 |
|
& 'SEAICE_JFNK_lsIter =', ' /* start of line search */') |
201 |
|
CALL WRITE_0D_I ( SEAICE_JFNK_tolIter, INDEX_NONE, |
202 |
|
& 'SEAICE_JFNK_tolIter =', ' /* tol. is relaxed after this */') |
203 |
|
CALL WRITE_0D_RL( JFNKgamma_nonlin ,INDEX_NONE, |
204 |
|
& 'JFNKgamma_nonlin=', ' /* JFNK tolerance */') |
205 |
|
CALL WRITE_0D_RL( JFNKres_t ,INDEX_NONE, |
206 |
|
& 'JFNKres_t=', ' /* JFNK parameter */') |
207 |
|
CALL WRITE_0D_RL( JFNKres_tFac ,INDEX_NONE, |
208 |
|
& 'JFNKres_tFac=', ' /* JFNK parameter */') |
209 |
|
CALL WRITE_0D_RL( SEAICE_JFNKepsilon, INDEX_NONE, |
210 |
|
& 'SEAICE_JFNKepsilon=', ' /* JFNK: FD-gradient step size */') |
211 |
|
ENDIF |
212 |
|
#endif /* SEAICE_ALLOW_JFNK */ |
213 |
#ifdef SEAICE_ALLOW_EVP |
#ifdef SEAICE_ALLOW_EVP |
214 |
ELSE |
ELSE |
215 |
CALL WRITE_0D_RL( SEAICE_elasticParm ,INDEX_NONE, |
CALL WRITE_0D_RL( SEAICE_elasticParm ,INDEX_NONE, |
218 |
& 'SEAICE_evpTauRelax=', ' /* EVP relaxation timescale */') |
& 'SEAICE_evpTauRelax=', ' /* EVP relaxation timescale */') |
219 |
CALL WRITE_0D_RL( SEAICE_evpDampC ,INDEX_NONE, |
CALL WRITE_0D_RL( SEAICE_evpDampC ,INDEX_NONE, |
220 |
& 'SEAICE_evpDampC =', ' /* EVP damping parameter */') |
& 'SEAICE_evpDampC =', ' /* EVP damping parameter */') |
221 |
CALL WRITE_0D_L ( SEAICEuseEVPpickup, INDEX_NONE, |
CALL WRITE_0D_L ( SEAICEuseEVPstar, INDEX_NONE, |
222 |
|
& 'SEAICEuseEVPstar=', ' /* use EVP* solver */') |
223 |
|
CALL WRITE_0D_RL( SEAICE_evpAlpha ,INDEX_NONE, |
224 |
|
& 'SEAICE_evpAlpha =', ' /* EVP* parameter*/') |
225 |
|
CALL WRITE_0D_RL( SEAICE_evpBeta ,INDEX_NONE, |
226 |
|
& 'SEAICE_evpBeta =', ' /* EVP* parameter */') |
227 |
|
CALL WRITE_0D_I ( SEAICEnEVPstarSteps, INDEX_NONE, |
228 |
|
& 'SEAICEnEVPstarSteps =', ' /* num. of EVP* steps */') |
229 |
|
CALL WRITE_0D_L ( SEAICEuseEVPpickup, INDEX_NONE, |
230 |
& 'SEAICEuseEVPpickup=', ' /* start EVP solver with EVP pickup*/') |
& 'SEAICEuseEVPpickup=', ' /* start EVP solver with EVP pickup*/') |
231 |
#endif /* SEAICE_ALLOW_EVP */ |
#endif /* SEAICE_ALLOW_EVP */ |
232 |
ENDIF |
ENDIF |
404 |
& 'SEAICE_salinityTracer =', ' /* test SITR varia. salinity */') |
& 'SEAICE_salinityTracer =', ' /* test SITR varia. salinity */') |
405 |
CALL WRITE_0D_L ( SEAICEuseFlooding, INDEX_NONE, |
CALL WRITE_0D_L ( SEAICEuseFlooding, INDEX_NONE, |
406 |
& 'SEAICEuseFlooding =', ' /* turn submerged snow into ice */') |
& 'SEAICEuseFlooding =', ' /* turn submerged snow into ice */') |
|
#ifndef SEAICE_CAP_HEFF |
|
|
WRITE(msgBuf,'(A,A)') |
|
|
& 'MAX_HEFF has no effect because SEAICE_CAP_HEFF is undefined' |
|
|
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
|
|
& SQUEEZE_RIGHT, myThid ) |
|
|
#endif /* SEAICE_CAP_HEFF */ |
|
|
CALL WRITE_0D_RL( MAX_HEFF ,INDEX_NONE, |
|
|
& 'MAX_HEFF =', ' /* maximum ice thickness */') |
|
407 |
|
|
408 |
WRITE(msgBuf,'(A)') ' ' |
WRITE(msgBuf,'(A)') ' ' |
409 |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |