/[MITgcm]/MITgcm/pkg/ptracers/ptracers_init_fixed.F
ViewVC logotype

Contents of /MITgcm/pkg/ptracers/ptracers_init_fixed.F

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


Revision 1.10 - (show annotations) (download)
Wed Apr 18 22:05:18 2012 UTC (12 years ago) by jmc
Branch: MAIN
CVS Tags: checkpoint64q, checkpoint64p, checkpoint64i, checkpoint64h, checkpoint64k, checkpoint64j, checkpoint64m, checkpoint64l, checkpoint64o, checkpoint64n, checkpoint64a, checkpoint64c, checkpoint64b, checkpoint64e, checkpoint64d, checkpoint64g, checkpoint64f, checkpoint63p, checkpoint63q, checkpoint63r, checkpoint63s, checkpoint63m, checkpoint63n, checkpoint63o, checkpoint64
Changes since 1.9: +3 -25 lines
move pkg/ptracers summary and setup check into separated S/R

1 C $Header: /u/gcmpack/MITgcm/pkg/ptracers/ptracers_init_fixed.F,v 1.9 2012/03/08 17:06:36 jmc Exp $
2 C $Name: $
3
4 #include "PTRACERS_OPTIONS.h"
5
6 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
7 CBOP
8 C !ROUTINE: PTRACERS_INIT_FIXED
9
10 C !INTERFACE:
11 SUBROUTINE PTRACERS_INIT_FIXED( myThid )
12
13 C !DESCRIPTION:
14 C Initialize PTRACERS constant
15
16 C !USES:
17 #include "PTRACERS_MOD.h"
18 IMPLICIT NONE
19 #include "SIZE.h"
20 #include "EEPARAMS.h"
21 #include "PARAMS.h"
22 #include "PTRACERS_SIZE.h"
23 #include "PTRACERS_PARAMS.h"
24 #include "GAD.h"
25
26 C !INPUT PARAMETERS:
27 INTEGER myThid
28 CEOP
29
30 #ifdef ALLOW_PTRACERS
31 C !LOCAL VARIABLES:
32 C iTracer :: tracer index
33 C msgBuf :: Informational/error message buffer
34 INTEGER iTracer
35 CHARACTER*(MAX_LEN_MBUF) msgBuf
36
37 _BEGIN_MASTER( myThid )
38
39 C Initialise internal parameter in common block:
40 DO iTracer = 1, PTRACERS_num
41 PTRACERS_MultiDimAdv(iTracer) = multiDimAdvection
42 PTRACERS_SOM_Advection(iTracer)= .FALSE.
43 PTRACERS_AdamsBashGtr(iTracer) = .FALSE.
44 ENDDO
45
46 C-- Loop over tracers
47 DO iTracer = 1, PTRACERS_numInUse
48
49 IF (
50 & PTRACERS_advScheme(iTracer).EQ.ENUM_CENTERED_2ND .OR.
51 & PTRACERS_advScheme(iTracer).EQ.ENUM_UPWIND_3RD .OR.
52 & PTRACERS_advScheme(iTracer).EQ.ENUM_CENTERED_4TH
53 & ) PTRACERS_MultiDimAdv(iTracer) = .FALSE.
54 useMultiDimAdvec = useMultiDimAdvec
55 & .OR. PTRACERS_MultiDimAdv(iTracer)
56 PTRACERS_AdamsBashGtr(iTracer) =
57 & PTRACERS_advScheme(iTracer).EQ.ENUM_CENTERED_2ND .OR.
58 & PTRACERS_advScheme(iTracer).EQ.ENUM_UPWIND_3RD .OR.
59 & PTRACERS_advScheme(iTracer).EQ.ENUM_CENTERED_4TH
60
61 PTRACERS_SOM_Advection(iTracer) =
62 & PTRACERS_advScheme(iTracer).GE.ENUM_SOM_PRATHER
63 & .AND. PTRACERS_advScheme(iTracer).LE.ENUM_SOM_LIMITER
64 #ifndef PTRACERS_ALLOW_DYN_STATE
65 IF ( PTRACERS_SOM_Advection(iTracer) ) THEN
66 WRITE(msgBuf,'(2A)') 'PTRACERS_INIT_FIXED: ',
67 & 'trying to use 2nd.Order-Moment Advection without'
68 WRITE(msgBuf,'(2A)') 'PTRACERS_INIT_FIXED: ',
69 & 'dynamical internal state data structures compiled'
70 WRITE(msgBuf,'(2A)') 'PTRACERS_INIT_FIXED: ',
71 & 'Re-compile with: #define PTRACERS_ALLOW_DYN_STATE'
72 CALL PRINT_ERROR( msgBuf , myThid)
73 STOP 'ABNORMAL END: S/R PTRACERS_INIT_FIXED'
74 ENDIF
75 #endif /* ndef PTRACERS_ALLOW_DYN_STATE */
76
77 C-- end of Tracer loop
78 ENDDO
79
80 #ifdef PTRACERS_ALLOW_DYN_STATE
81 CALL PTRACERS_INIT_FIXED_DYNAMIC( PtrISt,
82 & PTRACERS_numInUse,
83 & PTRACERS_SOM_Advection,
84 & sNx, sNy, Nr, OLx, OLy,
85 & nSx, nSy, nSOM,
86 & myThid )
87 #endif
88
89 _END_MASTER( myThid )
90 _BARRIER
91
92 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
93
94 #ifdef ALLOW_MNC
95 IF (useMNC) THEN
96 C Initialize the MNC variable types for PTRACERS
97 CALL PTRACERS_MNC_INIT( myThid )
98 ENDIF
99 #endif
100
101 #ifdef ALLOW_DIAGNOSTICS
102 IF ( useDiagnostics ) THEN
103 CALL PTRACERS_DIAGNOSTICS_INIT( myThid )
104 ENDIF
105 #endif
106
107 #endif /* ALLOW_PTRACERS */
108
109 RETURN
110 END

  ViewVC Help
Powered by ViewVC 1.1.22