cloudy  trunk
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Data Structures | Functions | Variables
save.h File Reference
#include "energy.h"
Include dependency graph for save.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  SaveParams
 
class  adjPseudoCont
 
class  save_species_bands
 
struct  t_save
 

Functions

void SaveDo (const char *chTime)
 
double PrtLogLin (double value)
 
void Save1Line (const TransitionProxy &t, FILE *io, realnum xLimit, long index, realnum DopplerWidth)
 
NORETURN void SaveLineData (FILE *io)
 
void save_opacity (FILE *io, long int np)
 
void SaveSpecial (FILE *io, const char *chTime)
 
void SaveAllSpeciesLabelsLevels (FILE *ioPUN)
 
void SaveSpecies (FILE *ioPUN, long int ipPun)
 
void SaveSpeciesPseudoCont (const long ipPun, const string &speciesLabel)
 
void SaveSpeciesBands (const long ipPun, const string &speciesLabel, const string &fileBands)
 
void SaveSpeciesOptDep (const long int ipPun, const string &speciesLabel)
 
void mole_save (FILE *punit, const char speciesname[], const char args[], bool lgHeader, bool lgData, bool lgCoef, double depth)
 
void mole_dominant_rates (const vector< const molecule * > &debug_list, FILE *ioOut, bool lgPrintReagents, size_t NPRINT, double fprint)
 
void mole_print_species_reactions (molecule *speciesToPrint)
 
void PrintLineDataHeader (FILE *ioPUN)
 
void Save1LineData (const TransitionProxy &t, FILE *io, bool lgCS_2)
 
void save_line (FILE *ip, const char *chDo, bool lgEmergent, long ipPun)
 
void save_average (long int ipPun)
 
void Save_Line_RT (FILE *ip)
 
void saveFITSfile (FILE *io, int option, realnum Elo=0.f, realnum Ehi=0.f, realnum Enorm=0.f)
 
void SaveHeat (FILE *io)
 
void CoolSave (FILE *io, const char chJob[])
 
void SaveGrid (FILE *pnunit, exit_type status)
 

Variables

static const long LIMPUN = 100L
 
static const long VERSION_TRNCON = 20190210L
 
t_save save
 

Function Documentation

void CoolSave ( FILE *  io,
const char  chJob[] 
)
void mole_dominant_rates ( const vector< const molecule * > &  debug_list,
FILE *  ioOut,
bool  lgPrintReagents,
size_t  NPRINT,
double  fprint 
)
void mole_print_species_reactions ( molecule speciesToPrint)
void mole_save ( FILE *  punit,
const char  speciesname[],
const char  args[],
bool  lgHeader,
bool  lgData,
bool  lgCoef,
double  depth 
)
void PrintLineDataHeader ( FILE *  ioPUN)

Definition at line 246 of file save_linedata.cpp.

References fprintf().

Referenced by SaveLineData().

Here is the call graph for this function:

double PrtLogLin ( double  value)

SAVE command has option LOG to print log quantities as in <= C13

Definition at line 370 of file save_do.cpp.

References ipPun, t_save::lgPrtOldStyleLogs, save, and SDIV().

Referenced by save_average(), and SaveDo().

Here is the call graph for this function:

void Save1Line ( const TransitionProxy t,
FILE *  io,
realnum  xLimit,
long  index,
realnum  DopplerWidth 
)
void Save1LineData ( const TransitionProxy t,
FILE *  io,
bool  lgCS_2 
)

Save1LineData data for save one line

Parameters
t
io
lgCS_2this flag says whether collision strength should be saveed - should be false for multi level atoms since sums are not done properly
Todo:
1 define lifetime and collision rate for multi-level species so that the critical density is derived correctly in this routine. For now the flag lgCS_2 being true means to save critical den and is only true for two-level systems all places where this routine is called with lgCS_2 false need to be fixed

Definition at line 253 of file save_linedata.cpp.

