/[MITgcm]/MITgcm/pkg/gmredi/gmredi_check.F
ViewVC logotype

Annotation of /MITgcm/pkg/gmredi/gmredi_check.F

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


Revision 1.7 - (hide annotations) (download)
Thu Nov 14 22:43:49 2002 UTC (21 years, 7 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint47e_post, checkpoint47c_post, checkpoint47d_pre, checkpoint47a_post, checkpoint47d_post, checkpoint47g_post, branch-exfmods-tag, checkpoint47b_post, checkpoint47f_post, checkpoint47, checkpoint47h_post
Branch point for: branch-exfmods-curt
Changes since 1.6: +2 -2 lines
o * "clean" adjoint code (in terms of extensive recomputations)
    can now be obtained for all GMREDI options (i.e. for
    - GM_VISBECK_VARIABLE_K
    - GM_NON_UNITY_DIAGONAL
    - GM_EXTRA_DIAGONAL
    - GM_BOLUS_ADVEC )
  * However, wrong gradient check problem remains unsolved.
  * New CPP options have been introduced for different
    tapering schemes

1 heimbach 1.7 C $Header: /u/gcmpack/MITgcm/pkg/gmredi/gmredi_check.F,v 1.6 2002/03/06 01:56:27 jmc Exp $
2     C $Name: checkpoint46 $
3 heimbach 1.1
4     #include "CPP_OPTIONS.h"
5    
6     SUBROUTINE GMREDI_CHECK( myThid )
7     C /==========================================================\
8     C | SUBROUTINE GMREDI_CHECK |
9     C | o Check dependances with other packages |
10     C |==========================================================|
11     C \==========================================================/
12     IMPLICIT NONE
13    
14     C === Global variables ===
15     #include "SIZE.h"
16     #include "EEPARAMS.h"
17     #include "PARAMS.h"
18     #include "GMREDI.h"
19    
20     C === Routine arguments ===
21     C myThid - Number of this instances
22     INTEGER myThid
23    
24     C === Local variables ===
25     C msgBuf - Informational/error meesage buffer
26     CHARACTER*(MAX_LEN_MBUF) msgBuf
27    
28    
29     #ifdef ALLOW_GMREDI
30 adcroft 1.3 IF (GMRediIsOn) THEN
31 heimbach 1.1
32 adcroft 1.3 WRITE(msgBuf,'(A)') 'GMREDI_CHECK: #define GMREDI'
33     CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
34     & SQUEEZE_RIGHT , 1)
35 heimbach 1.1
36     C GM/Redi needs implicit diffusion (will be packaged later)
37     IF (.NOT.implicitDiffusion) THEN
38     WRITE(msgBuf,'(A)') 'GM/Redi needs implicitDiffusion=.true.'
39     CALL PRINT_ERROR( msgBuf , 1)
40 adcroft 1.3 STOP 'ABNORMAL END: S/R GMREDI_CHECK'
41 heimbach 1.1 ENDIF
42 jmc 1.5
43     C- print out some kee parameters :
44     CALL WRITE_0D_L( GM_AdvForm, INDEX_NONE,
45     & 'GM_AdvForm =', ' /* if FALSE => use SkewFlux Form */')
46 jmc 1.6 CALL WRITE_0D_L( GM_AdvSeparate, INDEX_NONE,
47     & 'GM_AdvSeparate =',' /* Calc Bolus & Euler Adv. separately */')
48 jmc 1.5 CALL WRITE_0D_L( GM_ExtraDiag, INDEX_NONE,
49     & 'GM_ExtraDiag =',' /* Tensor Extra Diag (line 1&2) non 0 */')
50     CALL WRITE_0D_R8( GM_isopycK, INDEX_NONE,'GM_isopycK =',
51     & ' /* Background Isopyc. Diffusivity ( m^2/s ) */')
52     CALL WRITE_0D_R8( GM_background_K*GM_skewflx, INDEX_NONE,
53     & ' GM_skewflx*K =',
54     & ' /* Background GM_SkewFlx Diffusivity ( m^2/s ) */')
55     CALL WRITE_0D_R8( GM_background_K*GM_advect, INDEX_NONE,
56     & ' GM_advec*K =',
57     & ' /* Backg. GM-Advec(=Bolus) Diffusivity ( m^2/s ) */')
58     CALL WRITE_0D_R8( GM_Visbeck_alpha, INDEX_NONE,
59     & ' GM_Visbeck_alpha =',' /* Visbeck alpha coeff. ( ) */')
60     WRITE(msgBuf,'(A,A40)')' Tapering/Cliping : ',GM_taper_scheme
61     CALL PRINT_MESSAGE(msgBuf,standardMessageUnit,SQUEEZE_RIGHT,1)
62 heimbach 1.1
63     ENDIF
64    
65     #endif
66 adcroft 1.3 RETURN
67     END

  ViewVC Help
Powered by ViewVC 1.1.22