00001
00002
00003
00004 #define LIMPUN 100L
00005
00009 void PunchDo(
00010 const char *chTime);
00011
00019 void pun1Line(
00020 EmLine * t ,
00021 FILE * io ,
00022 float xLimit ,
00023 long index ,
00024 double population );
00025
00029 void PunchLineData(
00030 FILE * io);
00031
00036 void punch_opacity(
00037 FILE * io,
00038 long int np);
00039
00044 void PunchSpecial(
00045 FILE* io ,
00046 const char *chTime);
00047
00054 void Punch1LineData(
00055 EmLine * t ,
00056 FILE * io,
00057 bool lgCS_2 );
00058
00064 void punch_line(
00065 FILE * ip,
00066 const char *chDo,
00067
00068 bool lgLog3,
00069 char *chHeader);
00070
00075 void punch_average(
00076 long int ipPun,
00077 const char *chJob,
00078 char *chHeader );
00079
00085 void punch_colden(
00086
00087 char header[] ,
00088
00089 FILE * ioPUN,
00090
00091 const char *chDo );
00092
00097 void Punch_Line_RT(
00098 FILE * ip,
00099 const char *chJob );
00100
00105 void punchFITSfile(
00106 FILE* io,
00107 int option );
00108
00112 void HeatPunch(FILE* io);
00113
00117 void CoolPunch(FILE * io);
00118
00119 EXTERN struct t_punch {
00120
00123 long int *nLineList;
00125 char ***chLineListLabel;
00127 float **wlLineList;
00128
00131 long int *nAverageList;
00133 char ***chAverageType;
00135 char ***chAverageSpeciesLabel;
00137 int **nAverageIonList;
00139 int **nAverage2ndPar;
00140
00142 FILE *ipPnunit[LIMPUN];
00143
00145 long int npunch;
00146
00148 char chPunch[LIMPUN][5];
00149
00151 char chOpcTyp[LIMPUN][5];
00152
00156 bool lgPunchToSeparateFiles[LIMPUN];
00157
00160 bool lg_separate_iterations[LIMPUN];
00161
00164 bool lgPunHeader;
00165
00169 bool lgPunContinuum;
00170
00172 float punarg[LIMPUN][3];
00173
00176 bool lgPunchEveryZone[LIMPUN];
00177 long int nPunchEveryZone[LIMPUN];
00178
00180 char chPunchArgs[LIMPUN][5];
00181
00184 bool lgPunLstIter[LIMPUN];
00185
00188 bool lgOpenUnits;
00189
00192 bool lgPunchFits;
00193
00195 char chConPunEnr[LIMPUN][5];
00196
00198 long int ipConPun;
00199
00202 bool lgHashEndIter;
00203
00206 char chHashString[INPUT_LINE_LENGTH];
00207
00209 bool lgFLUSH;
00210
00213 char chFilenamePrefix[INPUT_LINE_LENGTH];
00214
00217 float cp_range_min[LIMPUN] , cp_range_max[LIMPUN];
00219
00223 float cp_resolving_power[LIMPUN];
00224
00226 long int cp_npun;
00227
00231 char chPunRltType[7];
00232
00236 FILE* ipPoint;
00237 bool lgPunPoint;
00238
00240 bool lgPunConv;
00241 FILE* ipPunConv;
00242
00246 FILE * ipDRout;
00247 bool lgDROn,
00248 lgDRPLst;
00249
00251 FILE* ioRecom;
00252 bool lgioRecom;
00253
00256 long int LinEvery;
00257 bool lgLinEvery;
00258
00260 long int ncPunchSkip;
00261
00264 float WeakHeatCool;
00265
00269 float PunchLWidth;
00270
00271 } punch;