& nonlinFreeSurf, select_rStar,
INTEGER nonlinFreeSurf
IF ( nonlinFreeSurf.GT.0 ) THEN
noFlowAcrossSurf = rigidLid .OR. nonlinFreeSurf.GE.1
IF ( ( selectAddFluid.GE.1 .AND. nonlinFreeSurf.GT.0 )
IF (select_rStar.GE.2 .AND. nonlinFreeSurf.GE.1 ) THEN
IF (select_rStar.GE.2 .AND. nonlinFreeSurf.GE.4 ) THEN
ELSEIF (select_rStar.GE.1 .AND. nonlinFreeSurf.GE.4 ) THEN
IF ( (nonlinFreeSurf.GT.0 .OR. usingPCoords)
addSurfPhiAnom = select_rStar.EQ.0 .AND. nonlinFreeSurf.GE.4
& .AND. nonlinFreeSurf.GT.0 ) THEN
IF ( no_slip_sides .AND. nonlinFreeSurf.GT.0 ) THEN
IF (nonlinFreeSurf.NE.0) THEN
IF ( linFSConserveTr .AND. nonlinFreeSurf.NE.0 ) THEN
IF (nonlinFreeSurf.NE.0 .AND. .NOT.exactConserv) THEN
IF ( select_rStar.GE.1 .AND. nonlinFreeSurf.LE.0 ) THEN
& ' with Linear FreeSurf (nonlinFreeSurf=', nonlinFreeSurf,' )'
IF ( select_rStar.EQ.2 .AND. nonlinFreeSurf.NE.4 ) THEN
& 'select_rStar=2 not right with nonlinFreeSurf=', nonlinFreeSurf
IF ( nonlinFreeSurf.LE.0 ) THEN
IF ( nonlinFreeSurf.NE.0 .AND.
IF (nonlinFreeSurf.NE.0 .AND. use3Dsolver) THEN
buffI(1) = nonlinFreeSurf
& .OR. nonlinFreeSurf.LE.0 ) THEN
IF (nonlinFreeSurf.GT.0) THEN
IF ( nonlinFreeSurf.EQ.0 .AND.
IF (select_rStar.GE.1 .AND. nonlinFreeSurf.GE.4 ) THEN
IF ( nonlinFreeSurf.GT.0 .AND. staggerTimeStep ) THEN
IF ( select_rStar.GE.1 .AND. nonlinFreeSurf.GE.4 ) THEN
IF ( myIter.NE.nIter0 .OR. nonlinFreeSurf.LE.0 ) THEN
ELSEIF ( nonlinFreeSurf.GT.0 ) THEN
IF ( ( (nonlinFreeSurf.GT.0 .OR. usingPCoords)
IF ( .NOT.useOffLine .OR. nonlinFreeSurf.GT.0 ) THEN
IF (staggerTimeStep.AND.nonlinFreeSurf.GT.0) THEN
& ( nonlinFreeSurf.GT.2 .OR. selectImplicitDrag.EQ.2 ) ) THEN
ELSEIF ( nonlinFreeSurf.GT.0 .AND. selectSigmaCoord.EQ.0 ) THEN
& useRealFreshWaterFlux.AND.(nonlinFreeSurf.NE.0) ) THEN
IF ( useRealFreshWaterFlux.AND.(nonlinFreeSurf.GT.0)
ELSEIF ( .NOT.useOffLine .OR. nonlinFreeSurf.GT.0 ) THEN
IF ( staggerTimeStep .AND. nonlinFreeSurf.GT.0 ) THEN
& nonlinFreeSurf, hFacInf, hFacSup, select_rStar,
IF ( nonlinFreeSurf.GT.2 ) THEN
IF ( nonlinFreeSurf.GT.0 .AND. selectSigmaCoord.NE.0 ) THEN
IF (nonlinFreeSurf .GE. 0) THEN
IF (nonlinFreeSurf .GT. 0) THEN
nonlinFreeSurf = 0
& .AND. nonlinFreeSurf.GT.1 ) THEN
IF ( useOBCS.AND.nonlinFreeSurf.GT.0 )
& ( useOBCS.AND.nonlinFreeSurf.GT.0 ) )
IF (useLatest.AND.(nonlinFreeSurf.GT.0)) then
ELSEIF (nonlinFreeSurf.GT.0) THEN