Commit 604616e41b01c56609bf374d2364eeb966fbeacd
1 parent
8f98558e
Exists in
master
and in
2 other branches
Misc changes from past two weeks.
Showing
6 changed files
with
186 additions
and
144 deletions
Show diff stats
CHANGELOG.md
1 | +## Nicolas | |
2 | + | |
3 | +- prévoir la possibilité à l'utilisateur d'afficher les paramètres (séries temporelles) en échelle log ou linéaire | |
4 | +- rajouter uranus et neptune comme planètes cibles | |
5 | +- permettre à l'utilisateur de choisir inner heliosphere (jusqu'à mars) ou outer heliosphere (jusqu'à saturne) pour la visualisation des éphémérides planétaires | |
6 | +- rajouter MAVEN, New Horizons, Cassini, Galileo, ExoMars comme spacecraft cible | |
7 | +- rajouter le titre de Heliopropa dans le bandeau du haut (déplacer Planetary Space Weather Services et la version dans le bandeau du bas si besoin) | |
8 | +- modifier le bandeau du bas pour faire apparaître sur une seule ligne les remerciements à la commission européenne source de financement | |
9 | +- prévoir la possibilité à l'utilisateur d'afficher le temps en Day Of Year | |
10 | +- rajouter les ticks sur l'échelle des temps en X | |
11 | +- quant on zoome modifier l'échelle en Y afin qu'elle s'adapte aux valeurs maximales de l'intervalle du zoom | |
12 | +- modifier le bandeau vertical d'affichage des choix utilisateurs pour qu'il soit plus petit (en particulier les champs paramètres) | |
13 | +- ajouter dans le bandeau vertical un onglet INPUT DATA avec 3 choix possibles: STEREO-A, STEREO-B, L1 | |
14 | +- ajouter dans le bandeau vertical un onglet LAYERS avec 3 choix possibles: Jupiter Thermosphere Model, HST Jupiter Observations, HST Saturn Observations | |
15 | +- ajouter un bouton ALERT qui permet d'ouvrir une nouvelle page de formulaire ou l'utilisateur entrerait les données suivantes: | |
16 | ||
17 | + * target (= planète, spacecraft, comet) | |
18 | + * submit (envoyé ensuite vers un webservice d'AMDA à construire) | |
19 | +- prévoir un bouton EPN-TAP ou l'on mettrait l'outil en relation avec le client VESPA développé par nathanaël | |
20 | +- juno/rosetta doivent aussi bouger le long de leur orbite lorsque l'on parcourt à la souris les données de la série temporelle; pour les intervalles de temps où rosetta n'existe plus (crash à la surface de la comète) il faut qu'elle disparaisse; pour les intervalles de temps où juno est en orbite autour de jupiter il faut que juno suive jupiter | |
21 | + | |
22 | + | |
1 | 23 | ## Future ? |
2 | 24 | |
3 | 25 | - [ ] Optimize data aggregation (numpy vectorization?) |
4 | -- [ ] Credit the author of the pixel art planets | |
26 | +- [ ] Credit the author of the pixel art planets (can't find it again) | |
5 | 27 | - [ ] Add a README to the download tarball |
6 | 28 | - [ ] Set the log level to _error_ in production (see `web/run.py`) |
7 | 29 | - [ ] CRON statements to call the cache cleanup and warmup |
8 | 30 | - [ ] Give the future data another color |
9 | 31 | |
10 | -An heliospheric propagation 1D MHD model for solar wind prediction at planets, probes and comets. | |
11 | 32 | |
12 | 33 | |
13 | 34 | ## 1.0.0-rc6 |
14 | 35 | |
15 | 36 | - [ ] Rework the images of Rosetta and Juno |
16 | 37 | - [ ] Enable p67 |
38 | +- [x] Move the version to the footer | |
39 | +- [x] Fix various issues with spacepy and CDF generation | |
17 | 40 | |
18 | 41 | |
19 | 42 | ## 1.0.0-rc5 | ... | ... |
config.yml
... | ... | @@ -13,7 +13,8 @@ meta: |
13 | 13 | - space |
14 | 14 | - weather |
15 | 15 | # Will be shown by search engines below the title of the page. |
16 | - description: Space weather predictions around solar celestial bodies. | |
16 | + # Will also be shown in the header if there's enough room | |
17 | + description: An heliospheric propagation 1D MHD model for solar wind prediction at planets, probes and comets. | |
17 | 18 | |
18 | 19 | # The top bar |
19 | 20 | header: |
... | ... | @@ -161,6 +162,7 @@ targets: |
161 | 162 | stopped_at: '2014-08-02T00:00:00' |
162 | 163 | - slug: 'p67_orb_all' |
163 | 164 | started_at: '2014-08-02T00:00:00' |
165 | + #stopped_at: '2016-09-30T11:19:00' | |
164 | 166 | parameters: |
165 | 167 | hee: 'XYZ_HEE' |
166 | 168 | models: |
... | ... | @@ -174,9 +176,9 @@ targets: |
174 | 176 | orbit: |
175 | 177 | models: |
176 | 178 | - slug: 'juno_cruise_all' |
177 | - stopped_at: '2016-07-01T00:00:00' | |
179 | + stopped_at: '2016-07-05T03:53:00' | |
178 | 180 | - slug: 'jupiter_orb_all' |
179 | - started_at: '2016-07-01T00:00:00' | |
181 | + started_at: '2016-07-05T03:53:00' | |
180 | 182 | models: |
181 | 183 | - slug: 'tao_juno_sw' |
182 | 184 | locked: false | ... | ... |
web/run.py
... | ... | @@ -995,6 +995,11 @@ def download_targets_cdf(targets, started_at, stopped_at): |
995 | 995 | environ['CDF_LIB'] = CDF_LIB |
996 | 996 | from spacepy import pycdf |
997 | 997 | try: |
998 | + import spacepy.toolbox | |
999 | + spacepy.toolbox.update() | |
1000 | + except Exception as e: | |
1001 | + log.error("Failed to update spacepy : %s." % e) | |
1002 | + try: | |
998 | 1003 | cdf_handle = pycdf.CDF(cdf_path, masterpath='') |
999 | 1004 | description = "Model and orbit data for %s." % \ |
1000 | 1005 | ', '.join([t['name'] for t in targets_configs]) | ... | ... |
web/static/css/main.css
... | ... | @@ -24,10 +24,20 @@ |
24 | 24 | |
25 | 25 | /** TYPOGRAPHY ***************************************************************/ |
26 | 26 | |
27 | +header *::-moz-selection { | |
28 | + background: #0049fc; | |
29 | + text-shadow: none; | |
30 | +} | |
31 | + | |
27 | 32 | header .mdl-layout-title { |
28 | 33 | font-family: 'Baumans', cursive; |
29 | 34 | } |
30 | 35 | |
36 | +#header-description { | |
37 | + font-style: italic; | |
38 | + color: #e1e1e1; | |
39 | +} | |
40 | + | |
31 | 41 | /** LAYOUT *******************************************************************/ |
32 | 42 | |
33 | 43 | body { | ... | ... |
web/view/home.html.jinja2
... | ... | @@ -379,144 +379,144 @@ |
379 | 379 | background-color: #c8d3e1; |
380 | 380 | } |
381 | 381 | |
382 | -.small-loader-container { | |
383 | - width: 27px; | |
384 | - margin: 0 auto; | |
385 | - background: none; | |
386 | - pointer-events: none; | |
387 | -} | |
388 | - | |
389 | -.small-loader-circle-1 { | |
390 | - height: 27px; | |
391 | - width: 27px; | |
392 | - background: rgba(255, 238, 195, 0.72); | |
393 | -} | |
394 | - | |
395 | -.small-loader-circle-2 { | |
396 | - height: 22px; | |
397 | - width: 22px; | |
398 | - background: none; | |
399 | -{# background: rgba(56, 53, 194, 0.5);#} | |
400 | -} | |
401 | - | |
402 | -.small-loader-circle-3 { | |
403 | - height: 18px; | |
404 | - width: 18px; | |
405 | - background: rgba(29, 65, 255, 0.9); | |
406 | -} | |
407 | - | |
408 | -.small-loader-circle-4 { | |
409 | - height: 13px; | |
410 | - width: 13px; | |
411 | - background: none; | |
412 | -{# background: rgba(98, 109, 237, 0.5);#} | |
413 | -} | |
414 | - | |
415 | -.small-loader-circle-5 { | |
416 | - height: 9px; | |
417 | - width: 9px; | |
418 | - background: rgba(238, 238, 238, 0.8); | |
419 | -} | |
420 | - | |
421 | -.small-loader-circle-6 { | |
422 | - height: 4px; | |
423 | - width: 4px; | |
424 | - background: none; | |
425 | -{# background: rgba(0, 0, 0, 0);#} | |
426 | -} | |
427 | - | |
428 | -.small-loader-circle-7 { | |
429 | - height: 2px; | |
430 | - width: 2px; | |
431 | - background: rgb(110, 102, 255); | |
432 | -} | |
433 | - | |
434 | -.small-loader-circle-1, | |
435 | -.small-loader-circle-2, | |
436 | -.small-loader-circle-3, | |
437 | -.small-loader-circle-4, | |
438 | -.small-loader-circle-5, | |
439 | -.small-loader-circle-6, | |
440 | -.small-loader-circle-7 { | |
441 | - border-bottom: none; | |
442 | - border-radius: 50%; | |
443 | - -o-border-radius: 50%; | |
444 | - -ms-border-radius: 50%; | |
445 | - -webkit-border-radius: 50%; | |
446 | - -moz-border-radius: 50%; | |
447 | - box-shadow: 0px 0px 0px rgba(0,0,0,0.1); | |
448 | - -o-box-shadow: 0px 0px 0px rgba(0,0,0,0.1); | |
449 | - -ms-box-shadow: 0px 0px 0px rgba(0,0,0,0.1); | |
450 | - -webkit-box-shadow: 0px 0px 0px rgba(0,0,0,0.1); | |
451 | - -moz-box-shadow: 0px 0px 0px rgba(0,0,0,0.1); | |
452 | - animation-name: small-loader-spin; | |
453 | - -o-animation-name: small-loader-spin; | |
454 | - -ms-animation-name: small-loader-spin; | |
455 | - -webkit-animation-name: small-loader-spin; | |
456 | - -moz-animation-name: small-loader-spin; | |
457 | - animation-duration: 4600ms; | |
458 | - -o-animation-duration: 4600ms; | |
459 | - -ms-animation-duration: 4600ms; | |
460 | - -webkit-animation-duration: 4600ms; | |
461 | - -moz-animation-duration: 4600ms; | |
462 | - animation-iteration-count: infinite; | |
463 | - -o-animation-iteration-count: infinite; | |
464 | - -ms-animation-iteration-count: infinite; | |
465 | - -webkit-animation-iteration-count: infinite; | |
466 | - -moz-animation-iteration-count: infinite; | |
467 | - animation-timing-function: linear; | |
468 | - -o-animation-timing-function: linear; | |
469 | - -ms-animation-timing-function: linear; | |
470 | - -webkit-animation-timing-function: linear; | |
471 | - -moz-animation-timing-function: linear; | |
472 | -} | |
473 | - | |
474 | - | |
475 | - | |
476 | -@keyframes small-loader-spin { | |
477 | - from { | |
478 | - transform: rotate(0deg); | |
479 | - } | |
480 | - to { | |
481 | - transform: rotate(360deg); | |
482 | - } | |
483 | -} | |
484 | - | |
485 | -@-o-keyframes small-loader-spin { | |
486 | - from { | |
487 | - -o-transform: rotate(0deg); | |
488 | - } | |
489 | - to { | |
490 | - -o-transform: rotate(360deg); | |
491 | - } | |
492 | -} | |
493 | - | |
494 | -@-ms-keyframes small-loader-spin { | |
495 | - from { | |
496 | - -ms-transform: rotate(0deg); | |
497 | - } | |
498 | - to { | |
499 | - -ms-transform: rotate(360deg); | |
500 | - } | |
501 | -} | |
502 | - | |
503 | -@-webkit-keyframes small-loader-spin { | |
504 | - from { | |
505 | - -webkit-transform: rotate(0deg); | |
506 | - } | |
507 | - to { | |
508 | - -webkit-transform: rotate(360deg); | |
509 | - } | |
510 | -} | |
511 | - | |
512 | -@-moz-keyframes small-loader-spin { | |
513 | - from { | |
514 | - -moz-transform: rotate(0deg); | |
515 | - } | |
516 | - to { | |
517 | - -moz-transform: rotate(360deg); | |
518 | - } | |
519 | -} | |
382 | + .small-loader-container { | |
383 | + width: 27px; | |
384 | + margin: 0 auto; | |
385 | + background: none; | |
386 | + pointer-events: none; | |
387 | + } | |
388 | + | |
389 | + .small-loader-circle-1 { | |
390 | + height: 27px; | |
391 | + width: 27px; | |
392 | + background: rgba(255, 238, 195, 0.72); | |
393 | + } | |
394 | + | |
395 | + .small-loader-circle-2 { | |
396 | + height: 22px; | |
397 | + width: 22px; | |
398 | + background: none; | |
399 | + {# background: rgba(56, 53, 194, 0.5);#} | |
400 | + } | |
401 | + | |
402 | + .small-loader-circle-3 { | |
403 | + height: 18px; | |
404 | + width: 18px; | |
405 | + background: rgba(29, 65, 255, 0.9); | |
406 | + } | |
407 | + | |
408 | + .small-loader-circle-4 { | |
409 | + height: 13px; | |
410 | + width: 13px; | |
411 | + background: none; | |
412 | + {# background: rgba(98, 109, 237, 0.5);#} | |
413 | + } | |
414 | + | |
415 | + .small-loader-circle-5 { | |
416 | + height: 9px; | |
417 | + width: 9px; | |
418 | + background: rgba(238, 238, 238, 0.8); | |
419 | + } | |
420 | + | |
421 | + .small-loader-circle-6 { | |
422 | + height: 4px; | |
423 | + width: 4px; | |
424 | + background: none; | |
425 | + {# background: rgba(0, 0, 0, 0);#} | |
426 | + } | |
427 | + | |
428 | + .small-loader-circle-7 { | |
429 | + height: 2px; | |
430 | + width: 2px; | |
431 | + background: rgb(110, 102, 255); | |
432 | + } | |
433 | + | |
434 | + .small-loader-circle-1, | |
435 | + .small-loader-circle-2, | |
436 | + .small-loader-circle-3, | |
437 | + .small-loader-circle-4, | |
438 | + .small-loader-circle-5, | |
439 | + .small-loader-circle-6, | |
440 | + .small-loader-circle-7 { | |
441 | + border-bottom: none; | |
442 | + border-radius: 50%; | |
443 | + -o-border-radius: 50%; | |
444 | + -ms-border-radius: 50%; | |
445 | + -webkit-border-radius: 50%; | |
446 | + -moz-border-radius: 50%; | |
447 | + box-shadow: 0px 0px 0px rgba(0,0,0,0.1); | |
448 | + -o-box-shadow: 0px 0px 0px rgba(0,0,0,0.1); | |
449 | + -ms-box-shadow: 0px 0px 0px rgba(0,0,0,0.1); | |
450 | + -webkit-box-shadow: 0px 0px 0px rgba(0,0,0,0.1); | |
451 | + -moz-box-shadow: 0px 0px 0px rgba(0,0,0,0.1); | |
452 | + animation-name: small-loader-spin; | |
453 | + -o-animation-name: small-loader-spin; | |
454 | + -ms-animation-name: small-loader-spin; | |
455 | + -webkit-animation-name: small-loader-spin; | |
456 | + -moz-animation-name: small-loader-spin; | |
457 | + animation-duration: 4600ms; | |
458 | + -o-animation-duration: 4600ms; | |
459 | + -ms-animation-duration: 4600ms; | |
460 | + -webkit-animation-duration: 4600ms; | |
461 | + -moz-animation-duration: 4600ms; | |
462 | + animation-iteration-count: infinite; | |
463 | + -o-animation-iteration-count: infinite; | |
464 | + -ms-animation-iteration-count: infinite; | |
465 | + -webkit-animation-iteration-count: infinite; | |
466 | + -moz-animation-iteration-count: infinite; | |
467 | + animation-timing-function: linear; | |
468 | + -o-animation-timing-function: linear; | |
469 | + -ms-animation-timing-function: linear; | |
470 | + -webkit-animation-timing-function: linear; | |
471 | + -moz-animation-timing-function: linear; | |
472 | + } | |
473 | + | |
474 | + | |
475 | + | |
476 | + @keyframes small-loader-spin { | |
477 | + from { | |
478 | + transform: rotate(0deg); | |
479 | + } | |
480 | + to { | |
481 | + transform: rotate(360deg); | |
482 | + } | |
483 | + } | |
484 | + | |
485 | + @-o-keyframes small-loader-spin { | |
486 | + from { | |
487 | + -o-transform: rotate(0deg); | |
488 | + } | |
489 | + to { | |
490 | + -o-transform: rotate(360deg); | |
491 | + } | |
492 | + } | |
493 | + | |
494 | + @-ms-keyframes small-loader-spin { | |
495 | + from { | |
496 | + -ms-transform: rotate(0deg); | |
497 | + } | |
498 | + to { | |
499 | + -ms-transform: rotate(360deg); | |
500 | + } | |
501 | + } | |
502 | + | |
503 | + @-webkit-keyframes small-loader-spin { | |
504 | + from { | |
505 | + -webkit-transform: rotate(0deg); | |
506 | + } | |
507 | + to { | |
508 | + -webkit-transform: rotate(360deg); | |
509 | + } | |
510 | + } | |
511 | + | |
512 | + @-moz-keyframes small-loader-spin { | |
513 | + from { | |
514 | + -moz-transform: rotate(0deg); | |
515 | + } | |
516 | + to { | |
517 | + -moz-transform: rotate(360deg); | |
518 | + } | |
519 | + } | |
520 | 520 | |
521 | 521 | |
522 | 522 | </style> | ... | ... |
web/view/layout.html.jinja2
... | ... | @@ -41,7 +41,7 @@ |
41 | 41 | <div class="mdl-layout-spacer"></div> |
42 | 42 | <!-- Navigation. We hide it in small screens. --> |
43 | 43 | <nav class="mdl-navigation mdl-layout--large-screen-only"> |
44 | - <a class="mdl-navigation__link" href="https://gitlab.irap.omp.eu/CDPP/SPACEWEATHERONLINE">v{{ version }}</a> | |
44 | + <span id="header-description">{{ config.meta.description }}</span> | |
45 | 45 | <a class="mdl-navigation__link" href="https://onlinelibrary.wiley.com/doi/10.1029/2004JA010959/abstract">Tao's Model</a> |
46 | 46 | <a class="mdl-navigation__link" href="http://planetaryspaceweather-europlanet.irap.omp.eu">Planetary Space Weather Services</a> |
47 | 47 | {# <a class="mdl-navigation__link" href="https://ec.europa.eu/programmes/horizon2020/">Horizon 2020</a>#} |
... | ... | @@ -71,6 +71,8 @@ |
71 | 71 | <footer class="mdl-mini-footer"> |
72 | 72 | <div class="mdl-mini-footer__left-section"> |
73 | 73 | <p style="float: left; margin: 1.5em;"> |
74 | + <a class="mdl-mini-footer__link" href="https://gitlab.irap.omp.eu/CDPP/SPACEWEATHERONLINE">v{{ version }}</a> | |
75 | + <br /> | |
74 | 76 | {{ visits }} visits since 2017 |
75 | 77 | </p> |
76 | 78 | <p class="disclaimer"> | ... | ... |