toyctm issueshttps://gitlab.in2p3.fr/ipsl/lmd/intro/toyctm/-/issues2024-01-02T15:13:36+01:00https://gitlab.in2p3.fr/ipsl/lmd/intro/toyctm/-/issues/11Check spherical geometry and add it in CI (inert tracer case)2024-01-02T15:13:36+01:00MAILLER SylvainCheck spherical geometry and add it in CI (inert tracer case)MAILLER SylvainMAILLER Sylvainhttps://gitlab.in2p3.fr/ipsl/lmd/intro/toyctm/-/issues/10Fix emissions module and test it in CI2024-01-02T15:59:06+01:00MAILLER SylvainFix emissions module and test it in CIMAILLER SylvainMAILLER Sylvainhttps://gitlab.in2p3.fr/ipsl/lmd/intro/toyctm/-/issues/9Gestion des espèces prescrites2024-01-04T10:09:22+01:00MAILLER SylvainGestion des espèces prescritesActuellement les expèces prescrites sont gérées d'une façon qui n'es pas transparente pour le code appelant, et assez intrusive. Il faudrait simplifier en créant une classe Prescriber qui ait les capacités suivantes:
1. Dire si une espè...Actuellement les expèces prescrites sont gérées d'une façon qui n'es pas transparente pour le code appelant, et assez intrusive. Il faudrait simplifier en créant une classe Prescriber qui ait les capacités suivantes:
1. Dire si une espèce est prescrite ou non: prescriber.isPrescribed(sp)
2. Appliquer la prescription à l'espèce: prescriber.resetConc(conc)MAILLER SylvainMAILLER Sylvainhttps://gitlab.in2p3.fr/ipsl/lmd/intro/toyctm/-/issues/8Tester le code coverage ?2023-12-12T14:45:56+01:00MAILLER SylvainTester le code coverage ?Il faut rajouter un indicateur de code coverage pour savoir ce qui est couvert ou pas par le CI, en particulier afin de pouvoir trier ce qui doit être maintenu ou non en vue du portage vers jl.Il faut rajouter un indicateur de code coverage pour savoir ce qui est couvert ou pas par le CI, en particulier afin de pouvoir trier ce qui doit être maintenu ou non en vue du portage vers jl.https://gitlab.in2p3.fr/ipsl/lmd/intro/toyctm/-/issues/7Tri et rangement en vue du passage à jl2024-01-02T15:12:37+01:00MAILLER SylvainTri et rangement en vue du passage à jlCertains morceaux du modèle ou de ses addons ont été codés mais ne sont pas utilisés / pas testés dans le CI.
Exemples de fragments de code a priori non testés dans le CI:
- Emissions
- Géométrie sphérique
Il faut restreindre et ratio...Certains morceaux du modèle ou de ses addons ont été codés mais ne sont pas utilisés / pas testés dans le CI.
Exemples de fragments de code a priori non testés dans le CI:
- Emissions
- Géométrie sphérique
Il faut restreindre et rationnaliser le code en vue de pouvoir le passer en jl.
Option alternative, enlever tout ce qui n'est pas testé par la CI actuelle et passer en jl avec pour objectif de pouvoir reproduire tous les cas de CI actuelle.https://gitlab.in2p3.fr/ipsl/lmd/intro/toyctm/-/issues/6Modularisation du solveur chimique2024-01-02T15:17:42+01:00MAILLER SylvainModularisation du solveur chimiqueLa création du solveur chimique et l'option de résolution (ainsi que les paramètres type précision et nonbre d'itération pour Euler Backward) devraient être inclus directement dans le module de chimie et pas via le modèle. Reste à gérer ...La création du solveur chimique et l'option de résolution (ainsi que les paramètres type précision et nonbre d'itération pour Euler Backward) devraient être inclus directement dans le module de chimie et pas via le modèle. Reste à gérer l'envoi des conditions pas le modèle parent : quel pas de temps doit être envoyé ?MAILLER SylvainMAILLER Sylvainhttps://gitlab.in2p3.fr/ipsl/lmd/intro/toyctm/-/issues/5Python 2 vs. 32021-10-26T15:05:32+02:00MAILLER SylvainPython 2 vs. 3Il faut sans doute décider définitivement que le modèle est en Python 3, est-ce que ça change autre chose que les prints ?Il faut sans doute décider définitivement que le modèle est en Python 3, est-ce que ça change autre chose que les prints ?https://gitlab.in2p3.fr/ipsl/lmd/intro/toyctm/-/issues/4Rangement2021-10-26T15:06:17+02:00MAILLER SylvainRangementIl faudra séparer les scripts de modèle lui-même des scripts d'example. Les scripts du modèle peuvent être mis dans un répertoire genre 'src', les scripts d'exemple laissés à la racine ou dans un sous-répertoire examples.
Question : comm...Il faudra séparer les scripts de modèle lui-même des scripts d'example. Les scripts du modèle peuvent être mis dans un répertoire genre 'src', les scripts d'exemple laissés à la racine ou dans un sous-répertoire examples.
Question : comment faire pour que les scripts d'exemple aient accès aux scripts du modèle ? Ajouter le répertoire où ils sont à un genre de path ? Est-ce que la réponse dépend de Python 2 vs. 3 ?https://gitlab.in2p3.fr/ipsl/lmd/intro/toyctm/-/issues/3Gestion du temps2020-08-12T16:23:19+02:00MAILLER SylvainGestion du tempsctm.t est le "temps depuis le début de la simulation" mais il est aussi utilisé comme heure pour les émissions de trafic et les réactions de photolyse.
Cette gestion du temps devrait être mise au propre, en particulier parce que ça impo...ctm.t est le "temps depuis le début de la simulation" mais il est aussi utilisé comme heure pour les émissions de trafic et les réactions de photolyse.
Cette gestion du temps devrait être mise au propre, en particulier parce que ça impose de commence les simulations avec chimie "à minuit" ce qui est arbitraire.
Il n'est pas évident d'avoir une gestion propre du temps pour un outil qui peut faire à la fois du pseudo-réaliste sur Terre avec des jours de 86400s at des expériences de transport pur qui peuvent durer arbitrairement 1 seconde par exemple. En particulier, passer self.t à des dates python n'est pas vraiment souhaitable pour cette raison. A réfléchir.https://gitlab.in2p3.fr/ipsl/lmd/intro/toyctm/-/issues/2gestion des prints2020-08-28T12:14:50+02:00MAILLER Sylvaingestion des printsJ'ai l'impresion de faire un peu n'importe quoi avec les prints encore, j'ai remis un peu de style python 2 etc.
Est-ce que c'est une bonne idée d'avoir deux routines, une
def printwarning(str):
qui écrit un warning
une
def printlo...J'ai l'impresion de faire un peu n'importe quoi avec les prints encore, j'ai remis un peu de style python 2 etc.
Est-ce que c'est une bonne idée d'avoir deux routines, une
def printwarning(str):
qui écrit un warning
une
def printlog(str): qui écrit un log
ET tout le reste du code proscrit print et n'appelle que warning et log.
C'est plus facile de les réecrire quand on veut au format python2 ou python3 , et aussi de définir un comportement du genre on veut les warnings à l'écran et dans un fichier de log, on veut les logs juste dans un fichier etc.https://gitlab.in2p3.fr/ipsl/lmd/intro/toyctm/-/issues/1First Issue2020-04-02T15:52:45+02:00MAILLER SylvainFirst IssueCheck if code works with python3.Check if code works with python3.