ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
ERF_Provenance.H File Reference
#include <array>
#include <cstdint>
#include <ctime>
#include <string>
#include <string_view>
#include <vector>
Include dependency graph for ERF_Provenance.H:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  erf_provenance::ExecutionProvenance
 
struct  erf_provenance::ArtifactProvenance
 
struct  erf_provenance::ProvenanceRecord
 
struct  erf_provenance::ProvenanceParseResult
 

Namespaces

 erf_provenance
 

Typedefs

using erf_provenance::ProvenanceReadResult = ProvenanceParseResult
 

Enumerations

enum class  erf_provenance::LineageStatus {
  erf_provenance::Complete , erf_provenance::IncompleteAncestor , erf_provenance::MissingJobInfo , erf_provenance::MissingProvenanceBlock ,
  erf_provenance::MalformedProvenance , erf_provenance::UnsupportedSchema , erf_provenance::ArtifactTypeMismatch
}
 
enum class  erf_provenance::ArtifactType { erf_provenance::Checkpoint , erf_provenance::Plotfile2D , erf_provenance::Plotfile3D }
 
enum class  erf_provenance::ProvenanceReadStatus {
  erf_provenance::Valid , erf_provenance::MissingJobInfo , erf_provenance::MissingProvenanceBlock , erf_provenance::MalformedProvenance ,
  erf_provenance::UnsupportedSchema , erf_provenance::ArtifactTypeMismatch
}
 

Functions

std::string erf_provenance::uuid_v4_from_bytes (const std::array< std::uint8_t, 16 > &bytes)
 
bool erf_provenance::is_valid_uuid_v4 (std::string_view uuid)
 
std::string erf_provenance::generate_uuid_v4 ()
 
std::string erf_provenance::format_utc (std::time_t time_value)
 
std::string erf_provenance::current_utc ()
 
std::string erf_provenance::serialize_provenance_block (const ProvenanceRecord &record)
 
ProvenanceParseResult erf_provenance::parse_provenance_block (std::string_view text)
 
ProvenanceReadResult erf_provenance::read_job_info_file (const std::string &path)
 
ExecutionProvenance erf_provenance::make_cold_start_provenance (const std::string &execution_uuid, const std::string &execution_start_utc)
 
ExecutionProvenance erf_provenance::make_restart_provenance (const ExecutionProvenance &current_invocation, const ProvenanceRecord &parent_checkpoint, const std::string &checkpoint_path)
 
ExecutionProvenance erf_provenance::make_incomplete_restart_provenance (const ExecutionProvenance &current_invocation, ProvenanceReadStatus failure_status, const std::string &checkpoint_path)
 
const char * erf_provenance::lineage_status_token (LineageStatus status) noexcept
 
const char * erf_provenance::artifact_type_token (ArtifactType type) noexcept
 
ExecutionProvenance erf_provenance::initialize_execution_provenance ()
 

Variables

constexpr int erf_provenance::schema_version = 1
 
constexpr const char * erf_provenance::provenance_begin = "ERF_PROVENANCE_BEGIN"
 
constexpr const char * erf_provenance::provenance_end = "ERF_PROVENANCE_END"