23 |
#include "EOS.h" |
#include "EOS.h" |
24 |
|
|
25 |
C !INPUT/OUTPUT PARAMETERS: |
C !INPUT/OUTPUT PARAMETERS: |
26 |
C myThid - Number of this instance of SET_PARMS |
C myThid :: My Thread Id number |
27 |
INTEGER myThid |
INTEGER myThid |
28 |
|
|
29 |
C !LOCAL VARIABLES: |
C !LOCAL VARIABLES: |
30 |
CHARACTER*(MAX_LEN_MBUF) msgBuf |
CHARACTER*(MAX_LEN_MBUF) msgBuf |
|
c INTEGER IL, iUnit |
|
31 |
c INTEGER ILNBLNK |
c INTEGER ILNBLNK |
32 |
c EXTERNAL ILNBLNK |
c EXTERNAL ILNBLNK |
|
|
|
33 |
CEOP |
CEOP |
34 |
|
|
35 |
_BEGIN_MASTER(myThid) |
_BEGIN_MASTER(myThid) |
60 |
momImplVertAdv = momAdvection .AND. momImplVertAdv |
momImplVertAdv = momAdvection .AND. momImplVertAdv |
61 |
implicitViscosity= momViscosity .AND. implicitViscosity |
implicitViscosity= momViscosity .AND. implicitViscosity |
62 |
use3Dsolver = nonHydrostatic.OR. implicitIntGravWave |
use3Dsolver = nonHydrostatic.OR. implicitIntGravWave |
63 |
|
|
64 |
|
C-- Free-surface & pressure method |
65 |
|
IF ( selectNHfreeSurf.NE.0 .AND. |
66 |
|
& ( .NOT.nonHydrostatic .OR. usingPCoords |
67 |
|
& .OR. .NOT.exactConserv |
68 |
|
& ) ) THEN |
69 |
|
WRITE(msgBuf,'(2A)') '** WARNING ** SET_PARMS: ', |
70 |
|
& 'reset selectNHfreeSurf to zero' |
71 |
|
CALL PRINT_MESSAGE( msgBuf, errorMessageUnit, |
72 |
|
& SQUEEZE_RIGHT, myThid ) |
73 |
|
selectNHfreeSurf = 0 |
74 |
|
ENDIF |
75 |
C-- Set default Vorticity-Term Scheme: |
C-- Set default Vorticity-Term Scheme: |
76 |
IF ( vectorInvariantMomentum ) THEN |
IF ( vectorInvariantMomentum ) THEN |
77 |
IF ( selectVortScheme.EQ.UNSET_I ) THEN |
IF ( selectVortScheme.EQ.UNSET_I ) THEN |
82 |
ELSEIF ( selectVortScheme.NE.UNSET_I ) THEN |
ELSEIF ( selectVortScheme.NE.UNSET_I ) THEN |
83 |
WRITE(msgBuf,'(A,A)') '** WARNING ** SET_PARMS: ', |
WRITE(msgBuf,'(A,A)') '** WARNING ** SET_PARMS: ', |
84 |
& 'Vector-Invariant Momentum unused => ignore selectVortScheme' |
& 'Vector-Invariant Momentum unused => ignore selectVortScheme' |
85 |
CALL PRINT_MESSAGE( msgBuf, errorMessageUnit, SQUEEZE_RIGHT, 1 ) |
CALL PRINT_MESSAGE( msgBuf, errorMessageUnit, |
86 |
|
& SQUEEZE_RIGHT, myThid ) |
87 |
ENDIF |
ENDIF |
88 |
C-- Momentum viscosity on/off flag. |
C-- Momentum viscosity on/off flag. |
89 |
IF ( momViscosity ) THEN |
IF ( momViscosity ) THEN |
90 |
vfFacMom = 1.D0 |
vfFacMom = 1. _d 0 |
91 |
ELSE |
ELSE |
92 |
vfFacMom = 0.D0 |
vfFacMom = 0. _d 0 |
93 |
ENDIF |
ENDIF |
94 |
C-- Momentum advection on/off flag. |
C-- Momentum advection on/off flag. |
95 |
IF ( momAdvection ) THEN |
IF ( momAdvection ) THEN |
96 |
afFacMom = 1.D0 |
afFacMom = 1. _d 0 |
97 |
ELSE |
ELSE |
98 |
afFacMom = 0.D0 |
afFacMom = 0. _d 0 |
99 |
ENDIF |
ENDIF |
100 |
C-- Momentum forcing on/off flag. |
C-- Momentum forcing on/off flag. |
101 |
IF ( momForcing ) THEN |
IF ( momForcing ) THEN |
102 |
foFacMom = 1.D0 |
foFacMom = 1. _d 0 |
103 |
ELSE |
ELSE |
104 |
foFacMom = 0.D0 |
foFacMom = 0. _d 0 |
105 |
ENDIF |
ENDIF |
106 |
C-- Coriolis term on/off flag. |
C-- Coriolis term on/off flag. |
107 |
IF ( useCoriolis ) THEN |
IF ( useCoriolis ) THEN |
108 |
cfFacMom = 1.D0 |
cfFacMom = 1. _d 0 |
109 |
ELSE |
ELSE |
110 |
cfFacMom = 0.D0 |
cfFacMom = 0. _d 0 |
111 |
ENDIF |
ENDIF |
112 |
C-- Pressure term on/off flag. |
C-- Pressure term on/off flag. |
113 |
IF ( momPressureForcing ) THEN |
IF ( momPressureForcing ) THEN |
114 |
pfFacMom = 1.D0 |
pfFacMom = 1. _d 0 |
115 |
ELSE |
ELSE |
116 |
pfFacMom = 0.D0 |
pfFacMom = 0. _d 0 |
117 |
ENDIF |
ENDIF |
118 |
C-- Metric terms on/off flag. |
C-- Metric terms on/off flag. |
119 |
IF ( metricTerms ) THEN |
IF ( metricTerms ) THEN |
120 |
mTFacMom = 1.D0 |
mTFacMom = 1. _d 0 |
121 |
ELSE |
ELSE |
122 |
mTFacMom = 0.D0 |
mTFacMom = 0. _d 0 |
123 |
ENDIF |
ENDIF |
124 |
|
|
125 |
C-- Advection and Forcing for Temp and salt on/off flags |
C-- Advection and Forcing for Temp and salt on/off flags |