WSL/SLF GitLab Repository

Skip to main content
Sign in
Snippets Groups Projects

Commits · 6bf1578ef51a6fbfc458af5306d66dc7f1cd84f6

  1. Aug 09, 2012
  2. Aug 07, 2012
  3. Aug 06, 2012
  4. Aug 01, 2012
  5. Jul 31, 2012
  6. Jul 27, 2012
  7. Jul 24, 2012
  8. Jul 23, 2012
  9. Jul 20, 2012
  10. Jul 19, 2012
  11. Jul 17, 2012
  12. Jul 16, 2012
  13. Jun 27, 2012
  14. Jun 26, 2012
  15. Jun 25, 2012
  16. Jun 23, 2012
  17. Jun 21, 2012
  18. Jun 20, 2012
  19. Jun 19, 2012
  20. Jun 18, 2012
  21. Jun 16, 2012
  22. Jun 11, 2012
  23. Jun 08, 2012
  24. Jun 05, 2012
  25. Jun 04, 2012
  26. Jun 01, 2012
  27. May 31, 2012
  28. May 30, 2012
  29. May 30, 2012
    • Mathias Bavay's avatar
      Two new members have been added to Grid3DObject, to store the heights of the... · 99969a4d
      Mathias Bavay authored
      Two new members have been added to Grid3DObject, to store the heights of the 3D levels (ie: level 1 = 10m above ground, etc). This is similar as what is done by ARPS, GRIB, etc A boolean specifies if these are absolute or relative heights (ie: above DEM).
      
      The unventilated temperatures filter and unheated rain gauge filter have been renamed. The "soft" option has been added to Unheated_RainGauge. And the usual documentation fixes...
      99969a4d
  30. May 25, 2012
  31. May 24, 2012
  32. May 23, 2012
    • Mathias Bavay's avatar
      oups, fixed an include that had to be removed... By the way, the last changes... · 73a9d046
      Mathias Bavay authored
      oups, fixed an include that had to be removed... By the way, the last changes lead to good compiler optimizations: in optimized mode, on 1 year of data, the speed up is above 30%
      73a9d046
    • Mathias Bavay's avatar
      The last filters that had not been ported to the new filtering infrastructure... · 47d0ab7d
      Mathias Bavay authored
      The last filters that had not been ported to the new filtering infrastructure have been ported and their documentation updated. All filters now use window specifications (instead of vector of pointers). The misleading filter argument "index" (for parameter type) has been renamed as "param" for all filters. The use of "unsigned int" for looping over vectors has been replaced by "size_t". The old "soft" behavior for the filters has been restored (ie: if not soft, a point that can not be checked by the filter is deleted).
      
      A few more "consts" have been added.
      47d0ab7d
    • Mathias Bavay's avatar
      All the filters using windows have been modified so they use the window... · 2cd29823
      Mathias Bavay authored
      All the filters using windows have been modified so they use the window specifications (start, end) instead of a vector of pointers. The FilterWindAvg was not properly handling nodata, this has been fixed. By the way, when using a reasonnably large buffer size, the new filter window management is actually slightly faster than the old one (1%). 
      
      The handling of "soft" is now different: soft ONLY applies to the window specifications. Before, a soft filter would leave values that could not get a window untouched while non-soft would force them to nodata. Now, all values that can not get a window are left unchanged, while the window centering can change according to "soft".
      2cd29823
  33. May 22, 2012
    • Mathias Bavay's avatar
      This is the new implementation of the filters' windowing scheme. Now,... · 309245bc
      Mathias Bavay authored
      This is the new implementation of the filters' windowing scheme. Now, specifying 4 points and 6 hours will guarantee that at least 4 points are in the window AND 6 hours, otherwise it returns unsuccessfully. The run time penalty is ~4% compared to the previous implementation. Since it first builds the window specifications (start and end index), it is possible to directly call this window specification, skipping the building of a vector of pointers. For the MeanAvg filter, this makes the run time penalty go down to 3.3% on a 6 hours window (with hourly data).
      309245bc
    • Mathias Bavay's avatar
      First correct implementation of the filtering windows. This is not active yet... · 659c81c4
      Mathias Bavay authored
      First correct implementation of the filtering windows. This is not active yet as it only provides window specifications. But it properly fulfills both the number of points criteria and the time span criteria.
      659c81c4
  34. May 21, 2012
  35. May 16, 2012
  36. May 14, 2012
  37. May 11, 2012
  38. May 10, 2012
  39. May 09, 2012
  40. May 08, 2012
    • Mathias Bavay's avatar
      The re-accumulation was broken and producing bogus results. Moreover, its... · e8799828
      Mathias Bavay authored
      The re-accumulation was broken and producing bogus results. Moreover, its handling of nodata was sub-optimal (assuming nodata=zero lead to artificially low measurements for very noisy stations). This has been fixed. Accumulating over periods larger than in the original data set (ie:up sampling) has been validated. Down sampling has NOT been validated yet.
      e8799828
  41. May 05, 2012
  42. May 04, 2012
  43. May 03, 2012
  44. Apr 30, 2012
  45. Apr 17, 2012
    • Mathias Bavay's avatar
      Documentation, default value for WINDOW_SIZE=10 days, small speed... · 1a77eec7
      Mathias Bavay authored
      Documentation, default value for WINDOW_SIZE=10 days, small speed optimizations (1% faster!!), code cleanup to prepare the way for re-accumulation work
      1a77eec7
    • Mathias Bavay's avatar
      The resampling has been deeply transformed in order to produce more consistent... · 15f08c18
      Mathias Bavay authored
      The resampling has been deeply transformed in order to produce more consistent results. By doubling the data cut window, the resampling can now properly fill a 23 hours gap with a 24 hours window. The resampling now either fills the whole gap or do not fill anything (if the gap is too large). When activating "extrapolate", a gap is now filled by the sides instead of by the middle (which was producing weird results). The drawback is that the cut window had to be doubled, which is quite costly (going from 1 day to 10 days makes it 7.5 times slower, and going to 20 days makes it 15 times slower). However, this more logical and consistent behavior will allow the user to specify the window size that he needs instead of always picking something extremely large to be on the safe side. Finally, the resampling code has been cleaned up so that each algorithm is built along similar lines.
      15f08c18
  46. Apr 14, 2012
    • Mathias Bavay's avatar
      A new getMeteo() method has been implemented that transparently performs... · a54fb8a8
      Mathias Bavay authored
      A new getMeteo() method has been implemented that transparently performs spatial interpolations and returns a grid for a given parameter. This should be prefered to interpolate(), since it allows the reading plugin to directly provide gridded data (such as coming out of GRIB).
      Code cleanup in ResamplingAlgorithms, improved error message in A3DIO. Several keys have been updated/added to the plugins, in order to be more consistent between plugins. Therefore, meteo file extensions are given with METEOEXT, grid2d extensions with GRID2DEXT, grid2d prefix with GRID2DPREFIX (not all plugins support them, though), etc
      a54fb8a8
  47. Apr 10, 2012
    • Mathias Bavay's avatar
    • Mathias Bavay's avatar
      After auditing the code with Flawfinder version 1.27, a few things have been... · 7bcaa6bf
      Mathias Bavay authored
      After auditing the code with Flawfinder version 1.27, a few things have been fixed: IOUtils::getLogName() now truncates the log name to 64 characters maximum (since it was stored as a C++ string, it should not have been a problem but converting back as string.c_str() could have created problems in the user code in case of very large strings (ie: malicious user trying to break the system) in environment variables. In Coords, the epsg code is checked for range before casting to short int, in order to throw an exception at the proper place (and avoid a possibly corrupted return value that would have surprised the end user in the next exception). A more serious issue has been fixed in Coords::parseLatLon() where a malicious coordinate string could have overflowed on the stack.
      7bcaa6bf
  48. Apr 07, 2012
Loading