References AnuUnit(), EmissionProxy::Aul(), t_save::chConSavEnr, chIonLbl(), CollisionProxy::col_str(), TransitionProxy::Coll(), EmissionProxy::damp(), DEBUG_ENTRY, TransitionProxy::Emis(), TransitionProxy::EnergyRyd(), fprintf(), EmissionProxy::gf(), TransitionProxy::Hi(), t_save::ipConPun, TransitionProxy::ipCont(), TransitionProxy::Lo(), phycon, PrintEfmt, prt_wl(), save, t_phycon::sqrte, and TransitionProxy::WLAng().

Referenced by diatomics::H2_Punch_line_data(), and SaveLineData().

Here is the call graph for this function:

void save_average ( long int  ipPun)

save_average parse save average command, or actually do the save output

Parameters
ipPun- array index for file for final save output

Definition at line 128 of file save_average.cpp.

References cdColm(), cdEXIT, cdIonFrac(), cdTemp(), t_save::chAverageType, t_save::chSaveSpecies, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), ioQQQ, SaveParams::ipPnunit, ipPun, t_save::nAverage2ndPar, t_save::nAverageIonList, t_save::nAverageList, t_save::params, PrtLogLin(), save, and TotalInsanity().

Referenced by SaveDo().

Here is the call graph for this function:

void save_line ( FILE *  ip,
const char *  chDo,
bool  lgEmergent,
long  ipPun 
)
void Save_Line_RT ( FILE *  ip)
void save_opacity ( FILE *  io,
long int  np 
)
void SaveAllSpeciesLabelsLevels ( FILE *  ioPUN)

SaveAllSpeciesLabelsLevels – generate output of all species labels & levels

Parameters
ioPUNio unit for save

Referenced by SaveSpeciesLines().

void SaveDo ( const char *  chTime)

SaveDo produce save output during calculation

Parameters
chTimechTime is null terminated 4 char string, either "MIDL" or "LAST"

Definition at line 460 of file save_do.cpp.

