diff --git a/notebooks/ePix100/Characterize_Darks_ePix100_NBC.ipynb b/notebooks/ePix100/Characterize_Darks_ePix100_NBC.ipynb
index 3d2da0b11e8dfbcd569c1a9385612fbdba185452..cfaf022060c1028f47fccfaa3c13931751f6aa77 100644
--- a/notebooks/ePix100/Characterize_Darks_ePix100_NBC.ipynb
+++ b/notebooks/ePix100/Characterize_Darks_ePix100_NBC.ipynb
@@ -27,14 +27,14 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "in_folder = '/gpfs/exfel/exp/HED/202330/p900338/raw' # input folder, required\n",
+    "in_folder = '/gpfs/exfel/exp/MID/202330/p900329/raw' # input folder, required\n",
     "out_folder = '' # output folder, required\n",
     "metadata_folder = ''  # Directory containing calibration_metadata.yml when run by xfel-calibrate\n",
     "sequence = 0 # sequence file to use\n",
-    "run = 176 # which run to read data from, required\n",
+    "run = 106 # which run to read data from, required\n",
     "\n",
     "# Parameters for accessing the raw data.\n",
-    "karabo_id = \"HED_IA1_EPX100-1\" # karabo karabo_id\n",
+    "karabo_id = \"MID_EXP_EPIX-1\" # karabo karabo_id\n",
     "karabo_da = [\"EPIX01\"]  # data aggregators\n",
     "receiver_template = \"RECEIVER\" # detector receiver template for accessing raw data files\n",
     "path_template = 'RAW-R{:04d}-{}-S{{:05d}}.h5' # the template to use to access data\n",
diff --git a/notebooks/ePix100/Correction_ePix100_NBC.ipynb b/notebooks/ePix100/Correction_ePix100_NBC.ipynb
index 9585d4eb66c9f7ff5d876bef40992ec95d9e3120..89fa139226537207b3b447893c3a26c57333ccb5 100644
--- a/notebooks/ePix100/Correction_ePix100_NBC.ipynb
+++ b/notebooks/ePix100/Correction_ePix100_NBC.ipynb
@@ -24,15 +24,15 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "in_folder = \"/gpfs/exfel/exp/MID/202301/p003346/raw\" # input folder, required\n",
+    "in_folder = \"/gpfs/exfel/exp/HED/202102/p002739/raw\" # input folder, required\n",
     "out_folder = \"\"  # output folder, required\n",
     "metadata_folder = \"\"  # Directory containing calibration_metadata.yml when run by xfel-calibrate\n",
     "sequences = [-1]  # sequences to correct, set to -1 for all, range allowed\n",
     "sequences_per_node = 1  # number of sequence files per cluster node if run as slurm job, set to 0 to not run SLURM parallel\n",
-    "run = 55  # which run to read data from, required\n",
+    "run = 38  # which run to read data from, required\n",
     "\n",
     "# Parameters for accessing the raw data.\n",
-    "karabo_id = \"MID_EXP_EPIX-1\"  # karabo karabo_id\n",
+    "karabo_id = \"HED_IA1_EPX100-1\"  # karabo karabo_id\n",
     "karabo_da = \"EPIX01\"  # data aggregators\n",
     "db_module = \"\"  # module id in the database\n",
     "receiver_template = \"RECEIVER\"  # detector receiver template for accessing raw data files\n",
@@ -612,19 +612,6 @@
     "        # Create count/first datasets at INDEX source.\n",
     "        outp_source.create_index(data=image_counts)\n",
     "\n",
-    "        # Store uncorrected RAW image datasets for the corrected trains.\n",
-    "\n",
-    "        data_raw_fields = [  # /data/\n",
-    "            \"ambTemp\", \"analogCurr\", \"analogInputVolt\", \"backTemp\",\n",
-    "            \"digitalInputVolt\", \"guardCurr\", \"relHumidity\", \"digitalCurr\"\n",
-    "        ]\n",
-    "        for field in data_raw_fields:\n",
-    "            field_arr = seq_dc[instrument_src, f\"data.{field}\"].ndarray()\n",
-    "\n",
-    "            outp_source.create_key(\n",
-    "                f\"data.{field}\", data=field_arr,\n",
-    "                chunks=(chunk_size_idim, *field_arr.shape[1:]))\n",
-    "\n",
     "        image_raw_fields = [  # /data/image/\n",
     "            \"binning\", \"bitsPerPixel\", \"dimTypes\", \"dims\",\n",
     "            \"encoding\", \"flipX\", \"flipY\", \"roiOffsets\", \"rotation\",\n",
@@ -641,6 +628,11 @@
     "            \"data.image.pixels\", data=data, chunks=dataset_chunk)\n",
     "        outp_source.create_key(\n",
     "            \"data.trainId\", data=seq_dc.train_ids, chunks=min(50, len(seq_dc.train_ids)))\n",
+    "        \n",
+    "        if np.isin('data.pulseId', list(seq_dc[instrument_src].keys())): # some runs are missing 'data.pulseId'\n",
+    "            outp_source.create_key(\n",
+    "                \"data.pulseId\", data=list(seq_dc[instrument_src]['data.pulseId'].ndarray().squeeze()), chunks=min(50, len(seq_dc.train_ids)))\n",
+    "        \n",
     "        if pattern_classification:\n",
     "            # Add main corrected `data.image.pixels` dataset and store corrected data.\n",
     "            outp_source.create_key(\n",
diff --git a/src/cal_tools/epix100/epix100lib.py b/src/cal_tools/epix100/epix100lib.py
index 9cea56634612b1cc3ab38e9a49ba6210ae05cb64..d2c71e1b912b5fe5137131f21b4ad38f3298edff 100644
--- a/src/cal_tools/epix100/epix100lib.py
+++ b/src/cal_tools/epix100/epix100lib.py
@@ -23,12 +23,24 @@ class epix100Ctrl():
 
     def get_temprature(self):
         """Get temperature value from CONTROL.
-        Temprature is stored in Celsius/100 units.
-        Therefore, we are dividing by 100 and
-        there is an absolute tolerance of 100.
-        atol=100 is a 1 degree variation tolerance.
+        atol is degree variation tolerance.
         """
-        # data.backTemp shape evolved from (n_trains,) to (n_trains, 1)
-        return self.run_dc[
-            self.instrument_src, 'data.backTemp'].as_single_value(
-                reduce_by='mean', atol=100).item() / 100
+        # old receiver device configuration
+        # temperature was stored in:
+        #   source: 'MID_EXP_EPIX-1/DET/RECEIVER:daqOutput'
+        #   key: 'data.backTemp'
+        if 'data.backTemp' in self.run_dc[self.instrument_src]:
+            # using `item()` because data.backTemp shape evolved from (n_trains,) to (n_trains, 1)
+            # atol = 100 because temperature was in C/100
+            return self.run_dc[
+                self.instrument_src, 'data.backTemp'].as_single_value(
+                reduce_by='mean', atol=100).item() / 100 
+        
+        # new (2023) receiver device configuration 
+        # temperature is stored in:
+        #   source: 'MID_EXP_EPIX-1/DET/RECEIVER'
+        #   key: 'slowdata.backTemp.value'
+        else:
+            return self.run_dc[
+                self.instrument_src.split(':daqOutput')[0], 'slowdata.backTemp.value'].as_single_value(
+                reduce_by='mean', atol=1)
\ No newline at end of file