The AtmoSwing (Analog Technique Model for Statistical Weather forecastING) software allows for real-time precipitation forecasting based on a downscaling method, the analogue technique. This method is used for hydro-meteorological forecasting in the framework of real-time flood management or electricity production. It allows for:

  • Automatic precipitation forecasting, 4-times a day
  • Displaying the forecast in a user-friendly GIS environment
  • Optimizing the analogue method for a provided timeseries.


Time Series for the Coming Days

Time series for the coming days for a given location can be quickly processed and displayed, along with the full probability distribution.

Data Visualization

The forecasts are displayed in a user-friendly GIS environment that allows for precipitation spatialization visualization. The software is interactive and handles several levels of synthesis or details.

Input Data

AtmoSwing is built in order to ease the integration of outputs from various global numerical weather prediction models. It focuses on precipitation forecasting, but can handle any other weather variable.

Data Exporting

Exports are either standard NetCDF files targeted for AtmoSwing Viewer, or XML files for integration in another tool, such as a web platform.


AtmoSwing is easy to use in operational forecasting and requires low IT infrastructure.

AtmoSwing is made of 3 tools: the Forecaster: automatically processes the forecast, the Viewer: displays the resulting files in a GIS environment, and the Optimizer: optimizes the method for a new region or a new weather variable. Terranum can provide support in various domains:

Specific development

There may be situations where AtmoSwing needs to be modified in order to meet the requirements of a certain project, or to model a specific weather variable. We are ready to make the necessary adjustments in AtmoSwing in order to meet your needs.

Operational forecasting

Terranum can provide assistance in setting up a physical or virtual server for operational forecasting with AtmoSwing.

Optimization of the method

We have various powerful optimization tools to adapt the method for a new region or a new weather variable. We have an exclusive global optimizer that relies on Genetic Algorithms, which revolutionizes the calibration of the method as it has been done until today.

Corrective or evolutive maintenance

AtmoSwing needs to continuously follow the changes in the providers protocols as well as evolutions of the method. We provide different levels of support and can take care for you of smooth migrations to new features.

Release notes

1.4.2 (18.08.2015)


Newly created workspace now opens automatically.
Addition of the 300hPa level for GFS.
Do not load already loaded forecasts.
Do not display the station height when null.
Highlight the optimal method for the station in the distribution plot and the analogs list.
Handle file opening when double-clicking.
Improving CL usage.
Reload forecasts previously processed if an export is required.

Bug correction

Removal of a forecast from the GUI now works as expected.
Removing Projection specification from WMS files.
Past forecasts do load again.

1.4.1 (19.03.2015)


No need to reload forecasts after processing.
Addition of the export options to the command line configuration.
Improving the display of former forecast files.
Addition of an overall progress display.
TreeCtrl images of different resolutions.
Change of every image/icon for a custom design.
Full support implemented for high resolution screens.
Updating the command line interface.
Forcing UTF-8 in the netCDF files.
Changing file version specification into major.minor

Bug correction

Debugging accents issue under Linux.
Removing “using namespace std” in order to keep a clean namespace resolution.
Removing asFrameXmlEditor.
Fix of a crash when no forecast is opened.
Replacing printf with wxPrintf.
Removing unnecessary .c_str() conversion on strings.
Fix of a corruption in the wxFormbuilder project.
Debugging netcdf issues under Linux.
Fixing namespace issues.

1.4.0 (02.03.2015)

New features

Addition of the export of a synthetic xml file.
Addition of a tree control for the forecasts in the viewer.
Addition of an automatic methods aggregation in the viewer.
Creation of methods IDs.
Specification of the station IDs for specific parameters files.
New xml format for most files.


Update to the new GFS URLs and format.
Adding a message in order to specify the selected models.
Removal of the coordinate system specification for the predictors.

Bug correction

Removing TiCPP in order to use the native xml handling from wxWidgets.
Merging asCatalog and asCatalogPredictands.
Cleaning up processing and use of quantiles.
No need to reload forecasts after processing.

1.3.3 (12.01.2015)

New features

Addition of buttons in the viewer frame to go backward and forward in time.
Workspaces can now be saved to an xml file.


Separation of the preferences.
Definition of the preferences in the workspace.
Addition of a wizard to create the workspace.
Addition of a control on the changes of the workspace to save before closing.
Change of the configuration option by using a given batch file.
Addition of a configuration option in the forecaster.
The loading of predictor data has significantly changed.
Better handles user errors in the parameters files.
Hide the elevation information when not available.
Changing the name of the U/V axis into X/Y to help users.

Bug correction

Cleanup of the forecaster config options.
Cleanup of the calibrator config options.
Correction of the path to the WMS layers.
Bug fix of unspecified directories for the archive predictors.
Limiting the number of parallel downloads.
Fix of the cURL hang with parallel downloading.
Removal of the definition of the analogs number on the forecast score.
Fix of an issue with the colors storage in the workspace.
Now keeps the same model selection when opening new forecasts.
Now keeps the same lead time when opening new forecasts.

1.3.2 (01.09.2014)

New features

Introduction of workspaces for the viewer.
Addition of WMS basemaps layers.
Merging the two viewer frames into one with a new lead time switcher.
Addition of the ability to optimize on multiple time series together.


Improvement of the rank histogram with bootstraping.
Increase of boostraping to 10’000 for the rank histrogram.
Reduction in time for the assessment of all scores.
Addition of the CRPS reliability skill score and removal of F0 loading methods.
Improving performance by reducing reallocation.
Changing the MergeCouplesAndMultiply method into FormerHumidityIndex.

Bug correction