References abund, Wind::AccelCont, Wind::AccelGravity, Wind::AccelLine, Wind::AccelTotalOutward, AGN_He1_CS(), AGN_Hemis(), t_opac::albedo, t_mesh::anu(), t_mesh::anu2(), AnuUnit(), ASSERT, EmissionProxy::Aul(), t_cpu_i::big_endian(), GrainVar::bin, called, cdColm(), cdExecTime(), cdEXIT, cdLine(), ChargTranPun(), t_rfield::chContLabel, t_elementnames::chElementSym, t_save::chHashString, CHIANTI_Upsilon(), t_rfield::chLineLabel, t_save::chLineListLabel, t_save::chSave, t_save::chSaveArgs, t_save::chSaveSpecies, t_Heavy::chShell, t_save::chSpeciesDominantRates, colden, t_colden::colden, TransitionProxy::Coll(), colliders, CollisionProxy::ColUL(), column(), t_rfield::comdn, t_rfield::comup, t_rfield::ConEmitLocal, t_rfield::ConEmitOut, t_rfield::ConEmitReflec, t_rfield::ConInterOut, t_rfield::ConRefIncid, t_rfield::ConSourceFcnLocal, conv, t_radius::Conv2PrtInten, t_dynamics::Cool(), CoolSave(), cpu, t_secondaries::csupra, CT_GRN_GRA, CT_GRN_SIL, CT_GRN_TOT, CT_INCI, CT_OUTW_DIFF, CT_OUTW_INCI, CT_OUTW_LIN, CT_REFL_DIFF, CT_REFL_INCI, CT_REFL_LIN, t_thermal::ctot, EmissionProxy::damp(), dBaseSpecies, dBaseTrans, t_thermal::dCooldT, DEBUG_ENTRY, molezone::den, dense, density(), t_radius::depth, t_radius::depth_mid_zone, t_rfield::DiffuseLineEmission, DoppVel, t_radius::drad, t_radius::drad_x_fillfac, GrainVar::dstab, GrainVar::dstsc, Wind::dvdr, dynamics, DynaPunchTimeDep(), DynaSave(), t_dense::eden, t_dense::EdenHCorr, t_dense::EdenTrue, t_mesh::egamry(), t_yield::elec_eject_frac(), elementnames, TransitionProxy::Emis(), TransitionList::Emis(), t_save::emisfreq, t_mesh::emm(), energy(), t_phycon::EnergyBinding, t_phycon::EnergyExcitation, t_phycon::EnergyIonization, TransitionProxy::EnergyRyd(), t_magnetic::EnthalpyDensity, t_phycon::EnthalpyDensity, EXIT_FAILURE, EXIT_SUCCESS, exp10(), t_rfield::extin_mag_V_extended, t_rfield::extin_mag_V_point, t_iso_sp::fb, t_geometry::FillFac, t_mole_local::findrk(), findspecies(), findspecieslocal(), FindStrongestLineLabels(), t_rfield::fine_anu, t_rfield::fine_opac_zone, t_rfield::fine_opt_depth, t_rfield::flux, t_rfield::flux_total_incident, flxCell(), Wind::fmul, fp_equal(), fprintf(), GammaPrt(), t_dense::gas_phase, GrainVar::GasCoolColl, geometry, t_rfield::getCoarseTransCoef(), t_conv::getCounterName(), t_conv::getCounterZone(), t_mesh::getResolutionScaleFactor(), grid, gv, t_colden::H0_21cm_lower, t_colden::H0_21cm_upper, t_colden::H0_ov_Tspin, h2, t_hmi::H2_photodissoc_used_H2g, diatomics::H2_PunchDo(), t_hmi::H2_Solomon_dissoc_rate_used_H2g, t_hmi::H2_total, hcmap, t_dynamics::Heat(), t_hmi::HeatH2Dexc_used, t_hmi::HeatH2Dish_used, t_thermal::heating(), Heavy, HFLines, t_conv::hist_pres_current, t_conv::hist_pres_density, t_conv::hist_pres_error, t_conv::hist_temp_cool, t_conv::hist_temp_heat, t_conv::hist_temp_temp, hmi, t_thermal::htot, HydroRecCool(), hyperfine, t_cpu::i(), molecule::index, Singleton< t_ADfA >::Inst(), Singleton< t_yield >::Inst(), t_pressure::IntegRhoGravity, ion_recombAGN(), ionbal, ioQQQ, ipALUMINIUM, ipCARBON, ipCOL_elec, ipCOL_HTOT, t_save::ipConPun, TransitionProxy::ipCont(), ipELECTRON, t_opac::ipElement, t_save::ipEmisFreq, ipFineCont(), ipH1s, ipH2p, ipH2s, ipH_LIKE, ipHe1s1S, ipHe2p1P, ipHe2p3P0, ipHe2p3P1, ipHe2p3P2, ipHe2s3S, ipHE_LIKE, ipHELIUM, ipHYDROGEN, ipIRON, ipMAGNESIUM, t_rfield::ipMaxBolt, ipoint(), ipOXYGEN, SaveParams::ipPnunit, ipPun, ipRecEsc, ipRecNetEsc, ipRecRad, ipSILICON, ipSODIUM, ipSULPHUR, t_rfield::ipV_filter, is_odd(), iso_sp, iteration, iterations, t_save::lg_separate_iterations, lgAbort, lgCheckMonitors(), t_conv::lgConvPres, t_conv::lgConvTemp, t_save::lgCumulative, t_dense::lgElmtOn, t_save::lgEmergent, diatomics::lgEnabled, t_save::lgFITS, t_save::lgFLUSH, t_grid::lgGrid, t_save::lgHashEndIter, t_iterations::lgLastIt, t_save::lgLineListRatio, t_save::lgLinEvery, t_hcmap::lgMapBeingDone, t_hcmap::lgMapDone, t_cpu_i::lgMPI_talk(), lgMustPrintHeader, t_grid::lgOutputTypeOn, t_save::lgPrtIsotropicCont, t_save::lgPunLstIter, t_radius::lgRadiusKnown, t_save::lgRealSave, t_save::lgSaveEveryZone, t_save::lgSaveHeader(), t_geometry::lgSphere, t_dynamics::lgStatic_completed, t_called::lgTalk, t_dynamics::lgTimeDependentStatic, t_DoppVel::lgTurb_pressure, LIMELM, t_rfield::line_count, t_LineSave::lines, LineSave, t_save::LinEvery, t_mole_global::list, magnetic, map_do(), t_hcmap::MapZone, matchGeneric(), MAX2, mean, t_mesh::mesh_md5sum(), MIN2, mole, mole_dominant_rates(), mole_global, mole_save(), NCHLAB, t_iso_sp::nCollapsed_local, t_save::ncSaveSkip, t_yield::nelec_eject(), t_rfield::nfine, t_rfield::nflux, t_rfield::nflux_with_check, t_save::nLineList, t_optimize::nOptimiz, t_conv::nPres2Ioniz, t_save::nsave, t_save::nSaveEveryZone, nSpecies, t_Heavy::nsShells, t_LineSave::nsum, t_conv::ntypes(), null_mole, t_mole_global::num_calc, NUM_OUTPUT_TYPES, t_iso_sp::numLevels_local, nzone, t_rfield::OccNumbIncidCont, OccupationNumberLine(), opac, t_opac::opacity_abs, t_opac::opacity_sct, optimize, t_save::optname, t_rfield::otscon, t_rfield::otslin, t_rfield::outlin, t_rfield::outlin_noplot, t_save::params, t_dense::pden, EmissionProxy::Pdest(), EmissionProxy::Pesc(), t_ADfA::ph1(), t_ionbal::PhotoRate_Shell, phycon, t_radius::PI4_Radius_sq, t_pressure::pinzon, t_pressure::pinzon_PresIntegElecThin, plankf(), EmissionProxy::Ploss(), POW2, t_pressure::pres_radiation_lines_curr, t_pressure::PresGasCurr, t_pressure::PresInteg, t_pressure::PresIntegElecThin, t_pressure::PresRamCurr, pressure, t_magnetic::pressure, t_pressure::PresTotlCurr, t_pressure::PresTotlError, t_pressure::PresTotlInit, t_pressure::PresTurbCurr, prt_line_inlist(), prt_LineLabels(), prt_wl(), PrtLinePres(), PrtLogLin(), PrtMeanIon(), EmissionProxy::pump(), t_save::punarg, radius, t_radius::Radius, t_radius::Radius_mid_zone, t_iso_sp::RadRec_caseB, t_dynamics::Rate, GrainVar::rate_h2_form_grains_used_total, t_ionbal::RateIonizTot(), t_ionbal::RateRecomTot, t_rfield::reflin, t_save::Resolution, rfield, Energy::Ryd(), safe_div(), save, save_average(), save_line(), Save_Line_RT(), save_opacity(), saveFITSfile(), SaveGaunts(), t_save::SaveHeaderDone(), SaveHeat(), SaveLineData(), SaveLineIntensity(), SaveLineStuff(), SaveResults(), SaveSpecial(), SaveSpecies(), SaveSpeciesBands(), SaveSpeciesOptDep(), SaveSpeciesPseudoCont(), SDIV(), secondaries, sexp(), ShowMe(), SMALLFLOAT, t_timesc::sound_speed_adiabatic, t_dynamics::Source, t_mole_local::species, t_save::SpeciesBandFile, sprt_wl(), t_iso_sp::st, struc, t_opac::TauAbsFace, t_opac::TauAbsGeo, EmissionProxy::TauCon(), EmissionProxy::TauIn(), t_opac::TauScatFace, EmissionProxy::TauTot(), t_phycon::te, t_phycon::te03, t_phycon::te10, t_phycon::te70, t_phycon::TeInit, t_phycon::telogn, TempChange(), t_phycon::TeProp, t_struc::testr, TexcLine(), thermal, t_dynamics::time_elapsed, t_timesc::time_H2_Dest_here, timesc, TorF(), GrainVar::TotalEden, TotalInsanity(), t_rfield::TotDiff2Pht, t_iso_sp::trans(), t_hyperfine::Tspin21cm, t_DoppVel::TurbVel, t_hmi::UV_Cont_rel2_Draine_DB96_depth, t_hmi::UV_Cont_rel2_Habing_TH85_depth, VERSION_TRNCON, t_save::whichDiatomToPrint, t_mesh::widflx(), wind, Wind::windv, TransitionProxy::WLAng(), t_save::wlLineList, t_secondaries::x12tot, t_dense::xIonDense, t_mean::xIonMean, and t_dense::xMassDensity.

