/[MITgcm]/MITgcm/pkg/gchem/gchem_readparms.F
ViewVC logotype

Annotation of /MITgcm/pkg/gchem/gchem_readparms.F

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


Revision 1.15 - (hide annotations) (download)
Wed Apr 9 17:55:12 2008 UTC (16 years, 2 months ago) by jmc
Branch: MAIN
Changes since 1.14: +6 -7 lines
fix multi-threaded run.

1 jmc 1.15 C $Header: /u/gcmpack/MITgcm/pkg/gchem/gchem_readparms.F,v 1.14 2008/04/08 20:23:48 dfer Exp $
2 edhill 1.4 C $Name: $
3    
4 stephd 1.1 #include "GCHEM_OPTIONS.h"
5    
6     CBOP
7     C !ROUTINE: GCHEM_READPARMS
8    
9     C !INTERFACE: ==========================================================
10     SUBROUTINE GCHEM_READPARMS( myThid )
11    
12     C !DESCRIPTION:
13 mlosch 1.5 C Initialize GCHEM parameters, read in data.gchem
14 stephd 1.1
15     C !USES: ===============================================================
16     IMPLICIT NONE
17     #include "SIZE.h"
18     #include "EEPARAMS.h"
19 stephd 1.10 #include "PARAMS.h"
20 stephd 1.1 #include "GCHEM.h"
21    
22     C !INPUT PARAMETERS: ===================================================
23     C myThid :: thread number
24     INTEGER myThid
25    
26     C !OUTPUT PARAMETERS: ==================================================
27     C none
28    
29 stephd 1.3 #ifdef ALLOW_GCHEM
30 stephd 1.1
31     C !LOCAL VARIABLES: ====================================================
32 jmc 1.7 C tIter0 :: retired parameter
33 stephd 1.1 C iTracer :: loop indices
34     C iUnit :: unit number for I/O
35     C msgBuf :: message buffer
36 stephd 1.10 INTEGER tIter0
37 stephd 1.1 INTEGER iTracer
38     INTEGER iUnit
39     CHARACTER*(MAX_LEN_MBUF) msgBuf
40 stephd 1.10 c PARAMETER ( UNSET_I = 123456789 )
41 stephd 1.1 CEOP
42    
43 jmc 1.7 NAMELIST /GCHEM_PARM01/
44     & tIter0,
45 stephd 1.8 & Filename1,
46     & Filename2,
47     & Filename3,
48     & Filename4,
49     & Filename5,
50 stephd 1.9 & nsubtime,
51     & gchem_int1, gchem_int2, gchem_int3,
52     & gchem_int4, gchem_int5,
53     & gchem_rl1, gchem_rl2, gchem_rl3,
54 stephd 1.10 & gchem_rl4, gchem_rl5,
55     & gchem_ForcingPeriod, gchem_ForcingCycle
56 jmc 1.7
57 jmc 1.12 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
58    
59     _BEGIN_MASTER(myThid)
60    
61 stephd 1.1 C Set defaults values for parameters in GCHEM.h
62 jmc 1.12 useDIC = .FALSE.
63     useCFC = .FALSE.
64 jmc 1.7 tIter0 = UNSET_I
65 stephd 1.1 nsubtime=1
66 stephd 1.8 Filename1=' '
67     Filename2=' '
68     Filename3=' '
69     Filename4=' '
70     Filename5=' '
71 stephd 1.9 gchem_int1=0
72     gchem_int2=0
73     gchem_int3=0
74     gchem_int4=0
75     gchem_int5=0
76 dfer 1.11 gchem_rl1=0. _d 0
77     gchem_rl2=0. _d 0
78     gchem_rl3=0. _d 0
79     gchem_rl4=0. _d 0
80     gchem_rl5=0. _d 0
81 stephd 1.10 c default periodic forcing to same as for physics
82     gchem_ForcingPeriod=externForcingPeriod
83     gchem_ForcingCycle=externForcingCycle
84 jmc 1.7 C Open and read the data.gchem file
85 stephd 1.1 WRITE(msgBuf,'(A)') ' GCHEM_READPARMS: opening data.gchem'
86     CALL PRINT_MESSAGE(msgBuf, standardMessageUnit,
87     & SQUEEZE_RIGHT , 1)
88     CALL OPEN_COPY_DATA_FILE(
89     I 'data.gchem', 'GCHEM_PARM01',
90     O iUnit,
91     I myThid )
92     READ(UNIT=iUnit,NML=GCHEM_PARM01)
93     WRITE(msgBuf,'(A)')
94     & ' GCHEM_READPARMS: finished reading data.gchem'
95     CALL PRINT_MESSAGE(msgBuf, standardMessageUnit,
96     & SQUEEZE_RIGHT , 1)
97    
98     C Close the open data file
99     CLOSE(iUnit)
100 jmc 1.7
101 jmc 1.12 C- Sub-package on/off flags: until fully implemented, which requires
102     C a) to read the flag value from data.gchem
103     C b) to test the flag before any corresponding pkg S/R call
104     C- (for now) just it turned on when the corresponding pkg is compliled
105     #ifdef ALLOW_DIC
106     useDIC = .TRUE.
107     #endif
108     #ifdef ALLOW_CFC
109     useCFC = .TRUE.
110     #endif
111    
112 jmc 1.7 C- Check for retired parameters:
113     IF ( tIter0 .NE. UNSET_I ) THEN
114     c nRetired = nRetired+1
115     WRITE(msgBuf,'(A,A)')
116     & 'S/R GCHEM_READPARMS: Paramater "tIter0" is',
117     & ' no longer allowed in file "data.gchem"'
118     CALL PRINT_ERROR( msgBuf , myThid)
119     WRITE(msgBuf,'(A,A)')
120     & 'S/R GCHEM_READPARMS: "tIter0" has been moved to',
121     & ' PTRACERS_Iter0 in file "data.ptracers".'
122     CALL PRINT_ERROR( msgBuf , myThid)
123     STOP 'ABNORMAL END: S/R GCHEM_READPARMS'
124     ENDIF
125    
126 stephd 1.1 _END_MASTER(myThid)
127    
128 jmc 1.15 C Everyone else must wait for the parameters to be loaded
129     _BARRIER
130    
131 dfer 1.13 #ifdef ALLOW_DIC
132     IF ( useDIC ) THEN
133 jmc 1.15 CALL DIC_READPARMS(myThid)
134 dfer 1.13 ENDIF
135     #endif
136    
137 dfer 1.14 #ifdef ALLOW_CFC
138     IF ( useCFC ) THEN
139 jmc 1.15 CALL CFC_READPARMS(myThid)
140 dfer 1.14 ENDIF
141     #endif
142    
143 mlosch 1.6 #endif /* ALLOW_GCHEM */
144 stephd 1.1
145     RETURN
146     END

  ViewVC Help
Powered by ViewVC 1.1.22