From 0efec19a452106afddcea23c5dd3be3f04cd97e1 Mon Sep 17 00:00:00 2001 From: mohyware Date: Fri, 18 Jul 2025 13:25:11 +0300 Subject: [PATCH 1/5] fix: update radis version and enable broadf_download in calculate_spectrum --- backend/requirements.txt | 2 +- backend/src/helpers/calculateSpectrum.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/requirements.txt b/backend/requirements.txt index 8a1f5e16..8171a648 100644 --- a/backend/requirements.txt +++ b/backend/requirements.txt @@ -1,6 +1,6 @@ pandas==2.2.3 numpy==1.26.4 -radis==0.16.2 +radis==0.16.3 fastapi==0.101.0 pytest==7.4.0 httpx==0.24.1 diff --git a/backend/src/helpers/calculateSpectrum.py b/backend/src/helpers/calculateSpectrum.py index 1a784842..edfe633f 100644 --- a/backend/src/helpers/calculateSpectrum.py +++ b/backend/src/helpers/calculateSpectrum.py @@ -68,7 +68,7 @@ def calculate_spectrum(payload: Payload): sf.fetch_databank( source=spectrum_options["dbformat"], load_columns=spectrum_options["load_columns"], - # broadf_download=False, # TODO Uncomment when radis 0.16.3 is released to prevent unnecessary exomol db broad files downloads + broadf_download=False, ) # 3. generate spectrum From be085c4bf020c3379c112fc6709091dbcf0b60a5 Mon Sep 17 00:00:00 2001 From: mohyware Date: Fri, 18 Jul 2025 13:25:57 +0300 Subject: [PATCH 2/5] refactor: make the Header component responsive --- frontend/src/components/Header.tsx | 93 +++++++++++++++++++++--------- 1 file changed, 65 insertions(+), 28 deletions(-) diff --git a/frontend/src/components/Header.tsx b/frontend/src/components/Header.tsx index a5e1420f..7710188a 100644 --- a/frontend/src/components/Header.tsx +++ b/frontend/src/components/Header.tsx @@ -1,3 +1,4 @@ +import React from "react"; import { Box, IconButton, @@ -27,60 +28,96 @@ export const Header: React.FC = () => { backgroundColor: mode === "dark" ? "#272727" : "white", }} > - + - - Radish logo - + + Radish logo + Radis App - - + + - - (window.location.href = "https://github.com/suzil/radis-app") - } - > - - - setMode(mode === 'dark' ? 'light' : 'dark')} - > - {mode === "dark" ? ( - - ) : ( - - )} - - - + + + (window.location.href = "https://github.com/suzil/radis-app") + } + > + + + setMode(mode === 'dark' ? 'light' : 'dark')} + > + {mode === "dark" ? ( + + ) : ( + + )} + + + + From fadeffaa5a152331fc45a742b8fca8dcfa1bcc00 Mon Sep 17 00:00:00 2001 From: mohyware Date: Fri, 18 Jul 2025 13:36:09 +0300 Subject: [PATCH 3/5] feat: update molecule species based on database selection --- frontend/src/components/FitForm.tsx | 33 +++++++++++++------ frontend/src/components/Form.tsx | 5 +++ .../MoleculeSelector/MoleculeSelector.tsx | 2 +- 3 files changed, 29 insertions(+), 11 deletions(-) diff --git a/frontend/src/components/FitForm.tsx b/frontend/src/components/FitForm.tsx index 174e8c76..90b50ff3 100644 --- a/frontend/src/components/FitForm.tsx +++ b/frontend/src/components/FitForm.tsx @@ -101,6 +101,11 @@ export const FitForm: React.FunctionComponent = ({ } else { toggleshowNonEquilibriumSwitch(true); } + if (databaseWatch === Database.NIST) { + setValue("experimental_conditions.specie.molecule", "Co_II"); + } else { + setValue("experimental_conditions.specie.molecule", "CO"); + } }, [databaseWatch]); const modeWatch = watch("experimental_conditions.mode"); @@ -354,26 +359,30 @@ export const FitForm: React.FunctionComponent = ({ gap: 2, alignItems: { xs: "stretch", xl: "center" } }}> - + + + {selected_fit_parameters?.tgas ? : null} : - + } {isNonEquilibrium ? ( - <> + {selected_fit_parameters?.trot ? - + + + {selected_fit_parameters?.trot ? : null} : - + } @@ -383,14 +392,16 @@ export const FitForm: React.FunctionComponent = ({ gap: 2, alignItems: { xs: "stretch", xl: "center" } }}> - + + + {selected_fit_parameters?.tvib ? : null} : - + } - + ) : null} @@ -401,10 +412,12 @@ export const FitForm: React.FunctionComponent = ({ gap: 2, alignItems: { xs: "stretch", xl: "center" } }}> - + + + {selected_fit_parameters?.pressure ? : null} : - + } diff --git a/frontend/src/components/Form.tsx b/frontend/src/components/Form.tsx index df5f7aa6..e2e2af87 100644 --- a/frontend/src/components/Form.tsx +++ b/frontend/src/components/Form.tsx @@ -88,6 +88,11 @@ export const Form: React.FunctionComponent = ({ } else { toggleshowNonEquilibriumSwitch(true); } + if (databaseWatch === Database.NIST) { + setValue("species.0.molecule", "Co_II"); + } else { + setValue("species.0.molecule", "CO"); + } }, [databaseWatch]); const modeWatch = watch("mode"); diff --git a/frontend/src/components/fields/MoleculeSelector/MoleculeSelector.tsx b/frontend/src/components/fields/MoleculeSelector/MoleculeSelector.tsx index 870b0f7c..7f2aea0d 100644 --- a/frontend/src/components/fields/MoleculeSelector/MoleculeSelector.tsx +++ b/frontend/src/components/fields/MoleculeSelector/MoleculeSelector.tsx @@ -57,7 +57,7 @@ export const MoleculeSelector: React.FC = ({ return ( - Molecule + {databaseWatch === Database.NIST ? "Specie" : "Molecule"} Date: Fri, 18 Jul 2025 13:37:23 +0300 Subject: [PATCH 4/5] refactor: adjust grid layout for FitSpectra, PlotSpectra to allocate more space for the graph --- frontend/src/components/FitSpectra.tsx | 4 ++-- frontend/src/components/Plot.tsx | 12 ++++++++---- frontend/src/components/PlotSpectra.tsx | 4 ++-- frontend/src/components/fields/Species/Specie.tsx | 4 ++-- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/frontend/src/components/FitSpectra.tsx b/frontend/src/components/FitSpectra.tsx index 92859603..b45a703b 100644 --- a/frontend/src/components/FitSpectra.tsx +++ b/frontend/src/components/FitSpectra.tsx @@ -30,7 +30,7 @@ export const FitSpectra: React.FC = () => { /> {error ? : null} - + { /> - + {loading ? (
= ({ species: Species[]; }) => { if (wavelength_units === "u.nm") { - waveLabel = "Wavelength range (nm)"; + waveLabel = "Wavelength (nm)"; } else { - waveLabel = "Wavelength range (cm⁻¹)"; + waveLabel = "Wavelength (cm⁻¹)"; } const speciesFormatted = species .map( @@ -150,6 +150,10 @@ export const Plot_: React.FC = ({ .map(s => `${s.species.map(specie => specie.molecule).join("_")}_${s.database}`) .join("_")}`; + const isMobile = typeof window !== "undefined" && /iPhone|Android|Mobile|iPad|iPod/i.test(navigator.userAgent); + const plotWidth = isMobile ? 650 : 1150; + const plotHeight = isMobile ? 450 : 650; + return ( <>