diff --git a/src/velociraptor_interface.c b/src/velociraptor_interface.c
index 46fe0a9925ed37a09f0fb1a3af006d8e85c9ec00..c754ce2329fc561bc5b92b4f4ab2bf94e7e9b7fc 100644
--- a/src/velociraptor_interface.c
+++ b/src/velociraptor_interface.c
@@ -39,28 +39,55 @@ void init_velociraptor(struct engine *e) {
     struct unitinfo unit_info;
     struct siminfo sim_info;
     
+    struct unit_system vel_us;
+    struct phys_const vel_const;
+
+    /* Initialize velociraptor unit system and constants */
+    units_init(&vel_us, e->parameter_file, "VelociraptorUnitSystem");
+    phys_const_init(&vel_us, e->parameter_file, &vel_const);
 
     /* Set cosmological constants. */
-    cosmo_info.atime = e->cosmology->time; /* TODO: double check this. */
+    cosmo_info.atime = e->cosmology->a;
     cosmo_info.littleh = e->cosmology->h;
     cosmo_info.Omega_m = e->cosmology->Omega_m;
     cosmo_info.Omega_b = e->cosmology->Omega_b;
     cosmo_info.Omega_Lambda = e->cosmology->Omega_lambda;
-    cosmo_info.Omega_cdm = e->cosmology->Omega_m - e->cosmology->Omega_b; /* TODO: double check this. */
-    cosmo_info.w_de = e->cosmology->w_0; /* TODO: double check this. */
+    cosmo_info.Omega_cdm = e->cosmology->Omega_m - e->cosmology->Omega_b;
+    cosmo_info.w_de = e->cosmology->w_0;
+
+    message("Scale factor: %e", cosmo_info.atime);
+    message("Little h: %e", cosmo_info.littleh);
+    message("Omega_m: %e", cosmo_info.Omega_m);
+    message("Omega_b: %e", cosmo_info.Omega_b);
+    message("Omega_Lambda: %e", cosmo_info.Omega_Lambda);
+    message("Omega_cdm: %e", cosmo_info.Omega_cdm);
+    message("w_de: %e", cosmo_info.w_de);
 
     /* Set unit conversions. */
-    unit_info.lengthtokpc = 3.2404407e-22 * e->internal_units->UnitLength_in_cgs; /* 1kpc <=> 3.086e21cm */
-    unit_info.velocitytokms = 1e-4 * parser_get_param_double(e->parameter_file, "InternalUnitSystem:UnitVelocity_in_cgs"); /* 1km/s <=> 1e4cm/s */
-    unit_info.masstosolarmass = 5.0251256e-34 * e->internal_units->UnitMass_in_cgs; /* 1M_sol <=> 1.99e33g */
-    unit_info.gravity = e->physical_constants->const_newton_G; /* G = 6.67408e-8 (cgs) */
+    unit_info.lengthtokpc = units_conversion_factor(e->internal_units, &vel_us, UNIT_CONV_LENGTH); /* 1kpc <=> 3.086e21cm */
+    unit_info.velocitytokms = units_conversion_factor(e->internal_units, &vel_us, UNIT_CONV_SPEED); /* 1km/s <=> 1e5cm/s */
+    unit_info.masstosolarmass = units_conversion_factor(e->internal_units, &vel_us, UNIT_CONV_MASS); /* 1M_sol <=> 1.99e33g */
+    unit_info.gravity = vel_const.const_newton_G; /* TODO: G = 6.67408e-8 (cgs) */
     unit_info.hubbleunit = e->cosmology->H; /* TODO: double check this. */
 
+    message("Length conversion factor: %e", unit_info.lengthtokpc);
+    message("Velocity conversion factor: %e", unit_info.velocitytokms);
+    message("Mass conversion factor: %e", unit_info.masstosolarmass);
+    message("G: %e", unit_info.gravity);
+    message("H: %e", unit_info.hubbleunit);
+
+    const int nr_gparts = e->s->nr_gparts;
+    
     /* Set simulation information. */
-    sim_info.period = 1.0; /* Placeholder. */
-    sim_info.zoomhigresolutionmass = 1.0; /* Placeholder. */
-    sim_info.interparticlespacing = 1.0; /* Placeholder. */
-    sim_info.icosmologicalsim = 1; /* Placeholder. */
+    sim_info.period = unit_info.lengthtokpc * e->s->cdim[0] * e->s->width[0]; /* Physical size of box in VELOCIraptor units (kpc). */
+    sim_info.zoomhigresolutionmass = -1.0; /* Placeholder. */
+    sim_info.interparticlespacing = sim_info.period / pow(nr_gparts, 1./3.); /* Placeholder. */
+    sim_info.icosmologicalsim = (e->policy & engine_policy_cosmology); /* Placeholder. */
+
+    message("Period: %e", sim_info.period);
+    message("Zoom high res mass: %e", sim_info.zoomhigresolutionmass);
+    message("Inter-particle spacing: %e", sim_info.interparticlespacing);
+    message("Cosmological: %d", sim_info.icosmologicalsim);
 
     InitVelociraptor("stf_input.cfg", "stf_ouput.out", cosmo_info, unit_info, sim_info);
 }