Fix of the paths for CUDA files.
Fix of a linking issue with the viewer.
Fix of a bug related to gradient preprocessing in validation.
Minor bug fix on the evaluation of all forecasting scores.
Removing of the S1 weighting method.
Bug fix in the preloading option for the classic calibration parameters.
Fix of a bug on the single instance checker.
Limitation of the zoom level to avoid the memory issue related to GDAL caching mechanism.

1.3.1 (13.05.2014)


Merge of the various CMake files into one project.

Bug correction

Debugging the new build process under Linux.

1.3.0 (06.05.2014)

New features

Implementation of GPU processing


Addition of a predictand pattern file.
Addition of compression to the forecast files.
The archive and calibration periods can now start in the middle of a year.
Better check the requested time limits when loading predictor data.
Addition of CPack files.
Addition of a unit test on gradients preprocessing.

Bug correction

Removing a memory leak when aborting the app initialization.
Correction of the data ordering in the forecast results.
Bug fix in the time arrays intervals construction.
Fix of a bug in the validation processing with a partial final year.
Correction of the rank histogram.
Reduced cURL outputs and fix of the multithreaded downloads.
Adding a missing MSVC dll in the installation package.

1.2.0 (26.02.2014)

New features

Addition of the Calibrator source code.


The catalogs were removed for the predictors classes and new specific data classes were generated.
Removing predictand database properties from parameters for calibration.
Changing predictors file names.
Changes in unit test filenames for more clarity.
Better initialization of the scrolled window.
Check fields in the parameters file of the forecaster and the calibrator.
Addition of the rank histogram (Talagrand diagram)
Addition of CRPS decomposition after Hersbach (2000).
Addition of the generation of xml parameters files after the calibration.
Change of the version message in CL.

Bug correction

Fix of format errors in the GFS urls.
Fix of an issue related to preprocessed predictors.
Logging of the url was discarded due to formatting issues leading to crashes.
Correction of bugs related to unit tests from the calibrator.
Fix of errors related to Eigen vectors.
Minor memory leaks were removed.
Removal of compilation warnings.
Casing fixed in the netCDF files.
The logging in unit tests was improved.
Fix of display issues in the sidebar.
Simplification of the time management.
Fix of errors related to optional parameters.
Removal of false warnings.
Resolving some unit tests failures.
The precipitation predictand class has been secured for RowMajor and Colmajor.
Removing the exhaustive calibration.
Removal of intermediate results printing.

1.1.0 (30.10.2013)

New features

The predictand DB is now generalized to data other than precipitation.
The Forecaster is now working with various predictands.


Improvement of the CMake build process.
Addition of the option to build the Forecaster in CL without GUI.
Better management of the NaNs during processing.
Significant changes in order to generalize the predictand DB class.

Bug correction

Fix of a change in GDAL regarding GRIB2 files origin.
Changing the order of includes in the asFileNetcdf class.
Unwanted slashes in paths under Linux were removed.
The viewer is now building again.
Fix of some bugs in unit tests.

1.0.3 (18.10.2012)

New features

Addition of data preloading functionality and data pointer sharing
Preprocessing of the humidity flux and other variables combination.
Addition of multithreading in the 2nd and following levels of analogy.
Handling of the NCEP reanalysis 2 dataset.
Handling of the NOAA OI-SST dataset and addition of adapted criteria.
Addition of the possibility to account for an axis shift in the predictor dataset.


Some clean-up of unused code.
Simplification of the file names of intermediate results.
Better management of the threads.
Addition of functionalities to the threads manager.
Improvement of the multithreading option management.
Better clean-up after processing.
Addition of typedefs.
Change use of the Size word to Width or Ptsnb to clarify usage.
Creation of 2 separate log files for the viewer and the forecaster.
Improvement of the CMake files.
Addition of the others predictand and creation of a generic instance function.
Small improvements to the time series plots.
Addition of an option to stop calculation when there is NaN in data.
Addition of bad allocation catching.
Insertion of many supplementary assertions.
clean-up of config paths default values.

Bug correction

Addition of a critical section on the config pointer.
Addition of critical sections for TiCPP.
Addition of critical sections for NetCDF.
Coordinates automatic fix was bugged in the parameters class.
Fix of a bug when trying to sort array with size of 1.
Bug fix in temporary file names creation.
Bug fixed in the enumeration of units
NetCDF file class may have badly estimated the array size.
Fix of memory filling by logging in the time array class.

1.0.2 (27.01.2012)

New features

Better control of the log targets in the command-line mode.


Data import from netCDF files is less sensitive to the data type.
Much faster import of forecast files.

Bug correction

The forecasting launch from the viewer has been fixed.
Removal of the message box in the CL forecast.

1.0.1 (22.11.2011)

New features

Export of forecast text files from the time series plot.
Possibility to cancel the current forecast processing.


Faster check of previously existing forecast files: load predictand DB only when needed.
Change from q30 to q20 in the precipitation distribution
Display of the considered quantile and return period for the alarms panel
Better frame size restoration with maximization detection.
Addition of the wxEmail library.

Bug correction

An error in the proxy port was fixed.
Preference “/Plot/PastDaysNb” was sometimes 3 or 5. Set 3 everywhere.
Do not load the same past forecasts twice in time series plots.

1.0.0 (9.11.2011)

First official release


Improvements in the AtmoSwing software

Addition of synthesis capabilities and export functionality to the AtmoSwing software for a graphical representation on the website of flood management in the Canton of Valais

2015 | Canton of Valais, Switzerland

Optimization of the analogue method

Optimization of the analogue method for flood forecasting in different regional catchments in France

2014 | DREAL Centre, France

This site uses cookies to provide you an optimal browsing experience. By continuing to visit this site, you agree to the use of these cookies.