mirror of
https://github.com/cosmo-sims/monofonIC.git
synced 2024-09-19 17:03:45 +02:00
add monofonic metadata to Gadget-HDF5 output
This commit is contained in:
parent
69f8b1243c
commit
039b68bea0
1 changed files with 40 additions and 0 deletions
|
@ -117,6 +117,46 @@ public:
|
||||||
|
|
||||||
unlink(this_fname_.c_str());
|
unlink(this_fname_.c_str());
|
||||||
HDFCreateFile(this_fname_);
|
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
|
// use destructor to write header post factum
|
||||||
|
|
Loading…
Reference in a new issue