CLEANUP - changes to folder structure

This commit is contained in:
Silas Oettinghaus
2026-03-25 10:57:48 +01:00
parent 0c5ad28f0a
commit 0ae846d3c3
351 changed files with 405 additions and 1294 deletions

View File

@@ -0,0 +1,400 @@
SELECT COUNT(*)
FROM `Results`
SELECT COUNT(DISTINCT run_id) AS unique_run_count
FROM `Results`;
SELECT COUNT(*) AS entries_for_run
FROM `Results`
WHERE run_id = -- your desired run_id here
2937;
ALTER TABLE `Runs`
ADD COLUMN grossrate DOUBLE GENERATED ALWAYS AS (
(
CASE
WHEN pam_level = 4 THEN 2.0
WHEN pam_level = 6 THEN 2.5
WHEN pam_level = 8 THEN 3.0
ELSE FLOOR(LOG2(pam_level) * 10) / 10
END
) * symbolrate
) STORED;
SELECT
JSON_EXTRACT(voa_class, '$.atten_state[1]') AS atten_state_second
FROM Runs
WHERE run_id = 1000;
SELECT DISTINCT
run_id
FROM Results r
WHERE date_of_processing > '2025-11-14 12:00:00';
SELECT DISTINCT
symbolrate
FROM Runs
WHERE pam_level = 4
AND symbolrate IS NOT NULL
ORDER BY symbolrate;
SELECT DISTINCT
wavelength
FROM Runs
SELECT
run_id,
COUNT(DISTINCT eq_id) AS unique_eq_count,
COUNT(*) AS entries_for_run
FROM `Results`
WHERE run_id IS NOT NULL
GROUP BY run_id
ORDER BY run_id;
SELECT
COUNT(DISTINCT eq_id) AS unique_eq_count,
COUNT(*) AS entries_for_run
FROM `Results`
WHERE run_id = -- your run_id here
2936;
SELECT
run_id,
COUNT(DISTINCT eq_id) AS unique_eq_count
FROM `Results`
WHERE run_id IS NOT NULL
GROUP BY run_id
ORDER BY run_id;
SELECT DISTINCT
r.run_id,
r.eq_id,
e.equalizer_structure,
e.eq,
e.mlse
FROM Results AS r
JOIN Equalizer AS e USING (eq_id)
WHERE r.run_id = -- your run_id here
2731
ORDER BY r.run_id, r.eq_id
SELECT DISTINCT
r.run_id
FROM Results AS r
JOIN Runs AS u
ON r.run_id = u.run_id
WHERE u.pam_level = 6
ORDER BY r.run_id;
-- older than aug 2025
CREATE OR REPLACE VIEW dashboard_old AS
SELECT
r.run_id,
r.eq_id,
e.equalizer_structure,
-- extract the DIR field from the JSON in e.MLSE
MAX(JSON_UNQUOTE(JSON_EXTRACT(e.MLSE, '$.DIR'))) AS DIR,
u.symbolrate,
u.pam_level,
u.wavelength,
u.fiber_length,
u.db_mode,
-- accumulated dispersion in ps
0.09 * u.fiber_length * (u.wavelength - 1310) AS accumulated_dispersion,
-- BER & new averages
AVG(r.BER) AS avg_BER,
MAX(r.SNR) AS max_SNR,
MAX(r.GMI) AS max_GMI,
AVG(r.Alpha) AS avg_Alpha,
MIN(r.BER) AS min_BER,
AVG(r.BER_precoded) AS avg_BER_precoded,
MIN(r.BER_precoded) AS min_BER_precoded,
COUNT(*) AS num_occurrences
FROM Results AS r
JOIN Runs AS u ON r.run_id = u.run_id
JOIN Equalizer AS e ON r.eq_id = e.eq_id
WHERE r.eq_id IS NOT NULL
AND r.date_of_processing < '2025-08-01 00:00:00'
GROUP BY
r.run_id,
r.eq_id,
e.equalizer_structure,
u.symbolrate,
u.pam_level,
u.wavelength,
u.fiber_length,
u.db_mode
ORDER BY
r.run_id,
r.eq_id;
CREATE OR REPLACE VIEW dashboard_new AS
SELECT
r.run_id,
r.eq_id,
e.equalizer_structure,
-- extract the DIR field from the JSON in e.MLSE
MAX(JSON_UNQUOTE(JSON_EXTRACT(e.MLSE, '$.DIR'))) AS DIR,
u.symbolrate,
u.pam_level,
u.wavelength,
u.fiber_length,
u.db_mode,
-- accumulated dispersion in ps
0.09 * u.fiber_length * (u.wavelength - 1310) AS accumulated_dispersion,
-- BER & new averages
AVG(r.BER) AS avg_BER,
MAX(r.SNR) AS max_SNR,
MAX(r.GMI) AS max_GMI,
AVG(r.Alpha) AS avg_Alpha,
MIN(r.BER) AS min_BER,
AVG(r.BER_precoded) AS avg_BER_precoded,
MIN(r.BER_precoded) AS min_BER_precoded,
COUNT(*) AS num_occurrences
FROM Results AS r
JOIN Runs AS u ON r.run_id = u.run_id
JOIN Equalizer AS e ON r.eq_id = e.eq_id
WHERE r.eq_id IS NOT NULL
AND r.date_of_processing >= '2025-08-01 00:00:00'
GROUP BY
r.run_id,
r.eq_id,
e.equalizer_structure,
u.symbolrate,
u.pam_level,
u.wavelength,
u.fiber_length,
u.db_mode
ORDER BY
r.run_id,
r.eq_id;
CREATE OR REPLACE VIEW dashboard_ungrouped_alltime AS
SELECT
r.result_id,
r.run_id,
r.eq_id,
e.equalizer_structure,
u.bitrate,
u.grossrate,
u.symbolrate,
u.pam_level,
u.wavelength,
u.fiber_length,
u.db_mode,
u.rop_attenuation,
-- accumulated dispersion in ps
0.07 * u.fiber_length * (u.wavelength - 1310) AS accumulated_dispersion,
r.date_of_processing,
r.numBits,
r.numBitErr,
r.BER,
r.numBitErr_precoded,
r.BER_precoded,
r.STD,
r.STDrx,
r.GMI,
r.AIR,
r.EVM,
r.Alpha
FROM Results AS r
JOIN Runs AS u ON r.run_id = u.run_id
JOIN Equalizer AS e ON r.eq_id = e.eq_id
WHERE r.eq_id IS NOT NULL;
CREATE OR REPLACE VIEW dashboard_ungrouped_aug_nov_2025 AS
SELECT
r.result_id,
r.run_id,
r.eq_id,
e.equalizer_structure,
u.bitrate,
u.grossrate,
u.symbolrate,
u.pam_level,
u.wavelength,
u.fiber_length,
u.db_mode,
u.rop_attenuation,
-- accumulated dispersion in ps
0.07 * u.fiber_length * (u.wavelength - 1310) AS accumulated_dispersion,
r.date_of_processing,
r.numBits,
r.numBitErr,
r.BER,
r.numBitErr_precoded,
r.BER_precoded,
r.STD,
r.STDrx,
r.GMI,
r.AIR,
r.EVM,
r.Alpha
FROM Results AS r
JOIN Runs AS u ON r.run_id = u.run_id
JOIN Equalizer AS e ON r.eq_id = e.eq_id
WHERE r.eq_id IS NOT NULL
AND r.date_of_processing >= '2025-08-01 00:00:00'
AND r.date_of_processing < '2025-11-14 00:00:00';
-- Das waren meine ehemals besten BERs, im Nov habe ich ML-based hinzugefügt und
-- das Rx Filter nochmal sehr eng gestellt, das war inbesondere bei geringeren Raten sehr hilfreich um
-- out.of-band noise zu filtern -> BER ging ja teilweise runter und wieder hoch...
CREATE OR REPLACE VIEW dashboard_ungrouped_aug_nov_2025 AS
SELECT
r.result_id,
r.run_id,
r.eq_id,
e.equalizer_structure,
u.bitrate,
u.grossrate,
u.symbolrate,
u.pam_level,
u.wavelength,
u.fiber_length,
u.db_mode,
u.rop_attenuation,
-- accumulated dispersion in ps
0.07 * u.fiber_length * (u.wavelength - 1310) AS accumulated_dispersion,
r.date_of_processing,
r.numBits,
r.numBitErr,
r.BER,
r.numBitErr_precoded,
r.BER_precoded,
r.STD,
r.STDrx,
r.GMI,
r.AIR,
r.EVM
FROM Results AS r
JOIN Runs AS u ON r.run_id = u.run_id
JOIN Equalizer AS e ON r.eq_id = e.eq_id
WHERE r.eq_id IS NOT NULL
AND r.date_of_processing >= '2025-08-01 00:00:00'
AND r.date_of_processing < '2025-11-14 00:00:00';
CREATE OR REPLACE VIEW dashboard_ungrouped_old AS
SELECT
r.result_id,
r.run_id,
r.eq_id,
e.equalizer_structure,
u.symbolrate,
u.pam_level,
u.wavelength,
u.fiber_length,
u.db_mode,
-- accumulated dispersion in ps
0.07 * u.fiber_length * (u.wavelength - 1310) AS accumulated_dispersion,
r.date_of_processing,
r.numBits,
r.numBitErr,
r.BER,
r.numBitErr_precoded,
r.BER_precoded,
r.STD,
r.STDrx,
r.GMI,
r.AIR,
r.EVM
FROM Results AS r
JOIN Runs AS u ON r.run_id = u.run_id
JOIN Equalizer AS e ON r.eq_id = e.eq_id
WHERE r.eq_id IS NOT NULL
AND r.date_of_processing < '2025-08-01 00:00:00';
CREATE OR REPLACE VIEW dashboard_ungrouped_during_ecoc AS
SELECT
r.result_id,
r.run_id,
r.eq_id,
e.equalizer_structure,
u.symbolrate,
u.pam_level,
u.wavelength,
u.fiber_length,
u.db_mode,
-- accumulated dispersion in ps
0.07 * u.fiber_length * (u.wavelength - 1310) AS accumulated_dispersion,
r.date_of_processing,
r.numBits,
r.numBitErr,
r.BER,
r.numBitErr_precoded,
r.BER_precoded,
r.STD,
r.STDrx,
r.GMI,
r.AIR,
r.EVM
FROM Results AS r
JOIN Runs AS u ON r.run_id = u.run_id
JOIN Equalizer AS e ON r.eq_id = e.eq_id
WHERE r.eq_id IS NOT NULL
AND r.date_of_processing > '2025-09-20 00:00:00';
SELECT COUNT(*)
FROM `dashboard_ungrouped`
CREATE OR REPLACE VIEW power_state_info AS
SELECT
run_id,
power_laser AS power_laser,
power_rop AS power_mzm,
-- new power_rop first
power_pd_in
+ CAST(voa_class->>'$.atten_state[1]' AS DECIMAL(12,6))
AS power_rop,
-- then voa_atten
CAST(voa_class->>'$.atten_state[1]' AS DECIMAL(12,6))
AS voa_atten,
-- then the photodiode input power
power_pd_in AS power_pd_in,
-- appended columns
wavelength,
pam_level,
db_mode,
is_mpi,
fiber_length
FROM Runs;