25 |
|
|
26 |
#ifdef ALLOW_GMREDI |
#ifdef ALLOW_GMREDI |
27 |
|
|
|
C-- GM/Redi parameter |
|
|
NAMELIST /GM_PARM01/ |
|
|
& GM_background_K, |
|
|
& GM_taper_scheme, |
|
|
& GM_maxSlope, |
|
|
& GM_Visbeck_alpha, |
|
|
& GM_Visbeck_length, |
|
|
& GM_Visbeck_depth, |
|
|
& GM_Visbeck_maxval_K, |
|
|
& GM_Scrit, |
|
|
& GM_Sd |
|
|
|
|
28 |
C === Local variables === |
C === Local variables === |
29 |
C msgBuf - Informational/error meesage buffer |
C msgBuf - Informational/error meesage buffer |
30 |
C iUnit - Work variable for IO unit number |
C iUnit - Work variable for IO unit number |
32 |
INTEGER iUnit |
INTEGER iUnit |
33 |
INTEGER k,bi,bj |
INTEGER k,bi,bj |
34 |
|
|
|
_BEGIN_MASTER(myThid) |
|
|
|
|
|
WRITE(msgBuf,'(A)') ' GM_INIT: opening data.gmredi' |
|
|
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
|
|
& SQUEEZE_RIGHT , 1) |
|
|
|
|
|
|
|
|
CALL OPEN_COPY_DATA_FILE( |
|
|
I 'data.gmredi', 'GM_INIT', |
|
|
O iUnit, |
|
|
I myThid ) |
|
|
|
|
|
C-- Default values GM/Redi |
|
|
GM_background_K = 0. |
|
|
GM_maxslope = 1.0D-2 |
|
|
GM_taper_scheme = ' ' |
|
|
GM_Scrit=0.004 |
|
|
GM_Sd=0.001 |
|
|
|
|
|
#ifdef GM_VISBECK_VARIABLE_K |
|
|
C-- Default values Visbeck |
|
|
GM_Visbeck_alpha = 0. |
|
|
GM_Visbeck_length = 200.D3 |
|
|
GM_Visbeck_depth = 1000.D0 |
|
|
GM_Visbeck_maxval_K = 2500.D0 |
|
|
#endif |
|
|
|
|
|
|
|
|
C-- Read parameters from open data file |
|
|
READ(UNIT=iUnit,NML=GM_PARM01) |
|
|
|
|
|
C Some constants |
|
|
GM_rMaxSlope=0. |
|
|
if (GM_maxSlope.ne.0.) GM_rMaxSlope=1. / GM_maxSlope |
|
|
|
|
|
#ifndef GM_VISBECK_VARIABLE_K |
|
|
C Make sure we are not trying to use something that is unavailable |
|
|
IF (GM_Visbeck_alpha .NE. 0.) THEN |
|
|
WRITE(msgBuf,'(A)') |
|
|
& ' GM_INIT: Visbeck variables used in data.gmredi' |
|
|
CALL PRINT_ERROR( msgBuf, 1 ) |
|
|
WRITE(msgBuf,'(A)') |
|
|
& ' GM_INIT: without #define GM_VISBECK_VARIABLE_K' |
|
|
CALL PRINT_ERROR( msgBuf, 1 ) |
|
|
STOP 'ABNORMAL END: S/R GM_INIT' |
|
|
ENDIF |
|
|
#endif |
|
|
|
|
|
WRITE(msgBuf,'(A)') ' GM_INIT: finished reading data.gmredi' |
|
|
CALL PRINT_MESSAGE( msgBuf, standardMessageUnit, |
|
|
& SQUEEZE_RIGHT , 1) |
|
|
|
|
|
C-- Close the open data file |
|
|
CLOSE(iUnit) |
|
|
_END_MASTER(myThid) |
|
|
|
|
|
C-- Everyone else must wait for the parameters to be loaded |
|
|
_BARRIER |
|
|
|
|
|
|
|
35 |
#ifdef INCLUDE_DIAGNOSTICS_INTERFACE_CODE |
#ifdef INCLUDE_DIAGNOSTICS_INTERFACE_CODE |
36 |
C Initialize averages to zero |
C Initialize averages to zero |
37 |
DO bj = myByLo(myThid), myByHi(myThid) |
DO bj = myByLo(myThid), myByHi(myThid) |