diff --git a/reader/HDF5MetadataSource.cpp b/reader/HDF5MetadataSource.cpp index 61076f08..95bfc19a 100644 --- a/reader/HDF5MetadataSource.cpp +++ b/reader/HDF5MetadataSource.cpp @@ -611,7 +611,10 @@ HDF5MetadataSource::OpenResult HDF5MetadataSource::Open(const std::string &filen if (master_file->Exists("/entry/instrument/attenuator")) dataset->experiment.AttenuatorTransmission( master_file->GetOptFloat("/entry/instrument/attenuator/attenuator_transmission")); - dataset->experiment.TotalFlux(master_file->GetOptFloat("/entry/instrument/beam/total_flux")); + auto total_flux = master_file->GetOptFloat("/entry/instrument/beam/total_flux"); + if (total_flux.has_value() && total_flux.value() < 0) + total_flux.reset(); // negative value is an "unknown flux" sentinel; treat as absent + dataset->experiment.TotalFlux(total_flux); if (master_file->Exists("/entry/azint") && master_file->Exists("/entry/azint/bin_to_q")) { HDF5DataSet bin_to_q_dataset(*master_file, "/entry/azint/bin_to_q");