Commit 604616e41b01c56609bf374d2364eeb966fbeacd

Authored by Goutte
1 parent 8f98558e

Misc changes from past two weeks.

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 + * email
  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">
... ...