diff --git a/CHANGELOG.md b/CHANGELOG.md
index 699c2cfde7b4edc8586ca05238f512b55c4f6a41..6c1d64a10984b576ec42c4ab2b7b786d050420dd 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,9 @@
 # CHANGELOG
 All changes to the Metis L1 pipeline are documented in this file.
 
+## 2.2.1 – 2021-02-23
+- Minor changes and optimisations
+
 ## 2.2 – 2020-11-25
 - Change the way how the house-keeping parameters are saved into the FITS binary table, in order to prevent very long computation times when the house-keeping parameter table is large in data volume.
 - Modify the decode_obt.pro routine to fix a bug that caused the OBT_BEG and OBT_END keyword values to be converted from double to long.
@@ -33,4 +36,4 @@ All changes to the Metis L1 pipeline are documented in this file.
 - Add the decode_obt.pro routine.
 
 ## 0.0 – 2020-01-16
-Prototype version of the L1 pipeline.
\ No newline at end of file
+Prototype version of the L1 pipeline.
diff --git a/metis_l1_prep.pro b/metis_l1_prep.pro
index cb6e5412a3fd711ffcc1528fc7913c34c7ccbc87..76703d87c551a71cdf2c0faf641ef20a407ca656 100644
--- a/metis_l1_prep.pro
+++ b/metis_l1_prep.pro
@@ -130,7 +130,7 @@ pro metis_l1_prep
 
 	file_name_fields = strsplit(fxpar(primary_header, 'FILENAME'), '_', /extract)
 
-	file_name = 'solo_l1_' + file_name_fields[2] + '_' + date_beg_string + '_v' + version + '.fits'
+	file_name = 'solo_L1_' + file_name_fields[2] + '_' + date_beg_string + '_V' + version + '.fits'
 	out_file_name = 'output/' + file_name
 
 	; exposure times
@@ -213,6 +213,7 @@ pro metis_l1_prep
 	fxaddpar, primary_header, 'TIMSYER', 0.0, '[s] Estimated systematic error in time values', before = 'OBT_BEG'
 	fxaddpar, primary_header, 'LEVEL', 'L1'
 	fxaddpar, primary_header, 'CREATOR', 'metis_l1_prep.pro'
+	fxaddpar, primary_header, 'VERS_SW', input.sw_version
 	fxaddpar, primary_header, 'OBSRVTRY', 'Solar Orbiter', 'Satellite name', before = 'INSTRUME'
 	fxaddpar, primary_header, 'TELESCOP', telescope, 'Telescope that took the measurement', before = 'INSTRUME'
 	fxaddpar, primary_header, 'DETECTOR', detector, 'Subunit/sensor', before = 'DATAMIN'
@@ -268,8 +269,8 @@ pro metis_l1_prep
 		; fxaddpar, primary_header, 'DAC1POL4', interpol_param(hk_table, 'NIT0E06A', date_avg, empty_params = empty_params)
 		; fxaddpar, primary_header, 'DAC2POL4', interpol_param(hk_table, 'NIT0E06B', date_avg, empty_params = empty_params)
 
-		fxaddpar, primary_header, 'TSENSOR ', interpol_param(hk_table, 'NIT0E0E0', date_avg, empty_params = empty_params)
-		fxaddpar, primary_header, 'PMPTEMP ', interpol_param(hk_table, 'NIT0L00D', date_avg, empty_params = empty_params)
+		fxaddpar, primary_header, 'TSENSOR ', interpol_param(hk_table, 'NIT0E0E0', date_avg, empty_params = empty_params), '[degC] VLDA temperature'
+		fxaddpar, primary_header, 'PMPTEMP ', interpol_param(hk_table, 'NIT0L00D', date_avg, empty_params = empty_params), '[degC] PMP temperature'
 
 		journal, 'Header keywords were calibrated using HK parameters:'
 		journal, '  TSENSOR = ' + string(fxpar(primary_header, 'TSENSOR'), format = '(F0)')
@@ -277,12 +278,12 @@ pro metis_l1_prep
 	endif
 
 	if datatype eq 1 or datatype eq 4 or datatype eq 6 then begin
-		fxaddpar, primary_header, 'HVU_SCR ', interpol_param(hk_table, 'NIT0E070', date_avg, empty_params = empty_params)
-		fxaddpar, primary_header, 'HVU_MCP ', interpol_param(hk_table, 'NIT0E071', date_avg, empty_params = empty_params)
-		fxaddpar, primary_header, 'HV_SCR_V', interpol_param(hk_table, 'NIT0E0B7', date_avg, empty_params = empty_params), after = 'HVU_MCP'
-		fxaddpar, primary_header, 'HV_MCP_V', interpol_param(hk_table, 'NIT0E0B6', date_avg, empty_params = empty_params), after = 'HV_SCR_V'
-		fxaddpar, primary_header, 'HV_MCP_I', interpol_param(hk_table, 'NIT0E0BF', date_avg, empty_params = empty_params), after = 'HV_MCP_V'
-		fxaddpar, primary_header, 'TSENSOR ', interpol_param(hk_table, 'NIT0E050', date_avg, empty_params = empty_params)
+		fxaddpar, primary_header, 'HVU_SCR ', interpol_param(hk_table, 'NIT0E070', date_avg, empty_params = empty_params), '[raw] HVU Screen commanded voltage'
+		fxaddpar, primary_header, 'HVU_MCP ', interpol_param(hk_table, 'NIT0E071', date_avg, empty_params = empty_params), '[raw] HVU MCP commanded voltage'
+		fxaddpar, primary_header, 'HV_SCR_V', interpol_param(hk_table, 'NIT0E0B7', date_avg, empty_params = empty_params), '[V] HVU MCP applied voltage', after = 'HVU_MCP'
+		fxaddpar, primary_header, 'HV_MCP_V', interpol_param(hk_table, 'NIT0E0B6', date_avg, empty_params = empty_params), '[V] HVU Screen + MCP voltage (TBD)', after = 'HV_SCR_V'
+		fxaddpar, primary_header, 'HV_MCP_I', interpol_param(hk_table, 'NIT0E0BF', date_avg, empty_params = empty_params), '[uA] HVU MCP current', after = 'HV_MCP_V'
+		fxaddpar, primary_header, 'TSENSOR ', interpol_param(hk_table, 'NIT0E050', date_avg, empty_params = empty_params), '[degC] UVDA temperature'
 
 		journal, 'Header keywords were calibrated using HK parameters:'
 		journal, '  HVU_SCR  = ' + string(fxpar(primary_header, 'HVU_SCR'), format = '(F0)')
@@ -356,7 +357,6 @@ pro metis_l1_prep
 
 	; modify keywords for file history
 
-	date = date_conv(systime(/julian, /utc), 'FITS')
 	fxaddpar, primary_header, 'HISTORY', 'L1 FITS file created on ' + date
 
 	; modify keywords for comments