25 |
NAMELIST /SHAP_PARM01/ |
NAMELIST /SHAP_PARM01/ |
26 |
& Shap_funct, shap_filt_uvStar, shap_filt_TrStagg, |
& Shap_funct, shap_filt_uvStar, shap_filt_TrStagg, |
27 |
& nShapT, nShapTrPhys, Shap_Trtau, Shap_TrLength, |
& nShapT, nShapTrPhys, Shap_Trtau, Shap_TrLength, |
28 |
& nShapUV, nShapUVPhys, Shap_uvtau, Shap_uvLength |
& nShapUV, nShapUVPhys, Shap_uvtau, Shap_uvLength, |
29 |
|
& Shap_noSlip |
30 |
|
|
31 |
C === Local variables === |
C === Local variables === |
32 |
C msgBuf - Informational/error meesage buffer |
C msgBuf - Informational/error meesage buffer |
61 |
Shap_TrLength = 0. |
Shap_TrLength = 0. |
62 |
Shap_uvtau = deltaTMom |
Shap_uvtau = deltaTMom |
63 |
Shap_TrLength = 0. |
Shap_TrLength = 0. |
64 |
|
Shap_noSlip = 0. |
65 |
|
|
66 |
C-- Read parameters from open data file |
C-- Read parameters from open data file |
67 |
READ(UNIT=iUnit,NML=SHAP_PARM01) |
READ(UNIT=iUnit,NML=SHAP_PARM01) |
71 |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
72 |
& SQUEEZE_RIGHT , 1) |
& SQUEEZE_RIGHT , 1) |
73 |
|
|
|
write(*,*) 'Shap_funct, nShap_Tr,UV _Phys=', |
|
|
& Shap_funct, nShapT, nShapUV, nShapTrPhys, nShapUVPhys |
|
|
write(*,*) 'Shap_Trtau,Shap_uvtau=',Shap_Trtau,Shap_uvtau |
|
74 |
C-- Close the open data file |
C-- Close the open data file |
75 |
CLOSE(iUnit) |
CLOSE(iUnit) |
76 |
|
|
77 |
|
C- print out some kee parameters : |
78 |
|
CALL WRITE_0D_I( Shap_funct, INDEX_NONE, |
79 |
|
& 'Shap_funct =', |
80 |
|
& ' /* select Shapiro filter function */') |
81 |
|
CALL WRITE_0D_I( nShapT , INDEX_NONE, |
82 |
|
& 'nShapTr =', |
83 |
|
& ' /* power of Shapiro filter for Tracers */') |
84 |
|
CALL WRITE_0D_I( nShapUV, INDEX_NONE, |
85 |
|
& 'nShapUV =', |
86 |
|
& ' /* power of Shapiro filter for momentum */') |
87 |
|
|
88 |
|
IF (Shap_funct.EQ.2) THEN |
89 |
|
CALL WRITE_0D_I( nShapTrPhys, INDEX_NONE, |
90 |
|
& 'nShapTrPhys =', |
91 |
|
& ' /* power of physical-space filter (Tracer) */') |
92 |
|
CALL WRITE_0D_I( nShapUVPhys, INDEX_NONE, |
93 |
|
& 'nShapUVPhys =', |
94 |
|
& ' /* power of physical-space filter (Momentum) */') |
95 |
|
ENDIF |
96 |
|
|
97 |
|
CALL WRITE_0D_R8( Shap_Trtau, INDEX_NONE, |
98 |
|
& 'Shap_Trtau =', |
99 |
|
& ' /* time scale of Shapiro filter (Tracer) */') |
100 |
|
CALL WRITE_0D_R8( Shap_TrLength, INDEX_NONE, |
101 |
|
& 'Shap_TrLength =', |
102 |
|
& ' /* Length scale of Shapiro filter (Tracer) */') |
103 |
|
CALL WRITE_0D_R8( Shap_uvtau, INDEX_NONE, |
104 |
|
& 'Shap_uvtau =', |
105 |
|
& ' /* time scale of Shapiro filter (Momentum) */') |
106 |
|
CALL WRITE_0D_R8( Shap_uvLength, INDEX_NONE, |
107 |
|
& 'Shap_uvLength =', |
108 |
|
& ' /* Length scale of Shapiro filter (Momentum) */') |
109 |
|
CALL WRITE_0D_R8( Shap_noSlip, INDEX_NONE, |
110 |
|
& 'Shap_noSlip =', |
111 |
|
& ' /* No-slip parameter (0=Free-slip ; 1=No-slip)*/') |
112 |
|
|
113 |
_END_MASTER(myThid) |
_END_MASTER(myThid) |
114 |
|
|
115 |
C-- Everyone else must wait for the parameters to be loaded |
C-- Everyone else must wait for the parameters to be loaded |
116 |
_BARRIER |
_BARRIER |
117 |
|
|
118 |
|
C-- Check the Options : |
119 |
|
#ifndef USE_OLD_SHAPIRO_FILTERS |
120 |
|
#ifdef NO_SLIP_SHAP |
121 |
|
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
122 |
|
WRITE(msgBuf,'(2A)') 'SHAP_FILT: CPP-option NO_SLIP_SHAP', |
123 |
|
& ' only in OLD_SHAPIRO S/R ;' |
124 |
|
CALL PRINT_ERROR( msgBuf , 1) |
125 |
|
WRITE(msgBuf,'(2A)') ' ==> use parameter Shap_noSlip=1. ', |
126 |
|
& '(in "data.shap") instead' |
127 |
|
CALL PRINT_ERROR( msgBuf , 1) |
128 |
|
STOP 'ABNORMAL END: S/R SHAP_FILT_READPARMS' |
129 |
|
#endif |
130 |
|
#endif |
131 |
|
|
132 |
C-- Check the parameters : |
C-- Check the parameters : |
133 |
|
|
134 |
IF ( .NOT.shap_filt_uvStar ) THEN |
IF ( .NOT.shap_filt_uvStar ) THEN |