Referenced by BadStart(), and cloudy().

void saveFITSfile ( FILE *  io,
int  option,
realnum  Elo = 0.f,
realnum  Ehi = 0.f,
realnum  Enorm = 0.f 
)
Save spectra to a FITS compatible file. 
Parameters
iothe file we will write to
optionchoose type of spectrum to save
Eloif set, lower bound of spectrum to save
Ehiif set, upper bound of spectrum to save
Enormif set, normalize spectrum to 1 at this frequency

Definition at line 86 of file save_fits.cpp.

References t_mesh::anu(), ASSERT, DEBUG_ENTRY, fprintf(), grid, GridRetrieveXSPECData(), t_grid::interpParameters, ioFITS_OUTPUT, t_mesh::ipointC(), t_grid::lgGridDone, MAX2, maxParamValues, t_grid::naddparm, t_rfield::nflux, t_grid::nintparm, t_optimize::nOptimiz, NUM_OUTPUT_TYPES, t_grid::numParamValues, open_data(), optimize, t_grid::paramData, t_grid::paramMethods, t_grid::paramNames, t_grid::paramRange, punchFITS_EnergyData(), punchFITS_EnergyHeader(), punchFITS_GenericData(), punchFITS_GenericHeader(), punchFITS_ParamData(), punchFITS_ParamHeader(), punchFITS_PrimaryHeader(), punchFITS_SpectraData(), punchFITS_SpectraHeader(), rfield, t_grid::Spectra, t_grid::totNumModels, and wr_block().

