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

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

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


Revision 1.23 - (show annotations) (download)
Fri Dec 29 19:35:38 2017 UTC (6 years, 4 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint66o, checkpoint66n, HEAD
Changes since 1.22: +37 -31 lines
- new set of S/R, called from GCHEM_READPARMS, to record rank (in pTracer
  array) and number of tracers for geo-chemistry pkg ;
- add some entry points for new geo-chemistry pkg SPOIL

1 C $Header: /u/gcmpack/MITgcm/pkg/gchem/gchem_readparms.F,v 1.22 2017/08/09 15:23:37 mlosch Exp $
2 C $Name: $
3
4 #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 C Initialize GCHEM parameters, read in data.gchem
14
15 C !USES: ===============================================================
16 IMPLICIT NONE
17 #include "SIZE.h"
18 #include "EEPARAMS.h"
19 #include "PARAMS.h"
20 #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 #ifdef ALLOW_GCHEM
30
31 C !LOCAL VARIABLES: ====================================================
32 C tIter0 :: retired parameter
33 C iUnit :: unit number for I/O
34 C msgBuf :: message buffer
35 INTEGER tIter0
36 INTEGER iUnit
37 CHARACTER*(MAX_LEN_MBUF) msgBuf
38 CEOP
39
40 C- Sub-package on/off flags: not fully implemented, requires
41 C to test the flag before any corresponding pkg S/R call
42
43 NAMELIST /GCHEM_PARM01/
44 & useCFC,
45 & useDIC,
46 & useBLING,
47 & useSPOIL,
48 & useDARWIN,
49 & fileName1, fileName2, fileName3,
50 & fileName4, fileName5,
51 & gchem_int1, gchem_int2, gchem_int3,
52 & gchem_int4, gchem_int5, nsubtime,
53 & gchem_rl1, gchem_rl2, gchem_rl3,
54 & gchem_rl4, gchem_rl5,
55 & gchem_ForcingPeriod, gchem_ForcingCycle,
56 & tIter0
57
58 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
59
60 IF ( .NOT.useGCHEM ) THEN
61 C- pkg GCHEM is not used
62 _BEGIN_MASTER(myThid)
63 C- Track pkg activation status:
64 C print a (weak) warning if data.gchem is found
65 CALL PACKAGES_UNUSED_MSG( 'useGCHEM', ' ', ' ' )
66 _END_MASTER(myThid)
67 RETURN
68 ENDIF
69
70 _BEGIN_MASTER(myThid)
71
72 C- Set defaults values for parameters in GCHEM.h
73 useCFC = .FALSE.
74 useDIC = .FALSE.
75 useBLING = .FALSE.
76 useSPOIL = .FALSE.
77 useDARWIN = .FALSE.
78 tIter0 = UNSET_I
79 fileName1=' '
80 fileName2=' '
81 fileName3=' '
82 fileName4=' '
83 fileName5=' '
84 nsubtime = 1
85 gchem_int1=0
86 gchem_int2=0
87 gchem_int3=0
88 gchem_int4=0
89 gchem_int5=0
90 gchem_rl1=0. _d 0
91 gchem_rl2=0. _d 0
92 gchem_rl3=0. _d 0
93 gchem_rl4=0. _d 0
94 gchem_rl5=0. _d 0
95 C default periodic forcing to same as for physics
96 gchem_ForcingPeriod=externForcingPeriod
97 gchem_ForcingCycle=externForcingCycle
98 C- Open and read the data.gchem file
99 WRITE(msgBuf,'(A)') ' GCHEM_READPARMS: opening data.gchem'
100 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
101 & SQUEEZE_RIGHT, myThid )
102 CALL OPEN_COPY_DATA_FILE(
103 I 'data.gchem', 'GCHEM_PARM01',
104 O iUnit,
105 I myThid )
106 READ(UNIT=iUnit,NML=GCHEM_PARM01)
107 WRITE(msgBuf,'(A)')
108 & ' GCHEM_READPARMS: finished reading data.gchem'
109 CALL PRINT_MESSAGE( msgBuf, standardMessageUnit,
110 & SQUEEZE_RIGHT, myThid )
111
112 C- Close the open data file
113 #ifdef SINGLE_DISK_IO
114 CLOSE(iUnit)
115 #else
116 CLOSE(iUnit,STATUS='DELETE')
117 #endif /* SINGLE_DISK_IO */
118
119 C- Check for retired parameters:
120 IF ( tIter0 .NE. UNSET_I ) THEN
121 c nRetired = nRetired+1
122 WRITE(msgBuf,'(A,A)')
123 & 'S/R GCHEM_READPARMS: Paramater "tIter0" is',
124 & ' no longer allowed in file "data.gchem"'
125 CALL PRINT_ERROR( msgBuf, myThid )
126 WRITE(msgBuf,'(A,A)')
127 & 'S/R GCHEM_READPARMS: "tIter0" has been moved to',
128 & ' PTRACERS_Iter0 in file "data.ptracers".'
129 CALL PRINT_ERROR( msgBuf, myThid )
130 STOP 'ABNORMAL END: S/R GCHEM_READPARMS'
131 ENDIF
132
133 _END_MASTER(myThid)
134
135 C Everyone else must wait for the parameters to be loaded
136 _BARRIER
137
138 #ifdef ALLOW_CFC
139 IF ( useCFC ) THEN
140 CALL CFC_READPARMS(myThid)
141 ENDIF
142 #endif
143
144 #ifdef ALLOW_DIC
145 IF ( useDIC ) THEN
146 CALL DIC_READPARMS(myThid)
147 ENDIF
148 #endif
149
150 #ifdef ALLOW_BLING
151 IF ( useBLING ) THEN
152 CALL BLING_READPARMS(myThid)
153 ENDIF
154 #endif
155
156 #ifdef ALLOW_SPOIL
157 IF ( useSPOIL ) THEN
158 CALL SPOIL_READPARMS(myThid)
159 ENDIF
160 #endif
161
162 #ifdef ALLOW_DARWIN
163 IF ( useDARWIN ) THEN
164 CALL DARWIN_READPARMS(myThid)
165 ENDIF
166 #endif
167
168 C- Register GCHEM tracer indices
169 CALL GCHEM_TR_REGISTER( myThid )
170
171 #endif /* ALLOW_GCHEM */
172
173 RETURN
174 END

  ViewVC Help
Powered by ViewVC 1.1.22