/[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.1 - (show annotations) (download)
Wed May 24 00:47:05 2006 UTC (18 years ago) by jmc
Branch: MAIN
CVS Tags: checkpoint58l_post, checkpoint58u_post, checkpoint58w_post, checkpoint58r_post, checkpoint58n_post, checkpoint58x_post, checkpoint58t_post, checkpoint58h_post, checkpoint58q_post, checkpoint58j_post, checkpoint59e, checkpoint59d, checkpoint59g, checkpoint59f, checkpoint59a, checkpoint59c, checkpoint59b, checkpoint59i, checkpoint59h, checkpoint59, checkpoint58f_post, checkpoint58i_post, checkpoint58g_post, checkpoint58o_post, checkpoint58y_post, checkpoint58k_post, checkpoint58v_post, checkpoint58s_post, checkpoint58p_post, checkpoint58m_post
use standard names for initialization S/R (init_fixed, init_varia):
rename: ptracers_initialise.F -> ptracers_init_fixed.F
   and: ptracers_init.F ->  ptracers_init_varia.F

1 C $Header: /u/gcmpack/MITgcm/pkg/ptracers/ptracers_initialise.F,v 1.6 2005/10/22 20:20:37 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 IMPLICIT NONE
18 #include "SIZE.h"
19 #include "EEPARAMS.h"
20 #include "PARAMS.h"
21 #include "PTRACERS_SIZE.h"
22 #include "PTRACERS.h"
23 #include "GAD.h"
24
25 C !INPUT PARAMETERS:
26 INTEGER myThid
27 CEOP
28
29 #ifdef ALLOW_PTRACERS
30
31 C !LOCAL VARIABLES:
32 C iTracer :: tracer index
33 C msgBuf - Informational/error meesage buffer
34 INTEGER iTracer
35 INTEGER minOlSize
36 CHARACTER*(MAX_LEN_MBUF) msgBuf
37
38 C Loop over tracers
39 DO iTracer = 1, PTRACERS_numInUse
40
41 IF (
42 & multiDimAdvection .AND.
43 & PTRACERS_advScheme(iTracer).NE.ENUM_CENTERED_2ND .AND.
44 & PTRACERS_advScheme(iTracer).NE.ENUM_UPWIND_3RD .AND.
45 & PTRACERS_advScheme(iTracer).NE.ENUM_CENTERED_4TH ) THEN
46 c PTRACERS_multiDimAdv(iTracer) = .TRUE.
47 useMultiDimAdvec = .TRUE.
48 ENDIF
49
50 C end of Tracer loop
51 ENDDO
52
53 C-- Check size of the overlap :
54 IF ( useCubedSphereExchange .AND. useMultiDimAdvec ) THEN
55 C- multi-dim-advection on CS-grid requires to double the size of Olx,Oly
56 minOlSize = 2
57 DO iTracer = 1, PTRACERS_numInUse
58 IF ( PTRACERS_advScheme(iTracer).EQ.ENUM_FLUX_LIMIT .OR.
59 & PTRACERS_advScheme(iTracer).EQ.ENUM_DST3_FLUX_LIMIT .OR.
60 & PTRACERS_advScheme(iTracer).EQ.ENUM_DST3 ) minOlSize = 4
61 ENDDO
62 IF ( Olx.LT.minOlSize .OR. Oly.LT.minOlSize ) THEN
63 WRITE(msgBuf,'(2A)') 'PTRACERS_INIT_FIXED: ',
64 & 'Multi-Dim Advection with 5-points stencil'
65 CALL PRINT_ERROR( msgBuf , myThid)
66 WRITE(msgBuf,'(2A,I2)') 'PTRACERS_INIT_FIXED: ',
67 & 'advection scheme needs at least Olx,Oly=', minOlSize
68 CALL PRINT_ERROR( msgBuf , myThid)
69 STOP 'ABNORMAL END: S/R PTRACERS_INIT_FIXED'
70 ENDIF
71 ENDIF
72
73 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
74
75 #ifdef ALLOW_MNC
76 IF (useMNC) THEN
77 C Initialize the MNC variable types for PTRACERS
78 CALL PTRACERS_MNC_INIT( myThid )
79 ENDIF
80 #endif
81
82 #ifdef ALLOW_DIAGNOSTICS
83 IF ( useDiagnostics ) THEN
84 CALL PTRACERS_DIAGNOSTICS_INIT( myThid )
85 ENDIF
86 #endif
87
88 #endif /* ALLOW_PTRACERS */
89
90 RETURN
91 END

  ViewVC Help
Powered by ViewVC 1.1.22