mirror of
https://github.com/cosmo-sims/monofonIC.git
synced 2024-09-18 15:53:45 +02:00
Merged in gadget-hdf5-header-metadata (pull request #39)
add monofonic metadata to Gadget-HDF5 output Approved-by: Oliver Hahn
This commit is contained in:
commit
fa444ef2d3
1 changed files with 40 additions and 0 deletions
|
@ -117,6 +117,46 @@ public:
|
|||
|
||||
unlink(this_fname_.c_str());
|
||||
HDFCreateFile(this_fname_);
|
||||
|
||||
// Write MUSIC configuration header
|
||||
int order = cf_.get_value<int>("setup", "LPTorder");
|
||||
std::string load = cf_.get_value<std::string>("setup", "ParticleLoad");
|
||||
std::string tf = cf_.get_value<std::string>("cosmology", "transfer");
|
||||
std::string cosmo_set = cf_.get_value<std::string>("cosmology", "ParameterSet");
|
||||
std::string rng = cf_.get_value<std::string>("random", "generator");
|
||||
int do_fixing = cf_.get_value<bool>("setup", "DoFixing");
|
||||
int do_invert = cf_.get_value<bool>("setup", "DoInversion");
|
||||
int do_baryons = cf_.get_value<bool>("setup", "DoBaryons");
|
||||
int do_baryonsVrel = cf_.get_value<bool>("setup", "DoBaryonVrel");
|
||||
int L = cf_.get_value<int>("setup", "GridRes");
|
||||
|
||||
HDFCreateGroup(fname_, "ICs_parameters");
|
||||
HDFWriteGroupAttribute(fname_, "ICs_parameters", "Code", std::string("MUSIC2 - monofonIC"));
|
||||
HDFWriteGroupAttribute(fname_, "ICs_parameters", "Git Revision", std::string(GIT_REV));
|
||||
HDFWriteGroupAttribute(fname_, "ICs_parameters", "Git Tag", std::string(GIT_TAG));
|
||||
HDFWriteGroupAttribute(fname_, "ICs_parameters", "Git Branch", std::string(GIT_BRANCH));
|
||||
HDFWriteGroupAttribute(fname_, "ICs_parameters", "Precision", std::string(CMAKE_PRECISION_STR));
|
||||
HDFWriteGroupAttribute(fname_, "ICs_parameters", "Convolutions", std::string(CMAKE_CONVOLVER_STR));
|
||||
HDFWriteGroupAttribute(fname_, "ICs_parameters", "PLT", std::string(CMAKE_PLT_STR));
|
||||
HDFWriteGroupAttribute(fname_, "ICs_parameters", "LPT Order", order);
|
||||
HDFWriteGroupAttribute(fname_, "ICs_parameters", "Particle Load", load);
|
||||
HDFWriteGroupAttribute(fname_, "ICs_parameters", "Transfer Function", tf);
|
||||
HDFWriteGroupAttribute(fname_, "ICs_parameters", "Cosmology Parameter Set", cosmo_set);
|
||||
HDFWriteGroupAttribute(fname_, "ICs_parameters", "Random Generator", rng);
|
||||
HDFWriteGroupAttribute(fname_, "ICs_parameters", "Mode Fixing", do_fixing);
|
||||
HDFWriteGroupAttribute(fname_, "ICs_parameters", "Mode inversion", do_invert);
|
||||
HDFWriteGroupAttribute(fname_, "ICs_parameters", "Baryons", do_baryons);
|
||||
HDFWriteGroupAttribute(fname_, "ICs_parameters", "Baryons Relative Velocity", do_baryonsVrel);
|
||||
HDFWriteGroupAttribute(fname_, "ICs_parameters", "Grid Resolution", L);
|
||||
|
||||
if (tf == "CLASS") {
|
||||
double ztarget = cf_.get_value<double>("cosmology", "ztarget");
|
||||
HDFWriteGroupAttribute(fname_, "ICs_parameters", "Target Redshift", ztarget);
|
||||
}
|
||||
if (rng == "PANPHASIA") {
|
||||
std::string desc = cf_.get_value<std::string>("random", "descriptor");
|
||||
HDFWriteGroupAttribute(fname_, "ICs_parameters", "Descriptor", desc);
|
||||
}
|
||||
}
|
||||
|
||||
// use destructor to write header post factum
|
||||
|
|
Loading…
Reference in a new issue