/[MITgcm]/MITgcm/pkg/kpp/kpp_check.F
ViewVC logotype

Contents of /MITgcm/pkg/kpp/kpp_check.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.4 - (show annotations) (download)
Sun Feb 4 14:38:50 2001 UTC (23 years, 4 months ago) by cnh
Branch: MAIN
CVS Tags: checkpoint46n_post, checkpoint51k_post, checkpoint47e_post, checkpoint52l_pre, checkpoint44e_post, hrcube4, hrcube5, checkpoint46l_post, checkpoint46g_pre, checkpoint47c_post, release1_p13_pre, checkpoint50c_post, checkpoint46f_post, checkpoint52d_pre, checkpoint48e_post, checkpoint50c_pre, checkpoint44f_post, checkpoint46b_post, checkpoint52j_pre, checkpoint43a-release1mods, checkpoint51o_pre, ecco_c50_e32, ecco_c50_e33, ecco_c50_e30, ecco_c50_e31, release1_p13, checkpoint40pre3, checkpoint40pre1, checkpoint51l_post, checkpoint40pre7, checkpoint40pre6, checkpoint48i_post, checkpoint40pre9, checkpoint40pre8, checkpoint46l_pre, checkpoint52l_post, checkpoint52k_post, chkpt44d_post, checkpoint54, checkpoint51, checkpoint50, checkpoint53, checkpoint52, release1_p8, release1_p9, checkpoint50d_post, release1_p1, release1_p2, release1_p3, release1_p4, release1_p5, release1_p6, release1_p7, checkpoint52f_post, checkpoint50b_pre, checkpoint44e_pre, checkpoint51f_post, release1_b1, ecco_c51_e34d, ecco_c51_e34e, ecco_c51_e34f, ecco_c51_e34g, ecco_c51_e34a, ecco_c51_e34b, ecco_c51_e34c, checkpoint48b_post, checkpoint43, checkpoint51d_post, checkpoint48c_pre, checkpoint47d_pre, checkpoint51t_post, checkpoint38, checkpoint51n_post, release1_chkpt44d_post, checkpoint52i_pre, hrcube_1, hrcube_2, hrcube_3, checkpoint51s_post, checkpoint47a_post, checkpoint48d_pre, checkpoint51j_post, checkpoint47i_post, checkpoint52e_pre, checkpoint52e_post, checkpoint51n_pre, checkpoint47d_post, icebear5, icebear4, icebear3, icebear2, checkpoint53d_post, checkpoint46d_pre, checkpoint40pre2, checkpoint48d_post, release1-branch_tutorials, checkpoint48f_post, checkpoint45d_post, checkpoint52b_pre, checkpoint54b_post, checkpoint46j_pre, checkpoint51l_pre, checkpoint52m_post, chkpt44a_post, checkpoint44h_pre, checkpoint48h_post, checkpoint51q_post, checkpoint40pre4, ecco_c50_e29, checkpoint51b_pre, checkpoint46a_post, checkpoint47g_post, checkpoint52b_post, checkpoint52c_post, checkpoint46j_post, checkpoint51h_pre, checkpoint46k_post, ecco_c50_e28, chkpt44c_pre, checkpoint48a_post, checkpoint45a_post, checkpoint50f_post, checkpoint50a_post, checkpoint50f_pre, checkpoint52f_pre, ecco_c44_e19, ecco_c44_e18, ecco_c44_e17, ecco_c44_e16, release1_p12, release1_p10, release1_p11, release1_p16, release1_p17, release1_p14, release1_p15, checkpoint47j_post, pre38tag1, checkpoint54a_pre, ecco_c50_e33a, checkpoint53c_post, branch-exfmods-tag, checkpoint44g_post, branchpoint-genmake2, checkpoint54a_post, checkpoint46e_pre, checkpoint51r_post, checkpoint48c_post, checkpoint45b_post, checkpoint46b_pre, checkpoint51i_post, release1-branch-end, c37_adj, release1_final_v1, checkpoint51b_post, checkpoint51c_post, checkpoint46c_pre, checkpoint53a_post, checkpoint46, checkpoint47b_post, checkpoint44b_post, ecco_c51_e34, checkpoint46h_pre, checkpoint52d_post, checkpoint53g_post, checkpoint46m_post, checkpoint46a_pre, checkpoint50g_post, checkpoint45c_post, ecco_ice2, ecco_ice1, checkpoint44h_post, pre38-close, checkpoint46g_post, release1_p12_pre, checkpoint39, checkpoint52a_pre, checkpoint37, checkpoint36, checkpoint35, ecco_c44_e22, checkpoint50h_post, checkpoint52i_post, checkpoint50e_pre, checkpoint50i_post, ecco_c44_e25, checkpoint51i_pre, checkpoint52h_pre, checkpoint53f_post, checkpoint40pre5, checkpoint52j_post, checkpoint47f_post, checkpoint50e_post, chkpt44a_pre, checkpoint46i_post, ecco_c44_e23, ecco_c44_e20, ecco_c44_e21, ecco_c44_e26, ecco_c44_e27, ecco_c44_e24, checkpoint46c_post, ecco-branch-mod1, ecco-branch-mod2, ecco-branch-mod3, ecco-branch-mod4, ecco-branch-mod5, branch-netcdf, checkpoint50d_pre, checkpoint52n_post, checkpoint53b_pre, checkpoint46e_post, release1_beta1, checkpoint51e_post, checkpoint44b_pre, checkpoint42, checkpoint40, checkpoint41, checkpoint47, checkpoint44, checkpoint45, checkpoint48, checkpoint49, checkpoint46h_post, checkpoint51o_post, checkpoint51f_pre, chkpt44c_post, checkpoint48g_post, checkpoint53b_post, checkpoint47h_post, checkpoint52a_post, checkpoint44f_pre, checkpoint51g_post, ecco_c52_e35, checkpoint46d_post, checkpoint50b_post, release1-branch_branchpoint, checkpoint51m_post, checkpoint53d_pre, checkpoint51a_post, checkpoint51p_post, checkpoint51u_post
Branch point for: c24_e25_ice, branch-exfmods-curt, release1_final, release1-branch, branch-genmake2, release1, branch-nonh, tg2-branch, ecco-branch, release1_50yr, netcdf-sm0, icebear, checkpoint51n_branch, pre38, release1_coupled
Changes since 1.3: +2 -0 lines
Made sure each .F and .h file had
the CVS keywords Header and Name at its start.
Most had header but very few currently have Name, so
lots of changes!

