63 |
C values of uVel, vVel, surfaceForcingU, surfaceForcingV in the |
C values of uVel, vVel, surfaceForcingU, surfaceForcingV in the |
64 |
C region (-2:sNx+4,-2:sNy+4). |
C region (-2:sNx+4,-2:sNy+4). |
65 |
C Hence overlap region needs to be set OLx=4, OLy=4. |
C Hence overlap region needs to be set OLx=4, OLy=4. |
66 |
C When option FRUGAL_KPP is used, computation in overlap regions |
#if defined(KPP_SMOOTH_SHSQ) || defined(KPP_SMOOTH_DVSQ) |
67 |
C is replaced with exchange calls hence reducing KPP overlap |
# define KPP_NEEDS_OVERLAP_4 |
68 |
C requirements to OLx=1, OLy=1. |
#endif |
69 |
#ifndef FRUGAL_KPP |
#if defined(KPP_SMOOTH_DBLOC) || defined(KPP_SMOOTH_DENS) |
70 |
# if defined(KPP_SMOOTH_SHSQ) || defined(KPP_SMOOTH_DVSQ) |
# define KPP_NEEDS_OVERLAP_4 |
71 |
# define KPP_NEEDS_OVERLAP_4 |
#endif |
72 |
# endif |
#ifdef KPP_NEEDS_OVERLAP_4 |
|
# if defined(KPP_SMOOTH_DBLOC) || defined(KPP_SMOOTH_DENS) |
|
|
# define KPP_NEEDS_OVERLAP_4 |
|
|
# endif |
|
|
# ifdef KPP_NEEDS_OVERLAP_4 |
|
73 |
#ifdef KPP_REACTIVATE_OL4 |
#ifdef KPP_REACTIVATE_OL4 |
74 |
IF (OLx.LT.4 .OR. OLy.LT.4) THEN |
IF (OLx.LT.4 .OR. OLy.LT.4) THEN |
75 |
WRITE(msgBuf,'(A)') 'KPP horizontal smoothing requires OLx=OLy=4' |
WRITE(msgBuf,'(A)') 'KPP horizontal smoothing requires OLx=OLy=4' |
76 |
CALL PRINT_ERROR( msgBuf , 1) |
CALL PRINT_ERROR( msgBuf , 1) |
|
WRITE(msgBuf,'(A)') 'or CPP option FRUGAL_KPP to be defined.' |
|
|
CALL PRINT_ERROR( msgBuf , 1) |
|
77 |
STOP 'ABNORMAL END: S/R KPP_CHECK' |
STOP 'ABNORMAL END: S/R KPP_CHECK' |
78 |
ENDIF |
ENDIF |
79 |
#endif |
#endif |
|
# endif |
|
80 |
#endif |
#endif |
81 |
|
|
82 |
#endif /* ALLOW_KPP */ |
#endif /* ALLOW_KPP */ |