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)
 
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 = 20100901L
 
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 724 of file save_do.cpp.

References 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 817 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(), t_geometry::covgeo, cpu, t_secondaries::csupra, 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, flux_correct_isotropic(), t_rfield::flux_total_incident, 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(), GrainVar::GrainEmission, GrainVar::GraphiteEmission, grid, GridGatherInCloudy(), 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_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_radius::PI4_rinner_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, PrettyTransmission(), 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(), SaveNewContinuum(), SaveResults(), SaveSpecial(), SaveSpecies(), SaveSpeciesBands(), SaveSpeciesOptDep(), SaveSpeciesPseudoCont(), SDIV(), secondaries, sexp(), ShowMe(), GrainVar::SilicateEmission, 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 
)
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 4694 of file save_do.cpp.

References t_cpu_i::chExitStatus(), t_optimize::chVarFmt, cpu, DEBUG_ENTRY, ES_SUCCESS, ES_WARNINGS, fprintf(), grid, t_cpu::i(), INPUT_LINE_LENGTH, t_grid::interpParameters, t_warnings::lgWarngs, t_grid::nintparm, t_optimize::nOptimiz, t_cpu_i::nRANK(), optimize, 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 921 of file species_pseudo_cont.cpp.

References cdEXIT, DEBUG_ENTRY, EXIT_FAILURE, fprintf(), getSpecBandsIndex(), INWARD, ioQQQ, SaveParams::ipPnunit, t_save::lgSaveHeader(), OUTWARD, t_save::params, save, t_save::SaveHeaderDone(), SpecBands, and TOTAL.

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 418 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 403 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 = 20100901L
static

magic version number for the transmitted continuum output file

Definition at line 16 of file save.h.

Referenced by ReadTable(), and SaveDo().