1 C $Header: $
2 C $Name: $
3 #include "KPP_OPTIONS.h"
4
5 SUBROUTINE KPP_CHECK( myThid )
6 C /==========================================================\
7 C | SUBROUTINE KPP_CHECK |
8 C | o Validate basic package setup and inter-package |
9 C | dependencies. |
10 C \==========================================================/
11 IMPLICIT NONE
12
13 C === Global variables ===
14 #include "SIZE.h"
15 #include "EEPARAMS.h"
16 #include "PARAMS.h"
17
18 C === Routine arguments ===
19 C myThid - Number of this instance of KPP_INIT
20 INTEGER myThid
21
22 #ifdef ALLOW_KPP
23
24 C === Local variables ===
25 C msgBuf - Informational/error meesage buffer
26 CHARACTER*(MAX_LEN_MBUF) msgBuf
27
28 WRITE(msgBuf,'(A)') 'KPP_CHECK: #define ALLOW_KPP'
29 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
30 & SQUEEZE_RIGHT , 1)
31
32 C KPP needs convection turned off (will be packaged later)
33 IF (cAdjFreq.NE.0. .OR.
34 & ivdc_kappa.NE.0.) THEN
35 WRITE(msgBuf,'(A)') 'Some form of convection has been enabled'
36 CALL PRINT_ERROR( msgBuf , 1)
37 STOP 'ABNORMAL END: S/R KPP_CHECK'
38 ENDIF
39
40 C KPP needs implicit vertical diffusion and viscosity
41 IF (.NOT.implicitDiffusion ) THEN
42 WRITE(msgBuf,'(A)') 'KPP needs implicitDiffusion to be enabled'
43 CALL PRINT_ERROR( msgBuf , 1)
44 STOP 'ABNORMAL END: S/R KPP_CHECK'
45 ENDIF
46 IF (.NOT.implicitViscosity) THEN
47 WRITE(msgBuf,'(A)') 'KPP needs implicitViscosity to be enabled'
48 CALL PRINT_ERROR( msgBuf , 1)
49 STOP 'ABNORMAL END: S/R KPP_CHECK'
50 ENDIF
51
52 C Shortwave heating should be defined with KPP
53 #ifndef SHORTWAVE_HEATING
54 WRITE(msgBuf,'(A)') 'KPP needs CPP flag SHORTWAVE_HEATING enabled'
55 CALL PRINT_ERROR( msgBuf , 1)
56 STOP 'ABNORMAL END: S/R KPP_CHECK'
57 #endif /* SHORTWAVE_HEATING */
58
59 C Check that overlap region is adequate.
60 C When horizontal smoothing is turned on,
61 C KPP_CALC computes vertical viscosity and diffusivity for region
62 C (-2:sNx+3,-2:sNy+3) as required by CALC_DIFFUSIVITY and requires
63 C values of uVel, vVel, SurfaceTendencyU, SurfaceTendencyV in the
64 C region (-2:sNx+4,-2:sNy+4).
65 C Hence overlap region needs to be set OLx=4, OLy=4.
66 C When option FRUGAL_KPP is used, computation in overlap regions
67 C is replaced with exchange calls hence reducing KPP overlap
68 C requirements to OLx=1, OLy=1.
69 #ifndef FRUGAL_KPP
70 # if defined(KPP_SMOOTH_SHSQ) || defined(KPP_SMOOTH_DVSQ)
71 # define KPP_NEEDS_OVERLAP_4
72 # endif
73 # if defined(KPP_SMOOTH_DBLOC) || defined(KPP_SMOOTH_DENS)
74 # define KPP_NEEDS_OVERLAP_4
75 # endif
76 # ifdef KPP_NEEDS_OVERLAP_4
77 #ifdef KPP_REACTIVATE_OL4
78 IF (OLx.LT.4 .OR. OLy.LT.4) THEN
79 WRITE(msgBuf,'(A)') 'KPP horizontal smoothing requires OLx=OLy=4'
80 CALL PRINT_ERROR( msgBuf , 1)
81 WRITE(msgBuf,'(A)') 'or CPP option FRUGAL_KPP to be defined.'
82 CALL PRINT_ERROR( msgBuf , 1)
83 STOP 'ABNORMAL END: S/R KPP_CHECK'
84 ENDIF
85 #endif
86 # endif
87 #endif
88
89 #endif /* ALLOW_KPP */
90
91 return
92 end

  ViewVC Help
Powered by ViewVC 1.1.22