Referenced by process_output(), and SaveDo().

Here is the call graph for this function:

void SaveGrid ( FILE *  pnunit,
exit_type  status 
)

SaveGrid implements the SAVE GRID command

Parameters
pnunit: file descriptor to write to
status: exit status of the grid point

Definition at line 3996 of file save_do.cpp.

References t_cpu_i::chExitStatus(), t_save::chFileName, t_optimize::chVarFmt, cpu, DEBUG_ENTRY, ES_SUCCESS, ES_WARNINGS, fprintf(), grid, GridPointPrefix(), t_cpu::i(), t_grid::interpParameters, t_save::ipSaveGrid, t_warnings::lgWarngs, t_grid::nintparm, t_optimize::nOptimiz, t_cpu_i::nRANK(), open_data(), optimize, save, t_grid::seqNum, TorF(), and warnings.

Referenced by cdPrepareExit().

Here is the call graph for this function:

void SaveHeat ( FILE *  io)
NORETURN void SaveLineData ( FILE *  io)
void SaveSpecial ( FILE *  io,
const char *  chTime 
)

SaveSpecial generate output for the save special command

Parameters
io
chTime

Definition at line 12 of file save_special.cpp.

References Wind::AccelCont, t_mesh::anu(), t_mesh::anu2(), DEBUG_ENTRY, dense, t_dense::eden, Wind::fmul, fprintf(), t_dense::gas_phase, TransitionProxy::ipCont(), ipH1s, ipH2p, ipH2s, ipH_LIKE, ipHYDROGEN, iso_sp, opac, t_opac::opacity_sct, powi(), radius, t_radius::Radius, rfield, t_iso_sp::st, t_iso_sp::trans(), t_iso_sp::TwoNu, t_mesh::widflx(), wind, and t_dense::xMassDensity.

