/[MITgcm]/MITgcm/model/src/packages_boot.F
ViewVC logotype

Annotation of /MITgcm/model/src/packages_boot.F

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


Revision 1.41 - (hide annotations) (download)
Fri Jun 15 20:48:38 2007 UTC (16 years, 11 months ago) by gforget
Branch: MAIN
CVS Tags: checkpoint59e, checkpoint59d, checkpoint59g, checkpoint59f, checkpoint59i, checkpoint59h, checkpoint59j
Changes since 1.40: +5 -1 lines
dependencies: pkg/profiles requires pkg/cal

1 gforget 1.41 C $Header: /u/gcmpack/MITgcm/model/src/packages_boot.F,v 1.40 2007/04/19 13:23:36 heimbach Exp $
2 adcroft 1.6 C $Name: $
3 heimbach 1.1
4 jmc 1.33 #include "PACKAGES_CONFIG.h"
5 heimbach 1.1 #include "CPP_OPTIONS.h"
6    
7 cnh 1.7 CBOP
8     C !ROUTINE: PACKAGES_BOOT
9     C !INTERFACE:
10 heimbach 1.1 SUBROUTINE PACKAGES_BOOT( myThid )
11 cnh 1.7
12     C !DESCRIPTION: \bv
13     C *==========================================================*
14     C | SUBROUTINE PACKAGES_BOOT
15     C | o Routine to parse runtime package selection file
16     C *==========================================================*
17     C | Routine reads a flat file which contains a single flag
18     C | for each known "package". Flag can enables runtime
19     C | activation or deactivation of a package. The data is read
20     C | from a file called data.pkg.
21     C | Note - If a runtime activation flag is set on but the
22     C | package code was not included in the build then
23     C | the default behavior is to stop with an error.
24     C *==========================================================*
25     C \ev
26    
27     C !USES:
28 heimbach 1.1 IMPLICIT NONE
29     C === Global variables ===
30     #include "SIZE.h"
31     #include "EEPARAMS.h"
32     #include "PARAMS.h"
33    
34 cnh 1.7 C !INPUT/OUTPUT PARAMETERS:
35 heimbach 1.1 C === Routine arguments ===
36     C myThid - Number of this instances
37     INTEGER myThid
38    
39 cnh 1.7 C !LOCAL VARIABLES:
40     C === Local variables ===
41     C msgBuf - Informational/error meesage buffer
42     C iUnit - Work variable for IO unit number
43     CHARACTER*(MAX_LEN_MBUF) msgBuf
44     INTEGER iUnit
45    
46 cheisey 1.11 C data.pkg namelists
47 heimbach 1.1 NAMELIST /PACKAGES/
48 mlosch 1.24 & useOPPS,
49 mlosch 1.23 & usePP81,
50     & useMY82,
51 mlosch 1.24 & useGGL90,
52 heimbach 1.1 & useKPP,
53     & useGMRedi,
54 adcroft 1.2 & useOBCS,
55 jmc 1.3 & useAIM,
56 jmc 1.15 & useLand,
57 heimbach 1.5 & useGrdchk,
58 heimbach 1.39 & useEXF,
59 adcroft 1.4 & useECCO,
60 adcroft 1.6 & useSHAP_FILT,
61 jmc 1.8 & useZONAL_FILT,
62 adcroft 1.9 & useFLT,
63 heimbach 1.10 & usePTRACERS,
64 mlosch 1.26 & useGCHEM,
65 stephd 1.29 & useRBCS,
66 jmc 1.32 & useOffLine,
67 dimitri 1.14 & useSBO,
68 cheisey 1.11 & useSEAICE,
69 mlosch 1.31 & useShelfIce,
70 jmc 1.33 & useThSIce,
71 jscott 1.36 & useATM2D,
72 jmc 1.16 & useBulkForce,
73 jmc 1.33 & useEBM,
74 molod 1.18 & usefizhi,
75 molod 1.19 & usegridalt,
76 jmc 1.32 & useDiagnostics,
77 spk 1.27 & useMNC,
78 edhill 1.35 & useREGRID,
79 adcroft 1.28 & useRunClock,
80 edhill 1.30 & useMATRIX,
81 heimbach 1.34 & useEMBED_FILES,
82     & useMYPACKAGE
83 cnh 1.7 CEOP
84 heimbach 1.1
85     _BEGIN_MASTER(myThid)
86    
87 cnh 1.7 WRITE(msgBuf,'(A)') ' PACKAGES_BOOT: opening data.pkg'
88 heimbach 1.1 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
89 jmc 1.37 & SQUEEZE_RIGHT , myThid )
90 jmc 1.38
91 heimbach 1.1
92     CALL OPEN_COPY_DATA_FILE(
93     I 'data.pkg', 'PACKAGES_BOOT',
94     O iUnit,
95     I myThid )
96    
97     C-- Default package configuration
98 jmc 1.33 useOPPS =.FALSE.
99     usePP81 =.FALSE.
100     useMY82 =.FALSE.
101     useGGL90 =.FALSE.
102     useKPP =.FALSE.
103     useGMRedi =.FALSE.
104     useOBCS =.FALSE.
105     useAIM =.FALSE.
106     useLand =.FALSE.
107     useCAL =.FALSE.
108     useEXF =.FALSE.
109     useEBM =.FALSE.
110     useGrdchk =.FALSE.
111     useECCO =.FALSE.
112     useSHAP_FILT =.FALSE.
113     useZONAL_FILT =.FALSE.
114     useFLT =.FALSE.
115     usePTRACERS =.FALSE.
116     useGCHEM =.FALSE.
117     useRBCS =.FALSE.
118     useOffLine =.FALSE.
119     useMATRIX =.FALSE.
120     useSBO =.FALSE.
121     useSEAICE =.FALSE.
122     useShelfIce =.FALSE.
123     useThSIce =.FALSE.
124 jscott 1.36 useATM2D =.FALSE.
125 jmc 1.33 useBulkForce =.FALSE.
126     usefizhi =.FALSE.
127     usegridalt =.FALSE.
128     useDiagnostics =.FALSE.
129     useMNC =.FALSE.
130     useRunClock =.FALSE.
131 edhill 1.35 useREGRID =.FALSE.
132 heimbach 1.34 useMYPACKAGE =.FALSE.
133 heimbach 1.1
134     C-- Read parameters from open data file
135     READ(UNIT=iUnit,NML=PACKAGES)
136    
137    
138 cnh 1.7 WRITE(msgBuf,'(A)') ' PACKAGES_BOOT: finished reading data.pkg'
139 heimbach 1.1 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
140 jmc 1.37 & SQUEEZE_RIGHT , myThid )
141 heimbach 1.1
142     C-- Close the open data file
143     CLOSE(iUnit)
144 jmc 1.38
145 jmc 1.33 C-- packages with hard-coded switch
146     #ifdef ALLOW_CAL
147 heimbach 1.40 IF (useEXF) useCAL = .TRUE.
148 jmc 1.33 #endif
149    
150 gforget 1.41 #ifdef ALLOW_PROFILES
151     useCAL = .TRUE.
152     #endif
153    
154 jmc 1.38 C-- packages with an implied switch
155     useGAD = tempStepping .OR. saltStepping .OR. usePTRACERS
156    
157 jmc 1.37 _END_MASTER(myThid)
158    
159 heimbach 1.1 C-- Everyone else must wait for the parameters to be loaded
160     _BARRIER
161    
162 jmc 1.15 RETURN
163     END

  ViewVC Help
Powered by ViewVC 1.1.22