cloudy trunk
Loading...
Searching...
No Matches
save.h
Go to the documentation of this file.
1/* This file is part of Cloudy and is copyright (C)1978-2013 by Gary J. Ferland and
2 * others. For conditions of distribution and use see copyright notice in license.txt */
3
4#ifndef SAVE_H_
5#define SAVE_H_
6
7#include "energy.h"
8#include "h2_priv.h"
9
10/* save.h */
11static const long LIMPUN = 100L;
12static const long MAX_HEADER_SIZE = 20000L;
13
15static const long VERSION_TRNCON = 20100901L;
16
20void SaveDo(
21 const char *chTime);
22
30void Save1Line(
31 const TransitionProxy & t ,
32 FILE * io ,
33 realnum xLimit ,
34 long index,
35 realnum DopplerWidth);
36
41 FILE * io);
42
47void save_opacity(
48 FILE * io,
49 long int np);
50
55void SaveSpecial(
56 FILE* io ,
57 const char *chTime);
58
63void SaveSpecies(
64 FILE* ioPUN,
65 long int ipPun );
66
74void Save1LineData(
75 const TransitionProxy & t ,
76 FILE * io,
77 bool lgCS_2 ,
78 bool &lgPrint);
79
85void save_line(
86 FILE * ip,
87 const char *chDo,
88 bool lgEmergent);
89
93void save_average(
94 long int ipPun);
95
100void save_colden(
101 /* the file we will write to */
102 FILE * ioPUN );
103
108void Save_Line_RT(
109 FILE * ip);
110
115void saveFITSfile(
116 FILE* io,
117 int option );
118
122void SaveHeat(FILE* io);
123
127void CoolSave(FILE * io, char chJob[]);
128
133void SaveGrid(FILE* pnunit, exit_type status);
134
135struct t_save {
136
138 {
139 for( long i=0; i < LIMPUN; ++i )
140 {
141 nLineList[i] = -1;
142 lgFITS[i] = false;
143 FITStype[i] = -1;
144 nAverageList[i] = -1;
145 }
146 }
147
149 {
150 for( long i=0; i < LIMPUN; ++i )
151 {
154 }
155 }
156
157 void SaveLineListFree(long i)
158 {
159 for( unsigned j=0; j < chLineListLabel[i].size(); ++j )
160 delete[] chLineListLabel[i][j];
161 chLineListLabel[i].clear();
162 wlLineList[i].clear();
163 }
164 void SaveAverageFree(long i)
165 {
166 for( unsigned j=0; j < chAverageType[i].size(); ++j )
167 delete[] chAverageType[i][j];
168 chAverageType[i].clear();
169 for( unsigned j=0; j < chAverageSpeciesLabel[i].size(); ++j )
170 delete[] chAverageSpeciesLabel[i][j];
171 chAverageSpeciesLabel[i].clear();
172 }
173
178 vector<char*> chLineListLabel[LIMPUN];
180 vector<realnum> wlLineList[LIMPUN];
183
188 vector<char*> chAverageType[LIMPUN];
194 vector<int> nAverage2ndPar[LIMPUN];
195
198
201
210
214
217
220
222 long int nsave;
223
225 char chSave[LIMPUN][5];
227
229 char chOpcTyp[LIMPUN][5];
230
232
233 const char *chNONSENSE;
234
239
243
247
252
255
258
263
266
268
272
275
278
282
284 const char *chConPunEnr[LIMPUN];
285
287 long int ipConPun;
288
292
296
299
303
307
311
315
320
324 FILE* ipPoint;
326
330
334 FILE * ipDRout;
335 bool lgDROn,
338
339 /* set true save convergence base */
343
345 FILE* ioRecom;
347
350 long int LinEvery;
352
354 long int ncSaveSkip;
355
359
364 // same thing but for absorption lines - default is unity, set to
365 // SaveLWidth if ABSORPTION keyword occurs on save line width command
367
369
370 // the frequency at which the continuum volume emissivity should be saved
373
374};
375
376extern t_save save;
377
378#endif /* SAVE_H_ */
exit_type
Definition cddefines.h:115
@ CHARS_SPECIES
Definition cddefines.h:274
const int INPUT_LINE_LENGTH
Definition cddefines.h:254
float realnum
Definition cddefines.h:103
Definition energy.h:8
#define NORETURN
Definition cpu.h:383
t_save save
Definition save.cpp:5
static const long MAX_HEADER_SIZE
Definition save.h:12
void CoolSave(FILE *io, char chJob[])
Definition cool_save.cpp:20
void save_line(FILE *ip, const char *chDo, bool lgEmergent)
static const long LIMPUN
Definition save.h:11
static const long VERSION_TRNCON
Definition save.h:15
void save_colden(FILE *ioPUN)
void Save1Line(const TransitionProxy &t, FILE *io, realnum xLimit, long index, realnum DopplerWidth)
Definition save_do.cpp:4347
void SaveSpecial(FILE *io, const char *chTime)
void save_average(long int ipPun)
void SaveGrid(FILE *pnunit, exit_type status)
Definition save_do.cpp:4846
void SaveHeat(FILE *io)
Definition heat_save.cpp:22
void SaveDo(const char *chTime)
Definition save_do.cpp:573
void SaveSpecies(FILE *ioPUN, long int ipPun)
NORETURN void SaveLineData(FILE *io)
void Save1LineData(const TransitionProxy &t, FILE *io, bool lgCS_2, bool &lgPrint)
void Save_Line_RT(FILE *ip)
void save_opacity(FILE *io, long int np)
void saveFITSfile(FILE *io, int option)
Definition save_fits.cpp:85
Definition save.h:135
bool lgSaveGrid_noclobber
Definition save.h:209
bool lgFLUSH
Definition save.h:298
char chHeader[LIMPUN][MAX_HEADER_SIZE]
Definition save.h:231
vector< char * > chLineListLabel[LIMPUN]
Definition save.h:178
bool lgDROn
Definition save.h:335
bool lgPunchFits
Definition save.h:281
char chPunRltType[7]
Definition save.h:319
realnum ResolutionAbs
Definition save.h:366
const char * chConPunEnr[LIMPUN]
Definition save.h:284
char chOpcTyp[LIMPUN][5]
Definition save.h:229
long int ipConPun
Definition save.h:287
bool lg_separate_iterations[LIMPUN]
Definition save.h:242
bool lgEmergent[LIMPUN]
Definition save.h:216
long int nSaveEveryZone[LIMPUN]
Definition save.h:262
long int LinEvery
Definition save.h:350
bool lgPunHeader[LIMPUN]
Definition save.h:246
realnum punarg[LIMPUN][3]
Definition save.h:254
~t_save()
Definition save.h:148
string chOutputFile
Definition save.h:314
bool lgPunConv
Definition save.h:328
bool lgSaveToSeparateFiles[LIMPUN]
Definition save.h:238
diatomics * whichDiatomToPrint[LIMPUN]
Definition save.h:226
long int ncSaveSkip
Definition save.h:354
bool lgTraceConvergeBase_noclobber
Definition save.h:208
const char * chNONSENSE
Definition save.h:233
string chRedirectPrefix
Definition save.h:310
char chSave[LIMPUN][5]
Definition save.h:225
FILE * ipDRout
Definition save.h:334
long nAverageList[LIMPUN]
Definition save.h:186
bool lgQHSaveFile_noclobber
Definition save.h:207
FILE * ioRecom
Definition save.h:345
long int nsave
Definition save.h:222
bool lgPunConv_noclobber
Definition save.h:203
void SaveLineListFree(long i)
Definition save.h:157
bool lgioRecom
Definition save.h:346
vector< int > nAverageIonList[LIMPUN]
Definition save.h:192
bool lgTraceConvergeBase
Definition save.h:340
bool lgDRPLst
Definition save.h:336
t_save()
Definition save.h:137
string chGridPrefix
Definition save.h:302
FILE * ipPoint
Definition save.h:324
bool lgCumulative[LIMPUN]
Definition save.h:219
bool lgNoClobber[LIMPUN]
Definition save.h:200
bool lgHashEndIter[LIMPUN]
Definition save.h:291
bool lgTraceConvergeBaseHash
Definition save.h:341
void SaveAverageFree(long i)
Definition save.h:164
bool lgPunPoint_noclobber
Definition save.h:205
bool lgLinEvery
Definition save.h:351
vector< int > nAverage2ndPar[LIMPUN]
Definition save.h:194
vector< char * > chAverageSpeciesLabel[LIMPUN]
Definition save.h:190
string optname[LIMPUN]
Definition save.h:257
char chSaveSpecies[LIMPUN][CHARS_SPECIES]
Definition save.h:267
char chHashString[INPUT_LINE_LENGTH]
Definition save.h:295
long nLineList[LIMPUN]
Definition save.h:176
FILE * ipPunConv
Definition save.h:329
char chSpeciesDominantRates[LIMPUN][CHARS_SPECIES]
Definition save.h:368
string chFilenamePrefix
Definition save.h:306
bool lgPunLstIter[LIMPUN]
Definition save.h:271
bool lgRealSave[LIMPUN]
Definition save.h:213
char chSaveArgs[LIMPUN][5]
Definition save.h:265
bool lgSaveEveryZone[LIMPUN]
Definition save.h:261
bool lgPunPoint
Definition save.h:325
FILE * ipPnunit[LIMPUN]
Definition save.h:197
Energy emisfreq[LIMPUN]
Definition save.h:371
bool lgioRecom_noclobber
Definition save.h:206
long ipEmisFreq[LIMPUN]
Definition save.h:372
bool lgDRHash
Definition save.h:337
bool lgLineListRatio[LIMPUN]
Definition save.h:182
realnum WeakHeatCool
Definition save.h:358
vector< char * > chAverageType[LIMPUN]
Definition save.h:188
realnum Resolution
Definition save.h:363
bool lgDROn_noclobber
Definition save.h:204
int FITStype[LIMPUN]
Definition save.h:277
bool lgPunContinuum
Definition save.h:251
vector< realnum > wlLineList[LIMPUN]
Definition save.h:180
FILE * ipTraceConvergeBase
Definition save.h:342
bool lgFITS[LIMPUN]
Definition save.h:274