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

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

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


Revision 1.7 - (show annotations) (download)
Thu Nov 14 22:43:49 2002 UTC (21 years, 5 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 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
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 IF (GMRediIsOn) THEN
31
32 WRITE(msgBuf,'(A)') 'GMREDI_CHECK: #define GMREDI'
33 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
34 & SQUEEZE_RIGHT , 1)
35
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 STOP 'ABNORMAL END: S/R GMREDI_CHECK'
41 ENDIF
42
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 CALL WRITE_0D_L( GM_AdvSeparate, INDEX_NONE,
47 & 'GM_AdvSeparate =',' /* Calc Bolus & Euler Adv. separately */')
48 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
63 ENDIF
64
65 #endif
66 RETURN
67 END

  ViewVC Help
Powered by ViewVC 1.1.22