 }
 
 
-void mult_e_jones_by_source_field_amp(const unsigned num_stations,
+void mult_e_jones_by_source_field_amp_d(const unsigned num_stations,
         const oskar_SkyModelLocal_d* hd_sky, double2 * d_e_jones)
 {
     int num_sources = hd_sky->num_sources;

                    telescope.latitude, &h_beam_l, &h_beam_m, &h_beam_n);

            // Evaluate E-Jones for each source position per station
            evaluate_e_jones(num_stations, hd_stations, &hd_sky_local,
                    h_beam_l, h_beam_m, d_weights_work, disable_e_jones,
                    telescope.identical_stations, d_e_jones);


            // Multiply e-jones by source brightness.
            mult_e_jones_by_source_field_amp(num_stations, &hd_sky_local, d_e_jones);

            // Convert source positions in ra, dec to lmn relative to the phase
            // centre.

    size_t mem_size = num_stations * sizeof(oskar_StationModel);
    oskar_StationModel* hd_stations = (oskar_StationModel*)malloc(mem_size);
    copy_stations_to_gpu_d(stations, num_stations, hd_stations);
    scale_station_coords_to_wavenumbers_d(num_stations, hd_stations, wavenumber);

    // === Allocate device memory for source model and transfer to device.
    oskar_SkyModelGlobal_d hd_sky_global;
