diff --git a/corsika/detail/modules/ObservationPlane.inl b/corsika/detail/modules/ObservationPlane.inl
index 8f4a658b504d896f674943f4729cc2a30336329f..23e5837ad00accbcac20e125d3c366a4d8929143 100644
--- a/corsika/detail/modules/ObservationPlane.inl
+++ b/corsika/detail/modules/ObservationPlane.inl
@@ -53,7 +53,7 @@ namespace corsika {
     // add our particles to the output file stream
     double const weight = 1.; // particle.getWeight()
     this->write(particle.getPID(), energy, displacement.dot(xAxis_),
-                displacement.dot(yAxis_), 0_m, weight);
+                displacement.dot(yAxis_), 0_m, particle.getTime(), weight);
 
     CORSIKA_LOG_TRACE("Particle detected absorbed={}", deleteOnHit_);
 
diff --git a/corsika/detail/modules/writers/ParticleWriterParquet.inl b/corsika/detail/modules/writers/ParticleWriterParquet.inl
index 4c6a49adadc103d38e2dbf5ecd278fcf262b189f..271346417218c43a2b25bfda21a476cbe470fa98 100644
--- a/corsika/detail/modules/writers/ParticleWriterParquet.inl
+++ b/corsika/detail/modules/writers/ParticleWriterParquet.inl
@@ -37,6 +37,8 @@ namespace corsika {
                      parquet::ConvertedType::NONE);
     output_.addField("z", parquet::Repetition::REQUIRED, parquet::Type::FLOAT,
                      parquet::ConvertedType::NONE);
+    output_.addField("time", parquet::Repetition::REQUIRED, parquet::Type::DOUBLE,
+                     parquet::ConvertedType::NONE);
     output_.addField("weight", parquet::Repetition::REQUIRED, parquet::Type::FLOAT,
                      parquet::ConvertedType::NONE);
 
@@ -59,16 +61,17 @@ namespace corsika {
 
   inline void ParticleWriterParquet::endOfLibrary() { output_.closeStreamer(); }
 
-  inline void ParticleWriterParquet::write(Code const& pid, HEPEnergyType const& energy,
-                                           LengthType const& x, LengthType const& y,
-                                           LengthType const& z, double const weight) {
+  inline void ParticleWriterParquet::write(Code const pid, HEPEnergyType const energy,
+                                           LengthType const x, LengthType const y,
+                                           LengthType const z, TimeType const t,
+                                           double const weight) {
 
     // write the next row - we must write `shower_` first.
     *(output_.getWriter()) << showerId_ << static_cast<int>(get_PDG(pid))
                            << static_cast<float>(energy / 1_GeV)
                            << static_cast<float>(x / 1_m) << static_cast<float>(y / 1_m)
-                           << static_cast<float>(z / 1_m) << static_cast<float>(weight)
-                           << parquet::EndRow;
+                           << static_cast<float>(z / 1_m) << static_cast<double>(t / 1_s)
+                           << static_cast<float>(weight) << parquet::EndRow;
 
     totalEnergy_ += energy;
 
diff --git a/corsika/modules/writers/ParticleWriterParquet.hpp b/corsika/modules/writers/ParticleWriterParquet.hpp
index 12451f4eddbcb55e4e14ca5a1cc21a9e124b9844..d28abdd1c7a483ace5e7e28ec2a2fbdb1b7a26d8 100644
--- a/corsika/modules/writers/ParticleWriterParquet.hpp
+++ b/corsika/modules/writers/ParticleWriterParquet.hpp
@@ -49,9 +49,10 @@ namespace corsika {
     /**
      * Write a PDG/corsika::Code particle to the file.
      */
-    void write(Code const& pid, units::si::HEPEnergyType const& energy,
-               units::si::LengthType const& x, units::si::LengthType const& y,
-               units::si::LengthType const& z, const double weight);
+    void write(Code const pid, units::si::HEPEnergyType const energy,
+               units::si::LengthType const x, units::si::LengthType const y,
+               units::si::LengthType const z, units::si::TimeType const time,
+               const double weight);
 
     /**
      * Return collected library-level summary for output.
diff --git a/tests/output/testWriterObservationPlane.cpp b/tests/output/testWriterObservationPlane.cpp
index c58861f52cd3f80bddf9ebd51ea4554aa39a1491..5b2483cf9a4cad58eec4acf4a281b657d11b4739 100644
--- a/tests/output/testWriterObservationPlane.cpp
+++ b/tests/output/testWriterObservationPlane.cpp
@@ -22,11 +22,11 @@ struct TestWriterPlane : public ParticleWriterParquet {
   YAML::Node getConfig() const { return YAML::Node(); }
 
   void checkWrite() {
-    ParticleWriterParquet::write(Code::Unknown, 1_GeV, 2_m, 3_m, 0_m, 1.0);
-    ParticleWriterParquet::write(Code::Proton, 1_GeV, 2_m, 3_m, 0_m, 1.0);
-    ParticleWriterParquet::write(Code::MuPlus, 1_GeV, 2_m, 3_m, 0_m, 1.0);
-    ParticleWriterParquet::write(Code::MuMinus, 1_GeV, 2_m, 3_m, 0_m, 1.0);
-    ParticleWriterParquet::write(Code::Photon, 1_GeV, 2_m, 3_m, 0_m, 1.0);
+    ParticleWriterParquet::write(Code::Unknown, 1_GeV, 2_m, 3_m, 0_m, 1_us, 1.0);
+    ParticleWriterParquet::write(Code::Proton, 1_GeV, 2_m, 3_m, 0_m, 1_us, 1.0);
+    ParticleWriterParquet::write(Code::MuPlus, 1_GeV, 2_m, 3_m, 0_m, 1_us, 1.0);
+    ParticleWriterParquet::write(Code::MuMinus, 1_GeV, 2_m, 3_m, 0_m, 1_us, 1.0);
+    ParticleWriterParquet::write(Code::Photon, 1_GeV, 2_m, 3_m, 0_m, 1_us, 1.0);
   }
 };