Referenced by SaveDo().

Here is the call graph for this function:

void SaveSpecies ( FILE *  ioPUN,
long int  ipPun 
)

SaveSpecies generate output for the save species command

Parameters
ioPUNio unit for save
ipPunarrayin save array

Definition at line 35 of file save_species.cpp.

References ASSERT, cdEXIT, t_save::chSaveArgs, t_save::chSaveSpecies, column(), DEBUG_ENTRY, density(), depart(), energy(), EXIT_FAILURE, fprintf(), ioQQQ, ipPun, levels(), molezone::levels, t_save::lgSaveHeader(), t_mole_global::list, matchGeneric(), MAX2, mole, mole_global, null_molezone, save, t_save::SaveHeaderDone(), SaveSpeciesHeader(), SaveSpeciesLines(), SaveSpeciesOne(), qList::size(), t_mole_local::species, and TotalInsanity().

Referenced by SaveDo().

Here is the call graph for this function:

void SaveSpeciesBands ( const long  ipPun,
const string &  speciesLabel,
const string &  fileBands 
)

SaveSpeciesBands - save species bands emission

Parameters
ipPunsave file index
speciesLabelspecies emission to be stored
fileBandsfile that holds the bands' definitions

Definition at line 930 of file species_pseudo_cont.cpp.

References ASSERT, cdEXIT, t_radius::Conv2PrtInten, DEBUG_ENTRY, EXIT_FAILURE, t_LineSave::findline(), fprintf(), getSpecBandsIndex(), ioQQQ, SaveParams::ipPnunit, t_save::lgSaveHeader(), t_LineSave::lines, LineSave, t_save::params, radius, save, t_save::SaveHeaderDone(), and SpecBands.

Referenced by SaveDo().

Here is the call graph for this function:

void SaveSpeciesOptDep ( const long int  ipPun,
const string &  speciesLabel 
)

SaveSpeciesOptDep – generate output for 'save species optical depth'

Parameters
ipPunarray index in save array
speciesLabellabel to acquire species

Definition at line 441 of file save_species.cpp.

References DEBUG_ENTRY, fprintf(), getSpecies(), ioQQQ, SaveParams::ipPnunit, iterations, genericState::label(), t_iterations::lgLastIt, t_save::lgSaveHeader(), molezone::lines, t_save::params, save, t_save::SaveHeaderDone(), and genericState::sp.

Referenced by SaveDo().

Here is the call graph for this function:

void SaveSpeciesPseudoCont ( const long  ipPun,
const string &  speciesLabel 
)

SaveSpeciesPseudoCont - save species pseudo-continuum

Parameters
ipPunsave file index
speciesLabelspecies emission to be stored

Definition at line 406 of file species_pseudo_cont.cpp.

References cdEXIT, t_save::chSaveArgs, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), getIntenTypeStr(), getPseudoIndex(), INWARD, ioQQQ, SaveParams::ipPnunit, t_save::lgSaveHeader(), OUTWARD, t_save::params, PseudoCont, t_save::punarg, resolveSpecType(), save, t_save::SaveHeaderDone(), TOTAL, and TotalInsanity().

Referenced by SaveDo().

Here is the call graph for this function:

Variable Documentation

const long LIMPUN = 100L
static
t_save save
const long VERSION_TRNCON = 20190210L
static

magic version number for the transmitted continuum output file

Definition at line 16 of file save.h.

Referenced by ReadTable(), and SaveDo().