diff --git a/cpp/full_code/NSVE_field_stats.cpp b/cpp/full_code/NSVE_field_stats.cpp index 0969175cc75530e2dad2c3c5dd9e6a0449416ed0..9c6ea1c13ff2de6a7c2138be8e6a18bb30cf9a61 100644 --- a/cpp/full_code/NSVE_field_stats.cpp +++ b/cpp/full_code/NSVE_field_stats.cpp @@ -101,6 +101,33 @@ int NSVE_field_stats<rnumber>::read_current_cvorticity(void) } return EXIT_SUCCESS; } +template <typename rnumber> +int NSVE_field_stats<rnumber>::read_arbitrary_cvorticity(int iter) +{ + TIMEZONE("NSVE_field_stats::read_arbitrary_cvorticity"); + this->vorticity->real_space_representation = false; + if (this->bin_IO != NULL) + { + char itername[16]; + sprintf(itername, "i%.5x", iter); + std::string native_binary_fname = ( + this->simname + + std::string("_cvorticity_") + + std::string(itername)); + this->bin_IO->read( + native_binary_fname, + this->vorticity->get_cdata()); + } + else + { + this->vorticity->io( + this->simname + std::string("_fields.h5"), + "vorticity", + iter, + true); + } + return EXIT_SUCCESS; +} template <typename rnumber> int NSVE_field_stats<rnumber>::finalize(void) diff --git a/cpp/full_code/NSVE_field_stats.hpp b/cpp/full_code/NSVE_field_stats.hpp index 28a2376f17ac2ac837cbacac828cd91572bb3a17..0939ba03b60e03f66073d1713d5c3905d9110dd6 100644 --- a/cpp/full_code/NSVE_field_stats.hpp +++ b/cpp/full_code/NSVE_field_stats.hpp @@ -59,6 +59,7 @@ class NSVE_field_stats: public postprocess virtual int finalize(void); int read_current_cvorticity(void); + int read_arbitrary_cvorticity(int iter); }; #endif//NSVE_FIELD_STATS_HPP