FLASH-X
Doxygen Generated Documentation From Interface Source Code
IO_interface.F90
Go to the documentation of this file.
1!! NOTICE
2!! Copyright 2022 UChicago Argonne, LLC and contributors
3!!
4!! Licensed under the Apache License, Version 2.0 (the "License");
5!! you may not use this file except in compliance with the License.
6!!
7!! Unless required by applicable law or agreed to in writing, software
8!! distributed under the License is distributed on an "AS IS" BASIS,
9!! WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
10!! See the License for the specific language governing permissions and
11!! limitations under the License.
12!!
13!! This is the header file for the IO module that defines its
14!! public interfaces.
15!!
16
18#ifndef IO_H
19#define IO_H
20
21
22 interface IO_setScalar
23 subroutine IO_setScalarReal (name, value)
24 character(len=*),intent(in) :: name
25 real,intent(in) :: value
26 end subroutine IO_setScalarReal
27
28 subroutine IO_setScalarInt(name, value)
29 character(len=*),intent(in) :: name
30 integer,intent(in) :: value
31 end subroutine IO_setScalarInt
32
33 subroutine IO_setScalarStr (name, value)
34 character(len=*),intent(in) :: name, value
35 end subroutine IO_setScalarStr
36
37 subroutine IO_setScalarLog (name, value)
38 character(len=*),intent(in) :: name
39 logical,intent(in) :: value
40 end subroutine IO_setScalarLog
41
42 end interface
43
44 interface IO_getScalar
45
46 subroutine IO_getScalarReal (name, value)
47 character(len=*),intent(in) :: name
48 real,intent(out) :: value
49 end subroutine IO_getScalarReal
50
51 subroutine IO_getScalarInt(name, value)
52 character(len=*),intent(in) :: name
53 integer,intent(out) :: value
54 end subroutine IO_getScalarInt
55
56 subroutine IO_getScalarStr (name, value)
57 character(len=*),intent(in) :: name
58 character(len=*),intent(out) :: value
59 end subroutine IO_getScalarStr
60
61 subroutine IO_getScalarLog (name, value)
62 character(len=*),intent(in) :: name
63 logical,intent(out) :: value
64 end subroutine IO_getScalarLog
65
66 end interface
67
69
70 subroutine IO_getPrevScalarReal (name, value, error)
71 character(len=*),intent(in) :: name
72 real,intent(out) :: value
73 integer, intent(out),optional :: error
74 end subroutine IO_getPrevScalarReal
75
76 subroutine IO_getPrevScalarInt(name, value, error)
77 character(len=*),intent(in) :: name
78 integer,intent(out) :: value
79 integer, intent(out),optional :: error
80 end subroutine IO_getPrevScalarInt
81
82 subroutine IO_getPrevScalarStr (name, value, error)
83 character(len=*),intent(in) :: name
84 character(len=*),intent(out) :: value
85 integer, intent(out), optional :: error
86 end subroutine IO_getPrevScalarStr
87
88 subroutine IO_getPrevScalarLog (name, value, error)
89 character(len=*),intent(in) :: name
90 logical,intent(out) :: value
91 integer, intent(out),optional :: error
92 end subroutine IO_getPrevScalarLog
93
94 end interface
95#endif
96
97 interface
98 subroutine IO_init()
99 end subroutine IO_init
100 end interface
101
102 interface
103 subroutine IO_finalize()
104 end subroutine IO_finalize
105 end interface
106
107 interface
108 subroutine IO_output( simTime, dt, nstep, nbegin, endRun, outputType)
109 real, intent(in) :: simTime, dt
110 integer, intent(in) :: nstep, nbegin
111 logical, intent(out) :: endRun
112 integer, intent(in), optional :: outputType
113 end subroutine IO_output
114 end interface
115
116 interface
117 subroutine IO_outputFinal()
118 end subroutine IO_outputFinal
119 end interface
120
121 interface
122 subroutine IO_outputInitial( nbegin, initialSimTime)
123 integer, intent(in) :: nbegin
124 real, intent(in) :: initialSimTime
125 end subroutine IO_outputInitial
126 end interface
127
128 interface
129 subroutine IO_readCheckpoint()
130 end subroutine IO_readCheckpoint
131 end interface
132
133 interface
134 subroutine IO_readParticles()
135 end subroutine IO_readParticles
136 end interface
137
138 interface
139 subroutine IO_readUserArray ()
140 end subroutine IO_readUserArray
141 end interface
142
143 interface
144 subroutine IO_sendOutputData()
145 end subroutine IO_sendOutputData
146 end interface
147
148 interface
149 subroutine IO_updateScalars()
150 end subroutine IO_updateScalars
151 end interface
152
153 interface
155 end subroutine IO_writeCheckpoint
156 end interface
157
158 interface
159 subroutine IO_writeIntegralQuantities ( isfirst, simTime)
160 integer, intent(in) :: isfirst
161 real, intent(in) :: simTime
162 end subroutine IO_writeIntegralQuantities
163 end interface
164
165 interface
166 subroutine IO_writeParticles( particlesToCheckpoint)
167 logical, intent(in) :: particlesToCheckpoint
168 end subroutine IO_writeParticles
169 end interface
170
171 interface
172 subroutine IO_writePlotfile( forced)
173 logical, optional, intent(in) :: forced
174 end subroutine IO_writePlotfile
175 end interface
176
177 interface
178 subroutine IO_writeSingleCells(nblk, blklst)
179 implicit none
180 integer, intent(in) :: nblk
181 integer, intent(in) :: blklst(nblk)
182 end subroutine IO_writeSingleCells
183 end interface
184
185 interface
186 subroutine IO_writeUserArray ()
187 end subroutine IO_writeUserArray
188 end interface
189
190 interface
191 subroutine IO_initRPsFromCheckpoint ( filename, ierr)
192 character(len=*),intent(IN) :: filename
193 integer,intent(OUT) :: ierr
194 end subroutine IO_initRPsFromCheckpoint
195 end interface
196
197 interface
198 subroutine IO_checkForPlot(wrotePlot)
199 implicit none
200 logical, intent(out) :: wrotePlot
201 end subroutine IO_checkForPlot
202 end interface
203
204 interface
205 subroutine IO_startRayWrite()
206 implicit none
207 end subroutine IO_startRayWrite
208 end interface
209
210 interface
211 subroutine IO_writeRays(numRays, rayTags, posBuffer, powerBuffer, numPos)
212 implicit none
213 integer, intent(in) :: numRays
214 integer, intent(in) :: rayTags(:)
215 real, intent(in) :: posBuffer(:,:,:)
216 real, intent(in) :: powerBuffer(:,:)
217 integer, intent(in) :: numPos(:)
218 end subroutine IO_writeRays
219 end interface
220
221 interface
222 subroutine IO_endRayWrite()
223 implicit none
224 end subroutine IO_endRayWrite
225 end interface
226
227 interface
229 end subroutine IO_startProtonWrite
230 end interface
231
232 interface
233 subroutine IO_writeProtons (numberOfProtons, tags, points, pointCount)
234 integer, intent (in) :: numberOfProtons
235 integer, intent (in) :: tags (:)
236 real, intent (in) :: points (:,:,:)
237 integer, intent (in) :: pointCount (:)
238 end subroutine IO_writeProtons
239 end interface
240
241 interface
242 subroutine IO_endProtonWrite ()
243 end subroutine IO_endProtonWrite
244 end interface
245
246
247end Module IO_interface
248
249
250
subroutine IO_getPrevScalarStr(name, value, error)
subroutine IO_getPrevScalarReal(name, value, error)
subroutine IO_getPrevScalarInt(name, value, error)
subroutine IO_getPrevScalarLog(name, value, error)
subroutine IO_getScalarStr(name, value)
subroutine IO_getScalarInt(name, value)
subroutine IO_getScalarReal(name, value)
subroutine IO_getScalarLog(name, value)
subroutine IO_setScalarLog(name, value)
subroutine IO_setScalarInt(name, value)
subroutine IO_setScalarStr(name, value)
subroutine IO_setScalarReal(name, value)