[magics] 01/01: upstream 2.29.6

Alastair McKinstry mckinstry at moszumanska.debian.org
Sat Oct 29 17:17:45 UTC 2016


This is an automated email from the git hooks/post-receive script.

mckinstry pushed a commit to tag upstream/2.29.6
in repository magics.

commit bb9c3eef350af21180fd2bbae1c3b59178f84444
Author: Alastair McKinstry <mckinstry at debian.org>
Date:   Sun Oct 23 12:37:55 2016 +0100

    upstream 2.29.6
---
 CMakeLists.txt                                     |  10 +-
 LICENSE_for_source_files                           |  21 +-
 VERSION.cmake                                      |   4 +-
 cmake/FindAEC.cmake                                |  31 +-
 cmake/FindMKL.cmake                                |   7 +-
 cmake/FindOpenJPEG.cmake                           |  16 +-
 cmake/VERSION.cmake                                |   4 +-
 cmake/compiler_flags/Cray_C.cmake                  |  11 +-
 cmake/compiler_flags/Cray_CXX.cmake                |  11 +-
 cmake/compiler_flags/Cray_Fortran.cmake            |  12 +-
 .../contrib/GreatCMakeCookOff/AddCPP11Flags.cmake  |   5 +-
 .../GreatCMakeCookOff/CheckCXX11Features.cmake     | 125 ++--
 cmake/ecbuild_add_executable.cmake                 |  64 +-
 cmake/ecbuild_add_fortran_flags.cmake              |  11 +-
 cmake/ecbuild_add_library.cmake                    |  64 +-
 cmake/ecbuild_add_option.cmake                     |  53 +-
 cmake/ecbuild_add_test.cmake                       |  21 +-
 cmake/ecbuild_bundle.cmake                         |   8 +-
 cmake/ecbuild_check_cxx11.cmake                    |  11 +-
 cmake/ecbuild_check_fortran.cmake                  | 126 ++++
 cmake/ecbuild_check_fortran_source_return.cmake    |  13 +-
 cmake/ecbuild_check_functions.cmake                |   9 +
 cmake/ecbuild_compiler_flags.cmake                 | 154 +++-
 cmake/ecbuild_config.h.in                          |   6 +
 cmake/ecbuild_declare_project.cmake                |  47 +-
 cmake/ecbuild_download_resource.cmake              |   1 +
 cmake/ecbuild_find_python.cmake                    | 149 ++--
 cmake/ecbuild_generate_fortran_interfaces.cmake    |   2 +-
 cmake/ecbuild_get_cxx11_flags.cmake                |   9 +-
 cmake/ecbuild_get_test_data.cmake                  |   1 +
 cmake/ecbuild_install_project.cmake                |  58 +-
 cmake/ecbuild_log.cmake                            |  21 +-
 cmake/ecbuild_pkgconfig.cmake                      |   2 +-
 cmake/ecbuild_print_summary.cmake                  |   8 +-
 cmake/ecbuild_remove_fortran_flags.cmake           |   5 +-
 cmake/ecbuild_separate_sources.cmake               |  24 +-
 cmake/ecbuild_source_flags.cmake                   |   6 +-
 cmake/ecbuild_system.cmake                         |   2 +
 cmake/ecbuild_target_flags.cmake                   |  91 +++
 cmake/ecbuild_use_package.cmake                    |   1 +
 cmake/fortran_features/CheckFortranFeatures.cmake  | 167 +++++
 cmake/fortran_features/c_size_t.F90                |   8 +
 cmake/fortran_features/c_sizeof.F90                |   3 +
 cmake/fortran_features/derivedtype_interface.F90   |  54 ++
 cmake/fortran_features/derivedtype_io.F90          |  42 ++
 cmake/fortran_features/finalization.F90            | 141 ++++
 cmake/fortran_features/submodules.F90              |  35 +
 magics.sublime-project                             |   2 +-
 python/CMakeLists.txt                              |  28 +-
 python/{Magics => }/Magics.i.in                    |   0
 python/Magics/CMakeLists.txt                       |  61 --
 python/Magics/__init__.py                          |   1 +
 python/Magics/setup.py.in                          |  83 ---
 python/{Magics => }/Magics_interface.cc            |   0
 python/{Magics => }/numpy.i                        |   2 +-
 python/setup.py.in                                 |  33 +
 share/ecbuild/toolchains/ecmwf-XC30-Cray.cmake     |   7 -
 share/ecbuild/toolchains/ichec-fionn-Intel.cmake   |  67 ++
 .../10m/ne_10m_admin_0_boundary_lines_land.dbf     | Bin 260057 -> 260057 bytes
 .../110m/ne_110m_admin_0_boundary_lines_land.dbf   | Bin 29946 -> 29946 bytes
 .../50m/ne_50m_admin_0_boundary_lines_land.dbf     | Bin 107049 -> 107049 bytes
 share/magics/epsg.json                             |   6 +-
 share/magics/table_128.xml                         |   7 +
 src/CMakeLists.txt                                 |   2 +-
 src/basic/LegendVisitor.cc                         | 110 ++-
 src/basic/LegendVisitor.h                          |  23 +-
 src/common/Arrow.h                                 |  26 +-
 src/common/ArrowProperties.cc                      |  26 +-
 src/common/ArrowProperties.h                       |  26 +-
 src/common/AutoLock.h                              |  26 +-
 src/common/AutoLocker.cc                           |  26 +-
 src/common/AutomaticPlotManager.cc                 |  26 +-
 src/common/AutomaticPlotManager.h                  |  26 +-
 src/common/BackgroundColour.h                      |  26 +-
 src/common/BaseParameter.cc                        |  26 +-
 src/common/BaseParameter.h                         |  26 +-
 src/common/BasePointsHandler.cc                    |  26 +-
 src/common/BasePointsHandler.h                     |  26 +-
 src/common/CartesianTransformation.cc              |  26 +-
 src/common/CartesianTransformation.h               |  26 +-
 src/common/Clipper.h                               |  26 +-
 src/common/Colour.cc                               |  26 +-
 src/common/Colour.h                                |  26 +-
 src/common/ColourTable.cc                          |  26 +-
 src/common/ColourTable.h                           |  26 +-
 src/common/ColourTableDefinition.h                 |  26 +-
 src/common/ColourTableDefinitionCompute.cc         |  26 +-
 src/common/ColourTableDefinitionCompute.h          |  26 +-
 src/common/ColourTableDefinitionComputeInterface.h |  26 +-
 src/common/ColourTableDefinitionList.cc            |  26 +-
 src/common/ColourTableDefinitionList.h             |  26 +-
 src/common/ColourTableDefinitionListInterface.h    |  26 +-
 src/common/Coordinate.cc                           |  26 +-
 src/common/Coordinate.h                            |  26 +-
 src/common/CustomisedPoint.h                       |  26 +-
 src/common/Data.cc                                 |  26 +-
 src/common/Data.h                                  |  30 +-
 src/common/DataStats.cc                            |  26 +-
 src/common/DataStats.h                             |  27 +-
 src/common/Decoder.h                               |  26 +-
 src/common/Dimension.cc                            |  26 +-
 src/common/Dimension.h                             |  26 +-
 src/common/DriverStatic.cc                         |  26 +-
 src/common/DriverStatic.h                          |  26 +-
 src/common/Factory.cc                              |  26 +-
 src/common/Factory.h                               |  26 +-
 src/common/Flag.cc                                 |  26 +-
 src/common/Flag.h                                  |  26 +-
 src/common/Frame.cc                                |  26 +-
 src/common/Frame.h                                 |  26 +-
 src/common/FrameBase.cc                            |  26 +-
 src/common/FrameBase.h                             |  26 +-
 src/common/FullPaperPoint.h                        |  26 +-
 src/common/GeoPoint.h                              |  26 +-
 src/common/GeoRectangularProjection.cc             |  28 +-
 src/common/GeoRectangularProjection.h              |  28 +-
 src/common/GribInterpretor.h                       |  28 +-
 src/common/HeightTableDefinition.h                 |  26 +-
 src/common/Image.h                                 |  26 +-
 src/common/ImageProperties.h                       |  26 +-
 src/common/ImportObject.cc                         |  26 +-
 src/common/ImportObject.h                          |  26 +-
 src/common/InteractiveSet.cc                       |  26 +-
 src/common/InteractiveSet.h                        |  26 +-
 src/common/IntervalMap.h                           |  26 +-
 src/common/Label.cc                                |  26 +-
 src/common/Label.h                                 |  26 +-
 src/common/Layout.cc                               |  26 +-
 src/common/Layout.h                                |  26 +-
 src/common/LevelTableDefinition.h                  |  26 +-
 src/common/LogoPlotting.cc                         |  26 +-
 src/common/LogoPlotting.h                          |  26 +-
 src/common/LogoPlottingBase.h                      |  26 +-
 src/common/MagException.cc                         |  26 +-
 src/common/MagException.h                          |  26 +-
 src/common/MagExceptions.cc                        |  26 +-
 src/common/MagExceptions.h                         |  26 +-
 src/common/MagFont.cc                              |  26 +-
 src/common/MagFont.h                               |  26 +-
 src/common/MagLog.cc                               |  26 +-
 src/common/MagLog.h                                |  26 +-
 src/common/MagTranslator.h                         |  26 +-
 src/common/MagicsCalls.cc                          |  26 +-
 src/common/MagicsFormat.cc                         |  51 +-
 src/common/MagicsFormat.h                          |  33 +-
 src/common/MagicsParameter.cc                      |  26 +-
 src/common/MagicsParameter.h                       |  26 +-
 src/common/MagicsSingleton.h                       |  27 +-
 src/common/MagicsThreads.cc                        |  26 +-
 src/common/MagicsThreads.h                         |  26 +-
 src/common/Matrix.cc                               |  41 +-
 src/common/Matrix.h                                |  26 +-
 src/common/MatrixHandler.h                         |  53 +-
 src/common/MetaData.cc                             |  26 +-
 src/common/MetaData.h                              |  26 +-
 src/common/Mutex.cc                                |  26 +-
 src/common/Mutex.h                                 |  26 +-
 src/common/MutexCond.cc                            |  26 +-
 src/common/MutexCond.h                             |  42 +-
 src/common/Node.cc                                 |  26 +-
 src/common/Node.h                                  |  26 +-
 src/common/OutputFactory.cc                        |  26 +-
 src/common/OutputFactory.h                         |  26 +-
 src/common/OutputHandler.cc                        |  26 +-
 src/common/OutputHandler.h                         |  26 +-
 src/common/PageID.cc                               |  26 +-
 src/common/PageID.h                                |  26 +-
 src/common/PageIDBase.h                            |  26 +-
 src/common/PaperDimension.h                        |  26 +-
 src/common/PaperPoint.h                            |  26 +-
 src/common/ParameterManager.cc                     |  26 +-
 src/common/ParameterManager.h                      |  26 +-
 src/common/Path.h                                  |  26 +-
 src/common/PlotManager.cc                          |  26 +-
 src/common/PlotManager.h                           |  26 +-
 src/common/PointsHandler.cc                        |  26 +-
 src/common/PointsHandler.h                         |  26 +-
 src/common/PolarStereographicProjection.cc         |  28 +-
 src/common/PolarStereographicProjection.h          |  28 +-
 src/common/PolyCoast.h                             |  27 +-
 src/common/Polyline.cc                             |  26 +-
 src/common/Polyline.h                              |  26 +-
 src/common/ProgressObject.cc                       |  26 +-
 src/common/ProgressObject.h                        |  26 +-
 src/common/ProgressTask.cc                         |  26 +-
 src/common/ProgressTask.h                          |  26 +-
 src/common/Proj4Projection.cc                      |  28 +-
 src/common/Proj4Projection.h                       |  28 +-
 src/common/RasterData.cc                           |  26 +-
 src/common/RasterData.h                            |  26 +-
 src/common/SciMethods.cc                           |  28 +-
 src/common/SciMethods.h                            |  28 +-
 src/common/Seconds.cc                              |  29 +-
 src/common/Seconds.h                               |  26 +-
 src/common/Static.cc                               |  26 +-
 src/common/Static.h                                |  26 +-
 src/common/Symbol.cc                               |  26 +-
 src/common/Symbol.h                                |  26 +-
 src/common/TableDefinition.h                       |  26 +-
 src/common/TableDefinitionCompute.cc               |  26 +-
 src/common/TableDefinitionCompute.h                |  26 +-
 src/common/TableDefinitionComputeInterface.h       |  26 +-
 src/common/TableDefinitionList.cc                  |  26 +-
 src/common/TableDefinitionList.h                   |  26 +-
 src/common/TableDefinitionListInterface.h          |  26 +-
 src/common/Task.cc                                 |  26 +-
 src/common/Task.h                                  |  26 +-
 src/common/TaylorProjection.cc                     |  28 +-
 src/common/TaylorProjection.h                      |  28 +-
 src/common/Tephigram.cc                            |  28 +-
 src/common/Tephigram.h                             |  28 +-
 src/common/Text.cc                                 |  26 +-
 src/common/Text.h                                  |  26 +-
 src/common/Thread.cc                               |  26 +-
 src/common/Thread.h                                |  26 +-
 src/common/ThreadControler.cc                      |  26 +-
 src/common/ThreadControler.h                       |  26 +-
 src/common/ThreadSingleton.cc                      |  26 +-
 src/common/ThreadSingleton.h                       |  26 +-
 src/common/Timer.cc                                |  26 +-
 src/common/Timer.h                                 |  26 +-
 src/common/Tokenizer.cc                            |  26 +-
 src/common/Tokenizer.h                             |  26 +-
 src/common/Transformation.cc                       |  13 -
 src/common/Transformation.h                        |  26 +-
 src/common/UserPoint.h                             |  26 +-
 src/common/Visualiser.h                            |  26 +-
 src/common/XCoordinate.h                           |  26 +-
 src/common/XmlNode.cc                              |  26 +-
 src/common/XmlNode.h                               |  26 +-
 src/common/XmlReader.cc                            |  26 +-
 src/common/XmlReader.h                             |  26 +-
 src/common/XmlTree.cc                              |  26 +-
 src/common/XmlTree.h                               |  26 +-
 src/common/YCoordinate.h                           |  26 +-
 src/common/aix.h                                   |  26 +-
 src/common/linux.h                                 |  26 +-
 src/common/magics_api.h                            |  26 +-
 src/common/marsmachine.h                           |  26 +-
 src/decoders/Netcdf.cc                             |   7 +-
 src/decoders/Netcdf.h                              |  10 +-
 src/decoders/NetcdfDecoder.cc                      |   9 +
 src/decoders/NetcdfDecoder.h                       |   2 +
 src/decoders/NetcdfGeoMatrixInterpretor.cc         |   2 +-
 src/drivers/CairoDriver.cc                         |  14 +-
 src/drivers/PostScriptDriver.cc                    |  36 +
 src/oda/OdaDecoder.cc                              |   2 -
 src/params/Curve.xml                               |  55 +-
 src/params/EpsGraph.xml                            |   5 +
 src/params/FortranViewNode.xml                     |   9 +-
 src/params/HiLoNumber.xml                          |   7 +-
 src/params/HiLoTechnique.xml                       |   6 +
 src/params/NetcdfDecoder.xml                       |   7 +-
 src/params/SimplePolyline.xml                      |   1 -
 src/visualisers/Akima474.cc                        |  26 +-
 src/visualisers/Akima474Method.h                   |  26 +-
 src/visualisers/Akima760.cc                        |  26 +-
 src/visualisers/Akima760Method.cc                  |  26 +-
 src/visualisers/Akima760Method.h                   |  26 +-
 src/visualisers/Akima761.cc                        |  26 +-
 src/visualisers/Akima761Method.cc                  |  26 +-
 src/visualisers/Akima761Method.h                   |  26 +-
 src/visualisers/ArrowPlotting.cc                   |  26 +-
 src/visualisers/ArrowPlotting.h                    |  26 +-
 src/visualisers/AutomaticContourMethod.h           |  26 +-
 src/visualisers/Axis.cc                            |  30 +-
 src/visualisers/Axis.h                             |  26 +-
 src/visualisers/AxisControl.cc                     |  26 +-
 src/visualisers/AxisControl.h                      |  26 +-
 src/visualisers/AxisGrid.cc                        |  26 +-
 src/visualisers/AxisGrid.h                         |  26 +-
 src/visualisers/AxisItem.cc                        |  26 +-
 src/visualisers/AxisItem.h                         |  26 +-
 src/visualisers/AxisLine.cc                        |  26 +-
 src/visualisers/AxisLine.h                         |  26 +-
 src/visualisers/AxisMethod.cc                      |  26 +-
 src/visualisers/AxisMethod.h                       |  26 +-
 src/visualisers/AxisMinorTick.cc                   |  26 +-
 src/visualisers/AxisMinorTick.h                    |  26 +-
 src/visualisers/AxisTick.cc                        |  26 +-
 src/visualisers/AxisTick.h                         |  26 +-
 src/visualisers/AxisTickLabelType.cc               |  26 +-
 src/visualisers/AxisTickLabelType.h                |  26 +-
 src/visualisers/AxisType.cc                        |  26 +-
 src/visualisers/AxisType.h                         |  26 +-
 src/visualisers/Bar.cc                             |  26 +-
 src/visualisers/Bar.h                              |  26 +-
 src/visualisers/BothValuePlotMethod.h              |  26 +-
 src/visualisers/Boundaries.cc                      |  26 +-
 src/visualisers/Boundaries.h                       |  26 +-
 src/visualisers/BoxPlotBasicItem.h                 |  26 +-
 src/visualisers/BoxPlotItem.cc                     |  26 +-
 src/visualisers/BoxPlotItem.h                      |  26 +-
 src/visualisers/BoxPlotVisualiser.cc               |  26 +-
 src/visualisers/BoxPlotVisualiser.h                |  26 +-
 src/visualisers/CalculateColourTechnique.cc        |  26 +-
 src/visualisers/CalculateColourTechnique.h         |  26 +-
 src/visualisers/CalmIndicator.h                    |  26 +-
 src/visualisers/CellShading.cc                     |  26 +-
 src/visualisers/CellShading.h                      |  26 +-
 src/visualisers/Cities.cc                          |  26 +-
 src/visualisers/Cities.h                           |  26 +-
 src/visualisers/CoastPlotting.cc                   |  26 +-
 src/visualisers/CoastPlotting.h                    |  26 +-
 src/visualisers/Coastlines.cc                      |  26 +-
 src/visualisers/Coastlines.h                       |  26 +-
 src/visualisers/ColourSelection.cc                 |  26 +-
 src/visualisers/ColourSelection.h                  |  26 +-
 src/visualisers/ColourSelectionCount.cc            |  26 +-
 src/visualisers/ColourSelectionCount.h             |  26 +-
 src/visualisers/ColourSelectionList.cc             |  26 +-
 src/visualisers/ColourSelectionList.h              |  26 +-
 src/visualisers/ColourTechnique.cc                 |  26 +-
 src/visualisers/ColourTechnique.h                  |  26 +-
 src/visualisers/Contour.cc                         |  48 +-
 src/visualisers/Contour.h                          |  26 +-
 src/visualisers/ContourMethod.h                    |  26 +-
 src/visualisers/CountSelectionType.cc              |  26 +-
 src/visualisers/CountSelectionType.h               |  26 +-
 src/visualisers/Curve.cc                           | 109 ++-
 src/visualisers/Curve.h                            |  35 +-
 src/visualisers/DateAxis.cc                        |  26 +-
 src/visualisers/DateAxis.h                         |  26 +-
 src/visualisers/DefinitionTable.h                  |  26 +-
 src/visualisers/DefinitionTable.hcc                |  26 +-
 src/visualisers/DotPolyShadingMethod.h             |  26 +-
 src/visualisers/EpsForecastPlot.h                  |  26 +-
 src/visualisers/EpsGraph.cc                        |  94 +--
 src/visualisers/EpsGraph.h                         |  26 +-
 src/visualisers/EquidistantTableMode.cc            |  26 +-
 src/visualisers/EquidistantTableMode.h             |  26 +-
 src/visualisers/Filter.cc                          |  26 +-
 src/visualisers/Filter.h                           |  26 +-
 src/visualisers/FlagPlotting.cc                    |  26 +-
 src/visualisers/FlagPlotting.h                     |  26 +-
 src/visualisers/FloatSelection.cc                  |  26 +-
 src/visualisers/FloatSelection.h                   |  26 +-
 src/visualisers/Graph.h                            |  26 +-
 src/visualisers/GraphPlotting.cc                   |  26 +-
 src/visualisers/GraphPlotting.h                    |  26 +-
 src/visualisers/GraphShade.cc                      |  26 +-
 src/visualisers/GraphShade.h                       |  26 +-
 src/visualisers/GraphShadeStyle.cc                 |  26 +-
 src/visualisers/GraphShadeStyle.h                  |  26 +-
 src/visualisers/GribTables.h                       |  26 +-
 src/visualisers/GridPlotting.cc                    |  26 +-
 src/visualisers/GridPlotting.h                     |  26 +-
 src/visualisers/HatchPolyShadingMethod.h           |  26 +-
 src/visualisers/HeightSelection.cc                 |  26 +-
 src/visualisers/HeightSelection.h                  |  26 +-
 src/visualisers/HeightSelectionCount.h             |  26 +-
 src/visualisers/HeightSelectionList.h              |  26 +-
 src/visualisers/HeightTechnique.cc                 |  26 +-
 src/visualisers/HeightTechnique.h                  |  26 +-
 src/visualisers/HiLo.cc                            |  26 +-
 src/visualisers/HiLo.h                             |  26 +-
 src/visualisers/HiLoBase.h                         |  26 +-
 src/visualisers/HiLoBoth.h                         |  82 ++-
 src/visualisers/HiLoMarker.h                       |  26 +-
 src/visualisers/HiLoMarkerBase.h                   |  26 +-
 src/visualisers/HiLoNumber.h                       |  26 +-
 src/visualisers/HiLoTechnique.h                    |  26 +-
 src/visualisers/HiLoText.h                         |  26 +-
 src/visualisers/HistoIndividualMode.h              |  26 +-
 src/visualisers/HistoMode.h                        |  26 +-
 src/visualisers/HistoTableMode.h                   |  26 +-
 src/visualisers/Histogram.cc                       |  26 +-
 src/visualisers/Histogram.h                        |  26 +-
 src/visualisers/ImageCalculateColourTechnique.h    |  26 +-
 src/visualisers/ImageListColourTechnique.h         |  26 +-
 src/visualisers/ImportPlot.h                       |  26 +-
 src/visualisers/IntervalSelectionType.cc           |  26 +-
 src/visualisers/IntervalSelectionType.h            |  26 +-
 src/visualisers/Intervals.h                        |  26 +-
 src/visualisers/IsoHighlight.h                     |  26 +-
 src/visualisers/IsoLabel.cc                        |  26 +-
 src/visualisers/IsoLabel.h                         |  26 +-
 src/visualisers/IsoPlot.cc                         | 169 +++--
 src/visualisers/IsoPlot.h                          |  26 +-
 src/visualisers/IsoShading.cc                      |  26 +-
 src/visualisers/IsoShading.h                       |  26 +-
 src/visualisers/LabelPlotting.cc                   |  26 +-
 src/visualisers/LabelPlotting.h                    |  26 +-
 src/visualisers/LabelPlottingBase.h                |  26 +-
 src/visualisers/LegendMethod.cc                    |  48 +-
 src/visualisers/LegendMethod.h                     |  26 +-
 src/visualisers/LevelListSelectionType.cc          |  26 +-
 src/visualisers/LevelListSelectionType.h           |  26 +-
 src/visualisers/LevelSelection.cc                  |  26 +-
 src/visualisers/LevelSelection.h                   |  26 +-
 src/visualisers/LinearTableMode.cc                 |  26 +-
 src/visualisers/LinearTableMode.h                  |  26 +-
 src/visualisers/ListColourTechnique.cc             |  26 +-
 src/visualisers/ListColourTechnique.h              |  26 +-
 src/visualisers/LookupTableMode.cc                 |  26 +-
 src/visualisers/LookupTableMode.h                  |  26 +-
 src/visualisers/MarkerSelection.h                  |  26 +-
 src/visualisers/MarkerSelectionCount.h             |  26 +-
 src/visualisers/MarkerSelectionList.h              |  26 +-
 src/visualisers/MarkerShadingTechnique.cc          |  26 +-
 src/visualisers/MarkerShadingTechnique.h           |  26 +-
 src/visualisers/MarkerValuePlotMethod.h            |  26 +-
 src/visualisers/MetgramGraph.cc                    |  26 +-
 src/visualisers/MetgramGraph.h                     |  26 +-
 src/visualisers/MetgramStyle.cc                    |  26 +-
 src/visualisers/MetgramStyle.h                     |  26 +-
 src/visualisers/NormalTableMode.cc                 |  26 +-
 src/visualisers/NormalTableMode.h                  |  26 +-
 src/visualisers/ObsItem.h                          |  26 +-
 src/visualisers/ObsItemFamily.cc                   | 109 ++-
 src/visualisers/ObsItemFamily.h                    |  56 +-
 src/visualisers/ObsPlotting.cc                     |  29 +-
 src/visualisers/ObsPlotting.h                      |  26 +-
 src/visualisers/ObsTable.cc                        |  26 +-
 src/visualisers/ObsTable.h                         |  26 +-
 src/visualisers/OriginMarker.h                     |  26 +-
 src/visualisers/OutLayerTechnique.cc               |  26 +-
 src/visualisers/OutLayerTechnique.h                |  26 +-
 src/visualisers/PolyShadingMethod.cc               |  26 +-
 src/visualisers/PolyShadingMethod.h                |  26 +-
 src/visualisers/PolyShadingTechnique.cc            |  26 +-
 src/visualisers/PolyShadingTechnique.h             |  26 +-
 src/visualisers/ShadingTechnique.h                 |  26 +-
 src/visualisers/SimplePolylineVisualiser.cc        |  26 +-
 src/visualisers/SimplePolylineVisualiser.h         |  26 +-
 src/visualisers/Streamlines.cc                     |  28 +-
 src/visualisers/Streamlines.h                      |  26 +-
 src/visualisers/SymbolAdvancedTableMode.cc         |  26 +-
 src/visualisers/SymbolAdvancedTableMode.h          |  26 +-
 src/visualisers/SymbolMode.cc                      |  26 +-
 src/visualisers/SymbolMode.h                       |  30 +-
 src/visualisers/SymbolPlotting.cc                  |  26 +-
 src/visualisers/SymbolPlotting.h                   |  26 +-
 src/visualisers/TaylorGrid.cc                      |  26 +-
 src/visualisers/TaylorGrid.h                       |  26 +-
 src/visualisers/TephiGrid.cc                       |  26 +-
 src/visualisers/TephiGrid.h                        |  26 +-
 src/visualisers/TextOrientation.cc                 |  26 +-
 src/visualisers/TextOrientation.h                  |  26 +-
 src/visualisers/UserDate.cc                        |  26 +-
 src/visualisers/UserDate.h                         |  26 +-
 src/visualisers/ValuePlot.cc                       |  26 +-
 src/visualisers/ValuePlot.h                        |  26 +-
 src/visualisers/ValuePlotBase.h                    |  26 +-
 src/visualisers/ValuePlotMethod.h                  |  26 +-
 src/visualisers/VisDefInfo.h                       |  26 +-
 src/visualisers/Wind.cc                            |  26 +-
 src/visualisers/Wind.h                             |  26 +-
 src/visualisers/WindPlotting.cc                    |  26 +-
 src/visualisers/WindPlotting.h                     |  26 +-
 src/web/MagJSon.cc                                 |  12 +
 src/web/MagJSon.h                                  |   4 +-
 tools/CMakeLists.txt                               |   1 -
 tools/magicsCompatibilityChecker                   |   3 +-
 tools/mapgen_clip                                  |   5 +-
 tools/xml2cc.pl                                    | 492 ++++++-------
 tools/xml2cc.pl.workshop                           |   7 +-
 tools/xml2cc_new.pl                                | 792 ---------------------
 tools/xml2mv.pl                                    |  14 +-
 459 files changed, 5633 insertions(+), 8211 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 1706874..2c8adc1 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -91,11 +91,7 @@ ecbuild_add_option( FEATURE SPOT
 ecbuild_add_option( FEATURE PYTHON
                     DEFAULT ON
                     DESCRIPTION "enable python interface"
-                    REQUIRED_PACKAGES Python SWIG NumPy )
-
-if( HAVE_PYTHON )
-   include(UseSWIG)
-endif()
+                    REQUIRED_PACKAGES "Python NO_LIBS" SWIG NumPy )
 
 ecbuild_add_option( FEATURE FORTRAN
                     DEFAULT ON
@@ -136,11 +132,11 @@ set( MAGICS_EXCEPTION     "ON" )
 set( MAGICS_SITE          "ecmwf" )
 set( MAGICS_INSTALL_PATH  ${CMAKE_INSTALL_PREFIX} )
 
-set( MAGICS_REFERENCE_VERSIONS            "2.29.1" )
+set( MAGICS_REFERENCE_VERSIONS            "2.29.3" )
 set( MAGICS_HTML_ROOT        "${CMAKE_BINARY_DIR}/regression/html")
 file(MAKE_DIRECTORY ${MAGICS_HTML_ROOT} )
 
-set( MAG_PYTHON_PATH ${CMAKE_BINARY_DIR}/python )
+set( MAG_PYTHON_PATH ${CMAKE_CURRENT_BINARY_DIR}/python )
 
 ###############################################################################
 # projects
diff --git a/LICENSE_for_source_files b/LICENSE_for_source_files
index 67b44cc..2f634dc 100644
--- a/LICENSE_for_source_files
+++ b/LICENSE_for_source_files
@@ -1,14 +1,7 @@
-
-Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
-Licensed under the Apache License, Version 2.0 (the "License"); 
-you may not use this file except in compliance with the License. 
-You may obtain a copy of the License at 
-
-	http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software 
-distributed under the License is distributed on an "AS IS" BASIS, 
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
-See the License for the specific language governing permissions and 
-limitations under the License.
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
\ No newline at end of file
diff --git a/VERSION.cmake b/VERSION.cmake
index cf6bbc4..aae0b62 100644
--- a/VERSION.cmake
+++ b/VERSION.cmake
@@ -6,9 +6,9 @@
 # granted to it by virtue of its status as an intergovernmental organisation nor
 # does it submit to any jurisdiction.
 
+set ( metabuilder_version 2.29.6 )
+set ( _version 2.29.6 )
 
-set ( metabuilder_version 2.29.4 )
-set ( _version 2.29.4 )
 if ( MAGICS_BUILD )
     set( ${PROJECT_NAME}_VERSION_STR  "${_version}-${MAGICS_BUILD}" )   
 else ()
diff --git a/cmake/FindAEC.cmake b/cmake/FindAEC.cmake
index 767544f..717b2b5 100644
--- a/cmake/FindAEC.cmake
+++ b/cmake/FindAEC.cmake
@@ -3,24 +3,31 @@
 # This software is licensed under the terms of the Apache Licence Version 2.0
 # which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
 # In applying this licence, ECMWF does not waive the privileges and immunities
-# granted to it by virtue of its status as an intergovernmental organisation nor
-# does it submit to any jurisdiction.
+# granted to it by virtue of its status as an intergovernmental organisation
+# nor does it submit to any jurisdiction.
 
 # - Try to find AEC (Adaptive Entropy Coding library)
 # See https://www.dkrz.de/redmine/projects/aec/wiki
 
 # Once done this will define
-#  AEC_FOUND - System has AEC
+#  AEC_FOUND        - System has AEC
 #  AEC_INCLUDE_DIRS - The AEC include directories
-#  AEC_LIBRARIES - The libraries needed to use AEC
-
-if( DEFINED AEC_PATH )
-    find_path( AEC_INCLUDE_DIR szlib.h    PATHS ${AEC_PATH}/include PATH_SUFFIXES aec NO_DEFAULT_PATH )
-    find_library( AEC_LIBRARY  NAMES aec  PATHS ${AEC_PATH}/lib     PATH_SUFFIXES aec NO_DEFAULT_PATH )
-endif()
-
-find_path( AEC_INCLUDE_DIR szlib.h PATH_SUFFIXES aec )
-find_library( AEC_LIBRARY NAMES aec PATH_SUFFIXES aec )
+#  AEC_LIBRARIES    - The libraries needed to use AEC
+#
+# The following paths will be searched with priority if set in CMake or env
+#
+#  AEC_DIR          - prefix path of the AEC installation
+#  AEC_PATH         - prefix path of the AEC installation
+
+find_path( AEC_INCLUDE_DIR szlib.h
+           PATHS ${AEC_DIR} ${AEC_PATH} ENV AEC_DIR ENV AEC_PATH
+           PATH_SUFFIXES include include/aec NO_DEFAULT_PATH )
+find_path( AEC_INCLUDE_DIR szlib.h PATH_SUFFIXES include include/aec )
+
+find_library( AEC_LIBRARY  NAMES aec
+              PATHS ${AEC_DIR} ${AEC_PATH} ENV AEC_DIR ENV AEC_PATH
+              PATH_SUFFIXES lib lib64 lib/aec lib64/aec NO_DEFAULT_PATH )
+find_library( AEC_LIBRARY NAMES aec PATH_SUFFIXES lib lib64 lib/aec lib64/aec )
 
 set( AEC_LIBRARIES    ${AEC_LIBRARY} )
 set( AEC_INCLUDE_DIRS ${AEC_INCLUDE_DIR} )
diff --git a/cmake/FindMKL.cmake b/cmake/FindMKL.cmake
index 1123234..5941179 100644
--- a/cmake/FindMKL.cmake
+++ b/cmake/FindMKL.cmake
@@ -15,6 +15,7 @@
 #
 # The following paths will be searched with priority if set in CMake or env
 #
+#  MKLROOT           - root directory of the MKL installation
 #  MKL_PATH          - root directory of the MKL installation
 #  MKL_ROOT          - root directory of the MKL installation
 
@@ -34,9 +35,9 @@ else()
 
 endif()
 
-# Search with priority for MKL_ROOT and MKL_PATH if set in CMake or env
+# Search with priority for MKLROOT, MKL_PATH and MKL_ROOT if set in CMake or env
 find_path(MKL_INCLUDE_DIR mkl.h
-          PATHS ${MKL_PATH} ${MKL_ROOT} ENV MKL_PATH MKL_ROOT
+          PATHS ${MKLROOT} ${MKL_PATH} ${MKL_ROOT} ENV MKLROOT ENV MKL_PATH ENV MKL_ROOT
           PATH_SUFFIXES include NO_DEFAULT_PATH)
 find_path(MKL_INCLUDE_DIR mkl.h
           PATH_SUFFIXES include)
@@ -53,8 +54,6 @@ if( MKL_INCLUDE_DIR ) # use include dir to find libs
     set( __libsfx "" )
   endif()
 
-  message( STATUS "ICC_LIB_PATH ${ICC_LIB_PATH}" )
-
   find_library( MKL_LIB_INTEL         NAMES mkl_intel${__libsfx} PATHS ${MKL_LIB_PATH} )
   find_library( ${__mkl_lib_par}      NAMES ${__mkl_lib_name} PATHS ${MKL_LIB_PATH} )
   find_library( MKL_LIB_CORE          NAMES mkl_core PATHS ${MKL_LIB_PATH} )
diff --git a/cmake/FindOpenJPEG.cmake b/cmake/FindOpenJPEG.cmake
index 805f091..b54ecce 100644
--- a/cmake/FindOpenJPEG.cmake
+++ b/cmake/FindOpenJPEG.cmake
@@ -20,14 +20,20 @@ IF( NOT DEFINED OPENJPEG_PATH AND NOT "$ENV{OPENJPEG_PATH}" STREQUAL "" )
   SET( OPENJPEG_PATH "$ENV{OPENJPEG_PATH}" )
 ENDIF()
 
-# TODO: This only works for OpenJPEG v1.x.y and not for v2 which has a different API, library name etc
+# Note: OpenJPEG version 2.x.y onwards has a variable-name sub-dir in the include
+# e.g. include/openjpeg-2.0 or include/openjpeg-2.1
+# We only support version 2.1.x
+# Also the name of the library is different. In v1.x it was libopenjpeg and now it's libopenjp2
 if( DEFINED OPENJPEG_PATH )
-        find_path(OPENJPEG_INCLUDE_DIR openjpeg.h PATHS ${OPENJPEG_PATH}/include PATH_SUFFIXES openjpeg  NO_DEFAULT_PATH)
-        find_library(OPENJPEG_LIBRARY  openjpeg   PATHS ${OPENJPEG_PATH}/lib     PATH_SUFFIXES openjpeg  NO_DEFAULT_PATH)
+  find_path(OPENJPEG_INCLUDE_DIR openjpeg.h PATHS ${OPENJPEG_PATH}/include PATH_SUFFIXES openjpeg openjpeg-2.1 NO_DEFAULT_PATH)
+
+  find_library( OPENJPEG_LIBRARY NAMES openjpeg openjp2 PATHS ${OPENJPEG_PATH}/lib
+                PATH_SUFFIXES openjpeg  NO_DEFAULT_PATH )
 endif()
 
-find_path(OPENJPEG_INCLUDE_DIR  openjpeg.h PATH_SUFFIXES openjpeg )
-find_library( OPENJPEG_LIBRARY  openjpeg   PATH_SUFFIXES openjpeg )
+find_path(OPENJPEG_INCLUDE_DIR  openjpeg.h PATH_SUFFIXES openjpeg openjpeg-2.1)
+
+find_library( OPENJPEG_LIBRARY NAMES openjpeg openjp2 PATH_SUFFIXES openjpeg )
 
 set( OPENJPEG_LIBRARIES    ${OPENJPEG_LIBRARY} )
 set( OPENJPEG_INCLUDE_DIRS ${OPENJPEG_INCLUDE_DIR} )
diff --git a/cmake/VERSION.cmake b/cmake/VERSION.cmake
index ff7b93b..b4c65ee 100644
--- a/cmake/VERSION.cmake
+++ b/cmake/VERSION.cmake
@@ -1,7 +1,7 @@
 set( ECBUILD_MAJOR_VERSION "2" )
-set( ECBUILD_MINOR_VERSION "3" )
+set( ECBUILD_MINOR_VERSION "4" )
 set( ECBUILD_PATCH_VERSION "0" )
 
-set( ECBUILD_VERSION_STR  "2.3.0" )
+set( ECBUILD_VERSION_STR  "2.4.0" )
 
 set( ECBUILD_MACRO_VERSION "${ECBUILD_MAJOR_VERSION}.${ECBUILD_MINOR_VERSION}" )
diff --git a/cmake/compiler_flags/Cray_C.cmake b/cmake/compiler_flags/Cray_C.cmake
index 76779f9..f487cf4 100644
--- a/cmake/compiler_flags/Cray_C.cmake
+++ b/cmake/compiler_flags/Cray_C.cmake
@@ -6,9 +6,8 @@
 # granted to it by virtue of its status as an intergovernmental organisation
 # nor does it submit to any jurisdiction.
 
-set( CMAKE_C_FLAGS_ALL            "-hlist=amid"                                                                    CACHE STRING "Common flags for all build-types" FORCE )
-set( CMAKE_C_FLAGS_RELEASE        "${CMAKE_C_FLAGS_ALL} -O3 -hfp3 -hscalar3 -hvector3 -DNDEBUG"                    CACHE STRING "Release C flags"                  FORCE )
-set( CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_ALL} -O2 -hfp1 -Gfast -DNDEBUG"                                 CACHE STRING "Release-with-debug-info C flags"  FORCE )
-set( CMAKE_C_FLAGS_PRODUCTION     "${CMAKE_C_FLAGS_ALL} -O2 -hfp1 -G2"                                             CACHE STRING "Production C flags"               FORCE )
-set( CMAKE_C_FLAGS_BIT            "${CMAKE_C_FLAGS_ALL} -O2 -hfp1 -G2 -hflex_mp=conservative -hadd_paren -DNDEBUG" CACHE STRING "Bit-reproducible C flags"         FORCE )
-set( CMAKE_C_FLAGS_DEBUG          "${CMAKE_C_FLAGS_ALL} -O0 -G0"                                                   CACHE STRING "Debug Cflags"                     FORCE )
+set( CMAKE_C_FLAGS_RELEASE        "-O3 -hfp3 -hscalar3 -hvector3 -DNDEBUG"        CACHE STRING "Release C flags"                  FORCE )
+set( CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -hfp1 -Gfast -DNDEBUG"                     CACHE STRING "Release-with-debug-info C flags"  FORCE )
+set( CMAKE_C_FLAGS_PRODUCTION     "-O2 -hfp1 -G2"                                 CACHE STRING "Production C flags"               FORCE )
+set( CMAKE_C_FLAGS_BIT            "-O2 -hfp1 -G2 -hflex_mp=conservative -DNDEBUG" CACHE STRING "Bit-reproducible C flags"         FORCE )
+set( CMAKE_C_FLAGS_DEBUG          "-O0 -G0"                                       CACHE STRING "Debug Cflags"                     FORCE )
diff --git a/cmake/compiler_flags/Cray_CXX.cmake b/cmake/compiler_flags/Cray_CXX.cmake
index d599bff..a2a6632 100644
--- a/cmake/compiler_flags/Cray_CXX.cmake
+++ b/cmake/compiler_flags/Cray_CXX.cmake
@@ -6,9 +6,8 @@
 # granted to it by virtue of its status as an intergovernmental organisation
 # nor does it submit to any jurisdiction.
 
-set( CMAKE_CXX_FLAGS_ALL            "-hlist=amid"                                                                      CACHE STRING "Common flags for all build-types"  FORCE )
-set( CMAKE_CXX_FLAGS_RELEASE        "${CMAKE_CXX_FLAGS_ALL} -O3 -hfp3 -hscalar3 -hvector3 -DNDEBUG"                    CACHE STRING "Release C++ flags"                 FORCE )
-set( CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_ALL} -O2 -hfp1 -Gfast -DNDEBUG"                                 CACHE STRING "Release-with-debug-info C++ flags" FORCE )
-set( CMAKE_CXX_FLAGS_PRODUCTION     "${CMAKE_CXX_FLAGS_ALL} -O2 -hfp1 -G2"                                             CACHE STRING "Production C++ flags"              FORCE )
-set( CMAKE_CXX_FLAGS_BIT            "${CMAKE_CXX_FLAGS_ALL} -O2 -hfp1 -G2 -hflex_mp=conservative -hadd_paren -DNDEBUG" CACHE STRING "Bit-reproducible C++ flags"        FORCE )
-set( CMAKE_CXX_FLAGS_DEBUG          "${CMAKE_CXX_FLAGS_ALL} -O0 -G0"                                                   CACHE STRING "Debug CXX flags"                   FORCE )
+set( CMAKE_CXX_FLAGS_RELEASE        "-O3 -hfp3 -hscalar3 -hvector3 -DNDEBUG"        CACHE STRING "Release C++ flags"                 FORCE )
+set( CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -hfp1 -Gfast -DNDEBUG"                     CACHE STRING "Release-with-debug-info C++ flags" FORCE )
+set( CMAKE_CXX_FLAGS_PRODUCTION     "-O2 -hfp1 -G2"                                 CACHE STRING "Production C++ flags"              FORCE )
+set( CMAKE_CXX_FLAGS_BIT            "-O2 -hfp1 -G2 -hflex_mp=conservative -DNDEBUG" CACHE STRING "Bit-reproducible C++ flags"        FORCE )
+set( CMAKE_CXX_FLAGS_DEBUG          "-O0 -G0"                                       CACHE STRING "Debug CXX flags"                   FORCE )
diff --git a/cmake/compiler_flags/Cray_Fortran.cmake b/cmake/compiler_flags/Cray_Fortran.cmake
index b2c23de..34b96e4 100644
--- a/cmake/compiler_flags/Cray_Fortran.cmake
+++ b/cmake/compiler_flags/Cray_Fortran.cmake
@@ -7,9 +7,9 @@
 # nor does it submit to any jurisdiction.
 
 # -emf activates .mods and uses lower case
-set( CMAKE_Fortran_FLAGS_ALL            "-emf"                                                                                 CACHE STRING "Common flags for all build-types"      FORCE )
-set( CMAKE_Fortran_FLAGS_RELEASE        "${CMAKE_Fortran_FLAGS_ALL} -O3 -hfp3 -hscalar3 -hvector3 -DNDEBUG"                    CACHE STRING "Release Fortran flags"                 FORCE )
-set( CMAKE_Fortran_FLAGS_RELWITHDEBINFO "${CMAKE_Fortran_FLAGS_ALL} -O2 -hfp1 -Gfast -DNDEBUG"                                 CACHE STRING "Release-with-debug-info Fortran flags" FORCE )
-set( CMAKE_Fortran_FLAGS_PRODUCTION     "${CMAKE_Fortran_FLAGS_ALL} -O2 -hfp1 -G2"                                             CACHE STRING "Production Fortran flags"              FORCE )
-set( CMAKE_Fortran_FLAGS_BIT            "${CMAKE_Fortran_FLAGS_ALL} -O2 -hfp1 -G2 -hflex_mp=conservative -hadd_paren -DNDEBUG" CACHE STRING "Bit-reproducible Fortran flags"        FORCE )
-set( CMAKE_Fortran_FLAGS_DEBUG          "${CMAKE_Fortran_FLAGS_ALL} -O0 -G0"                                                   CACHE STRING "Debug Fortran flags"                   FORCE )
+# -rmoid produces a listing file
+set( CMAKE_Fortran_FLAGS_RELEASE        "-emf -rmoid -O3 -hfp3 -hscalar3 -hvector3 -DNDEBUG"                    CACHE STRING "Release Fortran flags"                 FORCE )
+set( CMAKE_Fortran_FLAGS_RELWITHDEBINFO "-emf -rmoid -O2 -hfp1 -Gfast -DNDEBUG"                                 CACHE STRING "Release-with-debug-info Fortran flags" FORCE )
+set( CMAKE_Fortran_FLAGS_PRODUCTION     "-emf -rmoid -O2 -hfp1 -G2"                                             CACHE STRING "Production Fortran flags"              FORCE )
+set( CMAKE_Fortran_FLAGS_BIT            "-emf -rmoid -O2 -hfp1 -G2 -hflex_mp=conservative -hadd_paren -DNDEBUG" CACHE STRING "Bit-reproducible Fortran flags"        FORCE )
+set( CMAKE_Fortran_FLAGS_DEBUG          "-emf -rmoid -O0 -G0"                                                   CACHE STRING "Debug Fortran flags"                   FORCE )
diff --git a/cmake/contrib/GreatCMakeCookOff/AddCPP11Flags.cmake b/cmake/contrib/GreatCMakeCookOff/AddCPP11Flags.cmake
index 2a11e04..ac7f456 100644
--- a/cmake/contrib/GreatCMakeCookOff/AddCPP11Flags.cmake
+++ b/cmake/contrib/GreatCMakeCookOff/AddCPP11Flags.cmake
@@ -29,6 +29,7 @@ endif(CMAKE_VERSION VERSION_LESS 2.8.9)
 
 check_cxx_compiler_flag(-std=c++11 has_std_cpp11)
 check_cxx_compiler_flag(-std=c++0x has_std_cpp0x)
+check_cxx_compiler_flag(-hstd=c++11 has_hstd_cpp11)
 if(MINGW) 
   check_cxx_compiler_flag(-std=gnu++11 has_std_gnupp11)
   check_cxx_compiler_flag(-std=gnu++0x has_std_gnupp0x)
@@ -37,10 +38,12 @@ if(has_std_gnupp11)
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11")
 elseif(has_std_gnupp0x)
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++0x")
-elseif(has_std_cpp11) 
+elseif(has_std_cpp11)
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
 elseif(has_std_cpp0x)
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
+elseif(has_hstd_cpp11)
+  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -hstd=c++11")
 endif(has_std_gnupp11)
 
 if(MSVC) 
diff --git a/cmake/contrib/GreatCMakeCookOff/CheckCXX11Features.cmake b/cmake/contrib/GreatCMakeCookOff/CheckCXX11Features.cmake
index 71fa610..593b62f 100644
--- a/cmake/contrib/GreatCMakeCookOff/CheckCXX11Features.cmake
+++ b/cmake/contrib/GreatCMakeCookOff/CheckCXX11Features.cmake
@@ -1,14 +1,14 @@
 # Checks for C++11 features
-# 
+#
 # USAGE: There are two functions
 #
-# cxx11_find_all_features(OUTPUT_VARIABLE) 
+# cxx11_find_all_features(OUTPUT_VARIABLE)
 # This function returns a variable with all possible features.
 #
 # cxx11_feature_check([feature feature] [REQUIRED [feature feature]])
 # If no arguments are provided, then checks all available features
 # Features appeacing before REQUIRED are optional.
-# If arguments are provided and those features are available, sets 
+# If arguments are provided and those features are available, sets
 # the variable HAS_CXX11_FEATURENAME, where FEATURENAME is the input in capital letters.
 # Fails if required feature are not available
 #
@@ -17,65 +17,66 @@
 # Original script by Rolf Eike Beer
 # Modifications by Andreas Weis
 # Further Modifications by RSDT at UCL
+# Adapted to ecBuild by Florian Rathgeber <florian.rathgeber at ecmwf.int>
 
 set(CPP11_FEATURE_CHECK_DIR ${CMAKE_CURRENT_LIST_DIR}/cpp11 CACHE INTERNAL "c++11 file directory")
 
 MACRO(cxx11_check_single_feature FEATURE_NAME FEATURE_NUMBER RESULT_VAR)
-	IF (NOT DEFINED ${RESULT_VAR})
+  IF (NOT DEFINED ${RESULT_VAR})
     SET(_bindir "${CMAKE_BINARY_DIR}/cxx11_feature_tests/cxx11_${FEATURE_NAME}")
 
-		IF (${FEATURE_NUMBER})
+    IF (${FEATURE_NUMBER})
       SET(_SRCFILE_BASE ${CPP11_FEATURE_CHECK_DIR}/${FEATURE_NAME}-N${FEATURE_NUMBER})
-			SET(_LOG_NAME "\"${FEATURE_NAME}\" (N${FEATURE_NUMBER})")
-		ELSE (${FEATURE_NUMBER})
+      SET(_LOG_NAME "\"${FEATURE_NAME}\" (N${FEATURE_NUMBER})")
+    ELSE (${FEATURE_NUMBER})
       SET(_SRCFILE_BASE ${CPP11_FEATURE_CHECK_DIR}/${FEATURE_NAME})
-			SET(_LOG_NAME "\"${FEATURE_NAME}\"")
-		ENDIF (${FEATURE_NUMBER})
-		MESSAGE(STATUS "Checking C++11 support for ${_LOG_NAME}")
-
-		SET(_SRCFILE "${_SRCFILE_BASE}.cpp")
-		SET(_SRCFILE_FAIL "${_SRCFILE_BASE}_fail.cpp")
-		SET(_SRCFILE_FAIL_COMPILE "${_SRCFILE_BASE}_fail_compile.cpp")
-
-		IF (CROSS_COMPILING)
-			try_compile(${RESULT_VAR} "${_bindir}" "${_SRCFILE}")
-			IF (${RESULT_VAR} AND EXISTS ${_SRCFILE_FAIL})
-				try_compile(${RESULT_VAR} "${_bindir}_fail" "${_SRCFILE_FAIL}")
-			ENDIF (${RESULT_VAR} AND EXISTS ${_SRCFILE_FAIL})
-		ELSE (CROSS_COMPILING)
-			try_run(_RUN_RESULT_VAR _COMPILE_RESULT_VAR
-					"${_bindir}" "${_SRCFILE}")
-			IF (_COMPILE_RESULT_VAR AND NOT _RUN_RESULT_VAR)
-				SET(${RESULT_VAR} TRUE)
-			ELSE (_COMPILE_RESULT_VAR AND NOT _RUN_RESULT_VAR)
-				SET(${RESULT_VAR} FALSE)
-			ENDIF (_COMPILE_RESULT_VAR AND NOT _RUN_RESULT_VAR)
-			IF (${RESULT_VAR} AND EXISTS ${_SRCFILE_FAIL})
-				try_run(_RUN_RESULT_VAR _COMPILE_RESULT_VAR
-						"${_bindir}_fail" "${_SRCFILE_FAIL}")
-				IF (_COMPILE_RESULT_VAR AND _RUN_RESULT_VAR)
-					SET(${RESULT_VAR} TRUE)
-				ELSE (_COMPILE_RESULT_VAR AND _RUN_RESULT_VAR)
-					SET(${RESULT_VAR} FALSE)
-				ENDIF (_COMPILE_RESULT_VAR AND _RUN_RESULT_VAR)
-			ENDIF (${RESULT_VAR} AND EXISTS ${_SRCFILE_FAIL})
-		ENDIF (CROSS_COMPILING)
-		IF (${RESULT_VAR} AND EXISTS ${_SRCFILE_FAIL_COMPILE})
-			try_compile(_TMP_RESULT "${_bindir}_fail_compile" "${_SRCFILE_FAIL_COMPILE}")
-			IF (_TMP_RESULT)
-				SET(${RESULT_VAR} FALSE)
-			ELSE (_TMP_RESULT)
-				SET(${RESULT_VAR} TRUE)
-			ENDIF (_TMP_RESULT)
-		ENDIF (${RESULT_VAR} AND EXISTS ${_SRCFILE_FAIL_COMPILE})
-
-		IF (${RESULT_VAR})
-			MESSAGE(STATUS "Checking C++11 support for ${_LOG_NAME} -- works")
-		ELSE (${RESULT_VAR})
-			MESSAGE(STATUS "Checking C++11 support for ${_LOG_NAME} -- not supported")
-		ENDIF (${RESULT_VAR})
-		SET(${RESULT_VAR} ${${RESULT_VAR}} CACHE INTERNAL "C++11 support for ${_LOG_NAME}")
-	ENDIF (NOT DEFINED ${RESULT_VAR})
+      SET(_LOG_NAME "\"${FEATURE_NAME}\"")
+    ENDIF (${FEATURE_NUMBER})
+    ecbuild_info("Checking C++11 support for ${_LOG_NAME}")
+
+    SET(_SRCFILE "${_SRCFILE_BASE}.cpp")
+    SET(_SRCFILE_FAIL "${_SRCFILE_BASE}_fail.cpp")
+    SET(_SRCFILE_FAIL_COMPILE "${_SRCFILE_BASE}_fail_compile.cpp")
+
+    IF (CROSS_COMPILING)
+      try_compile(${RESULT_VAR} "${_bindir}" "${_SRCFILE}")
+      IF (${RESULT_VAR} AND EXISTS ${_SRCFILE_FAIL})
+        try_compile(${RESULT_VAR} "${_bindir}_fail" "${_SRCFILE_FAIL}")
+      ENDIF (${RESULT_VAR} AND EXISTS ${_SRCFILE_FAIL})
+    ELSE (CROSS_COMPILING)
+      try_run(_RUN_RESULT_VAR _COMPILE_RESULT_VAR
+          "${_bindir}" "${_SRCFILE}")
+      IF (_COMPILE_RESULT_VAR AND NOT _RUN_RESULT_VAR)
+        SET(${RESULT_VAR} TRUE)
+      ELSE (_COMPILE_RESULT_VAR AND NOT _RUN_RESULT_VAR)
+        SET(${RESULT_VAR} FALSE)
+      ENDIF (_COMPILE_RESULT_VAR AND NOT _RUN_RESULT_VAR)
+      IF (${RESULT_VAR} AND EXISTS ${_SRCFILE_FAIL})
+        try_run(_RUN_RESULT_VAR _COMPILE_RESULT_VAR
+            "${_bindir}_fail" "${_SRCFILE_FAIL}")
+        IF (_COMPILE_RESULT_VAR AND _RUN_RESULT_VAR)
+          SET(${RESULT_VAR} TRUE)
+        ELSE (_COMPILE_RESULT_VAR AND _RUN_RESULT_VAR)
+          SET(${RESULT_VAR} FALSE)
+        ENDIF (_COMPILE_RESULT_VAR AND _RUN_RESULT_VAR)
+      ENDIF (${RESULT_VAR} AND EXISTS ${_SRCFILE_FAIL})
+    ENDIF (CROSS_COMPILING)
+    IF (${RESULT_VAR} AND EXISTS ${_SRCFILE_FAIL_COMPILE})
+      try_compile(_TMP_RESULT "${_bindir}_fail_compile" "${_SRCFILE_FAIL_COMPILE}")
+      IF (_TMP_RESULT)
+        SET(${RESULT_VAR} FALSE)
+      ELSE (_TMP_RESULT)
+        SET(${RESULT_VAR} TRUE)
+      ENDIF (_TMP_RESULT)
+    ENDIF (${RESULT_VAR} AND EXISTS ${_SRCFILE_FAIL_COMPILE})
+
+    IF (${RESULT_VAR})
+      ecbuild_info("Checking C++11 support for ${_LOG_NAME} -- works")
+    ELSE (${RESULT_VAR})
+      ecbuild_info("Checking C++11 support for ${_LOG_NAME} -- not supported")
+    ENDIF (${RESULT_VAR})
+    SET(${RESULT_VAR} ${${RESULT_VAR}} CACHE INTERNAL "C++11 support for ${_LOG_NAME}")
+  ENDIF (NOT DEFINED ${RESULT_VAR})
 ENDMACRO(cxx11_check_single_feature)
 
 # Find list of all features
@@ -138,12 +139,12 @@ macro(_figure_out_cxx11_feature current_feature)
       list(REMOVE_ITEM ALL_FEATURE_FILES ${filename})
     endif()
   endforeach()
-  
+
   list(LENGTH ALL_FEATURE_FILES NFILES)
   if(NOT ${NFILES} EQUAL 1)
-    message(FATAL_ERROR "[c++11] Expected to find only one feature. Found ${NFILES} -- ${ALL_FEATURE_FILES}.")
+    ecbuild_critical("[c++11] Expected to find only one feature. Found ${NFILES} -- ${ALL_FEATURE_FILES}.")
   endif(NOT ${NFILES} EQUAL 1)
-  
+
   # Now we know which file corresponds to option.
   get_filename_component(basename ${ALL_FEATURE_FILES} NAME_WE)
   # If has feature number, extract it
@@ -165,18 +166,18 @@ function(cxx11_feature_check)
   # Parses input to this function.
   parse_input_features("${ALL_CPP11_FEATURES}" OPTIONALS REQUIRED ERRORS ${ARGN})
   if(NOT ${ERRORS} STREQUAL "")
-    message(STATUS "[c++11] The following features are unknown: ${ERRORS}.")
+    ecbuild_info("[c++11] The following features are unknown: ${ERRORS}.")
   endif()
 
   # MinGW has not implemented std::random_device fully yet. Unfortunately, this can only be detected
   # by running a program which tries to call std::random_device. However that generates an error that
-  # is *not* caught by CMake's try_run. 
+  # is *not* caught by CMake's try_run.
   if(MSYS)
     list(REMOVE_ITEM OPTIONALS "random_device")
     list(FIND REQUIRED "random_device" feature_was_found)
     if(NOT feature_was_found EQUAL "-1")
-      message(FATAL_ERROR "[c++1] MSYS does not implement Random devices fully.\n"
-                          "       It cannot be required on this system.")
+      ecbuild_critical("[c++1] MSYS does not implement Random devices fully.\n"
+                       "       It cannot be required on this system.")
     endif()
   endif()
 
@@ -190,7 +191,7 @@ function(cxx11_feature_check)
     _figure_out_cxx11_feature(${current_feature})
     set(VARNAME HAS_CXX11_${UPPER_OPTIONAL})
     if(NOT ${VARNAME})
-      message(FATAL_ERROR "[c++11] Required feature ${current_feature} is not available.")
+      ecbuild_critical("[c++11] Required feature ${current_feature} is not available.")
     endif(NOT ${VARNAME})
   endforeach(current_feature ${REQUIRED})
 
diff --git a/cmake/ecbuild_add_executable.cmake b/cmake/ecbuild_add_executable.cmake
index 4572832..424059e 100644
--- a/cmake/ecbuild_add_executable.cmake
+++ b/cmake/ecbuild_add_executable.cmake
@@ -26,7 +26,7 @@
 #                           [ PERSISTENT <file1> [<file2> ...] ]
 #                           [ GENERATED <file1> [<file2> ...] ]
 #                           [ DEPENDS <target1> [<target2> ...] ]
-#                           [ CONDITION <condition1> [<condition2> ...] ]
+#                           [ CONDITION <condition> ]
 #                           [ NOINSTALL ]
 #                           [ VERSION <version> | AUTO_VERSION ]
 #                           [ CFLAGS <flag1> [<flag2> ...] ]
@@ -232,66 +232,10 @@ macro( ecbuild_add_executable )
     #   ecbuild_debug_var( ${_PAR_TARGET}_h_srcs )
     #   ecbuild_debug_var( ${_PAR_TARGET}_c_srcs )
     #   ecbuild_debug_var( ${_PAR_TARGET}_cxx_srcs )
-    #   ecbuild_debug_var( ${_PAR_TARGET}_f_srcs )
+    #   ecbuild_debug_var( ${_PAR_TARGET}_fortran_srcs )
 
-    # add local flags
-
-    if( ${_PAR_TARGET}_c_srcs )
-
-      if( ECBUILD_SOURCE_FLAGS )
-        ecbuild_source_flags( ${_PAR_TARGET}_C_SOURCE_FLAGS
-                              ${_PAR_TARGET}_c
-                              "${_PAR_CFLAGS}"
-                              "${${_PAR_TARGET}_c_srcs}" )
-
-        ecbuild_debug("ecbuild_add_executable(${_PAR_TARGET}): setting source file C flags from ${${_PAR_TARGET}_C_SOURCE_FLAGS}")
-        include( ${${_PAR_TARGET}_C_SOURCE_FLAGS} )
-
-      elseif( DEFINED _PAR_CFLAGS )
-
-        ecbuild_debug("ecbuild_add_executable(${_PAR_TARGET}): use C flags ${_PAR_CFLAGS}")
-        set_source_files_properties( ${${_PAR_TARGET}_c_srcs}   PROPERTIES COMPILE_FLAGS "${_PAR_CFLAGS}" )
-
-      endif()
-    endif()
-
-    if( ${_PAR_TARGET}_cxx_srcs )
-
-      if( ECBUILD_SOURCE_FLAGS )
-        ecbuild_source_flags( ${_PAR_TARGET}_CXX_SOURCE_FLAGS
-                              ${_PAR_TARGET}_cxx
-                              "${_PAR_CXXFLAGS}"
-                              "${${_PAR_TARGET}_cxx_srcs}" )
-
-        ecbuild_debug("ecbuild_add_executable(${_PAR_TARGET}): setting source file CXX flags from ${${_PAR_TARGET}_CXX_SOURCE_FLAGS}")
-        include( ${${_PAR_TARGET}_CXX_SOURCE_FLAGS} )
-
-      elseif( DEFINED _PAR_CXXFLAGS )
-
-        ecbuild_debug("ecbuild_add_executable(${_PAR_TARGET}): use C++ flags ${_PAR_CFLAGS}")
-        set_source_files_properties( ${${_PAR_TARGET}_cxx_srcs} PROPERTIES COMPILE_FLAGS "${_PAR_CXXFLAGS}" )
-
-      endif()
-    endif()
-
-    if( ${_PAR_TARGET}_f_srcs )
-
-      if( ECBUILD_SOURCE_FLAGS )
-        ecbuild_source_flags( ${_PAR_TARGET}_Fortran_SOURCE_FLAGS
-                              ${_PAR_TARGET}_f
-                              "${_PAR_FFLAGS}"
-                              "${${_PAR_TARGET}_f_srcs}" )
-
-        ecbuild_debug("ecbuild_add_executable(${_PAR_TARGET}): setting source file Fortran flags from ${${_PAR_TARGET}_Fortran_SOURCE_FLAGS}")
-        include( ${${_PAR_TARGET}_Fortran_SOURCE_FLAGS} )
-
-      elseif( DEFINED _PAR_FFLAGS )
-
-        ecbuild_debug("ecbuild_add_executable(${_PAR_TARGET}): use Fortran flags ${_PAR_CFLAGS}")
-        set_source_files_properties( ${${_PAR_TARGET}_f_srcs}  PROPERTIES COMPILE_FLAGS "${_PAR_FFLAGS}" )
-
-      endif()
-    endif()
+    # Override compilation flags on a per source file basis
+    ecbuild_target_flags( ${_PAR_TARGET} "${_PAR_CFLAGS}" "${_PAR_CXXFLAGS}" "${_PAR_FFLAGS}" )
 
     # define VERSION if requested
     if( DEFINED _PAR_VERSION )
diff --git a/cmake/ecbuild_add_fortran_flags.cmake b/cmake/ecbuild_add_fortran_flags.cmake
index 17b9bf2..0d3b544 100644
--- a/cmake/ecbuild_add_fortran_flags.cmake
+++ b/cmake/ecbuild_add_fortran_flags.cmake
@@ -64,7 +64,14 @@ macro( ecbuild_add_fortran_flags m_fortran_flags )
 
       math( EXPR N_FortranFLAG '${N_FortranFLAG}+1' )
 
-      if( NOT ECBUILD_TRUST_FLAGS )
+      if( ECBUILD_TRUST_FLAGS )
+        set( _flag_ok 1 )
+      # Due to a bug in CMake < 3.0, check_fortran_compiler_flag ALWAYS fails with ifort
+      # see https://cmake.org/Bug/view.php?id=14507
+      elseif( CMAKE_MAJOR_VERSION LESS 3 AND CMAKE_Fortran_COMPILER_ID MATCHES "Intel" )
+        set( _flag_ok 1 )
+        ecbuild_warn( "Not testing Fortran flags due to a bug in CMake < 3.0 with ifort" )
+      else()
         if( DEFINED _PAR_NAME )
           check_fortran_compiler_flag( ${_flags} ${_PAR_NAME} )
           set( _flag_ok ${${_PAR_NAME}} )
@@ -72,8 +79,6 @@ macro( ecbuild_add_fortran_flags m_fortran_flags )
           check_fortran_compiler_flag( ${_flags} Fortran_FLAG_TEST_${N_FortranFLAG} )
           set( _flag_ok ${Fortran_FLAG_TEST_${N_FortranFLAG}} )
         endif()
-      else()
-        set( _flag_ok 1 )
       endif()
 
       if( _flag_ok )
diff --git a/cmake/ecbuild_add_library.cmake b/cmake/ecbuild_add_library.cmake
index 48602a4..2c59200 100644
--- a/cmake/ecbuild_add_library.cmake
+++ b/cmake/ecbuild_add_library.cmake
@@ -29,7 +29,7 @@
 #                        [ PERSISTENT <file1> [<file2> ...] ]
 #                        [ GENERATED <file1> [<file2> ...] ]
 #                        [ DEPENDS <target1> [<target2> ...] ]
-#                        [ CONDITION <condition1> [<condition2> ...] ]
+#                        [ CONDITION <condition> ]
 #                        [ NOINSTALL ]
 #                        [ HEADER_DESTINATION <path> ]
 #                        [ INSTALL_HEADERS LISTED|ALL ]
@@ -352,66 +352,10 @@ function( ecbuild_add_library_impl )
     #   ecbuild_debug_var( ${_PAR_TARGET}_h_srcs )
     #   ecbuild_debug_var( ${_PAR_TARGET}_c_srcs )
     #   ecbuild_debug_var( ${_PAR_TARGET}_cxx_srcs )
-    #   ecbuild_debug_var( ${_PAR_TARGET}_f_srcs )
+    #   ecbuild_debug_var( ${_PAR_TARGET}_fortran_srcs )
 
-    # add local flags
-
-    if( ${_PAR_TARGET}_c_srcs )
-
-      if( ECBUILD_SOURCE_FLAGS )
-        ecbuild_source_flags( ${_PAR_TARGET}_C_SOURCE_FLAGS
-                              ${_PAR_TARGET}_c
-                              "${_PAR_CFLAGS}"
-                              "${${_PAR_TARGET}_c_srcs}" )
-
-        ecbuild_debug("ecbuild_add_library(${_PAR_TARGET}): setting source file C flags from ${${_PAR_TARGET}_C_SOURCE_FLAGS}")
-        include( ${${_PAR_TARGET}_C_SOURCE_FLAGS} )
-
-      elseif( DEFINED _PAR_CFLAGS )
-
-        ecbuild_debug("ecbuild_add_library(${_PAR_TARGET}): use C flags ${_PAR_CFLAGS}")
-        set_source_files_properties( ${${_PAR_TARGET}_c_srcs}   PROPERTIES COMPILE_FLAGS "${_PAR_CFLAGS}" )
-
-      endif()
-    endif()
-
-    if( ${_PAR_TARGET}_cxx_srcs )
-
-      if( ECBUILD_SOURCE_FLAGS )
-        ecbuild_source_flags( ${_PAR_TARGET}_CXX_SOURCE_FLAGS
-                              ${_PAR_TARGET}_cxx
-                              "${_PAR_CXXFLAGS}"
-                              "${${_PAR_TARGET}_cxx_srcs}" )
-
-        ecbuild_debug("ecbuild_add_library(${_PAR_TARGET}): setting source file CXX flags from ${${_PAR_TARGET}_CXX_SOURCE_FLAGS}")
-        include( ${${_PAR_TARGET}_CXX_SOURCE_FLAGS} )
-
-      elseif( DEFINED _PAR_CXXFLAGS )
-
-        ecbuild_debug("ecbuild_add_library(${_PAR_TARGET}): use C++ flags ${_PAR_CFLAGS}")
-        set_source_files_properties( ${${_PAR_TARGET}_cxx_srcs} PROPERTIES COMPILE_FLAGS "${_PAR_CXXFLAGS}" )
-
-      endif()
-    endif()
-
-    if( ${_PAR_TARGET}_f_srcs )
-
-      if( ECBUILD_SOURCE_FLAGS )
-        ecbuild_source_flags( ${_PAR_TARGET}_Fortran_SOURCE_FLAGS
-                              ${_PAR_TARGET}_f
-                              "${_PAR_FFLAGS}"
-                              "${${_PAR_TARGET}_f_srcs}" )
-
-        ecbuild_debug("ecbuild_add_library(${_PAR_TARGET}): setting source file Fortran flags from ${${_PAR_TARGET}_Fortran_SOURCE_FLAGS}")
-        include( ${${_PAR_TARGET}_Fortran_SOURCE_FLAGS} )
-
-      elseif( DEFINED _PAR_FFLAGS )
-
-        ecbuild_debug("ecbuild_add_library(${_PAR_TARGET}): use Fortran flags ${_PAR_CFLAGS}")
-        set_source_files_properties( ${${_PAR_TARGET}_f_srcs}  PROPERTIES COMPILE_FLAGS "${_PAR_FFLAGS}" )
-
-      endif()
-    endif()
+    # Override compilation flags on a per source file basis
+    ecbuild_target_flags( ${_PAR_TARGET} "${_PAR_CFLAGS}" "${_PAR_CXXFLAGS}" "${_PAR_FFLAGS}" )
 
     if( DEFINED _PAR_GENERATED )
       ecbuild_debug("ecbuild_add_library(${_PAR_TARGET}): mark as generated ${_PAR_GENERATED}")
diff --git a/cmake/ecbuild_add_option.cmake b/cmake/ecbuild_add_option.cmake
index 8261bd4..ed262d5 100644
--- a/cmake/ecbuild_add_option.cmake
+++ b/cmake/ecbuild_add_option.cmake
@@ -19,8 +19,8 @@
 #                       [ DESCRIPTION <description> ]
 #                       [ PURPOSE <purpose> ]
 #                       [ REQUIRED_PACKAGES <package1> [<package2> ...] ]
-#                       [ CONDITION <condition1> [<condition2> ...] ]
-#                       [ ADVANCED ] )
+#                       [ CONDITION <condition> ]
+#                       [ ADVANCED ] [ NO_TPL ] )
 #
 # Options
 # -------
@@ -66,6 +66,9 @@
 # ADVANCED : optional
 #   mark the feature as advanced
 #
+# NO_TPL : optional
+#   do not add any ``REQUIRED_PACKAGES`` to the list of third party libraries
+#
 # Usage
 # -----
 #
@@ -84,7 +87,7 @@
 
 macro( ecbuild_add_option )
 
-  set( options ADVANCED )
+  set( options ADVANCED NO_TPL )
   set( single_value_args FEATURE DEFAULT DESCRIPTION TYPE PURPOSE )
   set( multi_value_args  REQUIRED_PACKAGES CONDITION )
 
@@ -196,6 +199,7 @@ macro( ecbuild_add_option )
         string( TOUPPER ${pkgname} pkgUPPER )
         string( TOLOWER ${pkgname} pkgLOWER )
 
+        set( __help_msg "Provide ${pkgname} location with -D${pkgUPPER}_PATH=/..." )
         if( ${pkgname}_FOUND OR ${pkgUPPER}_FOUND OR ${pkgLOWER}_FOUND )
 
           ecbuild_debug("ecbuild_add_option(${_p_FEATURE}): ${pkgname} has already been found")
@@ -205,7 +209,7 @@ macro( ecbuild_add_option )
 
           if( pkgproject )
 
-            ecbuild_debug("ecbuild_add_option(${_p_FEATURE}): searching for ecbuild project ${pkgname}")
+            ecbuild_debug("ecbuild_add_option(${_p_FEATURE}): searching for ecbuild project ${pkgname} - ecbuild_use_package( ${pkglist} )")
             ecbuild_use_package( ${pkglist} )
 
           else()
@@ -213,7 +217,7 @@ macro( ecbuild_add_option )
             if( pkgname STREQUAL "MPI" )
               set( _find_args ${pkglist} )
               list( REMOVE_ITEM _find_args "MPI" )
-              ecbuild_debug("ecbuild_add_option(${_p_FEATURE}): searching for MPI")
+              ecbuild_debug("ecbuild_add_option(${_p_FEATURE}): searching for MPI - ecbuild_find_mpi( ${_find_args} )")
               ecbuild_find_mpi( ${_find_args} )
             elseif( pkgname STREQUAL "OMP" )
               set( _find_args ${pkglist} )
@@ -221,20 +225,21 @@ macro( ecbuild_add_option )
               if( NOT ENABLE_${_p_FEATURE} )
                 list( APPEND _find_args STUBS )
               endif()
-              ecbuild_debug("ecbuild_add_option(${_p_FEATURE}): searching for OpenMP")
+              ecbuild_debug("ecbuild_add_option(${_p_FEATURE}): searching for OpenMP - ecbuild_find_omp( ${_find_args} )")
               ecbuild_find_omp( ${_find_args} )
             elseif( pkgname STREQUAL "Python" OR pkgname STREQUAL "PYTHON" )
               set( _find_args ${pkglist} )
               list( REMOVE_ITEM _find_args ${pkgname} )
-              ecbuild_debug("ecbuild_add_option(${_p_FEATURE}): searching for Python")
+              ecbuild_debug("ecbuild_add_option(${_p_FEATURE}): searching for Python - ecbuild_find_python( ${_find_args} )")
               ecbuild_find_python( ${_find_args} )
+              set( __help_msg "Specify the location of the Python interpreter with -DPYTHON_EXECUTABLE=/..." )
             elseif( pkgname STREQUAL "LEXYACC" )
               set( _find_args ${pkglist} )
               list( REMOVE_ITEM _find_args ${pkgname} )
-              ecbuild_debug("ecbuild_add_option(${_p_FEATURE}): searching for lex-yacc")
+              ecbuild_debug("ecbuild_add_option(${_p_FEATURE}): searching for lex-yacc - ecbuild_find_lexyacc( ${_find_args} )")
               ecbuild_find_lexyacc( ${_find_args} )
             else()
-              ecbuild_debug("ecbuild_add_option(${_p_FEATURE}): searching for package ${pkgname}")
+              ecbuild_debug("ecbuild_add_option(${_p_FEATURE}): searching for package ${pkgname} - find_package( ${pkglist} )")
               find_package( ${pkglist} )
             endif()
 
@@ -242,14 +247,6 @@ macro( ecbuild_add_option )
 
         endif()
 
-        # if found append to list of third-party libraries (to be forward to other packages )
-        if( ${pkgname}_FOUND OR ${pkgUPPER}_FOUND OR ${pkgLOWER}_FOUND )
-
-          list( APPEND ${PROJECT_NAME_CAPS}_TPLS ${pkgname} )
-          list( REMOVE_DUPLICATES ${PROJECT_NAME_CAPS}_TPLS )
-
-        endif()
-
         # ecbuild_debug_var( ${pkgname}_FOUND  )
         # ecbuild_debug_var( ${pkgLOWER}_FOUND )
         # ecbuild_debug_var( ${pkgUPPER}_FOUND )
@@ -258,8 +255,17 @@ macro( ecbuild_add_option )
 
         if( ${pkgname}_FOUND OR ${pkgUPPER}_FOUND OR ${pkgLOWER}_FOUND )
           ecbuild_info( "Found package ${pkgname} required for feature ${_p_FEATURE}" )
+
+          # append to list of third-party libraries (to be forward to other packages )
+          # unless the NO_TPL option was given
+          if( NOT _p_NO_TPL )
+            ecbuild_debug("ecbuild_add_option(${_p_FEATURE}): appending ${pkgname} to ${PROJECT_NAME_CAPS}_TPLS")
+            list( APPEND ${PROJECT_NAME_CAPS}_TPLS ${pkgname} )
+            list( REMOVE_DUPLICATES ${PROJECT_NAME_CAPS}_TPLS )
+          endif()
+
         else()
-          ecbuild_info( "Could not find package ${pkgname} required for feature ${_p_FEATURE} -- Provide ${pkgname} location with -D${pkgUPPER}_PATH=/..." )
+          ecbuild_info( "Could NOT find package ${pkgname} required for feature ${_p_FEATURE} -- ${__help_msg}" )
           set( HAVE_${_p_FEATURE} 0 )
           list( APPEND _failed_to_find_packages ${pkgname} )
         endif()
@@ -279,15 +285,16 @@ macro( ecbuild_add_option )
     else() # if user provided input and we cannot satisfy FAIL otherwise WARN
 
       if( ${_p_FEATURE}_user_provided_input )
-        if( _${_p_FEATURE}_condition )
-          ecbuild_critical( "Feature ${_p_FEATURE} cannot be enabled -- following required packages weren't found: ${_failed_to_find_packages}" )
-        else()
+        if( NOT _${_p_FEATURE}_condition )
           string(REPLACE ";" " " _condition_msg "${_p_CONDITION}")
           ecbuild_critical( "Feature ${_p_FEATURE} cannot be enabled -- following condition was not met: ${_condition_msg}" )
+        else()
+          ecbuild_critical( "Feature ${_p_FEATURE} cannot be enabled -- following required packages weren't found: ${_failed_to_find_packages}" )
         endif()
       else()
-        if( _${_p_FEATURE}_condition )
-          ecbuild_info( "Feature ${_p_FEATURE} was not enabled (also not requested) -- following condition was not met: ${_p_CONDITION}" )
+        if( NOT _${_p_FEATURE}_condition )
+          string(REPLACE ";" " " _condition_msg "${_p_CONDITION}")
+          ecbuild_info( "Feature ${_p_FEATURE} was not enabled (also not requested) -- following condition was not met: ${_condition_msg}" )
         else()
           ecbuild_info( "Feature ${_p_FEATURE} was not enabled (also not requested) -- following required packages weren't found: ${_failed_to_find_packages}" )
         endif()
diff --git a/cmake/ecbuild_add_test.cmake b/cmake/ecbuild_add_test.cmake
index 2097683..c8c9864 100644
--- a/cmake/ecbuild_add_test.cmake
+++ b/cmake/ecbuild_add_test.cmake
@@ -33,7 +33,7 @@
 #                     [ GENERATED <file1> [<file2> ...] ]
 #                     [ DEPENDS <target1> [<target2> ...] ]
 #                     [ TEST_DEPENDS <target1> [<target2> ...] ]
-#                     [ CONDITION <condition1> [<condition2> ...] ]
+#                     [ CONDITION <condition> ]
 #                     [ ENVIRONMENT <variable1> [<variable2> ...] ]
 #                     [ WORKING_DIRECTORY <path> ]
 #                     [ CFLAGS <flag1> [<flag2> ...] ]
@@ -322,25 +322,14 @@ macro( ecbuild_add_test )
       # filter sources
       ecbuild_separate_sources( TARGET ${_PAR_TARGET} SOURCES ${_PAR_SOURCES} )
 
-      # add local flags
-      if( DEFINED _PAR_CFLAGS )
-        ecbuild_debug("ecbuild_add_test(${_PAR_TARGET}): use C flags ${_PAR_CFLAGS}")
-        set_source_files_properties( ${${_PAR_TARGET}_c_srcs}   PROPERTIES COMPILE_FLAGS "${_PAR_CFLAGS}" )
-      endif()
-      if( DEFINED _PAR_CXXFLAGS )
-        ecbuild_debug("ecbuild_add_test(${_PAR_TARGET}): use C++ flags ${_PAR_CFLAGS}")
-        set_source_files_properties( ${${_PAR_TARGET}_cxx_srcs} PROPERTIES COMPILE_FLAGS "${_PAR_CXXFLAGS}" )
-      endif()
-      if( DEFINED _PAR_FFLAGS )
-        ecbuild_debug("ecbuild_add_test(${_PAR_TARGET}): use Fortran flags ${_PAR_CFLAGS}")
-        set_source_files_properties( ${${_PAR_TARGET}_f_srcs}   PROPERTIES COMPILE_FLAGS "${_PAR_FFLAGS}" )
-      endif()
+      # Override compilation flags on a per source file basis
+      ecbuild_target_flags( ${_PAR_TARGET} "${_PAR_CFLAGS}" "${_PAR_CXXFLAGS}" "${_PAR_FFLAGS}" )
+
       if( DEFINED _PAR_GENERATED )
         ecbuild_debug("ecbuild_add_test(${_PAR_TARGET}): mark as generated ${_PAR_GENERATED}")
         set_source_files_properties( ${_PAR_GENERATED} PROPERTIES GENERATED 1 )
       endif()
 
-
       # modify definitions to compilation ( -D... )
       get_property( _target_defs TARGET ${_PAR_TARGET} PROPERTY COMPILE_DEFINITIONS )
 
@@ -405,7 +394,7 @@ macro( ecbuild_add_test )
 
     # Wrap with MPIEXEC
     if( _PAR_MPI )
-      
+
       set( MPIEXEC_TASKS ${MPIEXEC_NUMPROC_FLAG} ${_PAR_MPI} )
       if( DEFINED MPIEXEC_NUMTHREAD_FLAG )
         set( MPIEXEC_THREADS ${MPIEXEC_NUMTHREAD_FLAG} ${_PAR_OMP} )
diff --git a/cmake/ecbuild_bundle.cmake b/cmake/ecbuild_bundle.cmake
index 83b0bba..aee900c 100644
--- a/cmake/ecbuild_bundle.cmake
+++ b/cmake/ecbuild_bundle.cmake
@@ -20,7 +20,9 @@ include(ecbuild_git)
 # =========================
 #
 # Initialise the ecBuild environment for a bundle. *Must* be called *before*
-# any call to ecbuild_bundle.
+# any call to ``ecbuild_bundle``. ::
+#
+#   ecbuild_bundle_initialize()
 #
 ##############################################################################
 
@@ -159,7 +161,9 @@ endmacro()
 # =======================
 #
 # Finalise the ecBuild environment for a bundle. *Must* be called *after* the
-# last call to ecbuild_bundle.
+# last call to ``ecbuild_bundle``. ::
+#
+#   ecbuild_bundle_finalize()
 #
 ##############################################################################
 
diff --git a/cmake/ecbuild_check_cxx11.cmake b/cmake/ecbuild_check_cxx11.cmake
index 390462b..1639a6a 100644
--- a/cmake/ecbuild_check_cxx11.cmake
+++ b/cmake/ecbuild_check_cxx11.cmake
@@ -23,14 +23,19 @@
 # Options
 # -------
 #
-# FEATURES : optional, checks for all features if omitted
-#   list of features to check for
+# FEATURES : optional
+#   list of optional features to check for
 #
 # REQUIRED : optional
 #   list of required features to check for
 #
 # PRINT : optional
-#   print a summary of features check for, found and not found
+#   print a summary of features checked for, found and not found
+#
+# Note
+# ----
+#
+# If neither ``FEATURES`` nor ``REQUIRED`` are given, check for all features.
 #
 ##############################################################################
 
diff --git a/cmake/ecbuild_check_fortran.cmake b/cmake/ecbuild_check_fortran.cmake
new file mode 100644
index 0000000..5612134
--- /dev/null
+++ b/cmake/ecbuild_check_fortran.cmake
@@ -0,0 +1,126 @@
+# (C) Copyright 1996-2016 ECMWF.
+#
+# This software is licensed under the terms of the Apache Licence Version 2.0
+# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
+# In applying this licence, ECMWF does not waive the privileges and immunities
+# granted to it by virtue of its status as an intergovernmental organisation
+# nor does it submit to any jurisdiction.
+
+##############################################################################
+#.rst:
+#
+# ecbuild_check_fortran
+# =====================
+#
+# Check for Fortran features. ::
+#
+#   ecbuild_check_fortran( [ FEATURES <feature1> [ <feature2> ... ] ]
+#                          [ REQUIRED <feature1> [ <feature2> ... ] ]
+#                          [ PRINT ] )
+#
+# Options
+# -------
+#
+# FEATURES : optional
+#   list of optional features to check for
+#
+# REQUIRED : optional
+#   list of required features to check for, fails if not detected
+#
+# PRINT : optional
+#   print a summary of features checked for, found and not found
+#
+# Note
+# ----
+#
+# If neither ``FEATURES`` nor ``REQUIRED`` are given, check for all features.
+#
+##############################################################################
+
+function( ecbuild_check_fortran )
+
+  # parse parameters
+
+  set( options PRINT )
+  set( single_value_args )
+  set( multi_value_args   FEATURES REQUIRED )
+
+  cmake_parse_arguments( _p "${options}" "${single_value_args}" "${multi_value_args}"  ${_FIRST_ARG} ${ARGN} )
+
+  if(_PAR_UNPARSED_ARGUMENTS)
+    ecbuild_critical("Unknown keywords given to ecbuild_check_fortran(): \"${_PAR_UNPARSED_ARGUMENTS}\"")
+  endif()
+
+  include( ${ECBUILD_MACROS_DIR}/fortran_features/CheckFortranFeatures.cmake )
+
+  fortran_find_all_features( ALL_FEATURES ) # list all available features to check
+
+  if( NOT _p_FEATURES AND NOT _p_REQUIRED ) # no input, then search for all features
+
+    fortran_feature_check()
+
+  else()
+
+    foreach( _f ${_p_FEATURES} )
+      fortran_feature_check( ${_f} )
+    endforeach()
+
+    foreach( _f ${_p_REQUIRED} )
+      fortran_feature_check( REQUIRED ${_f} )
+    endforeach()
+
+  endif()
+
+  if( _p_FEATURES OR _p_REQUIRED )
+    set( Fortran_CHECKED_FEATURES ${_p_FEATURES} ${_p_REQUIRED} )
+  else()
+    set( Fortran_CHECKED_FEATURES ${ALL_FEATURES} )
+  endif()
+
+  foreach( f ${Fortran_CHECKED_FEATURES} )
+    string( TOUPPER ${f} FEAT )
+    if( HAS_Fortran_${FEAT} )
+       list( APPEND Fortran_SUPPORTED_FEATURES ${f} )
+       set( EC_HAVE_Fortran_${FEAT} 1 PARENT_SCOPE )
+    else()
+       list( APPEND Fortran_NOT_SUPPORTED_FEATURES ${f} )
+       set( EC_HAVE_Fortran_${FEAT} 0 PARENT_SCOPE )
+    endif()
+  endforeach()
+
+  if( Fortran_CHECKED_FEATURES )
+    list( SORT Fortran_CHECKED_FEATURES )
+  endif()
+  if( Fortran_SUPPORTED_FEATURES )
+    list( SORT Fortran_SUPPORTED_FEATURES )
+  endif()
+  if( Fortran_NOT_SUPPORTED_FEATURES )
+    list( SORT Fortran_NOT_SUPPORTED_FEATURES )
+  endif()
+
+  set( Fortran_CHECKED_FEATURES       ${Fortran_CHECKED_FEATURES}       PARENT_SCOPE )
+  set( Fortran_SUPPORTED_FEATURES     ${Fortran_SUPPORTED_FEATURES}     PARENT_SCOPE )
+  set( Fortran_NOT_SUPPORTED_FEATURES ${Fortran_NOT_SUPPORTED_FEATURES} PARENT_SCOPE )
+
+  if( _p_PRINT )
+    if( Fortran_CHECKED_FEATURES )
+      join( Fortran_CHECKED_FEATURES " " Fortran_CHECKED_FEATURES_STR )
+      ecbuild_info( "Checked Fortran features: ${Fortran_CHECKED_FEATURES_STR}" )
+    else()
+      ecbuild_info( "Checked no Fortran features" )
+    endif()
+    if( Fortran_SUPPORTED_FEATURES )
+      join( Fortran_SUPPORTED_FEATURES " " Fortran_SUPPORTED_FEATURES_STR )
+      ecbuild_info( "Found Fortran features: ${Fortran_SUPPORTED_FEATURES_STR}" )
+    else()
+      ecbuild_info( "Found no Fortran features" )
+    endif()
+    if( Fortran_NOT_SUPPORTED_FEATURES )
+      join( Fortran_NOT_SUPPORTED_FEATURES " " Fortran_NOT_SUPPORTED_FEATURES_STR )
+      ecbuild_info( "Not found Fortran features: ${Fortran_NOT_SUPPORTED_FEATURES_STR}" )
+    else()
+      ecbuild_info( "Found all checked Fortran features" )
+    endif()
+  endif()
+
+endfunction( ecbuild_check_fortran )
diff --git a/cmake/ecbuild_check_fortran_source_return.cmake b/cmake/ecbuild_check_fortran_source_return.cmake
index 6b007df..175f4ef 100644
--- a/cmake/ecbuild_check_fortran_source_return.cmake
+++ b/cmake/ecbuild_check_fortran_source_return.cmake
@@ -52,7 +52,6 @@
 
 macro( ecbuild_check_fortran_source_return SOURCE )
 
-    ecbuild_warn( "This macro ecbuild_check_fortran_source has never been tested" )
     set( options )
     set( single_value_args VAR  OUTPUT )
     set( multi_value_args  INCLUDES LIBS DEFINITIONS )
@@ -93,15 +92,15 @@ macro( ecbuild_check_fortran_source_return SOURCE )
         if( __add_libs )
             set(CHECK_Fortran_SOURCE_COMPILES_ADD_INCLUDES "-DINCLUDE_DIRECTORIES:STRING=${__add_incs}")
         endif()
-    
+
         # write the source file
-    
-        file( WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/test_${_PAR_VAR}.f" "${SOURCE}\n" )
+
+        file( WRITE "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/test_${_PAR_VAR}.F90" "${SOURCE}\n" )
 
         ecbuild_debug( "Performing Test ${_PAR_VAR}" )
         try_run( ${_PAR_VAR}_EXITCODE ${_PAR_VAR}_COMPILED
           ${CMAKE_BINARY_DIR}
-          ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/test_${_PAR_VAR}.f
+          ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/test_${_PAR_VAR}.F90
           COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
           CMAKE_FLAGS -DCOMPILE_DEFINITIONS:STRING=${MACRO_CHECK_FUNCTION_DEFINITIONS}
           -DCMAKE_SKIP_RPATH:BOOL=${CMAKE_SKIP_RPATH}
@@ -142,9 +141,9 @@ macro( ecbuild_check_fortran_source_return SOURCE )
     
           ecbuild_debug("Performing Test ${_PAR_VAR} - Failed")
           file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log 
-            "Performing C SOURCE FILE Test ${_PAR_VAR} failed with the following compile output:\n"
+            "Performing Fortran SOURCE FILE Test ${_PAR_VAR} failed with the following compile output:\n"
             "${compile_OUTPUT}\n" 
-            "Performing C SOURCE FILE Run ${_PAR_VAR} failed with the following run output:\n"
+            "Performing Fortran SOURCE FILE Run ${_PAR_VAR} failed with the following run output:\n"
             "${run_OUTPUT}\n" 
             "Return value: ${${_PAR_VAR}_EXITCODE}\n"
             "Source file was:\n${SOURCE}\n")
diff --git a/cmake/ecbuild_check_functions.cmake b/cmake/ecbuild_check_functions.cmake
index 88526b5..73f5cb5 100644
--- a/cmake/ecbuild_check_functions.cmake
+++ b/cmake/ecbuild_check_functions.cmake
@@ -169,6 +169,15 @@ if( ENABLE_OS_FUNCTIONS_TEST )
 #    ecbuild_debug_var(EC_HAVE_PROCFS)
 #    ecbuild_debug_var(EC_HAVE_PROCFS_OUTPUT)
 
+    #### check support for DL library #############
+
+    ecbuild_cache_check_include_files( dlfcn.h  EC_HAVE_DLFCN_H )
+
+    cmake_push_check_state(RESET)
+    set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_DL_LIBS} )
+    ecbuild_cache_check_c_source_compiles( "#define _GNU_SOURCE\n#include <dlfcn.h>\nint main(){ void* addr; Dl_info info; dladdr(addr, &info); }\n" EC_HAVE_DLADDR )
+    cmake_pop_check_state()
+
 endif()
 
 
diff --git a/cmake/ecbuild_compiler_flags.cmake b/cmake/ecbuild_compiler_flags.cmake
index b97eb2c..0e3fe1e 100644
--- a/cmake/ecbuild_compiler_flags.cmake
+++ b/cmake/ecbuild_compiler_flags.cmake
@@ -12,7 +12,7 @@
 # ecbuild_compiler_flags
 # ======================
 #
-# Set default compiler flags for a given language. ::
+# Set compiler specific default compilation flags for a given language. ::
 #
 #   ecbuild_compiler_flags( <lang> )
 #
@@ -35,53 +35,171 @@
 
 macro( ecbuild_compiler_flags _lang )
 
+  # Set compiler and language specific default flags - OVERWRITES variables in CMake cache
   if( CMAKE_${_lang}_COMPILER_LOADED )
-
-    ecbuild_debug( "try include ${ECBUILD_MACROS_DIR}/compiler_flags/${CMAKE_${_lang}_COMPILER_ID}_${_lang}.cmake ")
-
+    ecbuild_debug( "ecbuild_compiler_flags(${_lang}): try include ${ECBUILD_MACROS_DIR}/compiler_flags/${CMAKE_${_lang}_COMPILER_ID}_${_lang}.cmake ")
     include( ${ECBUILD_MACROS_DIR}/compiler_flags/${CMAKE_${_lang}_COMPILER_ID}_${_lang}.cmake OPTIONAL )
-
-    ecbuild_debug_var( CMAKE_${_lang}_FLAGS )
-
-    foreach( _btype NONE DEBUG BIT PRODUCTION RELEASE RELWITHDEBINFO )
-      ecbuild_debug_var( CMAKE_${_lang}_FLAGS_${_btype} )
-    endforeach()
-
   endif()
 
+  # Apply user or toolchain specified compilation flag overrides (NOT written to cache)
+
   foreach( _btype NONE DEBUG BIT PRODUCTION RELEASE RELWITHDEBINFO )
     if( DEFINED ECBUILD_${_lang}_FLAGS_${_btype} )
+      ecbuild_debug( "ecbuild_compiler_flags(${_lang}): overriding CMAKE_${_lang}_FLAGS_${_btype} with ${ECBUILD_${_lang}_FLAGS_${_btype}}")
       set( CMAKE_${_lang}_FLAGS_${_btype} ${ECBUILD_${_lang}_FLAGS_${_btype}} )
     endif()
     mark_as_advanced( CMAKE_${_lang}_FLAGS_${_btype} )
   endforeach()
 
   if( DEFINED ECBUILD_${_lang}_FLAGS )
+    ecbuild_debug( "ecbuild_compiler_flags(${_lang}): overriding CMAKE_${_lang}_FLAGS with ${ECBUILD_${_lang}_FLAGS}")
     set( CMAKE_${_lang}_FLAGS "${ECBUILD_${_lang}_FLAGS}" )
   endif()
 
   mark_as_advanced( CMAKE_${_lang}_FLAGS )
 
   if( DEFINED ECBUILD_${_lang}_LINK_FLAGS )
+    ecbuild_debug( "ecbuild_compiler_flags(${_lang}): overriding CMAKE_${_lang}_LINK_FLAGS with ${ECBUILD_${_lang}_LINK_FLAGS}")
     set( CMAKE_${_lang}_LINK_FLAGS "${ECBUILD_${_lang}_LINK_FLAGS}" )
   endif()
 
   mark_as_advanced( CMAKE_${_lang}_LINK_FLAGS )
 
+  ecbuild_debug_var( CMAKE_${_lang}_FLAGS )
+  foreach( _btype NONE DEBUG BIT PRODUCTION RELEASE RELWITHDEBINFO )
+    ecbuild_debug_var( CMAKE_${_lang}_FLAGS_${_btype} )
+  endforeach()
+
 endmacro()
 
-#-----------------------------------------------------------------------------------------------------------------------
+##############################################################################
+#.rst:
+#
+# Using custom compilation flags
+# ==============================
+#
+# If compilation flags need to be controlled on a per source file basis,
+# ecBuild supports defining custom rules in a CMake or JSON file.
+#
+# When using this approach, *default compilation flags are NOT loaded*!
+#
+# Overriding compilation flags on a per source file basis using CMake rules
+# -------------------------------------------------------------------------
+#
+# Compiler flags can be overridden on a per source file basis by setting the
+# CMake variable ``ECBUILD_COMPILE_FLAGS`` to the *full path* of a CMake file
+# defining the override rules. If set, ``<PNAME>_ECBUILD_COMPILE_FLAGS``
+# takes precendence and ``ECBUILD_COMPILE_FLAGS`` is ignored, allowing for
+# rules that only apply to a subproject (e.g. in a bundle).
+#
+# Flags can be overridden in 3 different ways:
+#
+# 1.  By defining project specific flags for a language and (optionally)
+#     build type e.g. ::
+#
+#       set(<PNAME>_Fortran_FLAGS "...") # common flags for all build types
+#       set(<PNAME>_Fortran_FLAGS_DEBUG "...") # only for DEBUG build type
+#
+# 2.  By defining source file specific flags which are *combined* with the
+#     project and target specific flags ::
+#
+#       set_source_files_properties(<source>
+#         PROPERTIES COMPILE_FLAGS "..."  # common flags for all build types
+#                    COMPILE_FLAGS_DEBUG "...") # only for DEBUG build type
+#
+# 3.  By defining source file specific flags which *override* the project and
+#     target specific flags ::
+#
+#       set_source_files_properties(<source>
+#         PROPERTIES OVERRIDE_COMPILE_FLAGS "..."
+#                    OVERRIDE_COMPILE_FLAGS_DEBUG "...")
+#
+# See ``examples/override-compile-flags`` in the ecBuild source tree for a
+# complete example using this technique.
+#
+# Overriding compilation flags on a per source file basis using JSON rules
+# ------------------------------------------------------------------------
+#
+# Compiler flags can be overridden on a per source file basis by setting the
+# CMake variable ``ECBUILD_SOURCE_FLAGS`` to the *full path* of a JSON file
+# defining the override rules. If set, ``<PNAME>_ECBUILD_SOURCE_FLAGS``
+# takes precendence and ``ECBUILD_SOURCE_FLAGS`` is ignored, allowing for
+# rules that only apply to a subproject (e.g. in a bundle).
+#
+# The JSON file lists shell glob patterns and the rule to apply to each source
+# file matching the pattern, defined as an array ``[op, flag1, ...]``
+# containing an operator followed by one or more flags. Valid operators are:
+#
+# :+: Add the flags to the default compilation flags for matching files
+# :=: Set the flags for matching files, disregarding default compilation flags
+# :/: Remove the flags from the default compilation flags for matching files
+#
+# Rules can be nested to e.g. only apply to a subdirectory by setting the rule
+# to a dictionary, which will only apply to source files matching its pattern.
+#
+# An example JSON file demonstrating different rule types is given below: ::
+#
+#   {
+#     "*"       : [ "+", "-g0" ],
+#     "*.cxx"   : [ "+", "-cxx11" ],
+#     "*.f90"   : [ "+", "-pipe" ],
+#     "foo.c"   : [ "+", "-O0" ],
+#     "foo.cc"  : [ "+", "-O2", "-pipe" ],
+#     "bar/*": {
+#       "*.f90" : [ "=", "-O1" ]
+#     },
+#     "baz/*": {
+#       "*.f90" : [ "/", "-pipe" ],
+#       "*.f90" : [ "/", "-O2" ],
+#       "*.f90" : [ "+", "-O3" ]
+#     }
+#   }
+#
+# See ``examples/override-compile-flags`` in the ecBuild source tree for a
+# complete example using this technique.
+#
+##############################################################################
 
-### OVERRIDE Compiler FLAGS (we override because CMake forcely defines them) -- see ecbuild_compiler_flags() macro
+# Custom (project specific) compilation flags enabled?
+foreach( _flags COMPILE SOURCE )
+  if( ${PROJECT_NAME_CAPS}_ECBUILD_${_flags}_FLAGS )
+    if ( ECBUILD_${_flags}_FLAGS )
+      ecbuild_debug( "Override ECBUILD_${_flags}_FLAGS (${ECBUILD_${_flags}_FLAGS}) with ${PROJECT_NAME} specific flags (${${PROJECT_NAME_CAPS}_ECBUILD_${_flags}_FLAGS})" )
+    else()
+      ecbuild_debug( "Use ${PROJECT_NAME} specific ECBUILD_${_flags}_FLAGS (${${PROJECT_NAME_CAPS}_ECBUILD_${_flags}_FLAGS})" )
+    endif()
+    set( ECBUILD_${_flags}_FLAGS ${${PROJECT_NAME_CAPS}_ECBUILD_${_flags}_FLAGS} )
+  endif()
+  # Ensure ECBUILD_${_flags}_FLAGS is a valid file path
+  if( DEFINED ECBUILD_${_flags}_FLAGS AND NOT EXISTS ${ECBUILD_${_flags}_FLAGS} )
+    ecbuild_warn( "ECBUILD_${_flags}_FLAGS points to non-existent file ${ECBUILD_${_flags}_FLAGS} and will be ignored" )
+    unset( ECBUILD_${_flags}_FLAGS )
+    unset( ECBUILD_${_flags}_FLAGS CACHE )
+  endif()
+endforeach()
+if( ECBUILD_COMPILE_FLAGS )
+  include( "${ECBUILD_COMPILE_FLAGS}" )
+endif()
 
 foreach( _lang C CXX Fortran )
   if( CMAKE_${_lang}_COMPILER_LOADED )
-    ecbuild_compiler_flags( ${_lang} )
+
+    # Clear default compilation flags potentially inherited from parent scope
+    # when using custom compilation flags
+    if( ECBUILD_SOURCE_FLAGS OR ECBUILD_COMPILE_FLAGS )
+      set(CMAKE_${_lang}_FLAGS "")
+      foreach(_btype ALL RELEASE RELWITHDEBINFO PRODUCTION BIT DEBUG)
+        set(CMAKE_${_lang}_FLAGS_${_btype} "")
+      endforeach()
+    # Load default compilation flags only if custom compilation flags not enabled
+    else()
+      ecbuild_compiler_flags( ${_lang} )
+    endif()
+
   endif()
 endforeach()
 
-### OVERRIDE Linker FLAGS per object type (we override because CMake forcely defines them)
-
+# Apply user or toolchain specified linker flag overrides per object type (NOT written to cache)
 foreach( _btype NONE DEBUG BIT PRODUCTION RELEASE RELWITHDEBINFO )
 
   foreach( _obj EXE SHARED MODULE )
@@ -91,7 +209,3 @@ foreach( _btype NONE DEBUG BIT PRODUCTION RELEASE RELWITHDEBINFO )
   endforeach()
 
 endforeach()
-
-#-----------------------------------------------------------------------------------------------------------------------
-
-mark_as_advanced( CMAKE_C_FLAGS_BIT )
diff --git a/cmake/ecbuild_config.h.in b/cmake/ecbuild_config.h.in
index dd8e9cd..df9eb91 100644
--- a/cmake/ecbuild_config.h.in
+++ b/cmake/ecbuild_config.h.in
@@ -129,6 +129,12 @@
 #cmakedefine EC_ATTRIBUTE_CONSTRUCTOR_INITS_ARGV
 #cmakedefine EC_HAVE_PROCFS
 
+
+/* --- dl library support --- */
+
+#cmakedefine EC_HAVE_DLFCN_H
+#cmakedefine EC_HAVE_DLADDR
+
 /* --- c compiler support --- */
 
 #cmakedefine EC_HAVE_C_INLINE
diff --git a/cmake/ecbuild_declare_project.cmake b/cmake/ecbuild_declare_project.cmake
index 1c2e93b..c95e8e3 100644
--- a/cmake/ecbuild_declare_project.cmake
+++ b/cmake/ecbuild_declare_project.cmake
@@ -28,24 +28,27 @@
 # :<PNAME>_MINOR_VERSION:  minor version number
 # :<PNAME>_PATCH_VERSION:  patch version number
 # :INSTALL_BIN_DIR:        relative install directory for executables
-#                          (default: ``bin``)
 # :INSTALL_LIB_DIR:        relative install directory for libraries
-#                          (default: ``lib``)
 # :INSTALL_INCLUDE_DIR:    relative install directory for include files
-#                          (default: ``include``)
 # :INSTALL_DATA_DIR:       relative install directory for data
-#                          (default: ``share/<project_name>``)
 # :INSTALL_CMAKE_DIR:      relative install directory for CMake files
-#                          (default: ``share/<project_name>/cmake``)
+#
+# Customising install locations
+# -----------------------------
 #
 # The relative installation directories of components can be customised by
 # setting the following CMake variables on the command line or in cache:
 #
-# :<PNAME>_INSTALL_BIN_DIR:     directory for installing executables
-# :<PNAME>_INSTALL_LIB_DIR:     directory for installing libraries
-# :<PNAME>_INSTALL_INCLUDE_DIR: directory for installing include files
-# :<PNAME>_INSTALL_DATA_DIR:    directory for installing data
-# :<PNAME>_INSTALL_CMAKE_DIR:   directory for installing CMake files
+# :INSTALL_BIN_DIR:        directory for installing executables
+#                          (default: ``bin``)
+# :INSTALL_LIB_DIR:        directory for installing libraries
+#                          (default: ``lib``)
+# :INSTALL_INCLUDE_DIR:    directory for installing include files
+#                          (default: ``include``)
+# :INSTALL_DATA_DIR:       directory for installing data
+#                          (default: ``share/<project_name>``)
+# :INSTALL_CMAKE_DIR:      directory for installing CMake files
+#                          (default: ``share/<project_name>/cmake``)
 #
 # Using *relative* paths is recommended, which are interpreted relative to the
 # ``CMAKE_INSTALL_PREFIX``. Using absolute paths makes the build
@@ -109,11 +112,22 @@ macro( ecbuild_declare_project )
 
   # install dirs for this project
 
-  set( INSTALL_BIN_DIR bin )
-  set( INSTALL_LIB_DIR lib )
-  set( INSTALL_INCLUDE_DIR include )
-  set( INSTALL_DATA_DIR share/${PROJECT_NAME} )
-  set( INSTALL_CMAKE_DIR share/${PROJECT_NAME}/cmake )
+  # Use defaults unless values are already present in cache
+  if( NOT INSTALL_BIN_DIR )
+    set( INSTALL_BIN_DIR bin )
+  endif()
+  if( NOT INSTALL_LIB_DIR )
+    set( INSTALL_LIB_DIR lib )
+  endif()
+  if( NOT INSTALL_INCLUDE_DIR )
+    set( INSTALL_INCLUDE_DIR include )
+  endif()
+  if( NOT INSTALL_DATA_DIR )
+    set( INSTALL_DATA_DIR share/${PROJECT_NAME} )
+  endif()
+  if( NOT INSTALL_CMAKE_DIR )
+    set( INSTALL_CMAKE_DIR share/${PROJECT_NAME}/cmake )
+  endif()
 
   mark_as_advanced( INSTALL_BIN_DIR )
   mark_as_advanced( INSTALL_LIB_DIR )
@@ -121,10 +135,11 @@ macro( ecbuild_declare_project )
   mark_as_advanced( INSTALL_DATA_DIR )
   mark_as_advanced( INSTALL_CMAKE_DIR )
 
-  # overrides of install dirs
+  # overrides of install dirs (deprecated in ecBuild 2.4.0)
 
   foreach( p LIB BIN INCLUDE DATA CMAKE )
     if( ${PNAME}_INSTALL_${p}_DIR )
+      ecbuild_deprecate( "Use of ${PNAME}_INSTALL_${p}_DIR is deprecated and will be removed in a future release. Use INSTALL_${p}_DIR instead." )
       set( INSTALL_${p}_DIR ${${PNAME}_INSTALL_${p}_DIR} )
     endif()
   endforeach()
diff --git a/cmake/ecbuild_download_resource.cmake b/cmake/ecbuild_download_resource.cmake
index 3b2f90e..5d394f5 100644
--- a/cmake/ecbuild_download_resource.cmake
+++ b/cmake/ecbuild_download_resource.cmake
@@ -25,6 +25,7 @@ function( ecbuild_download_resource _p_OUT _p_URL )
   if( NOT EXISTS ${_p_OUT} )
 
     find_program( CURL_PROGRAM curl )
+    mark_as_advanced(CURL_PROGRAM)
     if( CURL_PROGRAM )
       execute_process( COMMAND ${CURL_PROGRAM} --silent --show-error --fail --output ${_p_OUT} ${_p_URL}
                        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} RESULT_VARIABLE CMD_RESULT )
diff --git a/cmake/ecbuild_find_python.cmake b/cmake/ecbuild_find_python.cmake
index 0273951..d3cf377 100644
--- a/cmake/ecbuild_find_python.cmake
+++ b/cmake/ecbuild_find_python.cmake
@@ -28,6 +28,10 @@
 # NO_LIBS : optional
 #   only search for the Python interpreter, not the libraries
 #
+# Unless ``NO_LIBS`` is set, the ``python-config`` utility, if found, is used
+# to determine the Python include directories, libraries and link line. Set the
+# CMake variable ``PYTHON_NO_CONFIG`` to use CMake's FindPythonLibs instead.
+#
 # Output variables
 # ----------------
 #
@@ -62,38 +66,34 @@ function( ecbuild_find_python )
     if(_p_UNPARSED_ARGUMENTS)
       ecbuild_critical("Unknown keywords given to ecbuild_find_python(): \"${_p_UNPARSED_ARGUMENTS}\"")
     endif()
+    if( _p_REQUIRED )
+      set( _p_REQUIRED REQUIRED )
+    else()
+      unset( _p_REQUIRED )
+    endif()
 
     # find python executable
 
-    find_package( PythonInterp )
-
-    if( NOT PYTHONINTERP_FOUND AND _p_REQUIRED )
-        ecbuild_error( "Failed to find any Python interpreter (REQUIRED)" )
+    # Search first without specifying the version, since doing so gives preference to the specified
+    # version even though a never version of the interpreter may be available
+    find_package( PythonInterp ${_p_REQUIRED} )
+
+    # If no suitable version was found, search again with the version specified
+    if( PYTHONINTERP_FOUND AND _p_VERSION )
+      if( _p_VERSION VERSION_GREATER "${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.${PYTHON_VERSION_PATCH}" )
+        ecbuild_debug( "ecbuild_find_python: Found Python interpreter version ${PYTHON_VERSION_STRING} at ${PYTHON_EXECUTABLE}, however version ${_p_VERSION} is required. Searching again..." )
+        unset( PYTHONINTERP_FOUND )
+        unset( PYTHON_EXECUTABLE )
+        unset( PYTHON_EXECUTABLE CACHE )
+        unset( PYTHON_VERSION_MAJOR )
+        unset( PYTHON_VERSION_MINOR )
+        unset( PYTHON_VERSION_PATCH )
+        unset( PYTHON_VERSION_STRING )
+        find_package( PythonInterp "${_p_VERSION}" ${_p_REQUIRED} )
+      endif()
     endif()
 
-    # find python version
-    # execute_process( COMMAND ${PYTHON_EXECUTABLE} -V ERROR_VARIABLE _version  RESULT_VARIABLE _return ERROR_STRIP_TRAILING_WHITESPACE)
-    # if( NOT _return )
-    #    string(REGEX REPLACE ".*([0-9]+)\\.([0-9]+)\\.([0-9]+)" "\\1.\\2.\\3" PYTHON_VERSION ${_version} )
-    # endif()
-    # endif()
-
-    # ecbuild_debug( "Python version ${PYTHON_VERSION_STRING}" )
-    # ecbuild_debug_var(PYTHON_VERSION_MAJOR)
-    # ecbuild_debug_var(PYTHON_VERSION_MINOR)
-    # ecbuild_debug_var(PYTHON_VERSION_PATCH)
-
-    if( PYTHONINTERP_FOUND AND DEFINED _p_VERSION )
-        if( _p_VERSION VERSION_GREATER "${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.${PYTHON_VERSION_PATCH}" )
-            set( PYTHONINTERP_FOUND 0 )
-            set( PYTHON_EXECUTABLE "PYTHON_EXECUTABLE-NOTFOUND" )
-            if( _p_REQUIRED )
-                ecbuild_critical( "Required python version at least ${_p_VERSION} but found only ${PYTHON_VERSION_STRING}" )
-            else()
-                ecbuild_warn( "Looking for python version at least ${_p_VERSION} but found only ${PYTHON_VERSION_STRING}\nMarking Python as NOTFOUND" )
-            endif()
-        endif()
-    endif()
+    set( __required_vars PYTHONINTERP_FOUND )
 
     if( PYTHONINTERP_FOUND )
         ecbuild_debug( "ecbuild_find_python: Found Python interpreter version ${PYTHON_VERSION_STRING} at ${PYTHON_EXECUTABLE}" )
@@ -104,15 +104,24 @@ function( ecbuild_find_python )
             execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())" OUTPUT_VARIABLE PYTHON_SITE_PACKAGES OUTPUT_STRIP_TRAILING_WHITESPACE)
         endif()
         ecbuild_debug( "ecbuild_find_python: PYTHON_SITE_PACKAGES=${PYTHON_SITE_PACKAGES}" )
-
     endif()
+
     if( PYTHONINTERP_FOUND AND NOT _p_NO_LIBS )
+        list( APPEND __required_vars PYTHONLIBS_FOUND PYTHON_LIBS_WORKING )
+
         # find python config
 
         if( PYTHON_EXECUTABLE AND EXISTS ${PYTHON_EXECUTABLE}-config )
             set(PYTHON_CONFIG_EXECUTABLE ${PYTHON_EXECUTABLE}-config CACHE PATH "" FORCE)
         else()
-            find_program( PYTHON_CONFIG_EXECUTABLE NAMES python-config python-config${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR} )
+            get_filename_component( __python_bin_dir ${PYTHON_EXECUTABLE} PATH )
+            find_program( PYTHON_CONFIG_EXECUTABLE
+                          NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH
+                          NO_CMAKE_ENVIRONMENT_PATH NO_SYSTEM_ENVIRONMENT_PATH
+                          HINTS ${__python_bin_dir}
+                          NAMES python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}-config
+                                python${PYTHON_VERSION_MAJOR}-config
+                                python-config )
         endif()
 
         ecbuild_debug_var( PYTHON_CONFIG_EXECUTABLE )
@@ -122,31 +131,58 @@ function( ecbuild_find_python )
         # The OpenBSD python packages have python-config's
         # that don't reliably report linking flags that will work.
 
-        if( PYTHON_CONFIG_EXECUTABLE AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD" )
+        if( PYTHON_CONFIG_EXECUTABLE AND NOT ( PYTHON_NO_CONFIG OR ${CMAKE_SYSTEM_NAME} STREQUAL "OpenBSD" ) )
             ecbuild_debug( "ecbuild_find_python: Searching for Python include directories and libraries using ${PYTHON_CONFIG_EXECUTABLE}" )
 
-            execute_process(COMMAND "${PYTHON_CONFIG_EXECUTABLE}" --ldflags
-                            OUTPUT_VARIABLE PYTHON_LIBRARIES
-                            OUTPUT_STRIP_TRAILING_WHITESPACE
-                            ERROR_QUIET)
+            if( NOT PYTHON_LIBRARY )
+              execute_process(COMMAND "${PYTHON_CONFIG_EXECUTABLE}" --prefix
+                              OUTPUT_VARIABLE PYTHON_PREFIX
+                              OUTPUT_STRIP_TRAILING_WHITESPACE
+                              ERROR_QUIET)
+
+              execute_process(COMMAND "${PYTHON_CONFIG_EXECUTABLE}" --ldflags
+                              OUTPUT_VARIABLE PYTHON_LIBRARY
+                              OUTPUT_STRIP_TRAILING_WHITESPACE
+                              ERROR_QUIET)
+
+              # Prepend -L and and set the RPATH to the lib directory under the
+              # Python install prefix unless it is a standard system prefix path
+              if( PYTHON_LIBRARY AND PYTHON_PREFIX AND NOT CMAKE_SYSTEM_PREFIX_PATH MATCHES ${PYTHON_PREFIX} )
+                set( PYTHON_LIBRARY "-L${PYTHON_PREFIX}/lib -Wl,-rpath,${PYTHON_PREFIX}/lib ${PYTHON_LIBRARY}" )
+              endif()
+
+              set( PYTHON_INCLUDE_DIR "${PYTHON_INCLUDE_DIR}" CACHE PATH
+                   "Path to where Python.h is found" FORCE )
+            endif()
+
+            if(DEFINED PYTHON_INCLUDE_PATH AND NOT DEFINED PYTHON_INCLUDE_DIR)
+              set( PYTHON_INCLUDE_DIR "${PYTHON_INCLUDE_PATH}" CACHE PATH
+                   "Path to where Python.h is found" FORCE )
+            elseif( NOT PYTHON_INCLUDE_DIR )
+              execute_process(COMMAND "${PYTHON_CONFIG_EXECUTABLE}" --includes
+                              OUTPUT_VARIABLE PYTHON_INCLUDE_DIR
+                              OUTPUT_STRIP_TRAILING_WHITESPACE
+                              ERROR_QUIET)
 
-            execute_process(COMMAND "${PYTHON_CONFIG_EXECUTABLE}" --includes
-                            OUTPUT_VARIABLE PYTHON_INCLUDE_DIRS
-                            OUTPUT_STRIP_TRAILING_WHITESPACE
-                            ERROR_QUIET)
+              string(REGEX REPLACE "^[-I]" "" PYTHON_INCLUDE_DIR "${PYTHON_INCLUDE_DIR}")
+              string(REGEX REPLACE "[ ]-I" " " PYTHON_INCLUDE_DIR "${PYTHON_INCLUDE_DIR}")
 
-            string(REGEX REPLACE "^[-I]" "" PYTHON_INCLUDE_DIRS "${PYTHON_INCLUDE_DIRS}")
-            string(REGEX REPLACE "[ ]-I" " " PYTHON_INCLUDE_DIRS "${PYTHON_INCLUDE_DIRS}")
+              separate_arguments(PYTHON_INCLUDE_DIR)
+              set( PYTHON_INCLUDE_DIR "${PYTHON_INCLUDE_DIR}" CACHE PATH
+                   "Path to where Python.h is found" FORCE )
 
-            separate_arguments(PYTHON_INCLUDE_DIRS)
+            endif()
+
+            set(PYTHON_INCLUDE_DIRS "${PYTHON_INCLUDE_DIR}")
+            set(PYTHON_LIBRARIES "${PYTHON_LIBRARY}")
+
+            find_package_handle_standard_args( PythonLibs DEFAULT_MSG
+                                               PYTHON_INCLUDE_DIRS PYTHON_LIBRARIES )
 
         else() # revert to finding pythonlibs the standard way (cmake macro)
-            ecbuild_debug( "ecbuild_find_python: Searching for Python include directories and libraries using find_package(PythonLibs)" )
+            ecbuild_debug( "ecbuild_find_python: Searching for Python include directories and libraries using find_package( PythonLibs ${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.${PYTHON_VERSION_PATCH} ${_p_REQUIRED} )" )
 
-            find_package(PythonLibs)
-            if( PYTHON_INCLUDE_PATH AND NOT PYTHON_INCLUDE_DIRS )
-              set(PYTHON_INCLUDE_DIRS "${PYTHON_INCLUDE_PATH}")
-            endif()
+            find_package( PythonLibs "${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}.${PYTHON_VERSION_PATCH}" ${_p_REQUIRED} )
 
         endif()
 
@@ -159,25 +195,18 @@ function( ecbuild_find_python )
             try_compile( PYTHON_LIBS_WORKING ${CMAKE_CURRENT_BINARY_DIR}
                          ${__test_python}
                          CMAKE_FLAGS "-DINCLUDE_DIRECTORIES=${PYTHON_INCLUDE_DIRS}"
-                         LINK_LIBRARIES ${PYTHON_LIBRARIES} )
-
-            # set output variables
-
-            find_package_handle_standard_args( PythonLibs DEFAULT_MSG
-                                               PYTHON_INCLUDE_DIRS PYTHON_LIBRARIES PYTHON_LIBS_WORKING )
-            ecbuild_debug( "ecbuild_find_python: PYTHON_INCLUDE_DIRS=${PYTHON_INCLUDE_DIRS}" )
-            ecbuild_debug( "ecbuild_find_python: PYTHON_LIBRARIES=${PYTHON_LIBRARIES}" )
-
-        endif()
+                         LINK_LIBRARIES ${PYTHON_LIBRARIES}
+                         OUTPUT_VARIABLE __try_compile_output )
+            if( NOT PYTHON_LIBS_WORKING )
+              ecbuild_debug( "ecbuild_find_python: trying to link executable with Python libraries failed\n${__try_compile_output}" )
+            endif()
 
-        # Also set PYTHON_FOUND and Python_FOUND for compatibility with ecbuild_add_option
-        if( PYTHONLIBS_FOUND )
-          set( PYTHON_FOUND 1 )
-          set( Python_FOUND 1 )
         endif()
 
     endif()
 
+    find_package_handle_standard_args( Python DEFAULT_MSG ${__required_vars} )
+
     ecbuild_debug_var( PYTHONINTERP_FOUND )
     ecbuild_debug_var( PYTHON_FOUND )
     ecbuild_debug_var( PYTHON_EXECUTABLE )
diff --git a/cmake/ecbuild_generate_fortran_interfaces.cmake b/cmake/ecbuild_generate_fortran_interfaces.cmake
index d586248..93c7414 100644
--- a/cmake/ecbuild_generate_fortran_interfaces.cmake
+++ b/cmake/ecbuild_generate_fortran_interfaces.cmake
@@ -12,7 +12,7 @@
 # ecbuild_generate_fortran_interfaces
 # ===================================
 #
-# Generates interfaces form the Fortran source files. ::
+# Generates interfaces from the Fortran source files. ::
 #
 #   ecbuild_generate_fortran_interfaces()
 #
diff --git a/cmake/ecbuild_get_cxx11_flags.cmake b/cmake/ecbuild_get_cxx11_flags.cmake
index 47d0e1a..a97fe11 100644
--- a/cmake/ecbuild_get_cxx11_flags.cmake
+++ b/cmake/ecbuild_get_cxx11_flags.cmake
@@ -23,7 +23,7 @@ function( ecbuild_get_cxx11_flags CXX11_FLAGS )
 
   include(CheckCXXCompilerFlag)
 
-  # On older cmake versions + newer compilers, 
+  # On older cmake versions + newer compilers,
   # the given version of CheckCXXCompilerFlags does not quite work.
   if(CMAKE_VERSION VERSION_LESS 2.8.9)
     macro (CHECK_CXX_COMPILER_FLAG _FLAG _RESULT)
@@ -52,7 +52,8 @@ function( ecbuild_get_cxx11_flags CXX11_FLAGS )
 
   check_cxx_compiler_flag(-std=c++11 has_std_cpp11)
   check_cxx_compiler_flag(-std=c++0x has_std_cpp0x)
-  if(MINGW) 
+  check_cxx_compiler_flag(-hstd=c++11 has_hstd_cpp11)
+  if(MINGW)
     check_cxx_compiler_flag(-std=gnu++11 has_std_gnupp11)
     check_cxx_compiler_flag(-std=gnu++0x has_std_gnupp0x)
   endif(MINGW)
@@ -60,7 +61,9 @@ function( ecbuild_get_cxx11_flags CXX11_FLAGS )
     set(${CXX11_FLAGS} "-std=gnu++11" PARENT_SCOPE)
   elseif(has_std_gnupp0x)
     set(${CXX11_FLAGS} "-std=gnu++0x" PARENT_SCOPE)
-  elseif(has_std_cpp11) 
+  elseif(has_hstd_cpp11)
+    set(${CXX11_FLAGS} "-hstd=c++11" PARENT_SCOPE)
+  elseif(has_std_cpp11)
     set(${CXX11_FLAGS} "-std=c++11" PARENT_SCOPE)
   elseif(has_std_cpp0x)
     set(${CXX11_FLAGS} "-std=c++0x" PARENT_SCOPE)
diff --git a/cmake/ecbuild_get_test_data.cmake b/cmake/ecbuild_get_test_data.cmake
index c19a760..d908399 100644
--- a/cmake/ecbuild_get_test_data.cmake
+++ b/cmake/ecbuild_get_test_data.cmake
@@ -20,6 +20,7 @@ function( _download_test_data _p_NAME _p_DIRNAME )
   #endif()
 
   find_program( CURL_PROGRAM curl )
+  mark_as_advanced(CURL_PROGRAM)
 
   if( CURL_PROGRAM )
 
diff --git a/cmake/ecbuild_install_project.cmake b/cmake/ecbuild_install_project.cmake
index 2ba472e..5e26bea 100644
--- a/cmake/ecbuild_install_project.cmake
+++ b/cmake/ecbuild_install_project.cmake
@@ -233,6 +233,18 @@ macro( ecbuild_install_project )
         endif()
     endforeach()
 
+    # Deduplicate TPL includes, libs and definitions
+    # The same TPL may indirectly be pulled in multiple times!
+    if( ${PNAME}_TPL_INCLUDE_DIRS )
+      list( REMOVE_DUPLICATES ${PNAME}_TPL_INCLUDE_DIRS )
+    endif()
+    if( ${PNAME}_TPL_LIBRARIES )
+      list( REMOVE_DUPLICATES ${PNAME}_TPL_LIBRARIES )
+    endif()
+    if( ${PNAME}_TPL_DEFINITIONS )
+      list( REMOVE_DUPLICATES ${PNAME}_TPL_DEFINITIONS )
+    endif()
+
     # Generate the project .cmake config files
     # All variables here must be (sub)project specific in order to work within bundles
     if ( NOT ECBUILD_SKIP_${PNAME}_EXPORT )
@@ -278,8 +290,6 @@ macro( ecbuild_install_project )
            set( CONF_TPL_LIBRARIES ${${PNAME}_TPL_LIBRARIES} )
         endif()
 
-        # project-config.cmake @ build tree
-
         set( CONF_TPLS ${${PNAME}_TPLS} )
 
         set( CONF_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}" "${PROJECT_BINARY_DIR}" )
@@ -288,18 +298,11 @@ macro( ecbuild_install_project )
         endif()
 
         set( CONF_TPL_INCLUDE_DIRS "" )
-        foreach( _tpl ${${PNAME}_TPLS} )
-            string( TOUPPER ${_tpl} TPL )
-            if( ${_tpl}_INCLUDE_DIRS )
-                list( APPEND CONF_TPL_INCLUDE_DIRS ${${_tpl}_INCLUDE_DIRS} )
-            elseif( ${_tpl}_INCLUDE_DIR )
-                list( APPEND CONF_TPL_INCLUDE_DIRS ${${_tpl}_INCLUDE_DIR} )
-            elseif( ${TPL}_INCLUDE_DIRS )
-                list( APPEND CONF_TPL_INCLUDE_DIRS ${${TPL}_INCLUDE_DIRS} )
-            elseif( ${TPL}_INCLUDE_DIR )
-                list( APPEND CONF_TPL_INCLUDE_DIRS ${${TPL}_INCLUDE_DIR} )
-            endif()
-        endforeach()
+        if( ${PNAME}_TPL_INCLUDE_DIRS )
+            set( CONF_TPL_INCLUDE_DIRS ${${PNAME}_TPL_INCLUDE_DIRS} )
+        endif()
+
+        # Generate <project>-import.cmake (if it exists)
 
         set( CONF_IMPORT_FILE "${LNAME}-import.cmake" )
 
@@ -323,11 +326,17 @@ macro( ecbuild_install_project )
           ecbuild_debug( "No ${CONF_IMPORT_FILE} found in ${PROJECT_SOURCE_DIR}" )
         endif()
 
+        # Generate <project>-config.cmake for use from the build tree
+
         set( _lname_config "${PROJECT_BINARY_DIR}/${LNAME}-config.cmake")
 
+        # Include directories (may) reference source and build tree and the
+        # config file is marked as coming from a build tree
         set( _is_build_dir_export ON )
         configure_file( "${_template_config}" "${_lname_config}" @ONLY )
 
+        # Generate <project>-config.cmake.tpls (if there are any TPLs)
+
         file( REMOVE ${_lname_config}.tpls.in )
 
         foreach( _tpl ${${PNAME}_TPLS} )
@@ -360,28 +369,13 @@ macro( ecbuild_install_project )
             install( FILES "${_lname_config}.tpls" DESTINATION "${INSTALL_CMAKE_DIR}" )
         endif()
 
-        # project-config.cmake @ install tree
+        # Generate <project>-config.cmake for use in the install tree
 
+        # Compute path to the include dir relative to the project's CMake dir
+        # where <project>-config.cmake is installed to
         file( RELATIVE_PATH REL_INCLUDE_DIR "${${PNAME}_FULL_INSTALL_CMAKE_DIR}" "${${PNAME}_FULL_INSTALL_INCLUDE_DIR}" )
         set( CONF_INCLUDE_DIRS "\${${PNAME}_CMAKE_DIR}/${REL_INCLUDE_DIR}" )
 
-        set( CONF_TPL_INCLUDE_DIRS "" )
-        foreach( _tpl ${${PNAME}_TPLS} )
-            string( TOUPPER ${_tpl} TPL )
-            if( ${TPL}_FULL_INSTALL_INCLUDE_DIR )
-                 list( APPEND CONF_TPL_INCLUDE_DIRS "\${${PNAME}_CMAKE_DIR}/${REL_INCLUDE_DIR}" )
-            endif()
-            if( ${_tpl}_INCLUDE_DIRS )
-                list( APPEND CONF_TPL_INCLUDE_DIRS ${${_tpl}_INCLUDE_DIRS} )
-            elseif( ${_tpl}_INCLUDE_DIR )
-                list( APPEND CONF_TPL_INCLUDE_DIRS ${${_tpl}_INCLUDE_DIR} )
-            elseif( ${TPL}_INCLUDE_DIRS )
-                list( APPEND CONF_TPL_INCLUDE_DIRS ${${TPL}_INCLUDE_DIRS} )
-            elseif( ${TPL}_INCLUDE_DIR )
-                list( APPEND CONF_TPL_INCLUDE_DIRS ${${TPL}_INCLUDE_DIR} )
-            endif()
-        endforeach()
-
         set( _is_build_dir_export OFF )
         configure_file( "${_template_config}" "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${LNAME}-config.cmake" @ONLY )
         install( FILES "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/${LNAME}-config.cmake" DESTINATION "${INSTALL_CMAKE_DIR}" )
diff --git a/cmake/ecbuild_log.cmake b/cmake/ecbuild_log.cmake
index ec99495..f982d07 100644
--- a/cmake/ecbuild_log.cmake
+++ b/cmake/ecbuild_log.cmake
@@ -20,7 +20,9 @@
 # :ecbuild_warn:      logs a ``WARNING`` message if log level <= ``WARN``
 # :ecbuild_error:     logs a ``SEND_ERROR`` message if log level <= ``ERROR``
 # :ecbuild_critical:  logs a ``FATAL_ERROR`` message if log level <= ``CRITICAL``
-# :ecbuild_deprecate: logs a ``DEPRECATION`` message
+# :ecbuild_deprecate: logs a ``DEPRECATION`` message as a warning
+#                     enable CMAKE_ERROR_DEPRECATED to raise an error instead
+#                     disable CMAKE_WARN_DEPRECATED to hide deprecations
 #
 # Furthermore there are auxilliary functions for outputting CMake variables,
 # CMake lists and environment variables if the log level is ``DEBUG``:
@@ -50,10 +52,6 @@
 # ECBUILD_NO_COLOUR : bool
 #   if set, does not colour log output (by default log output is coloured)
 #
-# ECBUILD_NO_DEPRECATIONS : bool
-#   if set, does not output deprecation messages (only set this if you *really*
-#   know what you are doing!)
-#
 # Usage
 # -----
 #
@@ -113,6 +111,9 @@ endif()
 if( NOT DEFINED ECBUILD_LOG_FILE )
   set( ECBUILD_LOG_FILE ${CMAKE_BINARY_DIR}/ecbuild.log )
 endif()
+if( NOT DEFINED CMAKE_ERROR_DEPRECATED AND NOT DEFINED CMAKE_WARN_DEPRECATED )
+  set( CMAKE_WARN_DEPRECATED ON )
+endif()
 
 ##############################################################################
 
@@ -167,7 +168,15 @@ endfunction( ecbuild_error )
 function( ecbuild_deprecate )
   string(REPLACE ";" " " MSG ${ARGV})
   ecbuild_log(DEPRECATION "${MSG}")
-  if( NOT ECBUILD_NO_DEPRECATIONS )
+  # DEPRECATION message type was only introduced in CMake 3.0, provide
+  # consistent behaviour for CMake < 3.0
+  if( CMAKE_VERSION VERSION_LESS 3.0 )
+    if( CMAKE_ERROR_DEPRECATED )
+      message(FATAL_ERROR "${BoldRed}DEPRECATION - ${MSG}${ColourReset}")
+    elseif( CMAKE_WARN_DEPRECATED )
+      message(WARNING "${Yellow}DEPRECATION - ${MSG}${ColourReset}")
+    endif()
+  else()
     message(DEPRECATION "${BoldRed}${MSG}${ColourReset}")
   endif()
 endfunction( ecbuild_deprecate )
diff --git a/cmake/ecbuild_pkgconfig.cmake b/cmake/ecbuild_pkgconfig.cmake
index 6f62977..d839a86 100644
--- a/cmake/ecbuild_pkgconfig.cmake
+++ b/cmake/ecbuild_pkgconfig.cmake
@@ -275,7 +275,7 @@ endfunction(ecbuild_pkgconfig_include)
 # ---------------
 #
 # The following CMake variables are used as default values for some of the
-# options listed above, where ``PNAME`` is the project name in upper case: ::
+# options listed above, where ``PNAME`` is the project name in upper case:
 #
 # :<PNAME>_LIBRARIES:    list of libraries to export
 # :<PNAME>_DESCRIPTION:  package description
diff --git a/cmake/ecbuild_print_summary.cmake b/cmake/ecbuild_print_summary.cmake
index 4cf05cc..6fc70d0 100644
--- a/cmake/ecbuild_print_summary.cmake
+++ b/cmake/ecbuild_print_summary.cmake
@@ -59,6 +59,11 @@ macro( ecbuild_print_summary )
     ecbuild_info( "build type       : [${CMAKE_BUILD_TYPE}]" )
     ecbuild_info( "timestamp        : [${EC_BUILD_TIMESTAMP}]" )
     ecbuild_info( "install prefix   : [${CMAKE_INSTALL_PREFIX}]" )
+    ecbuild_info( "  bin dir        : [${${PNAME}_FULL_INSTALL_BIN_DIR}]" )
+    ecbuild_info( "  lib dir        : [${${PNAME}_FULL_INSTALL_LIB_DIR}]" )
+    ecbuild_info( "  include dir    : [${${PNAME}_FULL_INSTALL_INCLUDE_DIR}]" )
+    ecbuild_info( "  data dir       : [${${PNAME}_FULL_INSTALL_DATA_DIR}]" )
+    ecbuild_info( "  cmake dir      : [${${PNAME}_FULL_INSTALL_CMAKE_DIR}]" )
     if( EC_LINK_DIR )
       ecbuild_info( "links prefix     : [${EC_LINK_DIR}]" )
     endif()
@@ -66,7 +71,8 @@ macro( ecbuild_print_summary )
 
     foreach( lang ${langs} )
       ecbuild_info( "${lang} -- ${CMAKE_${lang}_COMPILER_ID} ${CMAKE_${lang}_COMPILER_VERSION}"  )
-      ecbuild_info( "    compiler   : ${CMAKE_${lang}_COMPILER} ${CMAKE_${lang}_FLAGS} ${CMAKE_${lang}_FLAGS_${CMAKE_BUILD_TYPE_CAPS}}" )
+      ecbuild_info( "    compiler   : ${CMAKE_${lang}_COMPILER}" )
+      ecbuild_info( "    flags      : ${CMAKE_${lang}_FLAGS} ${CMAKE_${lang}_FLAGS_${CMAKE_BUILD_TYPE_CAPS}} ${${PNAME}_${lang}_FLAGS} ${${PNAME}_${lang}_FLAGS_${CMAKE_BUILD_TYPE_CAPS}}" )
       ecbuild_info( "    link flags : ${CMAKE_${lang}_LINK_FLAGS}" )
     endforeach()
 
diff --git a/cmake/ecbuild_remove_fortran_flags.cmake b/cmake/ecbuild_remove_fortran_flags.cmake
index 74c8832..3a80316 100644
--- a/cmake/ecbuild_remove_fortran_flags.cmake
+++ b/cmake/ecbuild_remove_fortran_flags.cmake
@@ -10,9 +10,9 @@
 #.rst:
 #
 # ecbuild_remove_fortran_flags
-# =========================
+# ============================
 #
-# Remove Fortran compiler flags from CMAKE_Fortran_FLAGS. ::
+# Remove Fortran compiler flags from ``CMAKE_Fortran_FLAGS``. ::
 #
 #   ecbuild_remove_fortran_flags( <flag1> [ <flag2> ... ] [ BUILD <build> ] )
 #
@@ -58,4 +58,3 @@ macro( ecbuild_remove_fortran_flags m_flags )
   unset( _flags )
 
 endmacro()
-
diff --git a/cmake/ecbuild_separate_sources.cmake b/cmake/ecbuild_separate_sources.cmake
index b56db63..00722ae 100644
--- a/cmake/ecbuild_separate_sources.cmake
+++ b/cmake/ecbuild_separate_sources.cmake
@@ -32,10 +32,11 @@
 # If any file of the following group of extensions is present in the list of
 # sources, the corresponding CMake variable is set:
 #
-# :<target>_h_srcs:   list of sources with extension .h, .hxx, .hh, .hpp, .H
-# :<target>_c_srcs:   list of sources with extension .c
-# :<target>_cxx_srcs: list of sources with extension .cc, .cxx, .cpp, .C
-# :<target>_f_srcs:   list of sources with extension .f, .F, .for, f77, .f90, .f95
+# :<target>_h_srcs:       source files with extension .h, .hxx, .hh, .hpp, .H
+# :<target>_c_srcs:       source files with extension .c
+# :<target>_cxx_srcs:     source files with extension .cc, .cxx, .cpp, .C
+# :<target>_fortran_srcs: source files with extension .f, .F, .for, f77, .f90,
+#                                                     .f95, .F77, .F90, .F95
 #
 ##############################################################################
 
@@ -60,32 +61,33 @@ macro( ecbuild_separate_sources )
 	endif()
 
 	foreach( src ${_PAR_SOURCES} )
-		if(${src} MATCHES "(\\.h|\\.hxx|\\.hh|\\.hpp|\\.H)")
+		if(${src} MATCHES "(\\.h$|\\.hxx$|\\.hh$|\\.hpp$|\\.H$)")
 			list( APPEND ${_PAR_TARGET}_h_srcs ${src} )
 		endif()
 	endforeach()
 
 	foreach( src ${_PAR_SOURCES} )
-		if(${src} MATCHES "(\\.c)")
+		if(${src} MATCHES "(\\.c$)")
 			list( APPEND ${_PAR_TARGET}_c_srcs ${src} )
 		endif()
 	endforeach()
 
 	foreach( src ${_PAR_SOURCES} )
-		if(${src} MATCHES "(\\.cc|\\.cxx|\\.cpp|\\.C)")
+		if(${src} MATCHES "(\\.cc$|\\.cxx$|\\.cpp$|\\.C$)")
 			list( APPEND ${_PAR_TARGET}_cxx_srcs ${src} )
 		endif()
 	endforeach()
 
 	foreach( src ${_PAR_SOURCES} )
-		if(${src} MATCHES "(\\.f|\\.F|\\.for|\\.f77|\\.f90|\\.f95)")
-			list( APPEND ${_PAR_TARGET}_f_srcs ${src} )
+		if(${src} MATCHES "(\\.f$|\\.F$|\\.for$|\\.f77$|\\.f90$|\\.f95$|\\.f03$|\\.f08$|\\.F77$|\\.F90$|\\.F95$|\\.F03$|\\.F08$)")
+			list( APPEND ${_PAR_TARGET}_fortran_srcs ${src} )
 		endif()
 	endforeach()
+	set_source_files_properties( ${${_PAR_TARGET}_fortran_srcs} PROPERTIES LANGUAGE Fortran )
 
 #    ecbuild_debug_var( ${_PAR_TARGET}_h_srcs )
 #    ecbuild_debug_var( ${_PAR_TARGET}_c_srcs )
 #    ecbuild_debug_var( ${_PAR_TARGET}_cxx_srcs )
-#    ecbuild_debug_var( ${_PAR_TARGET}_f_srcs )
+#    ecbuild_debug_var( ${_PAR_TARGET}_fortran_srcs )
 
-endmacro( ecbuild_separate_sources  )
+endmacro( ecbuild_separate_sources )
diff --git a/cmake/ecbuild_source_flags.cmake b/cmake/ecbuild_source_flags.cmake
index 2414765..a281f1d 100644
--- a/cmake/ecbuild_source_flags.cmake
+++ b/cmake/ecbuild_source_flags.cmake
@@ -23,8 +23,12 @@ function( ecbuild_source_flags OUT TARGET DEFAULT_FLAGS SOURCES )
   endif()
   execute_process( COMMAND ${PYTHON_EXECUTABLE} ${__gen_source_flags}
                            ${ECBUILD_SOURCE_FLAGS} ${OUTFILE} "${DEFAULT_FLAGS}"
-                           ${SOURCES} "${__debug}" )
+                           ${SOURCES} "${__debug}"
+                   RESULT_VARIABLE __res )
 
+  if( __res GREATER 0 )
+    ecbuild_error( "ecbuild_source_flags: failed generating source flags for target ${TARGET} from ${ECBUILD_SOURCE_FLAGS}" )
+  endif()
   set( ${OUT} ${OUTFILE} PARENT_SCOPE )
 
 endfunction()
diff --git a/cmake/ecbuild_system.cmake b/cmake/ecbuild_system.cmake
index a4361f7..f02113e 100644
--- a/cmake/ecbuild_system.cmake
+++ b/cmake/ecbuild_system.cmake
@@ -187,6 +187,7 @@ if( PROJECT_NAME STREQUAL CMAKE_PROJECT_NAME )
     include( ecbuild_add_cxx_flags )
     include( ecbuild_add_cxx11_flags )
     include( ecbuild_get_cxx11_flags )
+    include( ecbuild_check_fortran )
     include( ecbuild_add_fortran_flags )
     include( ecbuild_add_test )
     include( ecbuild_add_resources )
@@ -211,6 +212,7 @@ if( PROJECT_NAME STREQUAL CMAKE_PROJECT_NAME )
     include( ecbuild_git )
     include( ecbuild_enable_fortran )
     include( ecbuild_source_flags )
+    include( ecbuild_target_flags )
     include( ecbuild_bundle )
     include( ecbuild_pkgconfig )
     include( ecbuild_cache )
diff --git a/cmake/ecbuild_target_flags.cmake b/cmake/ecbuild_target_flags.cmake
new file mode 100644
index 0000000..4c589af
--- /dev/null
+++ b/cmake/ecbuild_target_flags.cmake
@@ -0,0 +1,91 @@
+# (C) Copyright 1996-2016 ECMWF.
+#
+# This software is licensed under the terms of the Apache Licence Version 2.0
+# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
+# In applying this licence, ECMWF does not waive the privileges and immunities
+# granted to it by virtue of its status as an intergovernmental organisation
+# nor does it submit to any jurisdiction.
+
+##############################################################################
+#.rst:
+#
+# ecbuild_target_flags
+# ====================
+#
+# Override compiler flags for a given target. ::
+#
+#   ecbuild_target_flags( <target> <c_flags> <cxx_flags> <fortran_flags> )
+#
+# Required arguments:
+#
+# :target:        Target name
+# :c_flags:       Target specific C flags (can be empty)
+# :cxx_flags:     Target specific CXX flags (can be empty)
+# :fortran_flags: Target specific Fortran flags (can be empty)
+#
+# There are 3 cases, only the first applicable case takes effect:
+#
+# 1.  Use custom rules from user specified ``ECBUILD_COMPILE_FLAGS`` file and
+#     append target specific flags.
+#
+# 2.  Use JSON rules from user specified ``ECBUILD_SOURCE_FLAGS`` file and
+#     append target specific flags.
+#
+# 3.  Only the target specific flags are applied to all matching source files.
+#
+##############################################################################
+
+function( ecbuild_target_flags target c_flags cxx_flags fortran_flags )
+
+  get_property( languages GLOBAL PROPERTY ENABLED_LANGUAGES )
+
+  foreach( lang ${languages} )
+
+    string( TOLOWER ${lang} l )
+
+    if( ${target}_${l}_srcs )
+
+      # 1) Override compile flags from user specified CMake file
+      if( ECBUILD_COMPILE_FLAGS )
+
+        # Project specific flags for current language and optionally build type
+        set( pflags "${${PNAME}_${lang}_FLAGS} ${${PNAME}_${lang}_FLAGS_${CMAKE_BUILD_TYPE_CAPS}}" )
+
+        foreach( src ${${target}_${l}_srcs} )
+          get_property( oflags SOURCE ${src} PROPERTY OVERRIDE_COMPILE_FLAGS )
+          get_property( oflags_btype SOURCE ${src} PROPERTY OVERRIDE_COMPILE_FLAGS_${CMAKE_BUILD_TYPE_CAPS} )
+          # Override compile flags for source file?
+          if( oflags OR oflags_btype )
+            set_source_files_properties( ${src} PROPERTIES COMPILE_FLAGS "${oflags} ${oflags_btype}" )
+            ecbuild_debug( "ecbuild_target_flags(${target}): overriding flags for ${src} with '${oflags} ${oflags_btype}'" )
+          # Otherwise append source file specific flags to project specific and target specific flags
+          else()
+            get_property( flags SOURCE ${src} PROPERTY COMPILE_FLAGS )
+            get_property( flags_btype SOURCE ${src} PROPERTY COMPILE_FLAGS_${CMAKE_BUILD_TYPE_CAPS} )
+            set_source_files_properties( ${src} PROPERTIES COMPILE_FLAGS "${pflags} ${${l}_flags} ${flags} ${flags_btype}" )
+            ecbuild_debug( "ecbuild_target_flags(${target}): setting flags for ${src} to '${pflags} ${${l}_flags} ${flags} ${flags_btype}'" )
+          endif()
+        endforeach()
+
+      # 2) Override compile flags from user specified JSON file
+      elseif( ECBUILD_SOURCE_FLAGS )
+        ecbuild_source_flags( ${target}_${lang}_SOURCE_FLAGS
+                              ${target}_${l}
+                              "${${l}_flags}"
+                              "${${target}_${l}_srcs}" )
+
+        ecbuild_debug("ecbuild_target_flags(${target}): setting source file ${lang} flags from ${${target}_${lang}_SOURCE_FLAGS}")
+        include( ${${target}_${lang}_SOURCE_FLAGS} )
+
+      # 3) Use target specific compile flags
+      elseif( ${l}_flags )
+
+        set_source_files_properties( ${${target}_${l}_srcs} PROPERTIES COMPILE_FLAGS "${${l}_flags}" )
+        ecbuild_debug("ecbuild_target_flags(${target}): setting flags for '${${target}_${l}_srcs}' to '${${l}_flags}'")
+
+      endif()
+    endif()
+
+  endforeach()
+
+endfunction()
diff --git a/cmake/ecbuild_use_package.cmake b/cmake/ecbuild_use_package.cmake
index 6bd2bed..c88bca8 100644
--- a/cmake/ecbuild_use_package.cmake
+++ b/cmake/ecbuild_use_package.cmake
@@ -177,6 +177,7 @@ macro( ecbuild_use_package )
       # add as a subproject
 
       set( ${pkgUPPER}_subproj_dir_ ${${pkgUPPER}_subproj_dir_} CACHE PATH "Path to ${_p_PROJECT} source directory" )
+      mark_as_advanced( ${pkgUPPER}_subproj_dir_ )
 
       set( ECBUILD_PROJECTS ${ECBUILD_PROJECTS} ${_p_PROJECT} CACHE INTERNAL "" )
 
diff --git a/cmake/fortran_features/CheckFortranFeatures.cmake b/cmake/fortran_features/CheckFortranFeatures.cmake
new file mode 100644
index 0000000..992964f
--- /dev/null
+++ b/cmake/fortran_features/CheckFortranFeatures.cmake
@@ -0,0 +1,167 @@
+###############################################################################
+# checks
+set(Fortran_FEATURE_CHECK_DIR ${CMAKE_CURRENT_LIST_DIR} CACHE INTERNAL "fortran file directory")
+
+MACRO(fortran_check_single_feature FEATURE_NAME FEATURE_NUMBER RESULT_VAR)
+  IF (NOT DEFINED ${RESULT_VAR})
+    SET(_bindir "${CMAKE_BINARY_DIR}/fortran_feature_tests/fortran_${FEATURE_NAME}")
+
+    IF (${FEATURE_NUMBER})
+      SET(_SRCFILE_BASE ${Fortran_FEATURE_CHECK_DIR}/${FEATURE_NAME}-N${FEATURE_NUMBER})
+      SET(_LOG_NAME "\"${FEATURE_NAME}\" (N${FEATURE_NUMBER})")
+    ELSE (${FEATURE_NUMBER})
+      SET(_SRCFILE_BASE ${Fortran_FEATURE_CHECK_DIR}/${FEATURE_NAME})
+      SET(_LOG_NAME "\"${FEATURE_NAME}\"")
+    ENDIF (${FEATURE_NUMBER})
+    ecbuild_info("Checking Fortran support for ${_LOG_NAME}")
+
+    SET(_SRCFILE "${_SRCFILE_BASE}.F90")
+    SET(_SRCFILE_FAIL "${_SRCFILE_BASE}_fail.F90")
+    SET(_SRCFILE_FAIL_COMPILE "${_SRCFILE_BASE}_fail_compile.F90")
+
+    IF (CROSS_COMPILING)
+      try_compile(${RESULT_VAR} "${_bindir}" "${_SRCFILE}")
+      IF (${RESULT_VAR} AND EXISTS ${_SRCFILE_FAIL})
+        try_compile(${RESULT_VAR} "${_bindir}_fail" "${_SRCFILE_FAIL}")
+      ENDIF (${RESULT_VAR} AND EXISTS ${_SRCFILE_FAIL})
+    ELSE (CROSS_COMPILING)
+      try_run(_RUN_RESULT_VAR _COMPILE_RESULT_VAR
+          "${_bindir}" "${_SRCFILE}")
+      IF (_COMPILE_RESULT_VAR AND NOT _RUN_RESULT_VAR)
+        SET(${RESULT_VAR} TRUE)
+      ELSE (_COMPILE_RESULT_VAR AND NOT _RUN_RESULT_VAR)
+        SET(${RESULT_VAR} FALSE)
+      ENDIF (_COMPILE_RESULT_VAR AND NOT _RUN_RESULT_VAR)
+      IF (${RESULT_VAR} AND EXISTS ${_SRCFILE_FAIL})
+        try_run(_RUN_RESULT_VAR _COMPILE_RESULT_VAR
+            "${_bindir}_fail" "${_SRCFILE_FAIL}")
+        IF (_COMPILE_RESULT_VAR AND _RUN_RESULT_VAR)
+          SET(${RESULT_VAR} TRUE)
+        ELSE (_COMPILE_RESULT_VAR AND _RUN_RESULT_VAR)
+          SET(${RESULT_VAR} FALSE)
+        ENDIF (_COMPILE_RESULT_VAR AND _RUN_RESULT_VAR)
+      ENDIF (${RESULT_VAR} AND EXISTS ${_SRCFILE_FAIL})
+    ENDIF (CROSS_COMPILING)
+    IF (${RESULT_VAR} AND EXISTS ${_SRCFILE_FAIL_COMPILE})
+      try_compile(_TMP_RESULT "${_bindir}_fail_compile" "${_SRCFILE_FAIL_COMPILE}")
+      IF (_TMP_RESULT)
+        SET(${RESULT_VAR} FALSE)
+      ELSE (_TMP_RESULT)
+        SET(${RESULT_VAR} TRUE)
+      ENDIF (_TMP_RESULT)
+    ENDIF (${RESULT_VAR} AND EXISTS ${_SRCFILE_FAIL_COMPILE})
+
+    IF (${RESULT_VAR})
+      ecbuild_info("Checking Fortran support for ${_LOG_NAME} -- works")
+    ELSE (${RESULT_VAR})
+      ecbuild_info("Checking Fortran support for ${_LOG_NAME} -- not supported")
+    ENDIF (${RESULT_VAR})
+    SET(${RESULT_VAR} ${${RESULT_VAR}} CACHE INTERNAL "Fortran support for ${_LOG_NAME}")
+  ENDIF (NOT DEFINED ${RESULT_VAR})
+ENDMACRO(fortran_check_single_feature)
+
+# Find list of all features
+function(fortran_find_all_features outvar)
+  FILE(GLOB ALL_Fortran_FEATURE_FILES "${Fortran_FEATURE_CHECK_DIR}/*.F90")
+  set(OUTPUT_VARIABLES)
+  foreach(filename ${ALL_Fortran_FEATURE_FILES})
+    get_filename_component(filename ${filename} NAME_WE)
+    string(REGEX REPLACE "_fail_compile" "" filename "${filename}")
+    string(REGEX REPLACE "_fail" "" filename "${filename}")
+    string(REGEX REPLACE "-N[0-9]*" "" filename "${filename}")
+    set(OUTPUT_VARIABLES ${OUTPUT_VARIABLES} ${filename})
+  endforeach()
+  list(REMOVE_DUPLICATES OUTPUT_VARIABLES)
+  set(${outvar} ${OUTPUT_VARIABLES} PARENT_SCOPE)
+endfunction()
+
+# Parses input and separates into arguments before REQUIRED and after REQUIRED.
+# Arguments before REQUIRED are OPTIONALS.
+# Arguments after REQUIRED are REQUIRED.
+# If no arguments, then sets output OPTIONALS to ALLFEATURES.
+function(parse_input_features ALLFEATURES OPTIONALS REQUIRED ERRORS)
+
+  if("${ARGN}" STREQUAL "")
+    set(${OPTIONALS} ${ALLFEATURES} PARENT_SCOPE)
+    set(${REQUIRED} "" PARENT_SCOPE)
+  else()
+    set(REQUIRED_FEATURES)
+    set(OPTIONAL_FEATURES)
+    set(UNKNOWN_FEATURES)
+    set(result_type OPTIONAL_FEATURES)
+    foreach(feature ${ARGN})
+      if(${feature} STREQUAL "REQUIRED")
+        set(result_type REQUIRED_FEATURES)
+      else()
+        list(FIND ALLFEATURES ${feature} feature_was_found)
+
+        if(feature_was_found EQUAL -1)
+          list(APPEND UNKNOWN_FEATURES ${feature})
+        else()
+          list(APPEND ${result_type} ${feature})
+        endif()
+
+      endif(${feature} STREQUAL "REQUIRED")
+    endforeach()
+
+    set(${OPTIONALS} ${OPTIONAL_FEATURES} PARENT_SCOPE)
+    set(${REQUIRED} ${REQUIRED_FEATURES} PARENT_SCOPE)
+    set(${ERRORS} ${UNKNOWN_FEATURES} PARENT_SCOPE)
+  endif("${ARGN}" STREQUAL "")
+endfunction(parse_input_features)
+
+# Figures out name and number of feature
+# then calls macro that does the work
+macro(_figure_out_fortran_feature current_feature)
+  # Find set of files that match current_feature, excepting _fail and _fail_compile.
+  file(GLOB ALL_FEATURE_FILES "${Fortran_FEATURE_CHECK_DIR}/${current_feature}*.F90")
+  foreach(filename ${ALL_FEATURE_FILES})
+    if(filename MATCHES "_fail")
+      list(REMOVE_ITEM ALL_FEATURE_FILES ${filename})
+    endif()
+  endforeach()
+
+  list(LENGTH ALL_FEATURE_FILES NFILES)
+  if(NOT ${NFILES} EQUAL 1)
+    ecbuild_critical("[Fortran] Expected to find only one feature. Found ${NFILES} -- ${ALL_FEATURE_FILES}.")
+  endif(NOT ${NFILES} EQUAL 1)
+
+  # Now we know which file corresponds to option.
+  get_filename_component(basename ${ALL_FEATURE_FILES} NAME_WE)
+  # If has feature number, extract it
+  set(number "")
+  if(basename MATCHES "-N[0-9]*$")
+    string(REGEX REPLACE "${current_feature}-N" "" number "${basename}")
+  endif()
+  # Then call macro
+  string(TOUPPER ${current_feature} UPPER_OPTIONAL)
+  set(VARNAME HAS_Fortran_${UPPER_OPTIONAL})
+  fortran_check_single_feature(${current_feature} "${number}" ${VARNAME})
+endmacro(_figure_out_fortran_feature)
+
+function(fortran_feature_check)
+
+  # find all features
+  fortran_find_all_features(ALL_Fortran_FEATURES)
+
+  # Parses input to this function.
+  parse_input_features("${ALL_Fortran_FEATURES}" OPTIONALS REQUIRED ERRORS ${ARGN})
+  if(NOT ${ERRORS} STREQUAL "")
+    ecbuild_info("[Fortran] The following features are unknown: ${ERRORS}.")
+  endif()
+
+  # Check optional features
+  foreach(current_feature ${OPTIONALS})
+    _figure_out_fortran_feature(${current_feature})
+  endforeach(current_feature ${ARGN})
+
+  # Check required features
+  foreach(current_feature ${REQUIRED})
+    _figure_out_fortran_feature(${current_feature})
+    set(VARNAME HAS_Fortran_${UPPER_OPTIONAL})
+    if(NOT ${VARNAME})
+      ecbuild_critical("[Fortran] Required feature ${current_feature} is not available.")
+    endif(NOT ${VARNAME})
+  endforeach(current_feature ${REQUIRED})
+
+endfunction(fortran_feature_check)
diff --git a/cmake/fortran_features/c_size_t.F90 b/cmake/fortran_features/c_size_t.F90
new file mode 100644
index 0000000..3c47136
--- /dev/null
+++ b/cmake/fortran_features/c_size_t.F90
@@ -0,0 +1,8 @@
+program test_c_sizeof
+use, intrinsic :: iso_c_binding, only : c_size_t, c_int, c_long
+
+write(0,*) "c_int    = ",c_int
+write(0,*) "c_long   = ",c_long
+write(0,*) "c_size_t = ",c_size_t
+
+end program
\ No newline at end of file
diff --git a/cmake/fortran_features/c_sizeof.F90 b/cmake/fortran_features/c_sizeof.F90
new file mode 100644
index 0000000..fc1be41
--- /dev/null
+++ b/cmake/fortran_features/c_sizeof.F90
@@ -0,0 +1,3 @@
+program test_c_sizeof
+use, intrinsic :: iso_c_binding, only : c_sizeof
+end program
\ No newline at end of file
diff --git a/cmake/fortran_features/derivedtype_interface.F90 b/cmake/fortran_features/derivedtype_interface.F90
new file mode 100644
index 0000000..d59a1c3
--- /dev/null
+++ b/cmake/fortran_features/derivedtype_interface.F90
@@ -0,0 +1,54 @@
+module constructor
+
+implicit none
+
+TYPE :: AnimalType
+  private
+  integer :: m_age
+contains
+  procedure :: age
+  procedure :: speak
+ENDTYPE
+
+! Declare constructor as interface with same name as type
+interface AnimalType
+  module procedure AnimalType__ctor
+end interface
+
+contains
+
+function AnimalType__ctor(age) result(self)
+  type(AnimalType) :: self
+  integer :: age
+  write(0,'(A)') "Constructor Animal"
+  self%m_age = age
+end function
+
+function age(self)
+  class(AnimalType), intent(inout) :: self
+  integer :: age
+  age = self%m_age
+end function
+
+subroutine speak(self)
+  class(AnimalType), intent(in) :: self
+  write(0,'(A)') "Animal::speak not overridden"
+end subroutine
+
+end module
+
+! ------------------------------------------------------------------------
+
+program test_constructor
+use constructor
+implicit none
+
+  type(AnimalType) :: animal
+
+  animal = AnimalType(8)
+
+  write(0,'(A,I0)') "age = ",animal%age()
+
+  call animal%speak()
+
+end program
diff --git a/cmake/fortran_features/derivedtype_io.F90 b/cmake/fortran_features/derivedtype_io.F90
new file mode 100644
index 0000000..47a98b0
--- /dev/null
+++ b/cmake/fortran_features/derivedtype_io.F90
@@ -0,0 +1,42 @@
+module write_module
+
+implicit none
+
+TYPE :: AnimalType
+  integer :: m_age
+  integer :: m_paws
+contains
+  procedure :: writetype
+  generic :: write(formatted) => writetype
+ENDTYPE
+
+contains
+
+subroutine writetype(animal, unit, iotype, v_list, iostat, iomsg)
+  ! Argument names here from the std, but you can name them differently.
+  class(AnimalType), intent(in) :: animal ! Object to write.
+  integer, intent(in) :: unit             ! Internal unit to write to.
+  character(*), intent(in) :: iotype      ! LISTDIRECTED or DTxxx
+  integer, intent(in) :: v_list(:)        ! parameters from fmt spec.
+  integer, intent(out) :: iostat          ! non zero on error, etc.
+  character(*), intent(inout) :: iomsg    ! define if iostat non zero.
+
+  write (unit, "(A)", IOSTAT=iostat, IOMSG=iomsg) &
+      "I am a dog"
+end subroutine writetype
+
+end module
+
+! ------------------------------------------------------------------------
+
+program test_write
+use write_module
+implicit none
+
+  type(AnimalType) :: animal
+
+  animal = AnimalType(8,4)
+
+  write(0,'(A,DT)') 'Custom writing: ',animal
+
+end program
diff --git a/cmake/fortran_features/finalization.F90 b/cmake/fortran_features/finalization.F90
new file mode 100644
index 0000000..5bacd5f
--- /dev/null
+++ b/cmake/fortran_features/finalization.F90
@@ -0,0 +1,141 @@
+module final_module
+
+implicit none
+
+integer :: final_counted = 0
+integer :: destroy_counted = 0
+
+TYPE :: AnimalType
+  character(len=20), private :: m_kind = "unidentified"
+  logical :: constructed = .false.
+contains
+  procedure :: speak
+  final :: AnimalType__dtor
+ENDTYPE
+
+interface AnimalType
+  module procedure AnimalType__ctor
+end interface
+
+interface assignment(=)
+  module procedure AnimalType__assignment
+end interface
+
+contains
+
+subroutine speak(self)
+  class(AnimalType), intent(in) :: self
+  write(0,'(2A)') "I am a ",self%m_kind
+end subroutine
+
+subroutine AnimalType__dtor(self)
+  type(AnimalType), intent(inout) :: self
+
+  write(0,'(2A)') "Final animal ",self%m_kind
+  final_counted = final_counted + 1
+
+  ! Destruction guard needed for portability
+  if( self%constructed ) then
+    write(0,'(2A)') "    Destroy animal ",self%m_kind
+    destroy_counted = destroy_counted + 1
+  endif
+end subroutine
+
+function AnimalType__ctor(animaltype_) result(self)
+  type(AnimalType) :: self
+  character(len=*) :: animaltype_
+  self%m_kind = animaltype_
+  write(0,'(3A,I0)') "Constructing animal ",self%m_kind, " -- address = ",loc(self)
+  self%constructed = .true.
+end function
+
+subroutine AnimalType__assignment(animal_out,animal_in)
+  type(AnimalType), intent(out) :: animal_out
+  class(AnimalType), intent(in) :: animal_in
+  write(0,'(3A,I0,A,I0)') '   Copying ',animal_in%m_kind, " -- from address ", loc(animal_in), " to address ", loc(animal_out)
+  animal_out%m_kind = animal_in%m_kind
+  animal_out%constructed = animal_in%constructed
+end subroutine
+
+end module
+
+! ------------------------------------------------------------------------
+
+subroutine scope_test
+use final_module
+implicit none
+
+  type(AnimalType) :: dog
+  type(AnimalType) :: cat
+
+  dog = AnimalType("dog")  ! Cray       : final called on temporary AnimalType("dog"); missing final call on dog before assignment
+                           ! Intel      : final called on dog before assignment; and on temporary AnimalType("dog")
+                           ! PGI 14.4   : final NOT called at all, possibly compiler bug
+                           ! GNU 4.9    : final called on dog before assignment; missing call on temporary AnimalType("dog")
+  call dog%speak()
+
+  ! final called on dog when out of scope
+end subroutine
+
+! -------------------------------------------------------
+
+subroutine assignment_test
+use final_module
+implicit none
+
+  type(AnimalType) :: dog
+  type(AnimalType) :: animal
+
+  dog = AnimalType("dog")    ! final called on dog before assignment
+  call dog%speak()
+  write(0,'(A)') "-- animal = dog"
+  animal = dog               ! final called on animal before assignment
+  call animal%speak()
+
+  ! final called on dog when out of scope
+  ! final called on animal when out of scope
+end subroutine
+
+! -------------------------------------------------------
+
+program test_final
+use final_module
+implicit none
+  logical :: test_failed = .false.
+
+  final_counted = 0
+  destroy_counted = 0
+
+  write(0,'(A)') " "
+  write(0,'(A)') ">>>>>> begin scope_test"
+  call scope_test
+  write(0,'(A)') "<<<<<< end scope_test"
+  write(0,'(A)') " "
+
+  write(0,'(A,I0)') "final_counted = ", final_counted
+  write(0,'(A,I0)') "destroy_counted = ", destroy_counted
+
+  if( destroy_counted < 1 ) then
+    test_failed = .true.
+    write(0,'(A)') "ASSERTION FAILED: destroy_counted < 1"
+  endif
+
+  final_counted = 0
+  destroy_counted = 0
+
+  write(0,'(A)') " "
+  write(0,'(A)') ">>>>>> begin assignment_test"
+  call assignment_test
+  write(0,'(A)') "<<<<<< end assignment_test"
+  write(0,'(A)') " "
+
+  write(0,'(A,I0)') "final_counted = ", final_counted
+  write(0,'(A,I0)') "destroy_counted = ", destroy_counted
+
+  if( destroy_counted < 2 ) then
+    test_failed = .true.
+    write(0,*) "ASSERTION FAILED: destroy_counted < 2"
+  endif
+  if( test_failed ) STOP 1
+
+end program
diff --git a/cmake/fortran_features/submodules.F90 b/cmake/fortran_features/submodules.F90
new file mode 100644
index 0000000..3a2261f
--- /dev/null
+++ b/cmake/fortran_features/submodules.F90
@@ -0,0 +1,35 @@
+module sb_module
+implicit none
+integer :: a = 1
+
+interface
+  module subroutine sb
+  end subroutine
+end interface
+
+contains
+end module sb_module
+
+! -------------------------------------------------------
+
+submodule (sb_module) sb_submod1
+implicit none
+integer :: b = 2
+
+contains
+
+module subroutine sb()
+  a = b
+end subroutine
+
+end submodule sb_submod1
+
+! -------------------------------------------------------
+
+program test_submodule
+use sb_module
+implicit none
+write(0,*) a
+call sb()
+write(0,*) a
+end program
\ No newline at end of file
diff --git a/magics.sublime-project b/magics.sublime-project
index 2e3ccfe..4c8dea6 100644
--- a/magics.sublime-project
+++ b/magics.sublime-project
@@ -7,7 +7,7 @@
     ], 
     "build_systems": [
         {
-            "working_dir": "${project_path}/../../build/magics", 
+            "working_dir": "${project_path}/../../build/magics-bug/debug", 
             "cmd": [
                 "make"
             ], 
diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt
index 0d94cc5..f5585f5 100644
--- a/python/CMakeLists.txt
+++ b/python/CMakeLists.txt
@@ -1 +1,27 @@
-add_subdirectory( Magics )
+if( HAVE_PYTHON )
+
+  configure_file( setup.py.in setup.py )
+  configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/../src/common/magics_api.h magics_api.h COPYONLY )
+  configure_file( numpy.i numpy.i COPYONLY )
+  configure_file( Magics_interface.cc Magics_interface.cc COPYONLY )
+  configure_file( Magics.i.in Magics/Magics.i )
+
+  # Copy python modules to build area
+  # configure_file ensures the copy is triggered if the file changes
+  configure_file( Magics/__init__.py Magics/__init__.py COPYONLY )
+  configure_file( Magics/macro.py Magics/macro.py COPYONLY )
+  configure_file( Magics/metgram.py Magics/metgram.py COPYONLY )
+
+  set( _magics_swig "_Magics${CMAKE_SHARED_LIBRARY_SUFFIX}" )
+  # Build the extension module for use in build tree with RPATH pointing to the build tree
+  add_custom_command( OUTPUT ${_magics_swig}
+    COMMAND ${PYTHON_EXECUTABLE} setup.py build_ext --inplace --rpath ${CMAKE_BINARY_DIR}/lib
+    DEPENDS Magics_interface.cc Magics.i.in numpy.i setup.py.in MagPlus )
+  add_custom_target(build_swig_wrapper ALL DEPENDS ${_magics_swig})
+
+  # Build the extension module for use in install tree with RPATH pointing to install tree
+  install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} setup.py build_ext --rpath ${CMAKE_INSTALL_PREFIX}/${INSTALL_LIB_DIR} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})")
+  # Call distutils for installation
+  install(CODE "execute_process(COMMAND ${PYTHON_EXECUTABLE} setup.py install --prefix $ENV{DESTDIR}${CMAKE_INSTALL_PREFIX} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})")
+
+endif()
diff --git a/python/Magics/Magics.i.in b/python/Magics.i.in
similarity index 100%
rename from python/Magics/Magics.i.in
rename to python/Magics.i.in
diff --git a/python/Magics/CMakeLists.txt b/python/Magics/CMakeLists.txt
deleted file mode 100644
index 9769ea4..0000000
--- a/python/Magics/CMakeLists.txt
+++ /dev/null
@@ -1,61 +0,0 @@
-if( HAVE_PYTHON )
-
-  ### python destination
-
-  set( PYTHON_SITE "${INSTALL_LIB_DIR}/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages" )
-  set( PYTHON_DEST "${PYTHON_SITE}/Magics" )
-
-  file( RELATIVE_PATH relative_rpath "${CMAKE_INSTALL_PREFIX}/${PYTHON_DEST}" "${${PNAME}_FULL_INSTALL_LIB_DIR}" )
-
-  #debug_var( relative_rpath )
-
-  # See comment below, where the following lines are overriden
-  ecbuild_append_to_rpath( ${relative_rpath} )
-  ecbuild_append_to_rpath( "../../lib" ) # for the ctest to find magics libs
-
-  ### place in build tree so we can run python tests
-
-  configure_file( macro.py    macro.py    COPYONLY )
-  configure_file( metgram.py  metgram.py  COPYONLY )
-
-  ### build python bindings
-
-  configure_file( Magics.i.in  Magics.i )
-
-  include_directories( ${PYTHON_INCLUDE_DIRS} ${NUMPY_INCLUDE_DIRS} ${CMAKE_CURRENT_SOURCE_DIR} )
-
-  set_source_files_properties( ${CMAKE_CURRENT_BINARY_DIR}/Magics.i PROPERTIES GENERATED TRUE CXX ON )
-
-  swig_add_module( Magics python Magics_interface.cc ${CMAKE_CURRENT_BINARY_DIR}/Magics.i )
-
-  set_source_files_properties(partio.i PROPERTIES SWIG_FLAGS "-includeall")
-
-  swig_link_libraries( Magics MagPlus ${PYTHON_LIBRARIES} )
-
-  execute_process( COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_CURRENT_BINARY_DIR}/Magics.py ${CMAKE_CURRENT_BINARY_DIR}/__init__.py )
-
-  # On the MAC, only one RPATH cat be set (Mac does not understand path:path:path)
-  # Someone, please fix
-  # set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
-  set_target_properties(_Magics PROPERTIES INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
-
-  ### make it available in the build dir
-
-  file( MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/${PYTHON_SITE} )
-
-  execute_process( COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_BINARY_DIR}/${PYTHON_DEST} )
-
-  ### install to final destination
-
-  install( TARGETS _Magics DESTINATION ${PYTHON_DEST} )
-  install( FILES
-               macro.py
-               metgram.py
-           DESTINATION ${PYTHON_DEST} )
-
-  install( FILES  ${CMAKE_CURRENT_BINARY_DIR}/Magics.py
-           RENAME __init__.py
-           DESTINATION ${PYTHON_DEST} )
-
-endif()
-
diff --git a/python/Magics/__init__.py b/python/Magics/__init__.py
new file mode 100644
index 0000000..32bfc28
--- /dev/null
+++ b/python/Magics/__init__.py
@@ -0,0 +1 @@
+from Magics import *
diff --git a/python/Magics/setup.py.in b/python/Magics/setup.py.in
deleted file mode 100644
index f8cc128..0000000
--- a/python/Magics/setup.py.in
+++ /dev/null
@@ -1,83 +0,0 @@
-#!/usr/bin/env python
-
-from distutils.core import setup, Extension
-import os,sys
-
-lib_list=["MagPlus"]
-libpath_list=["../../src/.libs"]
-runpath_list=["@prefix@/lib","@ODB_PATH@/lib"]
-
-if "@odb@" != "no":
-    lib_list.append('Odb')
-    lib_list.append('Ec')
-    if "@ODB_PATH@":
-       libpath_list.append("@ODB_PATH@/lib")
-
-if "@bufr@" != "no":
-    if "@EMOS_LIB_NAME@":
-       lib_list.append("@EMOS_LIB_NAME@")
-       libpath_list.append("@EMOS_LIB_PATH@")
-    if "@FLIB@":
-       flibs=['@FLIB@']
-       lib_list += flibs
-    if "@FORTRAN_LIB_PATH@":
-       libpath_list.append("@FORTRAN_LIB_PATH@")
-       runpath_list.append("@FORTRAN_LIB_PATH@")
-
-attdict = dict(
-   sources = ['Magics.i'],
-   swig_opts = ['-c++','-module', 'Magics'],
-   include_dirs = ['.', '../../src/common'],
-   library_dirs = libpath_list + ["%s/lib" % sys.prefix],
-   libraries = lib_list + ["m"],
-   runtime_library_dirs = runpath_list,
-   extra_objects = [],
-)
-
-add_attribute = lambda **args: [list.append(attdict[key],value) for key,value in args.items()]
-
-build_dir = '../'
-
-import glob
-ofiles=glob.glob("%s*.o" % build_dir)
-print "files are %s" % ofiles
-add_attribute(
-    include_dirs = os.path.join(build_dir,'src')
-)
-
-lib_dict = {
-    'grib_api': '@GRIBAPI_ROOT@',
-}
-
-for with_lib in lib_dict:
-    if with_lib:
-        lib_dir = lib_dict[with_lib]
-        if lib_dir and lib_dir != 'system':
-            add_attribute(
-            include_dirs = os.path.join(lib_dir,'include'),
-            library_dirs = os.path.join(lib_dir,'lib')
-        )
-    add_attribute(libraries = with_lib)
-
-    import numpy
-    # Obtain the numpy include directory.  This logic works across numpy versions.
-    try:
-        numpy_include = numpy.get_include()
-    except AttributeError:
-        numpy_include = numpy.get_numpy_include()
-
-    add_attribute(
-        include_dirs = numpy_include,
-    )
-
-api_module = Extension('_Magics',**attdict)
-
-setup (name = '@PACKAGE_NAME@',
-       version = '@MAGICS_PACKAGE_VERSION@',
-       author      = 'ECMWF',
-       description = """Magics++ Python interface""",
-       ext_modules = [api_module],
-       py_modules = ['Magics.macro','Magics.metgram'],
-       package_dir={'Magics': ''},
-       packages=['Magics'],
-      )
diff --git a/python/Magics/Magics_interface.cc b/python/Magics_interface.cc
similarity index 100%
rename from python/Magics/Magics_interface.cc
rename to python/Magics_interface.cc
diff --git a/python/Magics/numpy.i b/python/numpy.i
similarity index 99%
rename from python/Magics/numpy.i
rename to python/numpy.i
index e3ff236..644e968 100644
--- a/python/Magics/numpy.i
+++ b/python/numpy.i
@@ -111,7 +111,7 @@
     if (PyModule_Check(  py_obj)) return "module"      ;
     if (PyInstance_Check(py_obj)) return "instance"    ;
 
-    return "unkown type";
+    return "unknown type";
   }
 
   /* Given a NumPy typecode, return a string describing the type.
diff --git a/python/setup.py.in b/python/setup.py.in
new file mode 100644
index 0000000..b83225c
--- /dev/null
+++ b/python/setup.py.in
@@ -0,0 +1,33 @@
+#!/usr/bin/env python
+
+from distutils.core import setup, Extension
+import os
+import sys
+
+import numpy
+# Obtain the numpy include directory.  This logic works across numpy versions.
+try:
+    numpy_include = numpy.get_include()
+except AttributeError:
+    numpy_include = numpy.get_numpy_include()
+
+
+attdict = dict(
+   sources               = ['Magics/Magics.i'],
+   swig_opts             = ['-c++'],
+   include_dirs          = ['.', '@CMAKE_CURRENT_SOURCE_DIR@/../src/common',numpy_include],
+   library_dirs          = ["@CMAKE_BINARY_DIR@/lib"],
+   libraries             = ["MagPlus","m"],
+   extra_objects         = [],
+)
+
+setup (name         = 'Magics',
+       version      = '@MAGICS_VERSION_STR@',
+       author       = 'ECMWF',
+       author_email = 'Software.Support at ecmwf.int',
+       description  = """Magics Python interface""",
+       license      = 'Apache License, Version 2.0',
+       url          = 'https://software.ecmwf.int/Magics',
+       ext_modules  = [Extension('Magics._Magics',**attdict)],
+       packages     = ['Magics'],
+      )
diff --git a/share/ecbuild/toolchains/ecmwf-XC30-Cray.cmake b/share/ecbuild/toolchains/ecmwf-XC30-Cray.cmake
index 52924b9..31a241b 100644
--- a/share/ecbuild/toolchains/ecmwf-XC30-Cray.cmake
+++ b/share/ecbuild/toolchains/ecmwf-XC30-Cray.cmake
@@ -40,13 +40,6 @@ set( OMPSTUBS_CXX_FLAGS      "-hnoomp" )
 set( OMPSTUBS_Fortran_FLAGS  "-hnoomp" )
 
 ####################################################################
-# Fortran FLAGS
-####################################################################
-
-# -emf activates .mods and uses lower case -rmoid produces a listing file
-set( ECBUILD_Fortran_FLAGS   "-emf -rmoid" )
-
-####################################################################
 # LINK FLAGS
 ####################################################################
 
diff --git a/share/ecbuild/toolchains/ichec-fionn-Intel.cmake b/share/ecbuild/toolchains/ichec-fionn-Intel.cmake
new file mode 100644
index 0000000..184dfb5
--- /dev/null
+++ b/share/ecbuild/toolchains/ichec-fionn-Intel.cmake
@@ -0,0 +1,67 @@
+####################################################################
+# ARCHITECTURE
+####################################################################
+
+
+####################################################################
+# COMPILER
+####################################################################
+
+include(CMakeForceCompiler)
+
+CMAKE_FORCE_C_COMPILER       ( icc  Intel )
+CMAKE_FORCE_CXX_COMPILER     ( icpc  Intel )
+CMAKE_FORCE_Fortran_COMPILER ( ifort Intel )
+
+####################################################################
+# OpenMP FLAGS
+####################################################################
+
+set( OMP_C_FLAGS             "-openmp -openmp-threadprivate=compat" )
+set( OMP_CXX_FLAGS           "-openmp -openmp-threadprivate=compat" )
+set( OMP_Fortran_FLAGS       "-openmp -openmp-threadprivate=compat" )
+
+####################################################################
+# COMMON FLAGS
+####################################################################
+
+# for diagnostics:
+#  -diag-enable=vec -diag-file -Winline
+
+set( ECBUILD_C_FLAGS       "-fp-speculation=strict -fp-model precise -traceback")
+set( ECBUILD_CXX_FLAGS     "-fp-speculation=strict -fp-model precise -traceback" )
+set( ECBUILD_Fortran_FLAGS "-fp-speculation=strict -fp-model source  -convert big_endian -assume byterecl -traceback -fpe0" )
+
+####################################################################
+# BIT REPRODUCIBLE FLAGS
+####################################################################
+
+set( ECBUILD_C_FLAGS_BIT        "-O2 -xAVX -finline-function -finline-limit=500" )
+set( ECBUILD_CXX_FLAGS_BIT      "-O2 -xAVX -finline-function -finline-limit=500" )
+set( ECBUILD_Fortran_FLAGS_BIT  "-O2 -xAVX -finline-function -finline-limit=500 -align array64byte" )
+
+####################################################################
+# DEBUG FLAGS
+####################################################################
+
+set( ECBUILD_C_FLAGS_DEBUG        "-O0 -g -traceback -fp-trap=common" )
+set( ECBUILD_CXX_FLAGS_DEBUG      "-O0 -g -traceback -fp-trap=common" )
+# -check all implies -check bounds
+set( ECBUILD_Fortran_FLAGS_DEBUG  "-O0 -g -traceback -warn all -heap-arrays -fpe-all=0 -fpe:0 -check all" )
+
+####################################################################
+# LINK FLAGS
+####################################################################
+
+set( ECBUILD_C_LINK_FLAGS        "-Wl,-Map,load.map -Wl,--as-needed" )
+set( ECBUILD_CXX_LINK_FLAGS      "-Wl,-Map,load.map -Wl,--as-needed" )
+set( ECBUILD_Fortran_LINK_FLAGS  "-Wl,-Map,load.map -Wl,--as-needed" )
+
+###################################################################
+# 
+# Serial versions of these packages (need to specify intel_mpi versions? )
+###################################################################
+
+set( FFTW_PATH    "/ichec/packages/fftw/intel/3.3.4")
+set( NETCDF_PATH  "/ichec/packages/netcdf/intel/4.4.0")
+set( HDF5_PATH    "/ichec/packages/hdf5/intel/1.8.16")
diff --git a/share/magics/10m/ne_10m_admin_0_boundary_lines_land.dbf b/share/magics/10m/ne_10m_admin_0_boundary_lines_land.dbf
index 30c5e3c..924bc8a 100644
Binary files a/share/magics/10m/ne_10m_admin_0_boundary_lines_land.dbf and b/share/magics/10m/ne_10m_admin_0_boundary_lines_land.dbf differ
diff --git a/share/magics/110m/ne_110m_admin_0_boundary_lines_land.dbf b/share/magics/110m/ne_110m_admin_0_boundary_lines_land.dbf
index abaed20..729672d 100644
Binary files a/share/magics/110m/ne_110m_admin_0_boundary_lines_land.dbf and b/share/magics/110m/ne_110m_admin_0_boundary_lines_land.dbf differ
diff --git a/share/magics/50m/ne_50m_admin_0_boundary_lines_land.dbf b/share/magics/50m/ne_50m_admin_0_boundary_lines_land.dbf
index f384f1c..5650c80 100644
Binary files a/share/magics/50m/ne_50m_admin_0_boundary_lines_land.dbf and b/share/magics/50m/ne_50m_admin_0_boundary_lines_land.dbf differ
diff --git a/share/magics/epsg.json b/share/magics/epsg.json
index 3c3848e..470c3b0 100644
--- a/share/magics/epsg.json
+++ b/share/magics/epsg.json
@@ -72,11 +72,11 @@
         },
         {
             "EPSG:3857": {
-                "definition": "+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378137 +b=6378137 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs",
-                "max_latitude": 85,
+                "definition": "+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +a=6378137 +b=6378137 +towgs84=0,0,0,0,0,0,0 +nadgrids=@null +units=m +no_defs",
+                 "max_latitude": 84,
                 "max_longitude": 180,
                 "method": "simple",
-                "min_latitude": -85,
+                "min_latitude": -80,
                 "min_longitude": -180
             }
         },
diff --git a/share/magics/table_128.xml b/share/magics/table_128.xml
index 938ad6d..acfdbe7 100644
--- a/share/magics/table_128.xml
+++ b/share/magics/table_128.xml
@@ -1305,5 +1305,12 @@ does it submit to any jurisdiction.
            original_unit='m s**-1' derived_unit=''
            vector1='0' vector2='0'
            contour_interval='0.0' specification=''/>
+    <param code='260510' mars=''
+           short_title=''
+           long_title=''
+           scaling='1.0' offset='-273.16'
+           original_unit='K' derived_unit='deg c'
+        />
      </table>
+
 </center>
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 77d5d07..4717c2e 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -38,7 +38,7 @@ foreach( file ${magics_xmls} )
       # generate the code
       add_custom_command( 
             OUTPUT  ${ouputfiles}
-            COMMAND ${PERL_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/../tools/xml2cc_new.pl ${CMAKE_CURRENT_SOURCE_DIR}/${file} ${CMAKE_CURRENT_BINARY_DIR}/params nosubdir
+            COMMAND ${PERL_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/../tools/xml2cc.pl ${CMAKE_CURRENT_SOURCE_DIR}/${file} ${CMAKE_CURRENT_BINARY_DIR}/params nosubdir
             DEPENDS ${file}
       )
 
diff --git a/src/basic/LegendVisitor.cc b/src/basic/LegendVisitor.cc
index 31ac3a3..608c7b3 100644
--- a/src/basic/LegendVisitor.cc
+++ b/src/basic/LegendVisitor.cc
@@ -1,12 +1,20 @@
-/*
- * (C) Copyright 1996-2016 ECMWF.
- * 
- * This software is licensed under the terms of the Apache Licence Version 2.0
- * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
- * In applying this licence, ECMWF does not waive the privileges and immunities 
- * granted to it by virtue of its status as an intergovernmental organisation nor
- * does it submit to any jurisdiction.
- */
+/******************************** LICENSE ********************************
+
+ Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at 
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+ ******************************** LICENSE ********************************/
 
 /*! 
     \brief Implementation of the Template class LegendNode.
@@ -70,8 +78,10 @@ void LegendVisitor::print(ostream& out)  const
 }
 
 
+
 void LegendVisitor::visit(BasicGraphicsObjectContainer&)
 {
+
 }
 
 
@@ -84,7 +94,6 @@ void LegendVisitor::visit(BasicSceneObject& parent)
 void LegendVisitor:: visit(AnimationStep& )
 {
 }
-
 PaperPoint LegendEntry::centreSymbolBox(const PaperPoint& middle)
 {
 	// The box is going from x-1 to x+1
@@ -105,7 +114,6 @@ PaperPoint LegendEntry::leftTextBox(const PaperPoint& middle)
 	MagLog::dev() << "LegendEntry::leftTextBox" << point << endl;
 	return point;
 }
-
 PaperPoint ArrowEntry::leftTextBox(const PaperPoint& middle)
 {
 	PaperPoint point(middle);
@@ -113,7 +121,6 @@ PaperPoint ArrowEntry::leftTextBox(const PaperPoint& middle)
 	    point.y_ += 0.2;
 		return point;
 }
-
 PaperPoint FlagEntry::leftTextBox(const PaperPoint& middle)
 {
 	// The box is going from x-1 to x+1
@@ -124,7 +131,6 @@ PaperPoint FlagEntry::leftTextBox(const PaperPoint& middle)
 	point.y_ += 0.5;
 	return point;
 }
-
 double LegendEntry::computeWidth(double width)
 {
 	return ((100-width_)/50)*width;
@@ -139,7 +145,15 @@ void LineEntry::rowBox(const PaperPoint& point, BasicGraphicsObjectContainer& ou
 	line_->push_back(PaperPoint(x+0.5, y));
 	out.push_back(line_);
 }
+void RainbowEntry::rowBox(const PaperPoint& point, BasicGraphicsObjectContainer& out)
+{
+	double x = point.x();
+	double y = point.y();
 
+	line_->push_back(PaperPoint(x-0.5, y+0.5));
+	line_->push_back(PaperPoint(x+0.5, y+0.5));
+	out.push_back(line_);
+}
 void LineEntry::columnBox(const PaperPoint& point, BasicGraphicsObjectContainer& out)
 {
 	double x = point.x();
@@ -149,12 +163,10 @@ void LineEntry::columnBox(const PaperPoint& point, BasicGraphicsObjectContainer&
 	line_->push_back(PaperPoint(x+1, y));
 	out.push_back(line_);
 }
-
 void DoubleLineEntry::rowBox(const PaperPoint& point, BasicGraphicsObjectContainer& out)
 {
 	set(point, out);
 }
-
 void DoubleLineEntry::columnBox(const PaperPoint& point, BasicGraphicsObjectContainer& out)
 {
 	set(point, out);
@@ -162,6 +174,10 @@ void DoubleLineEntry::columnBox(const PaperPoint& point, BasicGraphicsObjectCont
 
 void LegendVisitor::build()
 {
+
+
+
+
 	legend_ = new LegendLayout();
 	
 	legend_->x(view_x_);
@@ -197,14 +213,18 @@ void LegendVisitor::build()
 		legend->push_back(titlePosition_);
 		legend_->push_back(legend);
 	}
+
+	if ( !empty() ) {
+		if ( use_min_ ) {
+			front()->userText(use_min_text_);
+		}
+		if ( use_max_ ) {
+			back()->userText(use_max_text_);
+		}
 	
-	if ( use_min_ ) {
-		front()->userText(use_min_text_);
+		back()->units(units_text_);
 	}
-	if ( use_max_ ) {
-		back()->userText(use_max_text_);
-	}
-
+	
 	for(vector<LegendEntry*>::const_iterator entry = begin(); entry != end(); ++entry)
 	{
 		(*entry)->width(text_width_);
@@ -227,7 +247,7 @@ void LegendVisitor::build()
 				user = utext;
 			else
 				user = ( label != lines_.end() ) ? *label: "";
-			string automatic = (*entry)->label();
+			string automatic = (*entry)->label() + (*entry)->units();
 
 			if ( composition == compositions_.end() )
 			{
@@ -288,10 +308,16 @@ void  LegendVisitor::horizontal()
 		}
 
 	// here we have a title, we need to adjust the coordinates used in the legend dependind on its position
-}
 
+
+
+
+
+}
 void  LegendVisitor::vertical()
 {
+	double xmin, xmax, ymin, ymax;
+	double xtitle, ytitle;
 	int row = 1;
 	int column = 1;
 	int rows = entriesNumber_/columns_;
@@ -317,8 +343,8 @@ void  LegendVisitor::vertical()
 			title_position_ = M_LEFT;
 		(this->*titleBuilders_[title_position_])();
 	}
-}
 
+}
 void  LegendVisitor::topTitle()
 {
 	double minx =  legend_->minX();
@@ -335,7 +361,6 @@ void  LegendVisitor::topTitle()
 
 	legend_->maxY(newmaxy);
 }
-
 void  LegendVisitor::bottomTitle()
 {
 	double minx =  legend_->minX();
@@ -352,7 +377,6 @@ void  LegendVisitor::bottomTitle()
 
 	legend_->minY(newminy);
 }
-
 void  LegendVisitor::rightTitle()
 {
 	double minx =  legend_->minX();
@@ -371,7 +395,6 @@ void  LegendVisitor::rightTitle()
 
 	legend_->maxX(newmaxx);
 }
-
 void  LegendVisitor::leftTitle()
 {
 	double minx =  legend_->minX();
@@ -382,7 +405,7 @@ void  LegendVisitor::leftTitle()
 	bool column =  ( legend_->absoluteWidth() <  legend_->absoluteHeight() );
 
 	titleJustification_ = ( column ) ?  MCENTRE : MRIGHT;
-	//float factor =  ( column ) ?  0.25 : 0.15;
+	float factor =  ( column ) ?  0.25 : 0.15;
 	titleAngle_ =  ( column ) ?  magics::PI * 1.5 : 0;
 
 	double width = (100 /(100-title_ratio_))*(maxx - minx);
@@ -390,6 +413,7 @@ void  LegendVisitor::leftTitle()
 
 	titlePosition_ = PaperPoint(minx + (newminx-minx)*0.1, (maxy-miny)/2);
 	legend_->minX(newminx);
+
 }
 
 
@@ -438,10 +462,12 @@ void LegendVisitor::grid()
     else {
     	(this->*builder->second)();
     }
+
 }
 
 void SymbolEntry::set(const PaperPoint& point, BasicGraphicsObjectContainer& legend)
 {
+
 	double width = computeWidth(0.8)/2;
 	double height = 0.4;
 	PaperPoint p = centreSymbolBox(point);
@@ -570,6 +596,8 @@ void FlagEntry::set(const PaperPoint& point, BasicGraphicsObjectContainer& legen
 	legend.push_back(flag_);
 	flag_->setLength(legend.absoluteHeight());
 	flag_->back().set(40, 85);
+
+
 }
 
 void  FlagEntry::rowBox(const PaperPoint& point, BasicGraphicsObjectContainer& legend)
@@ -581,7 +609,6 @@ void  FlagEntry::rowBox(const PaperPoint& point, BasicGraphicsObjectContainer& l
 	text->setJustification(MLEFT);
 	legend.push_back(text);
 }
-
 void  FlagEntry::columnBox(const PaperPoint& point, BasicGraphicsObjectContainer& legend)
 {
 	set(point, legend);
@@ -596,7 +623,6 @@ void  FlagEntry::columnBox(const PaperPoint& point, BasicGraphicsObjectContainer
 	text->setJustification(MLEFT);
 	legend.push_back(text);
 }
-
 Colour BoxEntry::colour()
 {
 	return box_->getFillColour();
@@ -629,6 +655,7 @@ void LegendEntry::rowBox(const PaperPoint& point, BasicGraphicsObjectContainer&
 	frame->push_back(PaperPoint(x+2, y-height));
 	frame->push_back(PaperPoint(x-width, y-height));
 
+
 	legend.push_back(frame);
 }
 
@@ -645,6 +672,7 @@ void LegendEntry::columnBox(const PaperPoint& point, BasicGraphicsObjectContaine
 	}
 	Polyline*  frame = new Polyline();
 
+	
 	double x = point.x();
 	double y = point.y();
 	double width = 0.4;
@@ -662,7 +690,8 @@ void LegendEntry::columnBox(const PaperPoint& point, BasicGraphicsObjectContaine
 	frame->push_back(PaperPoint(x, y+height));
 	frame->push_back(PaperPoint(x, y-height));
 	frame->push_back(PaperPoint(x-width, y-height));
-
+	
+	
 	legend.push_back(frame);
 
 	ostringstream top, bottom;
@@ -753,6 +782,7 @@ void BoxEntry::rowBox(const PaperPoint& point, BasicGraphicsObjectContainer& leg
 			to->addText(userText_, font_);
 	}
 
+
 	box_->push_back(PaperPoint(x-width, y-height));
 	box_->push_back(PaperPoint(x-width, y+height+height));
 	box_->push_back(PaperPoint(x+width, y+height+height));
@@ -767,6 +797,7 @@ void BoxEntry::rowBox(const PaperPoint& point, BasicGraphicsObjectContainer& leg
 	}
 	box_->setColour(colour);
 
+
 	legend.push_back(box_);
 }
 
@@ -937,11 +968,12 @@ void BoxEntry::rowHisto(const PaperPoint& point, BasicGraphicsObjectContainer& l
     	double pos = ((2*width)/(to_-from_)) * (meanValue_ - from_) + (x - width);
     	symbol->push_back(PaperPoint(pos,  y + 1.));
     	legend.push_last(symbol);
+
     }
 }
-
 void BoxEntry::columnBox(const PaperPoint& point, BasicGraphicsObjectContainer& legend)
 {
+
 	MagLog::debug() << "BoxEntry--->set at " << point << endl;
 	double width = computeWidth(0.8)/2;
 	double height = 0.5;
@@ -996,7 +1028,6 @@ void BoxEntry::columnBox(const PaperPoint& point, BasicGraphicsObjectContainer&
 	box_->setColour(colour);
 	legend.push_back(box_);
 }
-
 void BoxEntry::columnHisto(const PaperPoint& point, BasicGraphicsObjectContainer& legend, const Colour& colour)
 {
 
@@ -1068,6 +1099,7 @@ Colour DoubleLineEntry::colour()
 
 void LineEntry::set(const PaperPoint& point, BasicGraphicsObjectContainer& legend)
 {
+
 	double width = computeWidth(0.8)/2;
 	PaperPoint p = centreSymbolBox(point);
 	double x = p.x();
@@ -1103,6 +1135,7 @@ void check(const string& line, vector<string>& lines)
 
 void LegendVisitor::getReady()
 {
+	
 	if ( lines_.empty() == false )
 		return;
 	
@@ -1150,6 +1183,8 @@ void XmlLegendVisitor::getReady()
 
 	double text_width = width.percent();
 	double text_height = height.percent();
+	
+	
 
 	if ( ( text_height + text_y ) > 100 ) 
 		text_height = 100 - text_y ;
@@ -1197,6 +1232,7 @@ void FortranPositionalLegendVisitor::getReady()
 	Dimension text(font_dimension_, box_height_, 10);
 	font_size_ = text.absolute();
 	layout_->Layout::frame(blanking_, border_, *border_colour_, border_line_style_, border_thickness_);
+
 }
 
 
@@ -1223,6 +1259,8 @@ void FortranAutomaticLegendVisitor::getReady()
 void LegendEntry::set(const LegendVisitor& attributes)
 {
 	format_ = attributes.format();
+
+	
 }
 
 void SimpleSymbolEntry::set(const PaperPoint& point, BasicGraphicsObjectContainer& legend)
@@ -1234,7 +1272,6 @@ void SimpleSymbolEntry::set(const PaperPoint& point, BasicGraphicsObjectContaine
 }
 
 
-
 const string& LegendEntry::label() const
 {
 	if ( !label_.empty() || !fromto_)
@@ -1252,9 +1289,9 @@ const string& LegendEntry::label() const
 	label_ = nice.str();
 	return label_;
 }
-
 void SimpleSymbolEntry::rowBox(const PaperPoint& point, BasicGraphicsObjectContainer& legend)
 {
+
 	Polyline* box = new Polyline();
 	FillShadingProperties* shading = new FillShadingProperties();
 	box->setFillColour(colour());
@@ -1309,9 +1346,9 @@ void SimpleSymbolEntry::rowBox(const PaperPoint& point, BasicGraphicsObjectConta
 		}
 		box->setColour(colour);
 
+
 		legend.push_back(box);
 }
-
 void SimpleSymbolEntry::columnBox(const PaperPoint& point, BasicGraphicsObjectContainer& legend)
 {
 	Polyline* box = new Polyline();
@@ -1380,3 +1417,4 @@ BoxEntry::~BoxEntry() {} //{ delete box_; }
 ArrowEntry::~ArrowEntry() {} //{ delete arrow_; }
 DoubleLineEntry::~DoubleLineEntry() {} //{ { delete line1_; delete line2_; }
 LineEntry::~LineEntry() {} //{ delete line_;}
+RainbowEntry::~RainbowEntry() {} //{ delete line_;}
\ No newline at end of file
diff --git a/src/basic/LegendVisitor.h b/src/basic/LegendVisitor.h
index 28ff838..fd62ca8 100644
--- a/src/basic/LegendVisitor.h
+++ b/src/basic/LegendVisitor.h
@@ -62,7 +62,7 @@ public:
 	virtual void rowHisto(const PaperPoint& point, BasicGraphicsObjectContainer& out, const Colour&) {rowBox(point, out);}
 	virtual void columnHisto(const PaperPoint& point, BasicGraphicsObjectContainer& out, const Colour&) {columnBox(point, out);}
 
-	virtual bool needContinuousText() { return false; }
+	virtual bool needContinuousText(Text&) { return false; }
 	virtual bool needText() { return true; }
 	virtual const string& label() const;
 	virtual void interpret(string&) const {}
@@ -72,6 +72,8 @@ public:
 	 
 	void userText(const string& text) { userText_ = text; }
 	const string& userText() { return userText_; }
+	const string& units() { return units_; }
+	void units(const string& units) { units_ = units; }
 
 	void font(const MagFont& font) { font_ = font; }
 	void angle(double angle) { angle_ = angle; }
@@ -108,6 +110,7 @@ protected:
     HistogramLegendMethod* histogram_;
 
     string userText_;
+    string units_;
 	double from_;
 	double to_;
 	string format_;
@@ -202,12 +205,22 @@ public:
     void set(const PaperPoint&, BasicGraphicsObjectContainer&);
     virtual void rowBox(const PaperPoint&, BasicGraphicsObjectContainer&);
 	virtual void columnBox(const PaperPoint&, BasicGraphicsObjectContainer&);
-	bool needContinuousText() { return true;  }
+	bool needContinuousText(Text& text) { text.setJustification(MLEFT); return true;  }
 	~LineEntry();
 protected:
 	Polyline* line_;
 	Colour colour();
 };
+class RainbowEntry : public LineEntry
+{
+public:
+	RainbowEntry(double label, Polyline* line = 0 ) :  
+		LineEntry(label, line) { }
+	bool needContinuousText(Text&) { return true;  }
+	void rowBox(const PaperPoint&, BasicGraphicsObjectContainer&);
+
+	~RainbowEntry();
+};
 
 
 class DoubleLineEntry : public LegendEntry
@@ -224,7 +237,7 @@ public:
     void set(const PaperPoint&, BasicGraphicsObjectContainer&);
     virtual void rowBox(const PaperPoint&, BasicGraphicsObjectContainer&);
 	virtual void columnBox(const PaperPoint&, BasicGraphicsObjectContainer&);
-	bool needContinuousText() { return true;  }
+	bool needContinuousText(Text& text) { text.setJustification(MLEFT); return true;  }
 	~DoubleLineEntry();
 protected:
 	Polyline* line1_;
@@ -248,7 +261,7 @@ public:
 	void set(const PaperPoint&, BasicGraphicsObjectContainer&);
 	virtual void rowBox(const PaperPoint&, BasicGraphicsObjectContainer&);
 	virtual void columnBox(const PaperPoint&, BasicGraphicsObjectContainer&);
-	bool needContinuousText() { return false;  }
+	bool needContinuousText(Text&) { return false;  }
 	PaperPoint leftTextBox(const PaperPoint&);
 protected:
 	Arrow*  arrow_;
@@ -270,7 +283,7 @@ public:
 	void set(const PaperPoint&, BasicGraphicsObjectContainer&);
 	 virtual void rowBox(const PaperPoint&, BasicGraphicsObjectContainer&);
 	virtual void columnBox(const PaperPoint&, BasicGraphicsObjectContainer&);
-	bool needContinuousText() { return false;  }
+	bool needContinuousText(Text&) { return false;  }
 	PaperPoint leftTextBox(const PaperPoint&);
 protected:
 	Flag*  flag_;
diff --git a/src/common/Arrow.h b/src/common/Arrow.h
index c1e585b..b4e447b 100644
--- a/src/common/Arrow.h
+++ b/src/common/Arrow.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Arrow.h
     \brief Definition of the Template class Arrow.
diff --git a/src/common/ArrowProperties.cc b/src/common/ArrowProperties.cc
index 2fd6904..3245395 100644
--- a/src/common/ArrowProperties.cc
+++ b/src/common/ArrowProperties.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ArrowProperties.cc
     \brief Implementation of the Template class Arrow.
diff --git a/src/common/ArrowProperties.h b/src/common/ArrowProperties.h
index bd64ccc..349264f 100644
--- a/src/common/ArrowProperties.h
+++ b/src/common/ArrowProperties.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ArrowProperties.h
     \brief Definition of the Template class Arrow.
diff --git a/src/common/AutoLock.h b/src/common/AutoLock.h
index b41d64a..95c9941 100755
--- a/src/common/AutoLock.h
+++ b/src/common/AutoLock.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 // File AutoLock.h
 // Baudouin Raoult - ECMWF May 96
diff --git a/src/common/AutoLocker.cc b/src/common/AutoLocker.cc
index 83f54f4..b237f17 100644
--- a/src/common/AutoLocker.cc
+++ b/src/common/AutoLocker.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /* #define CHECK_DEAD_LOCKS */
 
diff --git a/src/common/AutomaticPlotManager.cc b/src/common/AutomaticPlotManager.cc
index d05dc5e..b1cf2ae 100644
--- a/src/common/AutomaticPlotManager.cc
+++ b/src/common/AutomaticPlotManager.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file AutomaticPlotManager.cc
     \brief Implementation of the Template class AutomaticPlotManager.
diff --git a/src/common/AutomaticPlotManager.h b/src/common/AutomaticPlotManager.h
index 5af828e..466ffe0 100644
--- a/src/common/AutomaticPlotManager.h
+++ b/src/common/AutomaticPlotManager.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file AutomaticPlotManager.h
     \brief Definition of the Template class AutomaticPlotManager.
diff --git a/src/common/BackgroundColour.h b/src/common/BackgroundColour.h
index edc5de9..79deaf3 100644
--- a/src/common/BackgroundColour.h
+++ b/src/common/BackgroundColour.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file BackgroundColour.h
     \brief Definition of Colour class.
diff --git a/src/common/BaseParameter.cc b/src/common/BaseParameter.cc
index 1c3978d..d4d7d70 100644
--- a/src/common/BaseParameter.cc
+++ b/src/common/BaseParameter.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file BaseParameter.cc
     \brief Definition of Parameter base class.
diff --git a/src/common/BaseParameter.h b/src/common/BaseParameter.h
index 1a9885c..c92cb2b 100644
--- a/src/common/BaseParameter.h
+++ b/src/common/BaseParameter.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file BaseParameter.h
     \brief Definition of Parameter base class.
diff --git a/src/common/BasePointsHandler.cc b/src/common/BasePointsHandler.cc
index 0bd575f..2da908a 100644
--- a/src/common/BasePointsHandler.cc
+++ b/src/common/BasePointsHandler.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file BasePointsHandler.h
     \brief Definition of the Template base class AbstractPoints.
diff --git a/src/common/BasePointsHandler.h b/src/common/BasePointsHandler.h
index 243f599..54841c5 100644
--- a/src/common/BasePointsHandler.h
+++ b/src/common/BasePointsHandler.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file BasePointsHandler.h
     \brief Definition of the Template base class AbstractPoints.
diff --git a/src/common/CartesianTransformation.cc b/src/common/CartesianTransformation.cc
index 0c0391a..8d228a6 100644
--- a/src/common/CartesianTransformation.cc
+++ b/src/common/CartesianTransformation.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file CartesianTransformation.cc
     \brief Implementation of the Template class CartesianTransformation.
diff --git a/src/common/CartesianTransformation.h b/src/common/CartesianTransformation.h
index d707681..441c891 100644
--- a/src/common/CartesianTransformation.h
+++ b/src/common/CartesianTransformation.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file CartesianTransformation.h
     \brief Definition of the Template class CartesianTransformation.
diff --git a/src/common/Clipper.h b/src/common/Clipper.h
index 8b4be54..d4068c4 100644
--- a/src/common/Clipper.h
+++ b/src/common/Clipper.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Clipper.h
     \brief Definition of the clipping.
diff --git a/src/common/Colour.cc b/src/common/Colour.cc
index 70f1568..647fa0a 100644
--- a/src/common/Colour.cc
+++ b/src/common/Colour.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Colour.cc
     \brief Implementation of Colour class.
diff --git a/src/common/Colour.h b/src/common/Colour.h
index 90a7b16..7e609cf 100644
--- a/src/common/Colour.h
+++ b/src/common/Colour.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Colour.h
     \brief Definition of Colour class.
diff --git a/src/common/ColourTable.cc b/src/common/ColourTable.cc
index afd5046..ac3356d 100644
--- a/src/common/ColourTable.cc
+++ b/src/common/ColourTable.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ColourTable.cc
     \brief Implementation of the Template class ColourTable.
diff --git a/src/common/ColourTable.h b/src/common/ColourTable.h
index 8001681..7766a49 100644
--- a/src/common/ColourTable.h
+++ b/src/common/ColourTable.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ColourTable.h
     \brief Definition of the Template class ColourTable.
diff --git a/src/common/ColourTableDefinition.h b/src/common/ColourTableDefinition.h
index 65e3d39..248d64b 100644
--- a/src/common/ColourTableDefinition.h
+++ b/src/common/ColourTableDefinition.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ColourTableDefinition.h
     \brief Definition of the Template class ColourTableDefinition.
diff --git a/src/common/ColourTableDefinitionCompute.cc b/src/common/ColourTableDefinitionCompute.cc
index 1eb2291..1eb8f72 100644
--- a/src/common/ColourTableDefinitionCompute.cc
+++ b/src/common/ColourTableDefinitionCompute.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ColourTableDefinitionCompute.cc
     \brief Implementation of the Template class ColourTableDefinitionCompute.
diff --git a/src/common/ColourTableDefinitionCompute.h b/src/common/ColourTableDefinitionCompute.h
index f452a77..0869ee4 100644
--- a/src/common/ColourTableDefinitionCompute.h
+++ b/src/common/ColourTableDefinitionCompute.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ColourTableDefinitionCompute.h
     \brief Definition of the Template class ColourTableDefinitionCompute.
diff --git a/src/common/ColourTableDefinitionComputeInterface.h b/src/common/ColourTableDefinitionComputeInterface.h
index 9ee3dba..f58efc6 100644
--- a/src/common/ColourTableDefinitionComputeInterface.h
+++ b/src/common/ColourTableDefinitionComputeInterface.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ColourTableDefinitionComputeInterface.h
     \brief Definition of the Template class ColourTableDefinitionComputeInterface.
diff --git a/src/common/ColourTableDefinitionList.cc b/src/common/ColourTableDefinitionList.cc
index a4bfb9a..53a93e1 100644
--- a/src/common/ColourTableDefinitionList.cc
+++ b/src/common/ColourTableDefinitionList.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ColourTableDefinitionList.cc
     \brief Implementation of the Template class ColourTableDefinitionList.
diff --git a/src/common/ColourTableDefinitionList.h b/src/common/ColourTableDefinitionList.h
index 30e94ee..ae7dd7f 100644
--- a/src/common/ColourTableDefinitionList.h
+++ b/src/common/ColourTableDefinitionList.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ColourTableDefinitionList.h
     \brief Definition of the Template class ColourTableDefinitionList.
diff --git a/src/common/ColourTableDefinitionListInterface.h b/src/common/ColourTableDefinitionListInterface.h
index 6373152..41b7b71 100644
--- a/src/common/ColourTableDefinitionListInterface.h
+++ b/src/common/ColourTableDefinitionListInterface.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ColourTableDefinitionListInterface.h
     \brief Definition of the Template class ColourTableDefinitionListInterface.
diff --git a/src/common/Coordinate.cc b/src/common/Coordinate.cc
index cd8220e..c9b1c6e 100644
--- a/src/common/Coordinate.cc
+++ b/src/common/Coordinate.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Coordinate.cc
     \brief Implementation of the Template class Coordinate.
diff --git a/src/common/Coordinate.h b/src/common/Coordinate.h
index ebd5226..5162440 100644
--- a/src/common/Coordinate.h
+++ b/src/common/Coordinate.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Coordinate.h
     \brief Definition of the Template class Coordinate.
diff --git a/src/common/CustomisedPoint.h b/src/common/CustomisedPoint.h
index ad25158..4db9f93 100644
--- a/src/common/CustomisedPoint.h
+++ b/src/common/CustomisedPoint.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file CustomisedPoint.h
     \brief Definition of the Template class CustomisedPoint.
diff --git a/src/common/Data.cc b/src/common/Data.cc
index 738961b..4bd3438 100644
--- a/src/common/Data.cc
+++ b/src/common/Data.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Data.h
     \brief Definition of the Abstract template class Data.
diff --git a/src/common/Data.h b/src/common/Data.h
index 9041c50..dd34b23 100644
--- a/src/common/Data.h
+++ b/src/common/Data.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Data.h
     \brief Definition of the Abstract template class Data.
@@ -86,6 +78,10 @@ public:
     
     virtual void getReady(const Transformation&) {}
     virtual void visit(Transformation&)          {}
+
+    // Method to access some metada from the data 
+    // This can be used to define some style Like in advanced curve setting!
+    virtual void getInfo(map<string, string>&)  {}
     
     //! Methods to access the data as a file used by pplot action routine
     virtual string path() { throw DataInMemory(); }
diff --git a/src/common/DataStats.cc b/src/common/DataStats.cc
index d14dcd2..b0e9865 100644
--- a/src/common/DataStats.cc
+++ b/src/common/DataStats.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file DataStats.cc
     \brief Implementation of the class DataStats.
diff --git a/src/common/DataStats.h b/src/common/DataStats.h
index a361607..f299deb 100644
--- a/src/common/DataStats.h
+++ b/src/common/DataStats.h
@@ -1,21 +1,12 @@
-
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file DataStats.h
     \brief Definition of the  class  dataStats.
diff --git a/src/common/Decoder.h b/src/common/Decoder.h
index d1b2f88..62c44e7 100644
--- a/src/common/Decoder.h
+++ b/src/common/Decoder.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Decoder.h
     \brief Definition of the Abstract template class Decoder.
diff --git a/src/common/Dimension.cc b/src/common/Dimension.cc
index e1b17d8..2ccc810 100644
--- a/src/common/Dimension.cc
+++ b/src/common/Dimension.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Dimension.h
     \brief Implementation of the Template class Dimension.
diff --git a/src/common/Dimension.h b/src/common/Dimension.h
index e4a6ef6..2d87665 100644
--- a/src/common/Dimension.h
+++ b/src/common/Dimension.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Dimension.h
     \brief Definition of the Template class Dimension.
diff --git a/src/common/DriverStatic.cc b/src/common/DriverStatic.cc
index 27a64d0..d701078 100644
--- a/src/common/DriverStatic.cc
+++ b/src/common/DriverStatic.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file DriverStatic.cc
     \brief Implementation of the Template class DriverStatic.
diff --git a/src/common/DriverStatic.h b/src/common/DriverStatic.h
index cb0abde..450d86d 100644
--- a/src/common/DriverStatic.h
+++ b/src/common/DriverStatic.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file DriverStatic.h
     \brief Definition of the Template class DriverStatic.
diff --git a/src/common/Factory.cc b/src/common/Factory.cc
index b6eeee4..0285139 100644
--- a/src/common/Factory.cc
+++ b/src/common/Factory.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Factory.cc
     \brief Definition of Parameter base class.
diff --git a/src/common/Factory.h b/src/common/Factory.h
index 6a67cc5..63a463b 100644
--- a/src/common/Factory.h
+++ b/src/common/Factory.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Factory.h
     \brief Definition of Factory  class.
diff --git a/src/common/Flag.cc b/src/common/Flag.cc
index fcc7eb0..22da5ef 100644
--- a/src/common/Flag.cc
+++ b/src/common/Flag.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Flag.cc
     \brief Implementation of the Template class Flag.
diff --git a/src/common/Flag.h b/src/common/Flag.h
index 154b087..a30dde6 100644
--- a/src/common/Flag.h
+++ b/src/common/Flag.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Flag.h
     \brief Definition of the Template class Flag.
diff --git a/src/common/Frame.cc b/src/common/Frame.cc
index ea31f0e..714b1d0 100644
--- a/src/common/Frame.cc
+++ b/src/common/Frame.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Frame.h
     \brief Implementation of the Template class Frame.
diff --git a/src/common/Frame.h b/src/common/Frame.h
index acdb73d..de3cd60 100644
--- a/src/common/Frame.h
+++ b/src/common/Frame.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Frame.h
     \brief Definition of the Template class Frame.
diff --git a/src/common/FrameBase.cc b/src/common/FrameBase.cc
index 8838cdd..063bed6 100644
--- a/src/common/FrameBase.cc
+++ b/src/common/FrameBase.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file FrameBase.cc
     \brief Implementation of the Template class FrameBase.
diff --git a/src/common/FrameBase.h b/src/common/FrameBase.h
index eefb5d2..2e1652f 100644
--- a/src/common/FrameBase.h
+++ b/src/common/FrameBase.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file FrameBase.h
     \brief Definition of the Template class FrameBase.
diff --git a/src/common/FullPaperPoint.h b/src/common/FullPaperPoint.h
index 963fdbb..2dba01a 100644
--- a/src/common/FullPaperPoint.h
+++ b/src/common/FullPaperPoint.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file PaperPoint.h
     \brief Definition of Point (x, y, z, v).
diff --git a/src/common/GeoPoint.h b/src/common/GeoPoint.h
index 519d409..569cb8f 100644
--- a/src/common/GeoPoint.h
+++ b/src/common/GeoPoint.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 // File UserPoint
 // Sylvie Lamy-Thepaut ECMWF 2002
diff --git a/src/common/GeoRectangularProjection.cc b/src/common/GeoRectangularProjection.cc
index 746c920..d381c54 100644
--- a/src/common/GeoRectangularProjection.cc
+++ b/src/common/GeoRectangularProjection.cc
@@ -1,22 +1,12 @@
-/******************************** LICENSE ********************************
-
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
- 
- Licensed under the Apache License, Version 2.0 (the "License"); 
- you may not use this file except in compliance with the License. 
- You may obtain a copy of the License at 
- 
- 	http://www.apache.org/licenses/LICENSE-2.0
- 
- Unless required by applicable law or agreed to in writing, software 
- distributed under the License is distributed on an "AS IS" BASIS, 
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
- See the License for the specific language governing permissions and 
- limitations under the License.
-
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file GeoRectangularProjection.cc
     \brief Implementation of GeoRectangularProjection.
diff --git a/src/common/GeoRectangularProjection.h b/src/common/GeoRectangularProjection.h
index 79db350..ffa31b3 100644
--- a/src/common/GeoRectangularProjection.h
+++ b/src/common/GeoRectangularProjection.h
@@ -1,22 +1,12 @@
-/******************************** LICENSE ********************************
-
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
- 
- Licensed under the Apache License, Version 2.0 (the "License"); 
- you may not use this file except in compliance with the License. 
- You may obtain a copy of the License at 
- 
- 	http://www.apache.org/licenses/LICENSE-2.0
- 
- Unless required by applicable law or agreed to in writing, software 
- distributed under the License is distributed on an "AS IS" BASIS, 
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
- See the License for the specific language governing permissions and 
- limitations under the License.
-
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*!
     \file GeoRectangularProjection.h
diff --git a/src/common/GribInterpretor.h b/src/common/GribInterpretor.h
index 10c0783..3a42871 100644
--- a/src/common/GribInterpretor.h
+++ b/src/common/GribInterpretor.h
@@ -1,22 +1,12 @@
-
-
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- 
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Matrix.h
     \brief Implementation of the Template class Matrix.
diff --git a/src/common/HeightTableDefinition.h b/src/common/HeightTableDefinition.h
index 6a506bd..e8602fa 100644
--- a/src/common/HeightTableDefinition.h
+++ b/src/common/HeightTableDefinition.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file HeightTableDefinition.h
     \brief Definition of Colour class.
diff --git a/src/common/Image.h b/src/common/Image.h
index 74e4576..03ab021 100644
--- a/src/common/Image.h
+++ b/src/common/Image.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Image.h
     \brief Definition of the Template class Image.
diff --git a/src/common/ImageProperties.h b/src/common/ImageProperties.h
index 1525a66..9123a28 100644
--- a/src/common/ImageProperties.h
+++ b/src/common/ImageProperties.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ImageProperties.h
     \brief Definition of the Template class ImageProperties.
diff --git a/src/common/ImportObject.cc b/src/common/ImportObject.cc
index 45a4d64..8fbcbf5 100644
--- a/src/common/ImportObject.cc
+++ b/src/common/ImportObject.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ImportObject.h
     \brief Implementation of the Template class ImportObject.
diff --git a/src/common/ImportObject.h b/src/common/ImportObject.h
index ce44641..1770def 100644
--- a/src/common/ImportObject.h
+++ b/src/common/ImportObject.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ImportObject.h
     \brief Definition of the Template class ImportObject.
diff --git a/src/common/InteractiveSet.cc b/src/common/InteractiveSet.cc
index 4afa5ec..a1fb21d 100644
--- a/src/common/InteractiveSet.cc
+++ b/src/common/InteractiveSet.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 // File InteractiveSet.cc
 // Magics Team - ECMWF 2004
diff --git a/src/common/InteractiveSet.h b/src/common/InteractiveSet.h
index 3a9457e..c5d22d8 100644
--- a/src/common/InteractiveSet.h
+++ b/src/common/InteractiveSet.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file InteractiveSet.h
     \brief Implementation of InteractiveSet class.
diff --git a/src/common/IntervalMap.h b/src/common/IntervalMap.h
index 141d845..78fa321 100644
--- a/src/common/IntervalMap.h
+++ b/src/common/IntervalMap.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file IntervalMap.h
     \brief Definition of the Template class IntervalMap
diff --git a/src/common/Label.cc b/src/common/Label.cc
index 58e6e3b..99820ca 100644
--- a/src/common/Label.cc
+++ b/src/common/Label.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Label.h
     \brief Implementation of the Template class Label.
diff --git a/src/common/Label.h b/src/common/Label.h
index 258c909..4857ad7 100644
--- a/src/common/Label.h
+++ b/src/common/Label.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Label.h
     \brief Definition of the Template class Label.
diff --git a/src/common/Layout.cc b/src/common/Layout.cc
index d69c8ec..b86c314 100644
--- a/src/common/Layout.cc
+++ b/src/common/Layout.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Layout.cc
     \brief Implementation of the Template class Layout.
diff --git a/src/common/Layout.h b/src/common/Layout.h
index f138062..872c07e 100644
--- a/src/common/Layout.h
+++ b/src/common/Layout.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Layout.h
     \brief Definition of the Template class Layout.
diff --git a/src/common/LevelTableDefinition.h b/src/common/LevelTableDefinition.h
index 2604a46..0ac137c 100644
--- a/src/common/LevelTableDefinition.h
+++ b/src/common/LevelTableDefinition.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file LevelTableDefinition.h
     \brief Definition of Colour class.
diff --git a/src/common/LogoPlotting.cc b/src/common/LogoPlotting.cc
index 9da5368..f1ea695 100644
--- a/src/common/LogoPlotting.cc
+++ b/src/common/LogoPlotting.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file LogoPlotting.cc
     \brief Implementation of the Template class LogoPlotting.
diff --git a/src/common/LogoPlotting.h b/src/common/LogoPlotting.h
index 5698cb9..25ecf38 100644
--- a/src/common/LogoPlotting.h
+++ b/src/common/LogoPlotting.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file LogoPlotting.h
     \brief Definition of the Template class LogoPlotting.
diff --git a/src/common/LogoPlottingBase.h b/src/common/LogoPlottingBase.h
index 13e3de5..a2fc3c4 100644
--- a/src/common/LogoPlottingBase.h
+++ b/src/common/LogoPlottingBase.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file MagLogoPlottingBase.h
     \brief Definition of the Template class MagLogoPlottingBase.
diff --git a/src/common/MagException.cc b/src/common/MagException.cc
index 6693d5c..cba1bc3 100644
--- a/src/common/MagException.cc
+++ b/src/common/MagException.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 // File Exception
 // Sylvie Lamy-Thepaut - ECMWF Mar 02
diff --git a/src/common/MagException.h b/src/common/MagException.h
index ca10b16..b7e159f 100644
--- a/src/common/MagException.h
+++ b/src/common/MagException.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 #ifndef MagicsException_H
 #define MagicsException_H
diff --git a/src/common/MagExceptions.cc b/src/common/MagExceptions.cc
index f0a9c9f..b5b96e0 100644
--- a/src/common/MagExceptions.cc
+++ b/src/common/MagExceptions.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 #include <signal.h>
 
diff --git a/src/common/MagExceptions.h b/src/common/MagExceptions.h
index a46a4dc..c9a08c5 100644
--- a/src/common/MagExceptions.h
+++ b/src/common/MagExceptions.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 #ifndef MagMagExceptions_H
 #define MagMagExceptions_H
diff --git a/src/common/MagFont.cc b/src/common/MagFont.cc
index f966334..6f2b6b3 100644
--- a/src/common/MagFont.cc
+++ b/src/common/MagFont.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file MagFont.cc
     \brief Implementation of the Template class MagFont.
diff --git a/src/common/MagFont.h b/src/common/MagFont.h
index 1204620..307d528 100644
--- a/src/common/MagFont.h
+++ b/src/common/MagFont.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file MagFont.h
     \brief Definition of the Template class MagFont.
diff --git a/src/common/MagLog.cc b/src/common/MagLog.cc
index 1d1c213..a82b6aa 100644
--- a/src/common/MagLog.cc
+++ b/src/common/MagLog.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file MagLog.cc
     \brief Implementation of the MagLog class.
diff --git a/src/common/MagLog.h b/src/common/MagLog.h
index 84e3ee1..afeca27 100644
--- a/src/common/MagLog.h
+++ b/src/common/MagLog.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file MagLog.h
     \brief Definition of log class.
diff --git a/src/common/MagTranslator.h b/src/common/MagTranslator.h
index 8570b7e..eec3bdd 100644
--- a/src/common/MagTranslator.h
+++ b/src/common/MagTranslator.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file MagTranslator.h
     \brief Definition of MagTranslator class.
diff --git a/src/common/MagicsCalls.cc b/src/common/MagicsCalls.cc
index 962dffe..5f4b41a 100644
--- a/src/common/MagicsCalls.cc
+++ b/src/common/MagicsCalls.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file MagicsCalls.cc
     \brief Implementation of Fortran and C interface
diff --git a/src/common/MagicsFormat.cc b/src/common/MagicsFormat.cc
index 9bf1345..26b7cbf 100644
--- a/src/common/MagicsFormat.cc
+++ b/src/common/MagicsFormat.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 #include "MagicsFormat.h"
 #include <ios>
@@ -44,6 +36,31 @@ bool MagicsFormat::valid(ostream& out) const
 		out << bufr; 
 		return true;
 	}
+
+	 /* Added to allow rounded values to appear on a contour with a 'PS' prefix for positive figures and to remove '-' from negative figures */
+
+    if ( magCompare(format_, "(aeronautical)") || magCompare(format_, "aeronautical" ) )
+    {
+        char bufr[256];
+        double trVal=trunc(value_);
+        if(value_ == trVal  &&  static_cast<double>(static_cast<int>(trVal)) == trVal)
+        {
+            if(static_cast<int>(trVal)<0)
+                sprintf(bufr, "%d", -static_cast<int>(trVal));
+            else
+                sprintf(bufr, "PS%d", static_cast<int>(trVal));
+        }
+        else
+        {
+            if(value_<0)
+                sprintf(bufr, "%.0f", -value_);
+            else
+                sprintf(bufr, "PS%.0f", value_);
+        }
+
+        out << bufr;
+        return true;
+    }
     
 	string print =  "%g";
 	string flags;
diff --git a/src/common/MagicsFormat.h b/src/common/MagicsFormat.h
index d447a34..332b823 100644
--- a/src/common/MagicsFormat.h
+++ b/src/common/MagicsFormat.h
@@ -1,22 +1,15 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
-#ifndef MagicsFormat_H
-#define MagicsFormat_H
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
+
+#ifndef MagicsFormat_H
+#define MagicsFormat_H
 #include "magics.h"
 
 
@@ -37,7 +30,7 @@ public:
 	{ 		
 		return manip.format(out);
 	}
-	string format_;
+	string format_;
 	double value_;
 };
 
diff --git a/src/common/MagicsParameter.cc b/src/common/MagicsParameter.cc
index f7f7d41..0838779 100644
--- a/src/common/MagicsParameter.cc
+++ b/src/common/MagicsParameter.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 // File MagicsParameter.cc
 // Magics Team - ECMWF 2004
diff --git a/src/common/MagicsParameter.h b/src/common/MagicsParameter.h
index e535a99..ad7b11d 100644
--- a/src/common/MagicsParameter.h
+++ b/src/common/MagicsParameter.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file MagicsParameter.h
     \brief Definition of the MagicsParameter template class.
diff --git a/src/common/MagicsSingleton.h b/src/common/MagicsSingleton.h
index 99c7a9c..3f432a0 100644
--- a/src/common/MagicsSingleton.h
+++ b/src/common/MagicsSingleton.h
@@ -1,21 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
-
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file MagicsSingleton.h
 
diff --git a/src/common/MagicsThreads.cc b/src/common/MagicsThreads.cc
index 8ef722e..c12c8e8 100644
--- a/src/common/MagicsThreads.cc
+++ b/src/common/MagicsThreads.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file MagicsThreads.cc
     \brief Implementation of the Template class MagicsThreads.
diff --git a/src/common/MagicsThreads.h b/src/common/MagicsThreads.h
index b1cee81..a1fc9c2 100644
--- a/src/common/MagicsThreads.h
+++ b/src/common/MagicsThreads.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file MagicsThreads.h
     \brief Definition of the Template class MagicsThreads.
diff --git a/src/common/Matrix.cc b/src/common/Matrix.cc
index b3c7940..254acb8 100644
--- a/src/common/Matrix.cc
+++ b/src/common/Matrix.cc
@@ -1,22 +1,12 @@
-
-
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
- 
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Matrix.h
     \brief Implementation of the Template class Matrix.
@@ -607,10 +597,13 @@ double Matrix::operator()(int row, int column) const
 GeoBoxMatrixHandler::GeoBoxMatrixHandler(const AbstractMatrix& matrix, const Transformation& transformation):
 	  TransformMatrixHandler(matrix), transformation_(transformation), original_(0)
 {
+
 	map<double, int> lats;
 	map<double, int> lons;
+	
 	double lon, lat;
 	double minlon, minlat, maxlon, maxlat;
+	
 
 	transformation.boundingBox(minlon, minlat, maxlon, maxlat);
 
@@ -644,12 +637,10 @@ GeoBoxMatrixHandler::GeoBoxMatrixHandler(const AbstractMatrix& matrix, const Tra
 	for (int i = 0; i < columns; i++)
 	{
 		lon = matrix_.regular_column(i);
-
-		if ( minlon <= lon && lon <= maxlon)
+		if ( minlon <= lon && lon <= maxlon) 
 			lons[lon] = i;
 
 		double ml = lon - 360;
-
 		while ( ml >= minlon && ml <= maxlon ) {  lons[ml] = i; ml -= 360; }
 		ml = lon + 360;
 		while (  ml >= minlon && ml <= maxlon ) {  lons[ml] = i; ml += 360; }
@@ -671,7 +662,9 @@ GeoBoxMatrixHandler::GeoBoxMatrixHandler(const AbstractMatrix& matrix, const Tra
 	for (int i = 0; i < rows; i++) {
 
 		lat = matrix_.regular_row(i);
-		if ( minlat <= lat && lat <= maxlat) lats[lat] = i;
+		if ( minlat <= lat && lat <= maxlat) 
+			lats[lat] = i;
+		
 
 	}
 	i = 0;
@@ -682,7 +675,7 @@ GeoBoxMatrixHandler::GeoBoxMatrixHandler(const AbstractMatrix& matrix, const Tra
 		i++;
 	}
 
-
+	
 }
 MatrixHandler* RotatedMatrix::getReady(const Transformation&) const
 {
diff --git a/src/common/Matrix.h b/src/common/Matrix.h
index e6b516e..6c4c7af 100644
--- a/src/common/Matrix.h
+++ b/src/common/Matrix.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Matrix.h
     \brief Definition of the Template class Matrix.
diff --git a/src/common/MatrixHandler.h b/src/common/MatrixHandler.h
index 8454abe..2e3aea7 100644
--- a/src/common/MatrixHandler.h
+++ b/src/common/MatrixHandler.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file MatrixHandler.h
     \brief Definition of the Template class MatrixHandler.
@@ -226,8 +218,9 @@ public :
     virtual int firstColumn() const { return matrix_.firstColumn(); }
     virtual int nextColumn(int j, int f) const  { return matrix_.nextColumn(j, f); } 
     
-    void setMinMax() const {
-    	int nb_rows = rows();
+    virtual void setMinMax() const {
+        
+        int nb_rows = rows();
     	int nb_columns = columns();
     	double missing =  matrix_.missing();    
     	        	
@@ -242,20 +235,24 @@ public :
     }
     
     double min() const {
-      	 if ( min_ != INT_MAX) 
+       
+      	if ( min_ != INT_MAX) 
       		 return min_;
       	
       	setMinMax();
-      	 return min_;
+      	return min_;
+        
      }
      
-       double max() const {
-      	 if ( max_ != -INT_MAX) 
+    double max() const {
+       
+    	 
+        if ( max_ != -INT_MAX) 
       		 return max_; 
-      	 
+      	
       	setMinMax();
-      	 return max_;
-       }
+      	return max_;
+    }
     
     virtual double  minX() const { return matrix_.minX(); }
     virtual double  maxX() const { return matrix_.maxX(); }
@@ -645,10 +642,12 @@ public:
         }
         return -1;
     }
+
     
+   
     inline double column(int, int column) const {   	
        	return regular_longitudes_[column];
-   }
+    }
     inline double row(int row, int) const {
     	return regular_latitudes_[row];
     }
diff --git a/src/common/MetaData.cc b/src/common/MetaData.cc
index 870a888..9744e7f 100644
--- a/src/common/MetaData.cc
+++ b/src/common/MetaData.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file MetaData.h
     \brief Implementation of the Template class MetaData.
diff --git a/src/common/MetaData.h b/src/common/MetaData.h
index 14e1784..9ff5230 100644
--- a/src/common/MetaData.h
+++ b/src/common/MetaData.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file MetaData.h
     \brief Definition of the Template class MetaData.
diff --git a/src/common/Mutex.cc b/src/common/Mutex.cc
index 5034c19..116fa72 100644
--- a/src/common/Mutex.cc
+++ b/src/common/Mutex.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 #ifndef marsmachine_H
 #include "marsmachine.h"
diff --git a/src/common/Mutex.h b/src/common/Mutex.h
index 9c7f41a..6bdcabb 100644
--- a/src/common/Mutex.h
+++ b/src/common/Mutex.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 // File Mutex.h
 // Baudouin Raoult - ECMWF May 96
diff --git a/src/common/MutexCond.cc b/src/common/MutexCond.cc
index d126652..ed6dc43 100644
--- a/src/common/MutexCond.cc
+++ b/src/common/MutexCond.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 #include <time.h>
 
diff --git a/src/common/MutexCond.h b/src/common/MutexCond.h
index a3f8834..ec73141 100644
--- a/src/common/MutexCond.h
+++ b/src/common/MutexCond.h
@@ -1,36 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************//******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 // File MutexCond.h
 // Baudouin Raoult - ECMWF Jun 96
diff --git a/src/common/Node.cc b/src/common/Node.cc
index 9e7402c..e153c33 100644
--- a/src/common/Node.cc
+++ b/src/common/Node.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Node.cc
     \brief Implementation of the Template class Node.
diff --git a/src/common/Node.h b/src/common/Node.h
index 7ee99bb..4276099 100644
--- a/src/common/Node.h
+++ b/src/common/Node.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Node.h
     \brief Definition of the Template class Node.
diff --git a/src/common/OutputFactory.cc b/src/common/OutputFactory.cc
index a52ea7b..163fafb 100644
--- a/src/common/OutputFactory.cc
+++ b/src/common/OutputFactory.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file OutputFactory.cc
     \brief Implementation of the Template class OutputFactory.
diff --git a/src/common/OutputFactory.h b/src/common/OutputFactory.h
index 0656c27..bbdbfea 100644
--- a/src/common/OutputFactory.h
+++ b/src/common/OutputFactory.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file OutputFactory.h
     \brief Definition of the Template class OutputFactory.
diff --git a/src/common/OutputHandler.cc b/src/common/OutputHandler.cc
index 94968a7..6b13f60 100644
--- a/src/common/OutputHandler.cc
+++ b/src/common/OutputHandler.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file OutputHandler.cc
     \brief Implementation of the Template class OutputHandler.
diff --git a/src/common/OutputHandler.h b/src/common/OutputHandler.h
index 1cfec3b..6580efb 100644
--- a/src/common/OutputHandler.h
+++ b/src/common/OutputHandler.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file OutputHandler.h
     \brief Definition of the Template class OutputHandler.
diff --git a/src/common/PageID.cc b/src/common/PageID.cc
index 8cd95a3..15a7564 100644
--- a/src/common/PageID.cc
+++ b/src/common/PageID.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file PageID.h
     \brief Implementation of the Template class PageID.
diff --git a/src/common/PageID.h b/src/common/PageID.h
index 7abaadc..63fc60a 100644
--- a/src/common/PageID.h
+++ b/src/common/PageID.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file PageID.h
     \brief Definition of the Template class PageID.
diff --git a/src/common/PageIDBase.h b/src/common/PageIDBase.h
index 5111c58..d14749b 100644
--- a/src/common/PageIDBase.h
+++ b/src/common/PageIDBase.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file PageIDBase.h
     \brief Definition of the Template class PageIDBase.
diff --git a/src/common/PaperDimension.h b/src/common/PaperDimension.h
index 972dd00..0c4f251 100644
--- a/src/common/PaperDimension.h
+++ b/src/common/PaperDimension.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file PaperDimension.h
     \brief Definition of the Template class PaperDimension.
diff --git a/src/common/PaperPoint.h b/src/common/PaperPoint.h
index 63ccc71..26342e2 100644
--- a/src/common/PaperPoint.h
+++ b/src/common/PaperPoint.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file PaperPoint.h
     \brief Definition of Point (x, y, z, v).
diff --git a/src/common/ParameterManager.cc b/src/common/ParameterManager.cc
index 2da6368..41ade70 100644
--- a/src/common/ParameterManager.cc
+++ b/src/common/ParameterManager.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ParameterManager.cc
  Magics Team - ECMWF 2004
diff --git a/src/common/ParameterManager.h b/src/common/ParameterManager.h
index 537a97f..6132795 100644
--- a/src/common/ParameterManager.h
+++ b/src/common/ParameterManager.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ParameterManager.h
     \brief Handles the Magics Parameters
diff --git a/src/common/Path.h b/src/common/Path.h
index 06e4b3a..1bdd6fb 100644
--- a/src/common/Path.h
+++ b/src/common/Path.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 // File Path
 // Sylvie Lamy-Thepaut - ECMWF Mar 02
diff --git a/src/common/PlotManager.cc b/src/common/PlotManager.cc
index d29e53e..e64eacf 100644
--- a/src/common/PlotManager.cc
+++ b/src/common/PlotManager.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file PlotManager.cc
     \brief Implementation of the Template class PlotManager.
diff --git a/src/common/PlotManager.h b/src/common/PlotManager.h
index 456fbd1..7a477b2 100644
--- a/src/common/PlotManager.h
+++ b/src/common/PlotManager.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file PlotManager.h
     \brief Definition of the Template class PlotManager.
diff --git a/src/common/PointsHandler.cc b/src/common/PointsHandler.cc
index 4780096..db4b4f5 100644
--- a/src/common/PointsHandler.cc
+++ b/src/common/PointsHandler.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file PointsHandler.h
     \brief Definition of the Template class PointsHandler.
diff --git a/src/common/PointsHandler.h b/src/common/PointsHandler.h
index aca5ca0..ebb8019 100644
--- a/src/common/PointsHandler.h
+++ b/src/common/PointsHandler.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file PointsHandler.h
     \brief Definition of the Template class PointsHandler.
diff --git a/src/common/PolarStereographicProjection.cc b/src/common/PolarStereographicProjection.cc
index be82d54..6c3789c 100644
--- a/src/common/PolarStereographicProjection.cc
+++ b/src/common/PolarStereographicProjection.cc
@@ -1,22 +1,12 @@
-/******************************** LICENSE ********************************
-
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
- 
- Licensed under the Apache License, Version 2.0 (the "License"); 
- you may not use this file except in compliance with the License. 
- You may obtain a copy of the License at 
- 
- 	http://www.apache.org/licenses/LICENSE-2.0
- 
- Unless required by applicable law or agreedto in writing, software
- distributed under the License is distributed on an "AS IS" BASIS, 
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
- See the License for the specific language governing permissions and 
- limitations under the License.
-
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file PolarStereographicProjection.cc
     \brief Implementation of PolarStereographicProjection.
diff --git a/src/common/PolarStereographicProjection.h b/src/common/PolarStereographicProjection.h
index 61698c3..cb0fa88 100644
--- a/src/common/PolarStereographicProjection.h
+++ b/src/common/PolarStereographicProjection.h
@@ -1,22 +1,12 @@
-/******************************** LICENSE ********************************
-
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
- 
- Licensed under the Apache License, Version 2.0 (the "License"); 
- you may not use this file except in compliance with the License. 
- You may obtain a copy of the License at 
- 
- 	http://www.apache.org/licenses/LICENSE-2.0
- 
- Unless required by applicable law or agreed to in writing, software 
- distributed under the License is distributed on an "AS IS" BASIS, 
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
- See the License for the specific language governing permissions and 
- limitations under the License.
-
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*!
     \file PolarStereographicProjection.h
diff --git a/src/common/PolyCoast.h b/src/common/PolyCoast.h
index 4b58ccb..49d8960 100644
--- a/src/common/PolyCoast.h
+++ b/src/common/PolyCoast.h
@@ -1,21 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
-
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file PolyCoast.h
     \brief Definition of the Template class CoastPlotting.
diff --git a/src/common/Polyline.cc b/src/common/Polyline.cc
index af51193..9a5e381 100644
--- a/src/common/Polyline.cc
+++ b/src/common/Polyline.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Polyline.cc
     \brief Implementation of polyline graphics class (template).
diff --git a/src/common/Polyline.h b/src/common/Polyline.h
index a0c4ffc..d529ad1 100644
--- a/src/common/Polyline.h
+++ b/src/common/Polyline.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Polyline.h
     \brief Definition of polyline graphics class.
diff --git a/src/common/ProgressObject.cc b/src/common/ProgressObject.cc
index dd08613..a5170fb 100644
--- a/src/common/ProgressObject.cc
+++ b/src/common/ProgressObject.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 // File ProgressObject.cc
 // Magics Team - ECMWF 2004
diff --git a/src/common/ProgressObject.h b/src/common/ProgressObject.h
index 8d47b08..bc04a03 100644
--- a/src/common/ProgressObject.h
+++ b/src/common/ProgressObject.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 // File ProgressObject.h
 // Magics Team - ECMWF 2004
diff --git a/src/common/ProgressTask.cc b/src/common/ProgressTask.cc
index 74b4a5a..d259577 100644
--- a/src/common/ProgressTask.cc
+++ b/src/common/ProgressTask.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 // File ProgressTask.cc
 // Magics Team - ECMWF 2004
diff --git a/src/common/ProgressTask.h b/src/common/ProgressTask.h
index 1ace422..23cb992 100644
--- a/src/common/ProgressTask.h
+++ b/src/common/ProgressTask.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 // File ProgressTask.h
 // Magics Team - ECMWF 2004
diff --git a/src/common/Proj4Projection.cc b/src/common/Proj4Projection.cc
index b337c0c..1668fc2 100644
--- a/src/common/Proj4Projection.cc
+++ b/src/common/Proj4Projection.cc
@@ -1,22 +1,12 @@
-/******************************** LICENSE ********************************
-
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
- 
- Licensed under the Apache License, Version 2.0 (the "License"); 
- you may not use this file except in compliance with the License. 
- You may obtain a copy of the License at 
- 
- 	http://www.apache.org/licenses/LICENSE-2.0
- 
- Unless required by applicable law or agreed to in writing, software 
- distributed under the License is distributed on an "AS IS" BASIS, 
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
- See the License for the specific language governing permissions and 
- limitations under the License.
-
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Proj4Projection.cc
     \brief Implementation of Proj4Projection.
diff --git a/src/common/Proj4Projection.h b/src/common/Proj4Projection.h
index 822485c..1980e9b 100644
--- a/src/common/Proj4Projection.h
+++ b/src/common/Proj4Projection.h
@@ -1,22 +1,12 @@
-/******************************** LICENSE ********************************
-
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
- 
- Licensed under the Apache License, Version 2.0 (the "License"); 
- you may not use this file except in compliance with the License. 
- You may obtain a copy of the License at 
- 
- 	http://www.apache.org/licenses/LICENSE-2.0
- 
- Unless required by applicable law or agreed to in writing, software 
- distributed under the License is distributed on an "AS IS" BASIS, 
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
- See the License for the specific language governing permissions and 
- limitations under the License.
-
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*!
     \file Proj4Projection.h
diff --git a/src/common/RasterData.cc b/src/common/RasterData.cc
index 952419d..9ecb04d 100644
--- a/src/common/RasterData.cc
+++ b/src/common/RasterData.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file RasterData.cc
     \brief Implementation of the Template class RasterData.
diff --git a/src/common/RasterData.h b/src/common/RasterData.h
index 3cd1a11..b1fadde 100644
--- a/src/common/RasterData.h
+++ b/src/common/RasterData.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file RasterData.h
     \brief Definition of the Template class RasterData.
diff --git a/src/common/SciMethods.cc b/src/common/SciMethods.cc
index b2fdd25..8196268 100644
--- a/src/common/SciMethods.cc
+++ b/src/common/SciMethods.cc
@@ -1,22 +1,12 @@
-/******************************** LICENSE ********************************
-
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
- 
- Licensed under the Apache License, Version 2.0 (the "License"); 
- you may not use this file except in compliance with the License. 
- You may obtain a copy of the License at 
- 
- 	http://www.apache.org/licenses/LICENSE-2.0
- 
- Unless required by applicable law or agreed to in writing, software 
- distributed under the License is distributed on an "AS IS" BASIS, 
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
- See the License for the specific language governing permissions and 
- limitations under the License.
-
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*!
     \file SciMethods.cc
diff --git a/src/common/SciMethods.h b/src/common/SciMethods.h
index 3d21131..bb8c581 100644
--- a/src/common/SciMethods.h
+++ b/src/common/SciMethods.h
@@ -1,22 +1,12 @@
-/******************************** LICENSE ********************************
-
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
- 
- Licensed under the Apache License, Version 2.0 (the "License"); 
- you may not use this file except in compliance with the License. 
- You may obtain a copy of the License at 
- 
- 	http://www.apache.org/licenses/LICENSE-2.0
- 
- Unless required by applicable law or agreed to in writing, software 
- distributed under the License is distributed on an "AS IS" BASIS, 
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
- See the License for the specific language governing permissions and 
- limitations under the License.
-
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*!
     \file SciMethods.h
diff --git a/src/common/Seconds.cc b/src/common/Seconds.cc
index 8c884ef..c6d64cb 100644
--- a/src/common/Seconds.cc
+++ b/src/common/Seconds.cc
@@ -1,23 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
-
-
-
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 #include "Seconds.h"
 
diff --git a/src/common/Seconds.h b/src/common/Seconds.h
index 3183601..17c2fd0 100644
--- a/src/common/Seconds.h
+++ b/src/common/Seconds.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 // File Seconds.h
 // Baudouin Raoult - ECMWF Jul 96
diff --git a/src/common/Static.cc b/src/common/Static.cc
index 535d9d6..342a09c 100644
--- a/src/common/Static.cc
+++ b/src/common/Static.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 #include "Static.h"
 #include "MagException.h"
diff --git a/src/common/Static.h b/src/common/Static.h
index 41ada13..f8f5695 100644
--- a/src/common/Static.h
+++ b/src/common/Static.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 #ifndef Static_H
 #define Static_H
diff --git a/src/common/Symbol.cc b/src/common/Symbol.cc
index ffc4f3f..c9d7fac 100644
--- a/src/common/Symbol.cc
+++ b/src/common/Symbol.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Symbol.cc
     \brief Implementation of Symbol graphics class (template).
diff --git a/src/common/Symbol.h b/src/common/Symbol.h
index e98d0cc..fa289c5 100644
--- a/src/common/Symbol.h
+++ b/src/common/Symbol.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Symbol.h
     \brief Definition of Symbol graphics class.
diff --git a/src/common/TableDefinition.h b/src/common/TableDefinition.h
index 03044ef..fb3c89d 100644
--- a/src/common/TableDefinition.h
+++ b/src/common/TableDefinition.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file TableDefinition.h
     \brief Definition of the Template class TableDefinition.
diff --git a/src/common/TableDefinitionCompute.cc b/src/common/TableDefinitionCompute.cc
index 5ca18e5..f355768 100644
--- a/src/common/TableDefinitionCompute.cc
+++ b/src/common/TableDefinitionCompute.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file TableDefinitionCompute.cc
     \brief Implementation of the Template class TableDefinitionCompute.
diff --git a/src/common/TableDefinitionCompute.h b/src/common/TableDefinitionCompute.h
index fbbf6a5..562f2e9 100644
--- a/src/common/TableDefinitionCompute.h
+++ b/src/common/TableDefinitionCompute.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file TableDefinitionCompute.h
     \brief Definition of the Template class TableDefinitionCompute.
diff --git a/src/common/TableDefinitionComputeInterface.h b/src/common/TableDefinitionComputeInterface.h
index a9967e0..b9cc6a9 100644
--- a/src/common/TableDefinitionComputeInterface.h
+++ b/src/common/TableDefinitionComputeInterface.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file TableDefinitionComputeInterface.h
     \brief Definition of the Template class TableDefinitionComputeInterface.
diff --git a/src/common/TableDefinitionList.cc b/src/common/TableDefinitionList.cc
index e30a5d4..021b645 100644
--- a/src/common/TableDefinitionList.cc
+++ b/src/common/TableDefinitionList.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file TableDefinitionList.cc
     \brief Implementation of the Template class TableDefinitionList.
diff --git a/src/common/TableDefinitionList.h b/src/common/TableDefinitionList.h
index 7df1896..5ed1e9e 100644
--- a/src/common/TableDefinitionList.h
+++ b/src/common/TableDefinitionList.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file TableDefinitionList.h
     \brief Definition of the Template class TableDefinitionList.
diff --git a/src/common/TableDefinitionListInterface.h b/src/common/TableDefinitionListInterface.h
index 25492c9..08be853 100644
--- a/src/common/TableDefinitionListInterface.h
+++ b/src/common/TableDefinitionListInterface.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file TableDefinitionListInterface.h
     \brief Definition of the Template class TableDefinitionListInterface.
diff --git a/src/common/Task.cc b/src/common/Task.cc
index d047dae..ddca87c 100644
--- a/src/common/Task.cc
+++ b/src/common/Task.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 #ifndef Task_H
 #include "Task.h"
diff --git a/src/common/Task.h b/src/common/Task.h
index aaa446f..fc465ef 100644
--- a/src/common/Task.h
+++ b/src/common/Task.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 // File Task.h
 // Baudouin Raoult - ECMWF May 96
diff --git a/src/common/TaylorProjection.cc b/src/common/TaylorProjection.cc
index 1dbf4a9..ef69816 100644
--- a/src/common/TaylorProjection.cc
+++ b/src/common/TaylorProjection.cc
@@ -1,22 +1,12 @@
-/******************************** LICENSE ********************************
-
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
- 
- Licensed under the Apache License, Version 2.0 (the "License"); 
- you may not use this file except in compliance with the License. 
- You may obtain a copy of the License at 
- 
- 	http://www.apache.org/licenses/LICENSE-2.0
- 
- Unless required by applicable law or agreed to in writing, software 
- distributed under the License is distributed on an "AS IS" BASIS, 
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
- See the License for the specific language governing permissions and 
- limitations under the License.
-
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file TaylorProjection.cc
     \brief Implementation of TaylorProjection.
diff --git a/src/common/TaylorProjection.h b/src/common/TaylorProjection.h
index 37bc935..1b821d4 100644
--- a/src/common/TaylorProjection.h
+++ b/src/common/TaylorProjection.h
@@ -1,22 +1,12 @@
-/******************************** LICENSE ********************************
-
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
- 
- Licensed under the Apache License, Version 2.0 (the "License"); 
- you may not use this file except in compliance with the License. 
- You may obtain a copy of the License at 
- 
- 	http://www.apache.org/licenses/LICENSE-2.0
- 
- Unless required by applicable law or agreed to in writing, software 
- distributed under the License is distributed on an "AS IS" BASIS, 
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
- See the License for the specific language governing permissions and 
- limitations under the License.
-
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*!
     \file TaylorProjection.h
diff --git a/src/common/Tephigram.cc b/src/common/Tephigram.cc
index 8445d9e..91aa55d 100644
--- a/src/common/Tephigram.cc
+++ b/src/common/Tephigram.cc
@@ -1,22 +1,12 @@
-/******************************** LICENSE ********************************
-
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
- 
- Licensed under the Apache License, Version 2.0 (the "License"); 
- you may not use this file except in compliance with the License. 
- You may obtain a copy of the License at 
- 
- 	http://www.apache.org/licenses/LICENSE-2.0
- 
- Unless required by applicable law or agreed to in writing, software 
- distributed under the License is distributed on an "AS IS" BASIS, 
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
- See the License for the specific language governing permissions and 
- limitations under the License.
-
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Tephigram.cc
     \brief Implementation of Tephigram.
diff --git a/src/common/Tephigram.h b/src/common/Tephigram.h
index 2a21524..c678766 100644
--- a/src/common/Tephigram.h
+++ b/src/common/Tephigram.h
@@ -1,22 +1,12 @@
-/******************************** LICENSE ********************************
-
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
- 
- Licensed under the Apache License, Version 2.0 (the "License"); 
- you may not use this file except in compliance with the License. 
- You may obtain a copy of the License at 
- 
- 	http://www.apache.org/licenses/LICENSE-2.0
- 
- Unless required by applicable law or agreed to in writing, software 
- distributed under the License is distributed on an "AS IS" BASIS, 
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 
- See the License for the specific language governing permissions and 
- limitations under the License.
-
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*!
     \file Tephigram.h
diff --git a/src/common/Text.cc b/src/common/Text.cc
index 85da3da..56d8a11 100644
--- a/src/common/Text.cc
+++ b/src/common/Text.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Text.cc
     \brief Implementation of Text graphics class (template).
diff --git a/src/common/Text.h b/src/common/Text.h
index 6ecb4e0..1a653eb 100644
--- a/src/common/Text.h
+++ b/src/common/Text.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Text.h
     \brief Definition of Text graphics class.
diff --git a/src/common/Thread.cc b/src/common/Thread.cc
index 1e4eb6a..e9bd3a0 100644
--- a/src/common/Thread.cc
+++ b/src/common/Thread.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 #ifndef marsmachine_H
 #include "marsmachine.h"
diff --git a/src/common/Thread.h b/src/common/Thread.h
index 93749cd..169a2ae 100644
--- a/src/common/Thread.h
+++ b/src/common/Thread.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 // File Thread.h
 // Baudouin Raoult - ECMWF Jun 96
diff --git a/src/common/ThreadControler.cc b/src/common/ThreadControler.cc
index 3f6fc31..3d6e8fc 100644
--- a/src/common/ThreadControler.cc
+++ b/src/common/ThreadControler.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 #ifndef marsmachine_H
 #include "marsmachine.h"
diff --git a/src/common/ThreadControler.h b/src/common/ThreadControler.h
index 61a6583..852c3eb 100644
--- a/src/common/ThreadControler.h
+++ b/src/common/ThreadControler.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 // File ThreadControler.h
 // Baudouin Raoult - ECMWF May 96
diff --git a/src/common/ThreadSingleton.cc b/src/common/ThreadSingleton.cc
index 2eec3cf..bb0e470 100755
--- a/src/common/ThreadSingleton.cc
+++ b/src/common/ThreadSingleton.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 #ifndef marsmachine_H
 #include "marsmachine.h"
diff --git a/src/common/ThreadSingleton.h b/src/common/ThreadSingleton.h
index 58d0cae..ad54d54 100755
--- a/src/common/ThreadSingleton.h
+++ b/src/common/ThreadSingleton.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 // File ThreadSingleton.h
 // Baudouin Raoult - ECMWF Jun 96
diff --git a/src/common/Timer.cc b/src/common/Timer.cc
index 102b934..891c353 100644
--- a/src/common/Timer.cc
+++ b/src/common/Timer.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 #ifndef marsmachine_H
 #include "magics.h"
diff --git a/src/common/Timer.h b/src/common/Timer.h
index 5dc8699..b4f66a9 100644
--- a/src/common/Timer.h
+++ b/src/common/Timer.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 // File Timer.h
 // Baudouin Raoult - ECMWF May 96
diff --git a/src/common/Tokenizer.cc b/src/common/Tokenizer.cc
index 93a6327..42d8db0 100644
--- a/src/common/Tokenizer.cc
+++ b/src/common/Tokenizer.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 #ifndef   Tokenizer_H
 #include "Tokenizer.h"
diff --git a/src/common/Tokenizer.h b/src/common/Tokenizer.h
index 7bd255b..90ea0d2 100644
--- a/src/common/Tokenizer.h
+++ b/src/common/Tokenizer.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 // File Tokenizer.h
 // Manuel Fuentes - ECMWF Jan 97
diff --git a/src/common/Transformation.cc b/src/common/Transformation.cc
index 2645566..1dfde5a 100644
--- a/src/common/Transformation.cc
+++ b/src/common/Transformation.cc
@@ -8,19 +8,6 @@
  * does it submit to any jurisdiction.
  */
 
-
-/******************************** LICENSE ********************************
-
-  Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF) 
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-
- ******************************** LICENSE ********************************/
-
 // File Transformation.cc
 // Magics Team - ECMWF 2004
 
diff --git a/src/common/Transformation.h b/src/common/Transformation.h
index 7284aaa..5fb4090 100644
--- a/src/common/Transformation.h
+++ b/src/common/Transformation.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \defgroup projections Geographical projections
 
diff --git a/src/common/UserPoint.h b/src/common/UserPoint.h
index a49fc1b..e9d56cf 100644
--- a/src/common/UserPoint.h
+++ b/src/common/UserPoint.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file UserPoint.h
     \brief Definition of Point (x, y, z, v).
diff --git a/src/common/Visualiser.h b/src/common/Visualiser.h
index f2f62ec..164bab9 100644
--- a/src/common/Visualiser.h
+++ b/src/common/Visualiser.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Visualiser.h
     \brief Definition of the Template class Visualiser.
diff --git a/src/common/XCoordinate.h b/src/common/XCoordinate.h
index 5958ccf..dd45f78 100644
--- a/src/common/XCoordinate.h
+++ b/src/common/XCoordinate.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file XCoordinate.h
     \brief Definition of the Template class XCoordinate.
diff --git a/src/common/XmlNode.cc b/src/common/XmlNode.cc
index a69dea9..4115bb1 100644
--- a/src/common/XmlNode.cc
+++ b/src/common/XmlNode.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file XmlNode.cc
     \brief Implementation of the Template class XmlNode.
diff --git a/src/common/XmlNode.h b/src/common/XmlNode.h
index e599d6e..63242ee 100644
--- a/src/common/XmlNode.h
+++ b/src/common/XmlNode.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file XmlNode.h
     \brief Definition of the Template class XmlNode.
diff --git a/src/common/XmlReader.cc b/src/common/XmlReader.cc
index 8a87ab9..95c157a 100644
--- a/src/common/XmlReader.cc
+++ b/src/common/XmlReader.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file XmlReader.cc
     \brief Implementation of the Reader for Xml.
diff --git a/src/common/XmlReader.h b/src/common/XmlReader.h
index ae61151..06a7114 100644
--- a/src/common/XmlReader.h
+++ b/src/common/XmlReader.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file XmlReader.h
     \brief Definition of the Template class XmlReader.
diff --git a/src/common/XmlTree.cc b/src/common/XmlTree.cc
index 2ec6ed0..f588a86 100644
--- a/src/common/XmlTree.cc
+++ b/src/common/XmlTree.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file XmlTree.h
     \brief Implementation of the Template class XmlTree.
diff --git a/src/common/XmlTree.h b/src/common/XmlTree.h
index 06ba1e0..b796433 100644
--- a/src/common/XmlTree.h
+++ b/src/common/XmlTree.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file XmlTree.h
     \brief Definition of the Template class XmlTree.
diff --git a/src/common/YCoordinate.h b/src/common/YCoordinate.h
index 363ca83..3b5a8e4 100644
--- a/src/common/YCoordinate.h
+++ b/src/common/YCoordinate.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file XCoordinate.h
     \brief Definition of the Template class XCoordinate.
diff --git a/src/common/aix.h b/src/common/aix.h
index d15b3e8..42cead3 100644
--- a/src/common/aix.h
+++ b/src/common/aix.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 #ifndef MagicsAIX_H
 #define MagicsAIX_H
diff --git a/src/common/linux.h b/src/common/linux.h
index b0e75c2..cfbf46d 100644
--- a/src/common/linux.h
+++ b/src/common/linux.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 #include <stdio.h>
 #include <pthread.h>
diff --git a/src/common/magics_api.h b/src/common/magics_api.h
index 7cc59bb..17ba06f 100644
--- a/src/common/magics_api.h
+++ b/src/common/magics_api.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file magics_api.h
   \brief Implementation of C interface
diff --git a/src/common/marsmachine.h b/src/common/marsmachine.h
index 03a1628..1c6da51 100644
--- a/src/common/marsmachine.h
+++ b/src/common/marsmachine.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 #ifndef marsmachine_H
 #define marsmachine_H
diff --git a/src/decoders/Netcdf.cc b/src/decoders/Netcdf.cc
index a230f4d..a1fcdba 100644
--- a/src/decoders/Netcdf.cc
+++ b/src/decoders/Netcdf.cc
@@ -42,6 +42,7 @@ Convertor<From,To>::Convertor(NetVariable& var) : variable_(var)
 	To offset(0);
 	scale_factor_ = variable_.getAttribute("scale_factor", scale);
 	add_offset_ = variable_.getAttribute("add_offset", offset);
+	missing_ = variable_.getMissing();
 }
 
 
@@ -96,9 +97,9 @@ Netcdf::~Netcdf()
 double Netcdf::getMissing(const string& var, const string& attr)
 {
 
-	double missing = getAttribute(attr, getDefaultMissing(var));
-	missing = getVariableAttribute(var, attr, missing);
-	return missing;
+	missing_ = getAttribute(attr, getDefaultMissing(var));
+	missing_ = getVariableAttribute(var, attr, missing_);
+	return missing_;
 }
 
 void Netcdf::print(ostream& out)  const
diff --git a/src/decoders/Netcdf.h b/src/decoders/Netcdf.h
index 606a5ef..0fc2f76 100644
--- a/src/decoders/Netcdf.h
+++ b/src/decoders/Netcdf.h
@@ -109,13 +109,14 @@ struct Convertor
 {
 	Convertor(NetVariable& );
 	To operator()(From from)
-	{      
-		return from * scale_factor_ + add_offset_;
+	{     
+        return  ( from != missing_) ? from * scale_factor_ + add_offset_ : missing_;
 	}  
 
 	NetVariable& variable_;
 	To    scale_factor_;
 	To    add_offset_;
+    From  missing_;
 };
 
 
@@ -164,6 +165,7 @@ struct NetVariable
 	NcVar* id_;
 	map<string, NetDimension> dimensions_;
 	map<string, NetAttribute> attributes_;
+    double missing_;
     
 	NetVariable(const string& name, NcVar* id, const NcFile& file, const string& method);
 
@@ -220,6 +222,8 @@ struct NetVariable
         s << "]" << "\n";
         
     }
+
+    double getMissing() { return missing_; }
     
     template <class T> 
     T  getAttribute(const string& name, T def) 
@@ -295,6 +299,7 @@ public:
     
         map<string, NetVariable>::iterator var = variables_.find(name);
         if ( var == variables_.end() ) throw NoSuchNetcdfVariable(name);
+        (*var).second.missing_ = missing_;
         (*var).second.get(vals, first, last);
     }
 
@@ -357,6 +362,7 @@ protected:
 	map<string, NetDimension> dimensions_;
 	map<string, NetVariable> dataset_;
 	map<string, NetAttribute> attributes_;
+    double missing_;
      
 private:
 	NcFile    file_;
diff --git a/src/decoders/NetcdfDecoder.cc b/src/decoders/NetcdfDecoder.cc
index a23160e..fc8962c 100644
--- a/src/decoders/NetcdfDecoder.cc
+++ b/src/decoders/NetcdfDecoder.cc
@@ -25,6 +25,7 @@
 #include "Factory.h"
 #include "Transformation.h"
 #include "MagnifierVisitor.h"
+#include "MagJSon.h"
 
 using namespace magics;
 
@@ -75,6 +76,14 @@ void NetcdfDecoder::visit(MagnifierVisitor& magnify)
 	 
 }
 
+void NetcdfDecoder::getInfo(map<string, string>& infos)
+{
+	ParamJSon data(metadata_);
+
+	for (map<string, string>::iterator info = infos.begin(); info != infos.end(); ++info)
+		info->second = data.get(info->first, info->second);
+
+}
 void NetcdfDecoder::visit(MetaDataCollector& mdc)
 {
 	bool interpretorCalled=false;
diff --git a/src/decoders/NetcdfDecoder.h b/src/decoders/NetcdfDecoder.h
index 1af9662..f603d54 100644
--- a/src/decoders/NetcdfDecoder.h
+++ b/src/decoders/NetcdfDecoder.h
@@ -70,6 +70,8 @@ public:
     void visit(Transformation& transformation) {
     	 (*interpretor_).visit(transformation);    
     }
+
+    void getInfo(map<string, string>&);
     
     MatrixHandler& matrix() {
         MagLog::dev() << "NetcdfDecoder::matrix! " << "\n";
diff --git a/src/decoders/NetcdfGeoMatrixInterpretor.cc b/src/decoders/NetcdfGeoMatrixInterpretor.cc
index 851d2ae..bcf60b3 100644
--- a/src/decoders/NetcdfGeoMatrixInterpretor.cc
+++ b/src/decoders/NetcdfGeoMatrixInterpretor.cc
@@ -127,7 +127,7 @@ bool NetcdfGeoMatrixInterpretor::interpretAsPoints(PointsList& list)
 		vector<double> values;
 		map<string, string> first, last;
 		setDimensions(dimension_, first, last);
-		double missing_value = missing(netcdf);
+		double missing_value =  netcdf.getMissing(field_, missing_attribute_);
 		
 		netcdf.get(field_, values, first, last);
 		netcdf.get(longitude_, longitudes, first, last);
diff --git a/src/drivers/CairoDriver.cc b/src/drivers/CairoDriver.cc
index 35c951d..c5a3c64 100644
--- a/src/drivers/CairoDriver.cc
+++ b/src/drivers/CairoDriver.cc
@@ -1514,9 +1514,9 @@ MAGICS_NO_EXPORT bool CairoDriver::renderCellArray(const Image& image) const
 /*
 	const long dim=width*height;
 	unsigned char *chImage = new unsigned char[dim*4];
-	int jj = 0;
+	long jj = 0;
 //	const Colour none("none");
-	for(int j=0;j<dim; j++)
+	for(long j=0;j<dim; j++)
 	{
 		const short c = image[j];
 
@@ -1541,7 +1541,7 @@ MAGICS_NO_EXPORT bool CairoDriver::renderCellArray(const Image& image) const
 		}
 	}
 
-	cairo_surface_t* surImage = cairo_image_surface_create_for_data(
+	cairo_surface_t* surfaceImage = cairo_image_surface_create_for_data(
 		chImage,
 		CAIRO_FORMAT_ARGB32,
 		width,
@@ -1554,10 +1554,10 @@ MAGICS_NO_EXPORT bool CairoDriver::renderCellArray(const Image& image) const
 	const double scY = (image.getHeight()*coordRatioY_) /height;
 	cairo_scale (cr_, scX, -scY);
 
-	cairo_set_source_surface(cr_, surImage, 0, 0);
+	cairo_set_source_surface(cr_, surfaceImage, 0, 0);
 	cairo_paint(cr_);
 
-	cairo_surface_destroy (surImage);
+	cairo_surface_destroy (surfaceImage);
 */
 	cairo_restore(cr_);
 	cairo_set_antialias(cr_, t);
@@ -1604,8 +1604,8 @@ MAGICS_NO_EXPORT void CairoDriver::renderSymbols(const Symbol& symbol) const
 		if(image)
 		{
 			cairo_save(cr_);
-			int w = cairo_image_surface_get_width(image);
-			int h = cairo_image_surface_get_height(image);
+			const int w = cairo_image_surface_get_width(image);
+			const int h = cairo_image_surface_get_height(image);
 
 			cairo_translate (cr_, projectX(symbol[0].x()), projectY(symbol[0].y()));
 			const MFloat scaling = convertCM(symbol.getHeight()*.1) / coordRatioY_;
diff --git a/src/drivers/PostScriptDriver.cc b/src/drivers/PostScriptDriver.cc
index d381d8b..450b460 100644
--- a/src/drivers/PostScriptDriver.cc
+++ b/src/drivers/PostScriptDriver.cc
@@ -1261,6 +1261,41 @@ MAGICS_NO_EXPORT bool PostScriptDriver::renderPixmap(MFloat x0,MFloat y0,MFloat
 */
 MAGICS_NO_EXPORT bool PostScriptDriver::renderCellArray(const Image& image) const
 {
+	ColourTable &lt  = image.getColourTable();
+	const int width  = image.getNumberOfColumns();
+	const int height = image.getNumberOfRows();
+//	const double tr  = image.getTransparency();
+	const MFloat x0  = image.getOrigin().x();
+	const MFloat y0  = image.getOrigin().y();
+	const double scX =  (image.getWidth() ) /width;
+	const double scY = -(image.getHeight()) /height;
+
+	fstream *ps = getStream();
+	*ps << "gs" << std::endl;
+
+	for(unsigned int h=0;h<height; h++)
+	{
+	  for(unsigned int w=0;w<width; w++)
+	  {
+		  const short c  = image[w + (width*h)];
+		  const float cr = lt[c].red();
+		  const float cg = lt[c].green();
+		  const float cb = lt[c].blue();
+		  if(cr*cg*cb >=0){
+		    setNewColour(Colour(cr,cg,cb));
+		    writeColour();
+		    const MFloat xx0 = x0+(w*scX);
+		    const MFloat yy0 = y0+(h*scY);
+
+		    MFloat x[4] = {xx0, xx0+scX, xx0+scX, xx0};
+		    MFloat y[4] = {yy0, yy0    , yy0+scY, yy0+scY};
+		    renderSimplePolygon(4, &x[0], &y[0]);
+		  }
+	  }
+	}
+	*ps << "gr" << std::endl;
+
+/*
    ColourTable &lt  = image.getColourTable();
    const int width  = image.getNumberOfColumns();
    const int height = image.getNumberOfRows();
@@ -1359,6 +1394,7 @@ MAGICS_NO_EXPORT bool PostScriptDriver::renderCellArray(const Image& image) cons
    {
 	MagLog::warning() << "PostScriptDriver: failed to plot CellArray with wrong dimensions! Width: "<<width<<" Height: "<<height << std::endl;
    }
+*/
    return true;
 }
 
diff --git a/src/oda/OdaDecoder.cc b/src/oda/OdaDecoder.cc
index 107b21c..75d79d1 100644
--- a/src/oda/OdaDecoder.cc
+++ b/src/oda/OdaDecoder.cc
@@ -713,7 +713,6 @@ void OdaXYDecoder::customisedPoints(const Transformation& transformation, const
 {  
 	try
 	{
-  
 		odb_start();
 		odb::Reader oda(path_);
 
@@ -902,7 +901,6 @@ void OdaXYDecoder::decode(const Transformation& transformation)
 
 	try
 	{
-	  
 	      odb_start();
 	      odb::Reader oda(path_);
 
diff --git a/src/params/Curve.xml b/src/params/Curve.xml
index e5272e0..db8fcbb 100644
--- a/src/params/Curve.xml
+++ b/src/params/Curve.xml
@@ -88,7 +88,7 @@ does it submit to any jurisdiction.
    		<set name="graph_missing_data_style" value="join">		</set>
    		<set name="graph_missing_data_colour" value="join">		</set>
    		<set name="graph_missing_data_thickness" value="join">		</set>
-    		<set name="graph_missing_data_style" value="drop">		</set>
+    	<set name="graph_missing_data_style" value="drop">		</set>
    		<set name="graph_missing_data_colour" value="drop">		</set>
    		<set name="graph_missing_data_thickness" value="drop">		</set>
  	</parameter>
@@ -107,5 +107,58 @@ does it submit to any jurisdiction.
          		<documentation> If stepped, use an histogram style 		</documentation>
          		
   	</parameter>
+
+    <parameter from="string" name="graph_style_setting" default="simple" member="style_setting" to="string" values="simple/advanced">
+            <documentation> Should we use the advanced setting advanced    </documentation>
+    </parameter>
+    
+    <parameter from="string" name="graph_line_style_variable_name" default="" member="style_key" to="string">
+            <documentation> Data Variable used for setting the line style of the segments     </documentation>
+    </parameter>
+    
+    <parameter from="stringarray" name="graph_line_style_value_list" default="stringarray()" member="style_keys" to="stringarray">
+            <documentation> list of line styles to use    </documentation>
+    </parameter>
+    
+    <parameter from="stringarray" name="graph_line_style_list" default="stringarray()" member="style_list" to="stringarray">
+            <documentation> list of line styles to use    </documentation>
+    </parameter>
+   
+    <parameter from="string" name="graph_line_style_list_policy" default="lastone" member="style_policy" to="ListPolicy">
+            <documentation> What to do if the list of line styles is smaller that the list of levels: lastone/cycle   </documentation>
+    </parameter>
+
+    <parameter from="string" name="graph_colour_variable_name" default="" member="colour_key" to="string">
+            <documentation> Data Variable used for setting the line style of the segments     </documentation>
+    </parameter>
+    
+    <parameter from="stringarray" name="graph_colour_value_list" default="stringarray()" member="colour_keys" to="stringarray">
+            <documentation> list of line styles to use    </documentation>
+    </parameter>
+
+    <parameter from="stringarray" name="graph_colour_list" default="stringarray()" member="colour_list" to="stringarray">
+            <documentation> list of line styles to use    </documentation>
+    </parameter>
+   
+    <parameter from="string" name="graph_colour_list_policy" default="lastone" member="colour_policy" to="ListPolicy">
+            <documentation> What to do if the list of line styles is smaller that the list of levels: lastone/cycle   </documentation>
+    </parameter>
+
+    <parameter from="string" name="graph_thickness_variable_name" default="" member="thickness_key" to="string">
+            <documentation> Data Variable used for setting the line style of the segments     </documentation>
+    </parameter>
+
+    <parameter from="stringarray" name="graph_thickness_value_list" default="stringarray()" member="thickness_keys" to="stringarray">
+            <documentation> list of line styles to use    </documentation>
+    </parameter>
+    
+    <parameter from="intarray" name="graph_thickness_list" default="intarray()" member="thickness_list" to="intarray">
+            <documentation> list of line styles to use    </documentation>
+    </parameter>
+   
+    <parameter from="string" name="graph_thickness_list_policy" default="lastone" member="thickness_policy" to="ListPolicy">
+            <documentation> What to do if the list of line styles is smaller that the list of levels: lastone/cycle   </documentation>
+    </parameter>
+
   	
 </class></magics>
diff --git a/src/params/EpsGraph.xml b/src/params/EpsGraph.xml
index 7125ea0..a63793f 100644
--- a/src/params/EpsGraph.xml
+++ b/src/params/EpsGraph.xml
@@ -25,6 +25,11 @@ does it submit to any jurisdiction.
         	</parameter>
           	<parameter member="box_shift" to="int" default="0" from="int" name="eps_box_shift">           
         	</parameter>
+            <parameter xml="box_quantiles_colour" from="stringarray" name="eps_box_quantiles_colour" default="stringarray()" 
+                member="quantiles_colour" to="stringarray">
+            <documentation> if set, the list of colours will be used as follow colour1 between 10-25, colour2 between 25-75, colour3 between 75-90 </documentation>         
+            </parameter>
+
         	<parameter xml="right_box_colour" from="string" name="eps_right_box_colour" default="red" member="right_colour" to="Colour">           
         	</parameter>
         	<parameter xml="left_box_colour" from="string" name="eps_left_box_colour" default="blue" member="left_colour" to="Colour">           
diff --git a/src/params/FortranViewNode.xml b/src/params/FortranViewNode.xml
index 06dd41f..23ff56b 100644
--- a/src/params/FortranViewNode.xml
+++ b/src/params/FortranViewNode.xml
@@ -36,8 +36,8 @@ does it submit to any jurisdiction.
          		<documentation>Projection to set in the drawing area 		</documentation>
 
             		<option xml="cylindrical" fortran="cylindrical" include="GeoRectangularProjection.h" name="GeoRectangularProjection">		</option>
-
-               		<option xml="polar_stereographic" fortran="polar_stereographic" include="PolarStereographicProjection.h" name="PolarStereographicProjection">		</option>
+    
+             		<option xml="polar_stereographic" fortran="polar_stereographic" include="PolarStereographicProjection.h" name="PolarStereographicProjection">		</option>
         		<option fortran="polar_north" include="Proj4Projection.h" name="Proj4PolarNorth">		</option>
  				<option fortran="geos" include="Proj4Projection.h" name="Proj4Geos">		</option>
  				<option fortran="meteosat" include="Proj4Projection.h" name="Proj4Meteosat0">		</option>
@@ -46,7 +46,8 @@ does it submit to any jurisdiction.
  				<option fortran="goes_west" include="Proj4Projection.h" name="Proj4Geosw">		</option-->
  				<option fortran="goes_east" include="Proj4Projection.h" name="Proj4Geose">		</option>
  				<option fortran="lambert" include="Proj4Projection.h" name="Proj4Lambert">		</option>
- 				<option fortran="EPSG3857" include="Proj4Projection.h" name="Proj4EPSG3857">		</option>
+ 				<option fortran="EPSG:3857" include="Proj4Projection.h" name="Proj4EPSG3857">		</option>
+ 				<option fortran="EPSG:4326" include="Proj4Projection.h" name="Proj4EPSG4326">		</option>
  				<option fortran="goode" include="Proj4Projection.h" name="Proj4Goode">		</option>
  				<option fortran="collignon" include="Proj4Projection.h" name="Proj4Collignon">		</option>
  				<option fortran="mollweide" include="Proj4Projection.h" name="Proj4Mollweide">		</option>
@@ -54,9 +55,7 @@ does it submit to any jurisdiction.
  				<option fortran="bonne" include="Proj4Projection.h" name="Proj4Bonne">		</option>
  				<option fortran="google" include="Proj4Projection.h" name="Proj4Google">		</option>
  				<option fortran="efas" include="Proj4Projection.h" name="Proj4Efas">		</option>
- 				<option fortran="EPSG4326" include="Proj4Projection.h" name="Proj4EPSG4326">		</option>
  				<option fortran="lambert_north_atlantic" include="Proj4Projection.h" name="Proj4LambertNorthAtlantic">		</option>
-
         		<option xml="mercator" fortran="mercator" include="Proj4Projection.h" name="Proj4Mercator">		</option>
 				<option xml="cartesian" fortran="cartesian" include="CartesianTransformation.h" name="CartesianTransformation">		</option>
         		<option xml="taylor" fortran="taylor" include="TaylorProjection.h" name="TaylorProjection">		</option>
diff --git a/src/params/HiLoNumber.xml b/src/params/HiLoNumber.xml
index 97c6361..6327553 100644
--- a/src/params/HiLoNumber.xml
+++ b/src/params/HiLoNumber.xml
@@ -3,7 +3,7 @@
   	<documentation>
 This object is reponsible for plotting the HI/Lo as text.
   	</documentation>
-  	<parameter xml="format" from="string" name="contour_hilo_format" default="(automatic)" member="format" to="string">
+  	
 <!--
 (C) Copyright 1996-2016 ECMWF.
 
@@ -14,9 +14,6 @@ granted to it by virtue of its status as an intergovernmental organisation nor
 does it submit to any jurisdiction.
 -->
 
-         		<documentation> Format of HILO numbers (MAGICS Format/(AUTOMATIC)) 		</documentation>
-         		<release>Magics++0.1		</release>
-         		<release_info>Parameter defined but not implemented : expected in 0.7		</release_info>
-  	</parameter> 
+         		
  
 </class></magics>
diff --git a/src/params/HiLoTechnique.xml b/src/params/HiLoTechnique.xml
index da12d29..20b5bd6 100644
--- a/src/params/HiLoTechnique.xml
+++ b/src/params/HiLoTechnique.xml
@@ -31,4 +31,10 @@ does it submit to any jurisdiction.
          		<documentation> Colour of local minima text or number 		</documentation>
          		<release>0.1		</release>
 	</parameter>
+    <parameter xml="format" from="string" name="contour_hilo_format" default="(automatic)" member="format" to="string">
+        <documentation> Format of HILO numbers (MAGICS Format/(AUTOMATIC))      </documentation>
+                <release>Magics++0.1        </release>
+                <release_info>Parameter defined but not implemented : expected in 0.7       </release_info>
+    
+    </parameter>
 </class></magics>
diff --git a/src/params/NetcdfDecoder.xml b/src/params/NetcdfDecoder.xml
index 548b463..5af18e7 100644
--- a/src/params/NetcdfDecoder.xml
+++ b/src/params/NetcdfDecoder.xml
@@ -29,8 +29,11 @@ does it submit to any jurisdiction.
           		<option fortran="xypoint" include="NetcdfGeopointsInterpretor.h" name="NetcdfXYpointsInterpretor">		</option>  
          		<option xml="complex_matrix" fortran="complex_matrix" include="NetcdfOrcaInterpretor.h" name="NetcdfOrcaInterpretor">		</option>
 
-        		<release>Magics++0.1		</release>
-        		<release_info>Only matrix is implemented		</release_info>
+
+        		
         		<documentation>Type of data arrangement in the file (possible values: matrix) 		</documentation>
     	</parameter>
+      <parameter member="metadata" to="string" default="{}" from="string" name="netcdf_metadata">
+        <documentation>Json string containing metadata information: useful to choose a style     </documentation>
+      </parameter>
 </class></magics>
diff --git a/src/params/SimplePolyline.xml b/src/params/SimplePolyline.xml
index 85e606a..2d7e9f0 100644
--- a/src/params/SimplePolyline.xml
+++ b/src/params/SimplePolyline.xml
@@ -140,7 +140,6 @@ does it submit to any jurisdiction.
   	
   	<parameter from="string" name="polyline_line_style_variable_name" default="" member="style_key" to="string">
          		<documentation> Data Variable used for setting the line style of the segments 		</documentation>
-
   	</parameter>
   	<parameter from="stringarray" name="polyline_line_style_list" default="stringarray()" member="style_list" to="stringarray">
          		<documentation> list of line styles to use 		</documentation>
diff --git a/src/visualisers/Akima474.cc b/src/visualisers/Akima474.cc
index f90aa18..33e4ea8 100644
--- a/src/visualisers/Akima474.cc
+++ b/src/visualisers/Akima474.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Akima474.cc
     Implementation of Akima474 class.
diff --git a/src/visualisers/Akima474Method.h b/src/visualisers/Akima474Method.h
index 4e454ce..84f3ab8 100644
--- a/src/visualisers/Akima474Method.h
+++ b/src/visualisers/Akima474Method.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Akima474Method.h
     \brief Definition of the Template class Akima474Method.
diff --git a/src/visualisers/Akima760.cc b/src/visualisers/Akima760.cc
index 50bdee4..85ce0f3 100644
--- a/src/visualisers/Akima760.cc
+++ b/src/visualisers/Akima760.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Akima760.cc
     Implementation of Akima760 class.
diff --git a/src/visualisers/Akima760Method.cc b/src/visualisers/Akima760Method.cc
index 5a3eec9..14dc4c0 100644
--- a/src/visualisers/Akima760Method.cc
+++ b/src/visualisers/Akima760Method.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Akima760Method.cc
     \brief Implementation of the Template class Akima760Method.
diff --git a/src/visualisers/Akima760Method.h b/src/visualisers/Akima760Method.h
index e807d23..da01339 100644
--- a/src/visualisers/Akima760Method.h
+++ b/src/visualisers/Akima760Method.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Akima760Method.h
     \brief Definition of the Template class Akima760Method.
diff --git a/src/visualisers/Akima761.cc b/src/visualisers/Akima761.cc
index a500b4d..81efa64 100644
--- a/src/visualisers/Akima761.cc
+++ b/src/visualisers/Akima761.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Akima761.cc
     Implementation of Akima761 class.
diff --git a/src/visualisers/Akima761Method.cc b/src/visualisers/Akima761Method.cc
index 5528efc..38c0154 100644
--- a/src/visualisers/Akima761Method.cc
+++ b/src/visualisers/Akima761Method.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Akima761Method.cc
     \brief Implementation of the Template class Akima761Method.
diff --git a/src/visualisers/Akima761Method.h b/src/visualisers/Akima761Method.h
index 6223b6d..f24c420 100644
--- a/src/visualisers/Akima761Method.h
+++ b/src/visualisers/Akima761Method.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Akima761Method.h
     \brief Definition of the Template class Akima761Method.
diff --git a/src/visualisers/ArrowPlotting.cc b/src/visualisers/ArrowPlotting.cc
index f490a6e..abb0205 100644
--- a/src/visualisers/ArrowPlotting.cc
+++ b/src/visualisers/ArrowPlotting.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file WindPlotting.cc
     \brief Implementation of the Template class Wind.
diff --git a/src/visualisers/ArrowPlotting.h b/src/visualisers/ArrowPlotting.h
index 8472742..5dd5201 100644
--- a/src/visualisers/ArrowPlotting.h
+++ b/src/visualisers/ArrowPlotting.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ArrowPlotting.h
     \brief Definition of the Template class ArrowPlotting.
diff --git a/src/visualisers/AutomaticContourMethod.h b/src/visualisers/AutomaticContourMethod.h
index d84cf22..09a94e6 100644
--- a/src/visualisers/AutomaticContourMethod.h
+++ b/src/visualisers/AutomaticContourMethod.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file AutomaticContourMethod.h
     \brief Definition of the Template class AutomaticContourMethod.
diff --git a/src/visualisers/Axis.cc b/src/visualisers/Axis.cc
index 0b6fa86..9514be0 100644
--- a/src/visualisers/Axis.cc
+++ b/src/visualisers/Axis.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Axis.cc
     \brief Implementation of the Template class Axis.
@@ -370,7 +362,7 @@ void VerticalAxis::label(VerticalAxisVisitor& axis)
 		if ( count % label_frequency_  ) continue;
 
 
-		double height = ((*y)->height() == DBL_MIN || (*y)->height() == 0 ) ? label_height_ : (*y)->height();
+		double height = ((*y)->height() == DBL_MIN || (*y)->height() == 0 ) ? label_height_  : (*y)->height();
 		double pos;
 		map<int, double>::iterator p = positions.find((*y)->level());
 
@@ -383,7 +375,7 @@ void VerticalAxis::label(VerticalAxisVisitor& axis)
 			double newpos = axis.offsetTickLabel(height, p->second);
 			positions[(*y)->level()] = newpos;
 
-			title_position_ = newpos;
+			title_position_ = axis.offsetTickLabel(height * label.size()/2, p->second);;
 		}
         PaperPoint point(pos, transformation.y((*y)->position()));
 
diff --git a/src/visualisers/Axis.h b/src/visualisers/Axis.h
index 032f664..25580bd 100644
--- a/src/visualisers/Axis.h
+++ b/src/visualisers/Axis.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Axis.h
     \brief Definition of the Template class Axis.
diff --git a/src/visualisers/AxisControl.cc b/src/visualisers/AxisControl.cc
index cd9fd1a..a7fb1cb 100644
--- a/src/visualisers/AxisControl.cc
+++ b/src/visualisers/AxisControl.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file AxisControl.cc
     \brief Implementation of the Template class AxisControl.
diff --git a/src/visualisers/AxisControl.h b/src/visualisers/AxisControl.h
index bcb16e7..13852b5 100644
--- a/src/visualisers/AxisControl.h
+++ b/src/visualisers/AxisControl.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file AxisControl.h
     \brief Definition of the Template class AxisControl.
diff --git a/src/visualisers/AxisGrid.cc b/src/visualisers/AxisGrid.cc
index 82b7e8a..eb21cd7 100644
--- a/src/visualisers/AxisGrid.cc
+++ b/src/visualisers/AxisGrid.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file AxisGrid.cc
     \brief Implementation of the Template class AxisGrid.
diff --git a/src/visualisers/AxisGrid.h b/src/visualisers/AxisGrid.h
index 375df68..db108b0 100644
--- a/src/visualisers/AxisGrid.h
+++ b/src/visualisers/AxisGrid.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file AxisGrid.h
     \brief Definition of the Template class AxisGrid.
diff --git a/src/visualisers/AxisItem.cc b/src/visualisers/AxisItem.cc
index 9014ec1..be5b4d6 100644
--- a/src/visualisers/AxisItem.cc
+++ b/src/visualisers/AxisItem.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file AxisItem.cc
     \brief Implementation of the Template class AxisItem.
diff --git a/src/visualisers/AxisItem.h b/src/visualisers/AxisItem.h
index c7f8626..daccc9f 100644
--- a/src/visualisers/AxisItem.h
+++ b/src/visualisers/AxisItem.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file AxisItem.h
     \brief Definition of the Template class AxisItem.
diff --git a/src/visualisers/AxisLine.cc b/src/visualisers/AxisLine.cc
index e93ff43..12e6f0b 100644
--- a/src/visualisers/AxisLine.cc
+++ b/src/visualisers/AxisLine.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file AxisLine.cc
     \brief Implementation of the Template class AxisLine.
diff --git a/src/visualisers/AxisLine.h b/src/visualisers/AxisLine.h
index 578c078..e62678b 100644
--- a/src/visualisers/AxisLine.h
+++ b/src/visualisers/AxisLine.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file AxisLine.h
     \brief Definition of the Template class AxisLine.
diff --git a/src/visualisers/AxisMethod.cc b/src/visualisers/AxisMethod.cc
index d4cf3f1..0a1480e 100644
--- a/src/visualisers/AxisMethod.cc
+++ b/src/visualisers/AxisMethod.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file AxisMethod.cc
     \brief Implementation of the Template class AxisMethod.
diff --git a/src/visualisers/AxisMethod.h b/src/visualisers/AxisMethod.h
index ce1d794..40edda8 100644
--- a/src/visualisers/AxisMethod.h
+++ b/src/visualisers/AxisMethod.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file AxisMethod.h
     \brief Definition of the Template class AxisMethod.
diff --git a/src/visualisers/AxisMinorTick.cc b/src/visualisers/AxisMinorTick.cc
index 7618f2f..43c652a 100644
--- a/src/visualisers/AxisMinorTick.cc
+++ b/src/visualisers/AxisMinorTick.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file AxisMinorTick.cc
     \brief Implementation of the Template class AxisMinorTick.
diff --git a/src/visualisers/AxisMinorTick.h b/src/visualisers/AxisMinorTick.h
index ea5825f..cbe157f 100644
--- a/src/visualisers/AxisMinorTick.h
+++ b/src/visualisers/AxisMinorTick.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file AxisMinorTick.h
     \brief Definition of the Template class AxisMinorTick.
diff --git a/src/visualisers/AxisTick.cc b/src/visualisers/AxisTick.cc
index 9edba03..7ba08c6 100644
--- a/src/visualisers/AxisTick.cc
+++ b/src/visualisers/AxisTick.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file AxisTick.cc
     \brief Implementation of the Template class AxisTick.
diff --git a/src/visualisers/AxisTick.h b/src/visualisers/AxisTick.h
index 675b311..1e1eab1 100644
--- a/src/visualisers/AxisTick.h
+++ b/src/visualisers/AxisTick.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file AxisTick.h
     \brief Definition of the Template class AxisTick.
diff --git a/src/visualisers/AxisTickLabelType.cc b/src/visualisers/AxisTickLabelType.cc
index c82ec11..bc480f8 100644
--- a/src/visualisers/AxisTickLabelType.cc
+++ b/src/visualisers/AxisTickLabelType.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file AxisTickLabelType.cc
     \brief Implementation of the Template class AxisTickLabelType.
diff --git a/src/visualisers/AxisTickLabelType.h b/src/visualisers/AxisTickLabelType.h
index b98323d..c1d1b64 100644
--- a/src/visualisers/AxisTickLabelType.h
+++ b/src/visualisers/AxisTickLabelType.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file AxisTickLabelType.h
     \brief Definition of the Template class AxisTickLabel.
diff --git a/src/visualisers/AxisType.cc b/src/visualisers/AxisType.cc
index 898aadc..fc69ebe 100644
--- a/src/visualisers/AxisType.cc
+++ b/src/visualisers/AxisType.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file AxisType.cc
     \brief Implementation of the Template class AxisType.
diff --git a/src/visualisers/AxisType.h b/src/visualisers/AxisType.h
index 5f98e6a..c3ea92b 100644
--- a/src/visualisers/AxisType.h
+++ b/src/visualisers/AxisType.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file AxisType.h
     \brief Definition of the Template class AxisType.
diff --git a/src/visualisers/Bar.cc b/src/visualisers/Bar.cc
index c69d623..faf6374 100644
--- a/src/visualisers/Bar.cc
+++ b/src/visualisers/Bar.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Bar.cc
     \brief Implementation of the Template class Bar.
diff --git a/src/visualisers/Bar.h b/src/visualisers/Bar.h
index 33818f8..bf28475 100644
--- a/src/visualisers/Bar.h
+++ b/src/visualisers/Bar.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Bar.h
     \brief Definition of the Template class Bar.
diff --git a/src/visualisers/BothValuePlotMethod.h b/src/visualisers/BothValuePlotMethod.h
index 2517be8..4062bbd 100644
--- a/src/visualisers/BothValuePlotMethod.h
+++ b/src/visualisers/BothValuePlotMethod.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file BothValuePlotMethod.h
     \brief Definition of the Template class BothValuePlotMethod.
diff --git a/src/visualisers/Boundaries.cc b/src/visualisers/Boundaries.cc
index fb12688..bdec2d9 100644
--- a/src/visualisers/Boundaries.cc
+++ b/src/visualisers/Boundaries.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Boundaries.cc
     \brief Implementation of the Template class BoundariesBase.
diff --git a/src/visualisers/Boundaries.h b/src/visualisers/Boundaries.h
index 9f97f9f..88f8506 100644
--- a/src/visualisers/Boundaries.h
+++ b/src/visualisers/Boundaries.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Boundaries.h
     \brief Definition of the Template class NoBoundaries.
diff --git a/src/visualisers/BoxPlotBasicItem.h b/src/visualisers/BoxPlotBasicItem.h
index 55287b5..f0d25cf 100644
--- a/src/visualisers/BoxPlotBasicItem.h
+++ b/src/visualisers/BoxPlotBasicItem.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file BoxPlotBasicItem.h
     \brief Definition of the Template class BoxPlotBasicItem.
diff --git a/src/visualisers/BoxPlotItem.cc b/src/visualisers/BoxPlotItem.cc
index 1532bca..eae3cd7 100644
--- a/src/visualisers/BoxPlotItem.cc
+++ b/src/visualisers/BoxPlotItem.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file BoxPlotItem.cc
     \brief Implementation of the Template class BoxPlotBox.
diff --git a/src/visualisers/BoxPlotItem.h b/src/visualisers/BoxPlotItem.h
index c79330f..6b46f0d 100644
--- a/src/visualisers/BoxPlotItem.h
+++ b/src/visualisers/BoxPlotItem.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file BoxPlotItem.h
     \brief Definition of the Template class BoxPlotItem.
diff --git a/src/visualisers/BoxPlotVisualiser.cc b/src/visualisers/BoxPlotVisualiser.cc
index 2eba1da..361c1d6 100644
--- a/src/visualisers/BoxPlotVisualiser.cc
+++ b/src/visualisers/BoxPlotVisualiser.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file BoxPlotVisualiser.cc
     \brief Implementation of the Template class BoxPlotVisualiser.
diff --git a/src/visualisers/BoxPlotVisualiser.h b/src/visualisers/BoxPlotVisualiser.h
index 8b92e0d..aa32b87 100644
--- a/src/visualisers/BoxPlotVisualiser.h
+++ b/src/visualisers/BoxPlotVisualiser.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file BoxPlotVisualiser.h
     \brief Definition of the Template class BoxPlotVisualiser.
diff --git a/src/visualisers/CalculateColourTechnique.cc b/src/visualisers/CalculateColourTechnique.cc
index 2674cb7..c1de945 100644
--- a/src/visualisers/CalculateColourTechnique.cc
+++ b/src/visualisers/CalculateColourTechnique.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file CalculateColourTechnique.cc
     \brief Implementation of the Template class CalculateColourTechnique.
diff --git a/src/visualisers/CalculateColourTechnique.h b/src/visualisers/CalculateColourTechnique.h
index 361a92b..2ff53bc 100644
--- a/src/visualisers/CalculateColourTechnique.h
+++ b/src/visualisers/CalculateColourTechnique.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file CalculateColourTechnique.h
     \brief Definition of the Template class CalculateColourTechnique.
diff --git a/src/visualisers/CalmIndicator.h b/src/visualisers/CalmIndicator.h
index 801dd89..8abcca8 100644
--- a/src/visualisers/CalmIndicator.h
+++ b/src/visualisers/CalmIndicator.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file CalmIndicator.h
     \brief Definition of the Template class CalmIndicator.
diff --git a/src/visualisers/CellShading.cc b/src/visualisers/CellShading.cc
index 8e899a4..1ff9c5c 100644
--- a/src/visualisers/CellShading.cc
+++ b/src/visualisers/CellShading.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file CellShading.cc
     \brief Implementation of the Template class CellShading.
diff --git a/src/visualisers/CellShading.h b/src/visualisers/CellShading.h
index 28d8901..bdca80b 100644
--- a/src/visualisers/CellShading.h
+++ b/src/visualisers/CellShading.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file CellShading.h
     \brief Definition of the Template class CellShading.
diff --git a/src/visualisers/Cities.cc b/src/visualisers/Cities.cc
index f2851bb..24d712a 100644
--- a/src/visualisers/Cities.cc
+++ b/src/visualisers/Cities.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Cities.cc
     \brief Implementation of the Template class CitiesBase.
diff --git a/src/visualisers/Cities.h b/src/visualisers/Cities.h
index 24e9c2b..54502a7 100644
--- a/src/visualisers/Cities.h
+++ b/src/visualisers/Cities.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Cities.h
     \brief Definition of the Template class NoCities.
diff --git a/src/visualisers/CoastPlotting.cc b/src/visualisers/CoastPlotting.cc
index 5c97d6e..35d8f3b 100644
--- a/src/visualisers/CoastPlotting.cc
+++ b/src/visualisers/CoastPlotting.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file CoastPlotting.cc
     \brief Implementation of the Template class CoastPlotting.
diff --git a/src/visualisers/CoastPlotting.h b/src/visualisers/CoastPlotting.h
index 1c9de7f..17c4ea5 100644
--- a/src/visualisers/CoastPlotting.h
+++ b/src/visualisers/CoastPlotting.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file CoastPlotting.h
     \brief Definition of the Template class CoastPlotting.
diff --git a/src/visualisers/Coastlines.cc b/src/visualisers/Coastlines.cc
index 0557f7c..9f8dee4 100644
--- a/src/visualisers/Coastlines.cc
+++ b/src/visualisers/Coastlines.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Coastlines.cc 
     \brief Implementation of the Template class Coastlines.
diff --git a/src/visualisers/Coastlines.h b/src/visualisers/Coastlines.h
index 2b844cc..cfc982c 100644
--- a/src/visualisers/Coastlines.h
+++ b/src/visualisers/Coastlines.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Coastlines.h
     \brief Definition of the Template class Coastlines.
diff --git a/src/visualisers/ColourSelection.cc b/src/visualisers/ColourSelection.cc
index 398cbb6..937efb8 100644
--- a/src/visualisers/ColourSelection.cc
+++ b/src/visualisers/ColourSelection.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ColourSelection.cc
     \brief Implementation of the Template class ColourSelection.
diff --git a/src/visualisers/ColourSelection.h b/src/visualisers/ColourSelection.h
index c218644..fc1c808 100644
--- a/src/visualisers/ColourSelection.h
+++ b/src/visualisers/ColourSelection.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ColourSelection.h
     \brief Definition of the Template class ColourSelection.
diff --git a/src/visualisers/ColourSelectionCount.cc b/src/visualisers/ColourSelectionCount.cc
index c2e79cd..5aeef3a 100644
--- a/src/visualisers/ColourSelectionCount.cc
+++ b/src/visualisers/ColourSelectionCount.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ColourSelectionCount.cc
     \brief Implementation of the Template class ColourSelectionCount.
diff --git a/src/visualisers/ColourSelectionCount.h b/src/visualisers/ColourSelectionCount.h
index 5f3b244..474dab4 100644
--- a/src/visualisers/ColourSelectionCount.h
+++ b/src/visualisers/ColourSelectionCount.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ColourSelectionCount.h
     \brief Definition of the Template class ColourSelectionCount.
diff --git a/src/visualisers/ColourSelectionList.cc b/src/visualisers/ColourSelectionList.cc
index fee682d..fb40a48 100644
--- a/src/visualisers/ColourSelectionList.cc
+++ b/src/visualisers/ColourSelectionList.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ColourSelectionList.cc
     \brief Implementation of the Template class ColourSelectionList.
diff --git a/src/visualisers/ColourSelectionList.h b/src/visualisers/ColourSelectionList.h
index 8dcb65f..85b584d 100644
--- a/src/visualisers/ColourSelectionList.h
+++ b/src/visualisers/ColourSelectionList.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ColourSelectionList.h
     \brief Definition of the Template class ColourSelectionList.
diff --git a/src/visualisers/ColourTechnique.cc b/src/visualisers/ColourTechnique.cc
index b340e5c..ff57140 100644
--- a/src/visualisers/ColourTechnique.cc
+++ b/src/visualisers/ColourTechnique.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ColourTechnique.cc
     \brief Implementation of the Template class ColourTechnique.
diff --git a/src/visualisers/ColourTechnique.h b/src/visualisers/ColourTechnique.h
index ddaa93c..1cd3b82 100644
--- a/src/visualisers/ColourTechnique.h
+++ b/src/visualisers/ColourTechnique.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ColourTechnique.h
     \brief Definition of the Template class ColourTechnique.
diff --git a/src/visualisers/Contour.cc b/src/visualisers/Contour.cc
index 43e3b60..917c7e3 100644
--- a/src/visualisers/Contour.cc
+++ b/src/visualisers/Contour.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Contour.cc
     \brief Implementation of the Template class Contour.
@@ -33,6 +25,7 @@
 #include "Text.h"
 #include "ContourLibrary.h"
 #include "HistoVisitor.h"
+#include "Timer.h"
 
 using namespace magics;
 
@@ -128,8 +121,25 @@ void Contour::operator()(Data& data, BasicGraphicsObjectContainer& parent)
 	if (this->floor_ != -INT_MAX || this->ceiling_ != INT_MAX)
 		matrix_ = new MatrixTreshold(*matrix_, this->floor_, this->ceiling_);
 
-	(*this->contour_).adjust(matrix_->min(), matrix_->max());
-	(*this->contour_)(*matrix_, parent);
+	{
+		Timer timer("setMinMax", "setMainMax");
+		double min, max;
+		{
+			Timer timer("Max", "Max");
+			min = matrix_->min();
+			
+		}
+		{
+			Timer timer("MIN", "MIN");
+			max = matrix_->max();
+		}	
+		(*this->contour_).adjust(min, max);
+			
+	}
+	{
+		Timer timer("CONTOUR", "CONTOUR");
+		(*this->contour_)(*matrix_, parent);
+	}
 	(*this->contour_)(data, parent);
 	if ( magCompare( this->grid_->getType(), "akima" ) )
 		(*this->grid_)(*matrix_, parent);
diff --git a/src/visualisers/Contour.h b/src/visualisers/Contour.h
index 8e71906..2327b75 100644
--- a/src/visualisers/Contour.h
+++ b/src/visualisers/Contour.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Contour.h
     \brief Definition of the Template class Contour.
diff --git a/src/visualisers/ContourMethod.h b/src/visualisers/ContourMethod.h
index a22bdb9..4e8353e 100644
--- a/src/visualisers/ContourMethod.h
+++ b/src/visualisers/ContourMethod.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ContourMethod.h
     \brief Definition of the Template class ContourMethod.
diff --git a/src/visualisers/CountSelectionType.cc b/src/visualisers/CountSelectionType.cc
index 0ebc193..f4734ac 100644
--- a/src/visualisers/CountSelectionType.cc
+++ b/src/visualisers/CountSelectionType.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file 
 .cc
diff --git a/src/visualisers/CountSelectionType.h b/src/visualisers/CountSelectionType.h
index 3b649ba..ec23039 100644
--- a/src/visualisers/CountSelectionType.h
+++ b/src/visualisers/CountSelectionType.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file CountSelectionType.h
     \brief Definition of the Template class CountSelectionType.
diff --git a/src/visualisers/Curve.cc b/src/visualisers/Curve.cc
index c05206b..a8a798c 100644
--- a/src/visualisers/Curve.cc
+++ b/src/visualisers/Curve.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Curve.cc
     \brief Implementation of the Template class Curve.
@@ -36,6 +28,24 @@
 
 using namespace magics;
 
+
+template <class T, class O>
+void setHandler(const vector<string>& keys, vector<T>& values, ListPolicy policy, const T& def, map<string, O>& handler) 
+{
+	if (values.empty())
+		values.push_back(def);
+
+	typename vector<T>::const_iterator value = values.begin();
+	MagTranslator<T, O> translator;
+	for (vector<string>::const_iterator key = keys.begin(); key != keys.end(); ++key) {
+		
+		handler.insert(make_pair(*key, translator(*value)));
+		value++;
+		if ( value == values.end() )
+			value = ( policy ==  M_CYCLE ) ? values.begin() : --value;
+	}
+}
+
 Curve::Curve() 
 {
 	missingMethods_["ignore"] = &Curve::ignore;
@@ -44,7 +54,9 @@ Curve::Curve()
 
 	curveMethods_["straight"] = &Curve::straight;
 	curveMethods_["stepped"] = &Curve::stepped;
+	
 
+	
 }
 
 
@@ -64,9 +76,12 @@ Polyline* Curve::newCurve(BasicGraphicsObjectContainer& task) const
 {
 
 	Polyline* curve  = new Polyline();
-	(*curve).setColour(*colour_);
-	(*curve).setLineStyle(style_);
-	(*curve).setThickness(thickness_);
+	
+
+	(*curve).setColour(currentColour_);
+	(*curve).setLineStyle(currentStyle_);
+	(*curve).setThickness(currentThickness_);
+
 
 	return curve;
 	
@@ -97,6 +112,17 @@ void  Curve::stepped(const UserPoint& point, vector<UserPoint>& out)
 
 }
 
+template <class T>
+const T& get(const map<string, T>& handler, const string& key, const T& def) 
+{
+	
+	typename std::map<string, T>::const_iterator value = handler.find(key);
+	if ( value == handler.end() ) 
+		return def;
+	return value->second;
+
+}
+
 void Curve::operator()(Data& data, BasicGraphicsObjectContainer& task)
 {
 
@@ -106,13 +132,42 @@ void Curve::operator()(Data& data, BasicGraphicsObjectContainer& task)
 
 
     std::set<string> needs;
+    std::map<string, string> info;
+
+    currentColour_ = *colour_;
+	currentThickness_ = thickness_;
+	currentStyle_ = style_;
+    
+    if ( magCompare(style_setting_, "advanced")  ) {
+    	string style = "solid";
+ 		setHandler(colour_keys_, colour_list_, colour_policy_, colour_->name(), colourHandler_);
+		setHandler(thickness_keys_, thickness_list_, thickness_policy_, thickness_, thicknessHandler_);
+		setHandler(style_keys_, style_list_, style_policy_, style, styleHandler_);
+
+    	info.insert(make_pair(style_key_, ""));
+    	info.insert(make_pair(colour_key_, ""));
+    	info.insert(make_pair(thickness_key_, ""));
+		data.getInfo(info);
+		
+		string colour = get(colourHandler_, info[colour_key_], currentColour_.name());
+		currentColour_ = Colour(colour);
+		currentThickness_ = get(thicknessHandler_, info[thickness_key_], currentThickness_);
+		currentStyle_ = get(styleHandler_, info[style_key_], currentStyle_);
+	}
+
+
+	
+
+	
+	
+
+
     CustomisedPointsList raw, points;
 
     data.customisedPoints(transformation, needs, points, true);
 
 	if ( legend_text_ == "?" ) legend_text_ = data.legend(); 
 	
-	
 	Polyline* curve_ = newCurve(task);
 	bool last_out = false;	
 	
@@ -223,7 +278,10 @@ void CurveArea::operator()(Data& data, BasicGraphicsObjectContainer& task)
 	vector<double> ypos;
     const Transformation& transformation = task.transformation();
 
-
+    currentColour_ = *colour_;
+	currentThickness_ = thickness_;
+	currentStyle_ = style_;
+    
     std::set<string> needs;
     CustomisedPointsList points;
     if ( shade_->needCustomised() ) {
@@ -329,9 +387,9 @@ void Curve::visit(LegendVisitor& legend)
 void  Curve::set(const PaperPoint& point, BasicGraphicsObjectContainer& legend, LegendEntry& entry)
 {
 	Polyline* curve  = new Polyline();
-	curve->setColour(*colour_);
-	curve->setLineStyle(style_);
-	curve->setThickness(thickness_);
+	curve->setColour(currentColour_);
+	curve->setLineStyle(currentStyle_);
+	curve->setThickness(currentThickness_);
 	
 	double width = entry.computeWidth(0.8)/2;
 
@@ -383,7 +441,6 @@ void Curve::legend_symbol(PaperPoint& point, BasicGraphicsObjectContainer& task)
 	if ( !symbol_ ) return;
 
 	Symbol* symbol = new Symbol();
-
     symbol->setMarker(symbol_marker_);
     symbol->setHeight(symbol_height_);
     symbol->setColour(*symbol_colour_);
diff --git a/src/visualisers/Curve.h b/src/visualisers/Curve.h
index 2f45959..266278c 100644
--- a/src/visualisers/Curve.h
+++ b/src/visualisers/Curve.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Curve.h
     \brief Definition of the Template class Curve.
@@ -81,6 +73,15 @@ protected:
 	 bool  missing(CustomisedPoint&) const;
 	 std::map<string, MissingMethod> missingMethods_;
 	 std::map<string, CurveMethod> curveMethods_;
+
+     std::map<string, int>       thicknessHandler_;
+     std::map<string, LineStyle> styleHandler_;
+     std::map<string, string>    colourHandler_;
+
+     Colour currentColour_;
+     LineStyle currentStyle_;
+     int currentThickness_;
+
 private:
     //! Copy constructor - No copy allowed
 	Curve(const Curve&);
diff --git a/src/visualisers/DateAxis.cc b/src/visualisers/DateAxis.cc
index 5b908ac..821caed 100644
--- a/src/visualisers/DateAxis.cc
+++ b/src/visualisers/DateAxis.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file DateAxisMethod.cc
     \brief Implementation of the Template class DateAxisMethod.
diff --git a/src/visualisers/DateAxis.h b/src/visualisers/DateAxis.h
index 0cdd226..35b3f1a 100644
--- a/src/visualisers/DateAxis.h
+++ b/src/visualisers/DateAxis.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file DateAxisMethod.h
     \brief Definition of the Template class DateAxisMethod.
diff --git a/src/visualisers/DefinitionTable.h b/src/visualisers/DefinitionTable.h
index 516161d..9183885 100644
--- a/src/visualisers/DefinitionTable.h
+++ b/src/visualisers/DefinitionTable.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 #ifndef DefinitionTable_H
 #define DefinitionTable_H
diff --git a/src/visualisers/DefinitionTable.hcc b/src/visualisers/DefinitionTable.hcc
index 3087c1f..844a276 100644
--- a/src/visualisers/DefinitionTable.hcc
+++ b/src/visualisers/DefinitionTable.hcc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file LocalTable.cc
     \brief Implementation of the Template class LocalTable.
diff --git a/src/visualisers/DotPolyShadingMethod.h b/src/visualisers/DotPolyShadingMethod.h
index 5d96302..5ac45b9 100644
--- a/src/visualisers/DotPolyShadingMethod.h
+++ b/src/visualisers/DotPolyShadingMethod.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file DotPolyShadingMethod.h
     \brief Definition of the Template class DotPolyShadingMethod.
diff --git a/src/visualisers/EpsForecastPlot.h b/src/visualisers/EpsForecastPlot.h
index b73b5d7..6e552fe 100644
--- a/src/visualisers/EpsForecastPlot.h
+++ b/src/visualisers/EpsForecastPlot.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file EpsForecastPlot.h
     \brief Definition of the Template class EpsForecastPlot.
diff --git a/src/visualisers/EpsGraph.cc b/src/visualisers/EpsGraph.cc
index 7088769..23e4610 100644
--- a/src/visualisers/EpsGraph.cc
+++ b/src/visualisers/EpsGraph.cc
@@ -1,21 +1,12 @@
-
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHvisitor WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file EpsGraph.cc
     \brief Implementation of the Template class EpsGraph.
@@ -796,17 +787,34 @@ void EpsGraph::operator()(Data& data, BasicGraphicsObjectContainer& visitor)
         	eps75 = eps[3];
         	epsmax = eps[4];
 	}
+	// Prepare the colors :
+	int size = quantiles_colour_.size();
+	Colour colour10_25 = ( size >= 1 ) ? Colour(quantiles_colour_[0]) : colour;
+	Colour colour25_75 = ( size >= 2 ) ? Colour(quantiles_colour_[1]) : colour;
+	Colour colour75_90 = ( size >= 3 ) ? Colour(quantiles_colour_[2]) : colour10_25;
+
+		Polyline* box10_25  = new Polyline();
+		box10_25->setColour(*border_colour_);
+		box10_25->setThickness(border_thickness_);
+		box10_25->setFilled(true);
+		box10_25->setFillColour(colour10_25);
+		box10_25->setShading(new FillShadingProperties());
+        
+        Polyline* box25_75  = new Polyline();
+		box25_75->setColour(*border_colour_);
+		box25_75->setThickness(border_thickness_);
+		box25_75->setFilled(true);
+		box25_75->setFillColour(colour25_75);
+		box25_75->setShading(new FillShadingProperties());
+		
+		Polyline* box75_90  = new Polyline();
+		box75_90->setColour(*border_colour_);
+		box75_90->setThickness(border_thickness_);
+		box75_90->setFilled(true);
+		box75_90->setFillColour(colour75_90);
+		box75_90->setShading(new FillShadingProperties());
 
-		Polyline* box  = new Polyline();
-		box->setColour(*border_colour_);
-		box->setThickness(border_thickness_);
 
-		box->setColour(*border_colour_);
-		box->setFilled(true);
-		box->setThickness(border_thickness_);
-		box->setFillColour(colour);
-		box->setShading(new FillShadingProperties());
-      
         Polyline* median  = new Polyline();
         median->setColour(*median_colour_);
         
@@ -818,35 +826,35 @@ void EpsGraph::operator()(Data& data, BasicGraphicsObjectContainer& visitor)
         bar2->setColour(*border_colour_);
         bar2->setThickness(border_thickness_);
 
-        box->push_back(PaperPoint(x-width, eps50));
-		box->push_back(PaperPoint(x-width, eps75));
+        box25_75->push_back(PaperPoint(x-width, eps50));
+		box25_75->push_back(PaperPoint(x-width, eps75));
         
         if ( ninty != (*point)->end() ) {
         	fullEps_ = true;
         	if ( eps75 != eps90 ) {
-            box->push_back(PaperPoint(x-(width/2), eps75));
-            box->push_back(PaperPoint(x-(width/2), eps90) );
-            box->push_back(PaperPoint(x+(width/2), eps90));
-            box->push_back(PaperPoint(x+(width/2), eps75));
+            box75_90->push_back(PaperPoint(x-(width/2), eps75));
+            box75_90->push_back(PaperPoint(x-(width/2), eps90) );
+            box75_90->push_back(PaperPoint(x+(width/2), eps90));
+            box75_90->push_back(PaperPoint(x+(width/2), eps75));
         	}
             
         }
         if ( eps75 != eps25 ) {
-		box->push_back(PaperPoint(x+width, eps75));
-		box->push_back(PaperPoint(x+width, eps25));
+		box25_75->push_back(PaperPoint(x+width, eps75));
+		box25_75->push_back(PaperPoint(x+width, eps25));
         }
         if ( ten != (*point)->end() ) {
         	if ( eps25 != eps10 ) {
 
-            box->push_back(PaperPoint(x+(width/2), eps25));
-            box->push_back(PaperPoint(x+(width/2),eps10));
-            box->push_back(PaperPoint(x-(width/2), eps10));
-            box->push_back(PaperPoint(x-(width/2), eps25));
+            box10_25->push_back(PaperPoint(x+(width/2), eps25));
+            box10_25->push_back(PaperPoint(x+(width/2),eps10));
+            box10_25->push_back(PaperPoint(x-(width/2), eps10));
+            box10_25->push_back(PaperPoint(x-(width/2), eps25));
         	}
         }
         if ( eps25 != eps50 ) {
-        box->push_back(PaperPoint(x-width, eps25));
-        box->push_back(PaperPoint(x-width, eps50));
+        box25_75->push_back(PaperPoint(x-width, eps25));
+        box25_75->push_back(PaperPoint(x-width, eps50));
         }
     	bar1->push_back(PaperPoint(x+width, eps25));
     	bar1->push_back(PaperPoint(x-width, eps25));
@@ -879,7 +887,9 @@ void EpsGraph::operator()(Data& data, BasicGraphicsObjectContainer& visitor)
            (*bottom).push_back(PaperPoint(x, eps25));
 		
 		if (whisker_) {
-            transformation(*box, visitor);
+            transformation(*box10_25, visitor); 
+            transformation(*box25_75, visitor); 
+            transformation(*box75_90, visitor);
             transformation(*top, visitor);
             transformation(*bottom, visitor);
             transformation(*median, visitor);
diff --git a/src/visualisers/EpsGraph.h b/src/visualisers/EpsGraph.h
index 3c77f78..5860774 100644
--- a/src/visualisers/EpsGraph.h
+++ b/src/visualisers/EpsGraph.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file EpsGraph.h
     \brief Definition of the Template class EpsGraph.
diff --git a/src/visualisers/EquidistantTableMode.cc b/src/visualisers/EquidistantTableMode.cc
index 57f6aff..133aa3d 100644
--- a/src/visualisers/EquidistantTableMode.cc
+++ b/src/visualisers/EquidistantTableMode.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file EquidistantTableMode.cc
     \brief Implementation of the Template class EquidistantTableMode.
diff --git a/src/visualisers/EquidistantTableMode.h b/src/visualisers/EquidistantTableMode.h
index 062912b..80b5cd4 100644
--- a/src/visualisers/EquidistantTableMode.h
+++ b/src/visualisers/EquidistantTableMode.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file EquidistantTableMode.h
     \brief Definition of the Template class EquidistantTableMode.
diff --git a/src/visualisers/Filter.cc b/src/visualisers/Filter.cc
index 2ea8545..2163fa1 100644
--- a/src/visualisers/Filter.cc
+++ b/src/visualisers/Filter.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Filter.cc
     Implementation of Filter class.
diff --git a/src/visualisers/Filter.h b/src/visualisers/Filter.h
index 588bf53..706e1c1 100644
--- a/src/visualisers/Filter.h
+++ b/src/visualisers/Filter.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Filter.h
     \brief Definition of the Template class Filter.
diff --git a/src/visualisers/FlagPlotting.cc b/src/visualisers/FlagPlotting.cc
index d16dd04..2eaef19 100644
--- a/src/visualisers/FlagPlotting.cc
+++ b/src/visualisers/FlagPlotting.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file WindPlotting.cc
     \brief Implementation of the Template class Wind.
diff --git a/src/visualisers/FlagPlotting.h b/src/visualisers/FlagPlotting.h
index d8c59a6..59b63d5 100644
--- a/src/visualisers/FlagPlotting.h
+++ b/src/visualisers/FlagPlotting.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file FlagPlotting.h
     \brief Definition of the Template class FlagPlotting.
diff --git a/src/visualisers/FloatSelection.cc b/src/visualisers/FloatSelection.cc
index cf96072..c58a020 100644
--- a/src/visualisers/FloatSelection.cc
+++ b/src/visualisers/FloatSelection.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file FloatSelection.cc
     \brief Implementation of the Template class FloatSelection.
diff --git a/src/visualisers/FloatSelection.h b/src/visualisers/FloatSelection.h
index 38ca374..93f1844 100644
--- a/src/visualisers/FloatSelection.h
+++ b/src/visualisers/FloatSelection.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file FloatSelection.h
     \brief Definition of the Template class FloatSelection.
diff --git a/src/visualisers/Graph.h b/src/visualisers/Graph.h
index bbe95f4..8a264a6 100644
--- a/src/visualisers/Graph.h
+++ b/src/visualisers/Graph.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Graph.h
     \brief Definition of the Template class Graph.
diff --git a/src/visualisers/GraphPlotting.cc b/src/visualisers/GraphPlotting.cc
index b5c145e..ba7c0b8 100644
--- a/src/visualisers/GraphPlotting.cc
+++ b/src/visualisers/GraphPlotting.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file GraphPlotting.cc
     \brief Implementation of the Template class GraphPlotting.
diff --git a/src/visualisers/GraphPlotting.h b/src/visualisers/GraphPlotting.h
index a1362a7..633fee7 100644
--- a/src/visualisers/GraphPlotting.h
+++ b/src/visualisers/GraphPlotting.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file GraphPlotting.h
     \brief Definition of the Template class GraphPlotting.
diff --git a/src/visualisers/GraphShade.cc b/src/visualisers/GraphShade.cc
index 008211c..36b4e8d 100644
--- a/src/visualisers/GraphShade.cc
+++ b/src/visualisers/GraphShade.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file GraphShade.cc
     \brief Implementation of the Template class GraphShade.
diff --git a/src/visualisers/GraphShade.h b/src/visualisers/GraphShade.h
index 5f7c415..8aac6d0 100644
--- a/src/visualisers/GraphShade.h
+++ b/src/visualisers/GraphShade.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file GraphShade.h
     \brief Definition of the Template class GraphShade.
diff --git a/src/visualisers/GraphShadeStyle.cc b/src/visualisers/GraphShadeStyle.cc
index 107a306..cefe014 100644
--- a/src/visualisers/GraphShadeStyle.cc
+++ b/src/visualisers/GraphShadeStyle.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file GraphShadeStyle.cc
     \brief Implementation of the Template class GraphShadeStyle.
diff --git a/src/visualisers/GraphShadeStyle.h b/src/visualisers/GraphShadeStyle.h
index 64d5a39..af40d99 100644
--- a/src/visualisers/GraphShadeStyle.h
+++ b/src/visualisers/GraphShadeStyle.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file GraphShadeStyle.h
     \brief Definition of the Template class GraphShadeStyle.
diff --git a/src/visualisers/GribTables.h b/src/visualisers/GribTables.h
index 5ef29c1..7744976 100644
--- a/src/visualisers/GribTables.h
+++ b/src/visualisers/GribTables.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file GribTables.h
     \brief Definition of the Template class GribTables.
diff --git a/src/visualisers/GridPlotting.cc b/src/visualisers/GridPlotting.cc
index 9673fee..8c9d8c7 100644
--- a/src/visualisers/GridPlotting.cc
+++ b/src/visualisers/GridPlotting.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file GridPlotting.cc
     \brief Implementation of the Template class GridPlotting.
diff --git a/src/visualisers/GridPlotting.h b/src/visualisers/GridPlotting.h
index 6edd6a8..f12c060 100644
--- a/src/visualisers/GridPlotting.h
+++ b/src/visualisers/GridPlotting.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file GridPlotting.h
     \brief Definition of the Template class GridPlotting.
diff --git a/src/visualisers/HatchPolyShadingMethod.h b/src/visualisers/HatchPolyShadingMethod.h
index 925660b..3f48fbc 100644
--- a/src/visualisers/HatchPolyShadingMethod.h
+++ b/src/visualisers/HatchPolyShadingMethod.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file HatchPolyShadingMethod.h
     \brief Definition of the Template class HatchPolyShadingMethod.
diff --git a/src/visualisers/HeightSelection.cc b/src/visualisers/HeightSelection.cc
index 9b50745..acfcf97 100644
--- a/src/visualisers/HeightSelection.cc
+++ b/src/visualisers/HeightSelection.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file HeightSelection.cc
     \brief Implementation of the Template class HeightSelection.
diff --git a/src/visualisers/HeightSelection.h b/src/visualisers/HeightSelection.h
index 58dbd8f..2f1be49 100644
--- a/src/visualisers/HeightSelection.h
+++ b/src/visualisers/HeightSelection.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file HeightSelection.h
     \brief Definition of the Template class HeightSelection.
diff --git a/src/visualisers/HeightSelectionCount.h b/src/visualisers/HeightSelectionCount.h
index 054d66d..7961c2e 100644
--- a/src/visualisers/HeightSelectionCount.h
+++ b/src/visualisers/HeightSelectionCount.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file HeightSelectionCount.h
     \brief Definition of the Template class HeightSelectionCount.
diff --git a/src/visualisers/HeightSelectionList.h b/src/visualisers/HeightSelectionList.h
index ca7d9f6..ee79272 100644
--- a/src/visualisers/HeightSelectionList.h
+++ b/src/visualisers/HeightSelectionList.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file HeightSelectionList.h
     \brief Definition of the Template class HeightSelectionList.
diff --git a/src/visualisers/HeightTechnique.cc b/src/visualisers/HeightTechnique.cc
index 2a2ef24..5e2d035 100644
--- a/src/visualisers/HeightTechnique.cc
+++ b/src/visualisers/HeightTechnique.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file HeightSelection.cc
     \brief Implementation of the Template class HeightSelection.
diff --git a/src/visualisers/HeightTechnique.h b/src/visualisers/HeightTechnique.h
index 29db47f..da71f1a 100644
--- a/src/visualisers/HeightTechnique.h
+++ b/src/visualisers/HeightTechnique.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file HeightSelection.h
     \brief Definition of the Template class HeightSelection.
diff --git a/src/visualisers/HiLo.cc b/src/visualisers/HiLo.cc
index 2d779c3..353cc4d 100644
--- a/src/visualisers/HiLo.cc
+++ b/src/visualisers/HiLo.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file HiLo.cc
     \brief Implementation of the Template class HiLo.
diff --git a/src/visualisers/HiLo.h b/src/visualisers/HiLo.h
index dd9b81e..f87b676 100644
--- a/src/visualisers/HiLo.h
+++ b/src/visualisers/HiLo.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file HiLo.h
     \brief Definition of the Template class HiLo.
diff --git a/src/visualisers/HiLoBase.h b/src/visualisers/HiLoBase.h
index 4715ecc..0e9c98f 100644
--- a/src/visualisers/HiLoBase.h
+++ b/src/visualisers/HiLoBase.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file HiLoBase.h
     \brief Definition of the Template class HiLoBase.
diff --git a/src/visualisers/HiLoBoth.h b/src/visualisers/HiLoBoth.h
index 5fa898e..d2b2eee 100644
--- a/src/visualisers/HiLoBoth.h
+++ b/src/visualisers/HiLoBoth.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file HiLoBoth.h
     \brief Definition of the Template class HiLoBoth.
@@ -86,18 +78,32 @@ protected:
         if (!high_) {
             // Create Text List containing the position of the High
             high_ = new TextSymbol();
+            high_->position(Symbol::M_ABOVE);
+            MagFont font;
+            font.name("sansserif");
+            font.colour(*hi_colour_);
+            font.size(contour_hilo_height_);
+            high_->font(font);
             high_->setMarker(index_);
-            high_->setColour(*colour_);
+            high_->setColour(*colour_); // Colour of the symbol
             high_->setHeight(height_);
+            high_->blanking(blanking_);
             hilo.push_back(high_);
         }
         
         if (!low_) {
             // Create Text List containing the position of the High
             low_ = new TextSymbol();
+            low_->position(Symbol::M_ABOVE);
             low_->setMarker(index_);
-            low_->setColour(*colour_);
+            MagFont font;
+            font.name("sansserif");
+            font.colour(*lo_colour_);
+            font.size(contour_hilo_height_);
+            low_->font(font);
+            low_->setColour(*colour_); // Colour of the symbol
             low_->setHeight(height_);
+            low_->blanking(blanking_);
             hilo.push_back(low_);
         }
        
@@ -106,12 +112,46 @@ protected:
             high_->push_back(point,   hi_text_);
         }
         else if ( point.low()) {
-             low_->push_back(point,   hi_text_);
+             low_->push_back(point,   lo_text_);
         } 
         else {
             MagLog::warning() << "high/low information not set in point-> the point is ignored" << "\n";
          }
-        
+        ostringstream nice;
+        nice << MagicsFormat(format_, point.value()); 
+        if ( point.high()) {
+             TextSymbol* text = new TextSymbol();
+             
+             MagFont font;
+             font.name("sansserif");
+             font.colour(*hi_colour_);
+             font.size(contour_hilo_height_);
+             text->font(font);
+            
+             text->setMarker(index_);
+             text->setColour(*colour_); // Colour of the symbol
+             text->setHeight(height_);
+             text->blanking(blanking_);
+             text->push_back(point, nice.str());
+             hilo.push_back(text);
+        }
+        else if ( point.low()) {
+             TextSymbol* text = new TextSymbol();
+             
+             MagFont font;
+             font.name("sansserif");
+             font.colour(*lo_colour_);
+             font.size(contour_hilo_height_);
+             text->font(font);
+             
+             text->setMarker(index_);
+             text->setColour(*colour_); // Colour of the symbol
+             text->setHeight(height_);
+             text->blanking(blanking_);
+             text->push_back(point, nice.str());
+             hilo.push_back(text);
+            
+        } 
        
      }
      TextSymbol* high_;
diff --git a/src/visualisers/HiLoMarker.h b/src/visualisers/HiLoMarker.h
index c20ab6f..d478ec8 100644
--- a/src/visualisers/HiLoMarker.h
+++ b/src/visualisers/HiLoMarker.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file HiLoMarker.h
     \brief Definition of the Template class HiLoMarker.
diff --git a/src/visualisers/HiLoMarkerBase.h b/src/visualisers/HiLoMarkerBase.h
index 3b05133..d50197c 100644
--- a/src/visualisers/HiLoMarkerBase.h
+++ b/src/visualisers/HiLoMarkerBase.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file HiLoMarkerBase.h
     \brief Definition of the Template class HiLoMarkerBase.
diff --git a/src/visualisers/HiLoNumber.h b/src/visualisers/HiLoNumber.h
index 58f3c28..8ac79b9 100644
--- a/src/visualisers/HiLoNumber.h
+++ b/src/visualisers/HiLoNumber.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file HiLoNumber.h
     \brief Definition of the Template class HiLoNumber.
diff --git a/src/visualisers/HiLoTechnique.h b/src/visualisers/HiLoTechnique.h
index 38dbab0..b39275f 100644
--- a/src/visualisers/HiLoTechnique.h
+++ b/src/visualisers/HiLoTechnique.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file HiLoTechnique.h
     \brief Definition of the Template class HiLoTechnique.
diff --git a/src/visualisers/HiLoText.h b/src/visualisers/HiLoText.h
index 67d93a2..d73571c 100644
--- a/src/visualisers/HiLoText.h
+++ b/src/visualisers/HiLoText.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file HiLoText.h
     \brief Definition of the Template class HiLoText.
diff --git a/src/visualisers/HistoIndividualMode.h b/src/visualisers/HistoIndividualMode.h
index 47b423e..ad20a63 100644
--- a/src/visualisers/HistoIndividualMode.h
+++ b/src/visualisers/HistoIndividualMode.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file HistoIndividualMode.h
     \brief Definition of the Template class HistoIndividualMode.
diff --git a/src/visualisers/HistoMode.h b/src/visualisers/HistoMode.h
index 3ce48e6..02a1d54 100644
--- a/src/visualisers/HistoMode.h
+++ b/src/visualisers/HistoMode.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file HistoMode.h
     \brief Definition of the Template class HistoMode.
diff --git a/src/visualisers/HistoTableMode.h b/src/visualisers/HistoTableMode.h
index 2da850d..7ab068b 100644
--- a/src/visualisers/HistoTableMode.h
+++ b/src/visualisers/HistoTableMode.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file HistoTableMode.h
     \brief Definition of the Template class HistoTableMode.
diff --git a/src/visualisers/Histogram.cc b/src/visualisers/Histogram.cc
index 238d747..07bcf81 100644
--- a/src/visualisers/Histogram.cc
+++ b/src/visualisers/Histogram.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Histogram.cc
     \brief Implementation of the Template class Histogram.
diff --git a/src/visualisers/Histogram.h b/src/visualisers/Histogram.h
index 42771f5..bf31676 100644
--- a/src/visualisers/Histogram.h
+++ b/src/visualisers/Histogram.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Histogram.h
     \brief Definition of the Template class Histogram.
diff --git a/src/visualisers/ImageCalculateColourTechnique.h b/src/visualisers/ImageCalculateColourTechnique.h
index bbbac32..a81fafc 100644
--- a/src/visualisers/ImageCalculateColourTechnique.h
+++ b/src/visualisers/ImageCalculateColourTechnique.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ImageCalculateColourTechnique.h
     \brief Definition of the Template class ImageCalculateColourTechnique.
diff --git a/src/visualisers/ImageListColourTechnique.h b/src/visualisers/ImageListColourTechnique.h
index cfafbd4..189bb1e 100644
--- a/src/visualisers/ImageListColourTechnique.h
+++ b/src/visualisers/ImageListColourTechnique.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ImageListColourTechnique.h
     \brief Definition of the Template class ImageListColourTechnique.
diff --git a/src/visualisers/ImportPlot.h b/src/visualisers/ImportPlot.h
index 93092e4..b06c463 100644
--- a/src/visualisers/ImportPlot.h
+++ b/src/visualisers/ImportPlot.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ImportPlot.h
     \brief Definition of the Template class ImportPlot.
diff --git a/src/visualisers/IntervalSelectionType.cc b/src/visualisers/IntervalSelectionType.cc
index c09877e..6c3cf66 100644
--- a/src/visualisers/IntervalSelectionType.cc
+++ b/src/visualisers/IntervalSelectionType.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file IntervalSelectionType.cc
     \brief Implementation of the Template class IntervalSelectionType.
diff --git a/src/visualisers/IntervalSelectionType.h b/src/visualisers/IntervalSelectionType.h
index aaddfcb..2ccfb32 100644
--- a/src/visualisers/IntervalSelectionType.h
+++ b/src/visualisers/IntervalSelectionType.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file IntervalSelectionType.h
     \brief Definition of the Template class IntervalSelectionType.
diff --git a/src/visualisers/Intervals.h b/src/visualisers/Intervals.h
index 9965c7c..43677fe 100644
--- a/src/visualisers/Intervals.h
+++ b/src/visualisers/Intervals.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Intervals.h
     \brief Definition of the Template class Intervals.
diff --git a/src/visualisers/IsoHighlight.h b/src/visualisers/IsoHighlight.h
index cafba4f..98845ce 100644
--- a/src/visualisers/IsoHighlight.h
+++ b/src/visualisers/IsoHighlight.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file IsoHighlight.h
     \brief Definition of the Template class IsoHighlight.
diff --git a/src/visualisers/IsoLabel.cc b/src/visualisers/IsoLabel.cc
index 2d426a3..9f03e09 100644
--- a/src/visualisers/IsoLabel.cc
+++ b/src/visualisers/IsoLabel.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file IsoLabel.cc
     \brief Implementation of the Template class IsoLabel.
diff --git a/src/visualisers/IsoLabel.h b/src/visualisers/IsoLabel.h
index 6092b49..91126bf 100644
--- a/src/visualisers/IsoLabel.h
+++ b/src/visualisers/IsoLabel.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file IsoLabel.h
     \brief Definition of the Template class IsoLabel.
diff --git a/src/visualisers/IsoPlot.cc b/src/visualisers/IsoPlot.cc
index 250f5e2..f80ca9e 100644
--- a/src/visualisers/IsoPlot.cc
+++ b/src/visualisers/IsoPlot.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ *
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
+ * In applying this licence, ECMWF does not waive the privileges and immunities
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file IsoPlot.cc
  \brief Implementation of the Template class IsoPlot.
@@ -179,59 +171,59 @@ public:
 
         }
         else {
-        	// intersect !
-        	// Create line from 1first
+            // intersect !
+            // Create line from 1first
 
-        	typedef boost::geometry::model::polygon<PaperPoint > polygon;
+            typedef boost::geometry::model::polygon<PaperPoint > polygon;
 
 
-        	polygon previous, pts;
+            polygon previous, pts;
 
-        	for ( vector<PaperPoint>::iterator pt = points.begin();  pt != points.end(); ++pt ) {
-        		pts.outer().push_back(*pt);
-        	}
-        	pts.outer().push_back(points.front());
-        	vector<vector<Point> > result;
-        	helper->second->computePolygonLines(result);
-        	ASSERT( result.size() == 1);
-        	for ( vector<Point>::iterator pt = result.front().begin();  pt != result.front().end(); ++pt ) {
-        		previous.outer().push_back(PaperPoint(pt->x_, pt->y_));
-        	}
+            for ( vector<PaperPoint>::iterator pt = points.begin();  pt != points.end(); ++pt ) {
+                pts.outer().push_back(*pt);
+            }
+            pts.outer().push_back(points.front());
+            vector<vector<Point> > result;
+            helper->second->computePolygonLines(result);
+            ASSERT( result.size() == 1);
+            for ( vector<Point>::iterator pt = result.front().begin();  pt != result.front().end(); ++pt ) {
+                previous.outer().push_back(PaperPoint(pt->x_, pt->y_));
+            }
 
-        	helper_[index] = new SegmentJoiner();
+            helper_[index] = new SegmentJoiner();
 
 
-        	std::vector<polygon > output;
+            std::vector<polygon > output;
 
 
-        	try {
-        		boost::geometry::intersection(previous, pts, output);
+            try {
+                boost::geometry::intersection(previous, pts, output);
 
 
-        		if (output.size() == 1){
-        			vector<PaperPoint> xx;
-        			for ( vector<PaperPoint>::iterator pt = output.front().outer().begin();  pt != output.front().outer().end(); ++pt ) {
-        				xx.push_back(*pt);
-        			}
+                if (output.size() == 1){
+                    vector<PaperPoint> xx;
+                    for ( vector<PaperPoint>::iterator pt = output.front().outer().begin();  pt != output.front().outer().end(); ++pt ) {
+                        xx.push_back(*pt);
+                    }
 
-        			push_back(index, xx);
+                    push_back(index, xx);
 
-        		}
-        		else
-        		{
+                }
+                else
+                {
 
-        			boost::geometry::union_(pts, previous, output);
-        			if (output.size() == 1){
-        				push_back(index, output.front().outer());
-        			}
-        			else
-        				push_back(index, previous.outer());
+                    boost::geometry::union_(pts, previous, output);
+                    if (output.size() == 1){
+                        push_back(index, output.front().outer());
+                    }
+                    else
+                        push_back(index, previous.outer());
 
-        		}
-        	}
-        	catch (...) {
-        		// ignore
-        	}
+                }
+            }
+            catch (...) {
+                // ignore
+            }
 
         }
 
@@ -256,6 +248,7 @@ public:
     }
 
     void split();
+    void split(int);
 
     void addShape(int index)
     {
@@ -375,7 +368,7 @@ public:
             joiner.computePolygonLines(result);
             Polyline* poly = 0;
             if ( result.empty() )
-            		continue;
+                    continue;
             bool reverse = joiner.isHole(result.front());
 
             for (vector<vector<Point> >::iterator j = result.begin() ; j != result.end(); ++j) {
@@ -459,6 +452,30 @@ void CellBox::shade(const IsoPlot& owner) {
 }
 
 
+void CellBox::split(int)
+{
+
+    // split in 8
+
+
+    if ( row1_ == row2_ && column1_ ==  column2_ )
+            return;
+
+    const int row    = (row2_   + row1_) /2;
+    const int column = (column2_+ column1_)/4;
+
+
+    // Push 8 cells:
+    push_back(new CellBox(parent_, row1_, row, column1_, column));
+    push_back(new CellBox(parent_, row1_, row, column+1, 2*column));
+    push_back(new CellBox(parent_, row1_, row, (2*column)+1, 3*column));
+    push_back(new CellBox(parent_, row1_, row, (3*column)+1, column2_));
+    push_back(new CellBox(parent_, row+1, row2_, column1_, column));
+    push_back(new CellBox(parent_, row+1, row2_, column+1, 2*column));
+    push_back(new CellBox(parent_, row+1, row2_, (2*column)+1, 3*column));
+    push_back(new CellBox(parent_, row+1, row2_, (3*column)+1, column2_));
+
+}
 
 void CellBox::split()
 {
@@ -1177,7 +1194,7 @@ void IsoPlot::isoline(MatrixHandler& data, BasicGraphicsObjectContainer& parent)
 {
 
     const Transformation& transformation = parent.transformation();
-    
+
 
 
 
@@ -1244,6 +1261,7 @@ void IsoPlot::isoline(MatrixHandler& data, BasicGraphicsObjectContainer& parent)
        vector<IsoProducer* >  producers_;
 
        {
+        Timer timer("Threading", "Threading");
         VectorOfPointers<vector<ThreadControler *>  > consumers;
         VectorOfPointers<vector<ThreadControler *>  > producers;
         segments_.clear();
@@ -1332,7 +1350,14 @@ void IsoPlot::isoline(MatrixHandler& data, BasicGraphicsObjectContainer& parent)
  void IsoPlot::operator()(MatrixHandler& data, BasicGraphicsObjectContainer& parent)
 {
     prepare(data);
-    if ( legend_only_ ) return;
+    if ( legend_only_ ) {
+        if ( rainbow_ ) {
+            rainbowMethod_->set(*this);
+            rainbowMethod_->prepare(*levelSelection_, true);
+            setThicknessAndStyle();
+        }
+        return;
+    }
 
     {
         Timer timer("contouring", "Time spent in contouring");
@@ -1363,7 +1388,7 @@ void IsoPlot::isoline(MatrixHandler& data, BasicGraphicsObjectContainer& parent)
       for (vector<Polyline* >::const_iterator poly = (*lines)->begin(); poly != (*lines)->end(); ++poly)
       {
         if ( (*poly)->empty() ) continue;
-       
+
 
 
         if ( !rainbow_ ) {
@@ -1459,8 +1484,8 @@ void IsoPlot::visit(Data& data, LegendVisitor& legend) {
 
                     line->setColour((*rainbowMethod_)(*level));
                     line->setLineStyle(line_style(*level));
-                    line->setThickness(thickness(*level));
-                    legend.add(new LineEntry(*level, line));
+                    line->setThickness(thickness(*level)*5);
+                    legend.add(new RainbowEntry(*level, line));
                 }
                 break;
             }
@@ -1604,7 +1629,9 @@ void IsoPlot::visit(Data& data, PointsHandler& points, HistoVisitor& visitor)
     helper.visit(beans, data, points, visitor);
 }
 
-CellArray::CellArray(MatrixHandler& data, IntervalMap<int>& range, const Transformation& transformation, int width, int height, float resol, const string& technique) :
+CellArray::CellArray(MatrixHandler& data, 
+        IntervalMap<int>& range, 
+        const Transformation& transformation, int width, int height, float resol, const string& technique) :
         rangeFinder_(range),data_(data)
 {
     Timer timer("CellArray", "CellArray");
@@ -1652,6 +1679,9 @@ CellArray::CellArray(MatrixHandler& data, IntervalMap<int>& range, const Transfo
         double max =  data.max();
         double missing =  data.missing();
 
+        double newmax =  data.min();
+        double newmin =  data.max();
+
         MagLog::dev() << "min = " << data.min() << "  max = " << data.max() << endl;
         for (vector< std::pair<double, double> >::iterator xy = xypoints.begin(); xy != xypoints.end(); ++xy) {
 
@@ -1668,13 +1698,14 @@ CellArray::CellArray(MatrixHandler& data, IntervalMap<int>& range, const Transfo
                     if (value != missing) {
                         if (value < min)
                             value = min;
+                        if (value < newmin)
+                            newmin = value;
                         if (value > max)
-                            value=max;
-                    }
-                    //else value = 0;
-
-
+                            value=max; 
+                        if (value > newmax)
+                            newmax = value;
 
+                    }                    
                     points_.push_back(value);
                     ++geo;
         }
@@ -1773,8 +1804,8 @@ GridCell::GridCell(const CellArray& data, int row, int column, const Transformat
         count++;
 
         for (int i = 0; i < 4; i++) {
-           
-            
+
+
             transformation.fast_reproject(columns_[i], rows_[i]);
 
             if ( columns_[i] < minx ) {
diff --git a/src/visualisers/IsoPlot.h b/src/visualisers/IsoPlot.h
index e41a10e..5b268b7 100644
--- a/src/visualisers/IsoPlot.h
+++ b/src/visualisers/IsoPlot.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-   
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file IsoPlot.h
     \brief Definition of the Template class IsoPlot.
diff --git a/src/visualisers/IsoShading.cc b/src/visualisers/IsoShading.cc
index f4d6f51..c45b933 100644
--- a/src/visualisers/IsoShading.cc
+++ b/src/visualisers/IsoShading.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file IsoShading.cc
     \brief Implementation of the Template class IsoShading.
diff --git a/src/visualisers/IsoShading.h b/src/visualisers/IsoShading.h
index 8acc959..2fe0302 100644
--- a/src/visualisers/IsoShading.h
+++ b/src/visualisers/IsoShading.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file IsoShading.h
     \brief Definition of the Template class IsoShading.
diff --git a/src/visualisers/LabelPlotting.cc b/src/visualisers/LabelPlotting.cc
index 116d4de..f1bf790 100644
--- a/src/visualisers/LabelPlotting.cc
+++ b/src/visualisers/LabelPlotting.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file LabelPlotting.cc
     \brief Implementation of the Template class LabelPlotting.
diff --git a/src/visualisers/LabelPlotting.h b/src/visualisers/LabelPlotting.h
index 4583d4f..885b196 100644
--- a/src/visualisers/LabelPlotting.h
+++ b/src/visualisers/LabelPlotting.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file LabelPlotting.h
     \brief Definition of the Template class LabelPlotting.
diff --git a/src/visualisers/LabelPlottingBase.h b/src/visualisers/LabelPlottingBase.h
index 7e3a271..d19b2a9 100644
--- a/src/visualisers/LabelPlottingBase.h
+++ b/src/visualisers/LabelPlottingBase.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file LabelPlottingBase.h
     \brief Definition of the Template class LabelPlottingBase.
diff --git a/src/visualisers/LegendMethod.cc b/src/visualisers/LegendMethod.cc
index 69b93d6..07ad5f1 100644
--- a/src/visualisers/LegendMethod.cc
+++ b/src/visualisers/LegendMethod.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file LegendMethod.cc
     \brief Implementation of the Template class LegendMethod.
@@ -79,12 +71,12 @@ void ContinuousLegendMethod::row(LegendEntry& entry, double x, double y, Text& l
 		entry.notext();
 	PaperPoint middle(x, y);
 	entry.rowBox(middle, task);
-
-	if ( entry.needContinuousText() ) {
-		legend.setJustification(MLEFT);
-		middle.y_ -= 0.5;
-		legend.push_back(middle); // We attach the text on the top middle of the symbol!
-	}
+	if ( labelCount_ % label_frequency_ == 0 )
+		if ( entry.needContinuousText(legend) ) {
+		
+			middle.y_ -= 0.5;
+			legend.push_back(middle); // We attach the text on the top middle of the symbol!
+		}
 
 	labelCount_++;
 } 		
@@ -94,10 +86,12 @@ void ContinuousLegendMethod::column(LegendEntry& entry, double x, double y, Text
 	if ( labelCount_ % label_frequency_ != 0 )
 		entry.notext();
 	entry.columnBox(PaperPoint(x, y), task);
-	if ( entry.needContinuousText() ) {
-		legend.setJustification(MLEFT);		
-		legend.push_back(PaperPoint(x+0.25, y)); // WE attach the text on the right of the sumbol!
-	}
+	if ( labelCount_ % label_frequency_ == 0 )
+	
+		if ( entry.needContinuousText(legend) ) {
+			
+			legend.push_back(PaperPoint(x+0.25, y)); // WE attach the text on the right of the sumbol!
+		}
 	labelCount_++;
 } 	
 void HistogramLegendMethod::row(LegendEntry& entry, double x, double y, Text&, BasicGraphicsObjectContainer& out)
diff --git a/src/visualisers/LegendMethod.h b/src/visualisers/LegendMethod.h
index b8571c4..35961c0 100644
--- a/src/visualisers/LegendMethod.h
+++ b/src/visualisers/LegendMethod.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file LegendMethod.h
     \brief Definition of the Template class LegendMethod.
diff --git a/src/visualisers/LevelListSelectionType.cc b/src/visualisers/LevelListSelectionType.cc
index e32223c..8c5e29a 100644
--- a/src/visualisers/LevelListSelectionType.cc
+++ b/src/visualisers/LevelListSelectionType.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file LevelListSelectionType.cc
     \brief Implementation of the Template class LevelListSelectionType.
diff --git a/src/visualisers/LevelListSelectionType.h b/src/visualisers/LevelListSelectionType.h
index a3dd44d..892caa3 100644
--- a/src/visualisers/LevelListSelectionType.h
+++ b/src/visualisers/LevelListSelectionType.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file LevelListSelectionType.h
     \brief Definition of the Template class LevelListSelectionType.
diff --git a/src/visualisers/LevelSelection.cc b/src/visualisers/LevelSelection.cc
index 02de7e0..71b194b 100644
--- a/src/visualisers/LevelSelection.cc
+++ b/src/visualisers/LevelSelection.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file LevelSelection.cc
     \brief Implementation of the Template class LevelSelection.
diff --git a/src/visualisers/LevelSelection.h b/src/visualisers/LevelSelection.h
index 5eb8a71..9411bb5 100644
--- a/src/visualisers/LevelSelection.h
+++ b/src/visualisers/LevelSelection.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file LevelSelection.h
     \brief Definition of the Template class LevelSelection.
diff --git a/src/visualisers/LinearTableMode.cc b/src/visualisers/LinearTableMode.cc
index 1ffec95..84528c5 100644
--- a/src/visualisers/LinearTableMode.cc
+++ b/src/visualisers/LinearTableMode.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file LinearTableMode.cc
     \brief Implementation of the Template class LinearTableMode.
diff --git a/src/visualisers/LinearTableMode.h b/src/visualisers/LinearTableMode.h
index 1193593..25ec063 100644
--- a/src/visualisers/LinearTableMode.h
+++ b/src/visualisers/LinearTableMode.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file LinearTableMode.h
     \brief Definition of the Template class LinearTableMode.
diff --git a/src/visualisers/ListColourTechnique.cc b/src/visualisers/ListColourTechnique.cc
index ae47910..680886c 100644
--- a/src/visualisers/ListColourTechnique.cc
+++ b/src/visualisers/ListColourTechnique.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ListColourTechnique.cc
     \brief Implementation of the Template class ListColourTechnique.
diff --git a/src/visualisers/ListColourTechnique.h b/src/visualisers/ListColourTechnique.h
index 6fe2c67..2d33d2a 100644
--- a/src/visualisers/ListColourTechnique.h
+++ b/src/visualisers/ListColourTechnique.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ListColourTechnique.h
     \brief Definition of the Template class ListColourTechnique.
diff --git a/src/visualisers/LookupTableMode.cc b/src/visualisers/LookupTableMode.cc
index 07173c0..2c612e3 100644
--- a/src/visualisers/LookupTableMode.cc
+++ b/src/visualisers/LookupTableMode.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file LookupTableMode.cc
     \brief Implementation of the Template class LookupTableMode.
diff --git a/src/visualisers/LookupTableMode.h b/src/visualisers/LookupTableMode.h
index 61abcc3..76ec427 100644
--- a/src/visualisers/LookupTableMode.h
+++ b/src/visualisers/LookupTableMode.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file LookupTableMode.h
     \brief Definition of the Template class LookupTableMode.
diff --git a/src/visualisers/MarkerSelection.h b/src/visualisers/MarkerSelection.h
index d179178..4435b20 100644
--- a/src/visualisers/MarkerSelection.h
+++ b/src/visualisers/MarkerSelection.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file MarkerSelection.h
     \brief Definition of the Template class MarkerSelection.
diff --git a/src/visualisers/MarkerSelectionCount.h b/src/visualisers/MarkerSelectionCount.h
index 56fb0a1..3ac83f0 100644
--- a/src/visualisers/MarkerSelectionCount.h
+++ b/src/visualisers/MarkerSelectionCount.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file MarkerSelectionCount.h
     \brief Definition of the Template class MarkerSelectionCount.
diff --git a/src/visualisers/MarkerSelectionList.h b/src/visualisers/MarkerSelectionList.h
index 1dfc8ed..73ef676 100644
--- a/src/visualisers/MarkerSelectionList.h
+++ b/src/visualisers/MarkerSelectionList.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file MarkerSelectionList.h
     \brief Definition of the Template class MarkerSelectionList.
diff --git a/src/visualisers/MarkerShadingTechnique.cc b/src/visualisers/MarkerShadingTechnique.cc
index 0bb021d..8d203d8 100644
--- a/src/visualisers/MarkerShadingTechnique.cc
+++ b/src/visualisers/MarkerShadingTechnique.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file MarkerShadingTechnique.cc
     \brief Implementation of the Template class MarkerShadingTechnique.
diff --git a/src/visualisers/MarkerShadingTechnique.h b/src/visualisers/MarkerShadingTechnique.h
index c16fbd4..5e111f3 100644
--- a/src/visualisers/MarkerShadingTechnique.h
+++ b/src/visualisers/MarkerShadingTechnique.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file MarkerShadingTechnique.h
     \brief Definition of the Template class MarkerShadingTechnique.
diff --git a/src/visualisers/MarkerValuePlotMethod.h b/src/visualisers/MarkerValuePlotMethod.h
index f380da2..f3fd4d0 100644
--- a/src/visualisers/MarkerValuePlotMethod.h
+++ b/src/visualisers/MarkerValuePlotMethod.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file MarkerValuePlotMethod.h
     \brief Definition of the Template class MarkerValuePlotMethod.
diff --git a/src/visualisers/MetgramGraph.cc b/src/visualisers/MetgramGraph.cc
index f90d976..9b34cef 100644
--- a/src/visualisers/MetgramGraph.cc
+++ b/src/visualisers/MetgramGraph.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file MetgramGraph.cc
     \brief Implementation of the Template class MetgramGraph.
diff --git a/src/visualisers/MetgramGraph.h b/src/visualisers/MetgramGraph.h
index 3d33c3e..4a29593 100644
--- a/src/visualisers/MetgramGraph.h
+++ b/src/visualisers/MetgramGraph.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file MetgramGraph.h
     \brief Definition of the Template class MetgramGraph.
diff --git a/src/visualisers/MetgramStyle.cc b/src/visualisers/MetgramStyle.cc
index c802057..8acaf29 100644
--- a/src/visualisers/MetgramStyle.cc
+++ b/src/visualisers/MetgramStyle.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file MetgramStyle.cc
     \brief Implementation of the Template class MetgramStyle.
diff --git a/src/visualisers/MetgramStyle.h b/src/visualisers/MetgramStyle.h
index 7b4f70a..f4e1a3c 100644
--- a/src/visualisers/MetgramStyle.h
+++ b/src/visualisers/MetgramStyle.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file MetgramStyle.h
     \brief Definition of the Template class MetgramStyle.
diff --git a/src/visualisers/NormalTableMode.cc b/src/visualisers/NormalTableMode.cc
index d903cfe..7cdebc1 100644
--- a/src/visualisers/NormalTableMode.cc
+++ b/src/visualisers/NormalTableMode.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file NormalTableMode.h
     \brief Implementation of the Template class NormalTableMode.
diff --git a/src/visualisers/NormalTableMode.h b/src/visualisers/NormalTableMode.h
index 2d399f2..9374ce5 100644
--- a/src/visualisers/NormalTableMode.h
+++ b/src/visualisers/NormalTableMode.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file NormalTableMode.cc
     \brief Definition of the Template class NormalTableMode.
diff --git a/src/visualisers/ObsItem.h b/src/visualisers/ObsItem.h
index 37c0dcc..03781e0 100644
--- a/src/visualisers/ObsItem.h
+++ b/src/visualisers/ObsItem.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ObsItem.h
     \brief Definition of the Template class ObsItem.
diff --git a/src/visualisers/ObsItemFamily.cc b/src/visualisers/ObsItemFamily.cc
index 99c5873..70365a6 100644
--- a/src/visualisers/ObsItemFamily.cc
+++ b/src/visualisers/ObsItemFamily.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ObsItemFamily.cc
     \brief Implementation of the Template class ObsItemfamily.
@@ -34,6 +26,8 @@
 #include "Text.h"
 #include "PaperPoint.h"
 
+#include "Tokenizer.h"
+
 using namespace magics;
 
 
@@ -460,7 +454,7 @@ void ObsPresentWeather::operator()(CustomisedPoint& point,  ComplexSymbol& symbo
 	else {
 		map<int, string>::iterator w = presentweather.find(value->second);
 		if ( w == presentweather.end() ) {
-			MagLog::warning() << "Present Weather " << value->second << " is not recognised yet, pease conatct the magics team " << endl;
+			MagLog::warning() << "OBS > Present Weather " << value->second << " not recognised yet, please contact Magics team" << endl;
 		}
 		else
 			ww = w->second;
@@ -1001,6 +995,85 @@ void  ObsEra::operator()(CustomisedPoint& point,  ComplexSymbol& symbol) const
 
 }
 
+
+void  ObsNumber::visit(std::set<string>& tokens)
+{
+	tokens.insert(key_);
+}
+
+void  ObsNumber::operator()(CustomisedPoint& point,  ComplexSymbol& symbol) const
+{
+	CustomisedPoint::iterator pt = point.find(key_);
+	if (pt == point.end())
+		return;
+	string text = tostring(point[key_]);
+	TextItem*  object = new TextItem();
+	object->x(column_);
+	object->y(row_);
+	MagFont font;
+	font.name("sansserif");
+	font.colour(colour_);
+	font.size(owner_->size_);
+
+	object->text(text);
+	object->font(font);
+	symbol.add(object);
+
+}
+
+std::set<string> keys_;
+
+void  ObsString::visit(std::set<string>& tokens)
+{
+	// Extract the keys needed from the format ${key}
+	Tokenizer tstart("${");
+	Tokenizer tend("}");
+   
+   	vector<string> keys;
+   	
+    tstart(format_, keys);
+    	
+    for (vector<string>::const_iterator token = keys.begin(); token != keys.end(); ++token) {
+    	
+    	vector<string> key;
+    	tend(*token, key);
+    	if ( !key.empty()) {
+    		tokens.insert(key.front());
+    		keys_.insert(key.front());
+    		
+    	}
+
+    } 
+		
+	
+}
+
+void  ObsString::operator()(CustomisedPoint& point,  ComplexSymbol& symbol) const
+{
+	string text = format_;
+	for (std::set<string>::iterator key = keys_.begin(); key != keys_.end(); ++key) {
+		CustomisedPoint::iterator pt = point.find(*key);
+		string val = (pt == point.end()) ? (*key) : tostring(point[*key]);
+		
+		string rkey = "${" + *key + "}";
+		text = text.replace(text.find(rkey), rkey.length(), val);
+	}
+
+
+	TextItem*  object = new TextItem();
+	object->x(column_);
+	object->y(row_);
+	MagFont font;
+	font.name("sansserif");
+	font.colour(colour_);
+	font.size(owner_->size_);
+
+	object->text(text);
+	object->font(font);
+	symbol.add(object);
+
+}
+
 void  ObsSeaTemperature::visit(std::set<string>& tokens)
 {
 	if (!owner_->sea_temperature_visible_) return;
diff --git a/src/visualisers/ObsItemFamily.h b/src/visualisers/ObsItemFamily.h
index fc599dd..5f3dd5d 100644
--- a/src/visualisers/ObsItemFamily.h
+++ b/src/visualisers/ObsItemFamily.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 #ifndef ObsItemFamily_H
 #define ObsItemFamily_H
@@ -38,12 +30,14 @@ public:
 		column_ = atoi(find(def, "column").c_str());
 		colour_ = find(def, "colour", "black");
 		key_ = find(def, "key", "");
+		format_ = find(def, "format", "");
 	}
 protected:		
 	int row_;
 	int column_;
 	string colour_;
 	string key_;
+	string format_;
 };
 
 class ObsStationRing : public ObsItemBox
@@ -416,4 +410,32 @@ protected:
 
 
 };
+class ObsString : public ObsItemBox
+{
+public:
+	ObsString()   {}
+	~ObsString()  {}
+
+	void visit(std::set<string>& tokens);
+	void operator()(CustomisedPoint&,  ComplexSymbol&) const;
+
+protected:
+	void print(ostream& out) const { out << "ObsNumber";  }
+	std::set<string> keys_;
+
+};
+class ObsNumber : public ObsItemBox
+{
+public:
+	ObsNumber()   {}
+	~ObsNumber()  {}
+
+	void visit(std::set<string>& tokens);
+	void operator()(CustomisedPoint&,  ComplexSymbol&) const;
+
+protected:
+	void print(ostream& out) const { out << "ObsNumber";  }
+
+
+};
 #endif
diff --git a/src/visualisers/ObsPlotting.cc b/src/visualisers/ObsPlotting.cc
index 05e4add..d3ef99b 100644
--- a/src/visualisers/ObsPlotting.cc
+++ b/src/visualisers/ObsPlotting.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ObsPlotting.cc
     \brief Implementation of the Template class ObsPlotting.
@@ -141,4 +133,5 @@ static SimpleObjectMaker<ObsDemoItem2, ObsItem> ObsDemo2("obs_demo_item_2");
 static SimpleObjectMaker<ObsWave, ObsItem> Wave("obs_wave_period_height");
 static SimpleObjectMaker<ObsEra, ObsItem> Era("obs_era");
 static SimpleObjectMaker<ObsSeaTemperature, ObsItem> SeaTempe("obs_sea_temperature");
-
+static SimpleObjectMaker<ObsNumber, ObsItem> Number("obs_number");
+static SimpleObjectMaker<ObsString, ObsItem> String("obs_string");
\ No newline at end of file
diff --git a/src/visualisers/ObsPlotting.h b/src/visualisers/ObsPlotting.h
index d264ce5..afd9a12 100644
--- a/src/visualisers/ObsPlotting.h
+++ b/src/visualisers/ObsPlotting.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ObsPlotting.h
     \brief Definition of the Template class ObsPlotting.
diff --git a/src/visualisers/ObsTable.cc b/src/visualisers/ObsTable.cc
index 8d655f3..afc072b 100644
--- a/src/visualisers/ObsTable.cc
+++ b/src/visualisers/ObsTable.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ObsTable.cc
     \brief Implementation of the Template class LocalTable.
diff --git a/src/visualisers/ObsTable.h b/src/visualisers/ObsTable.h
index 785f8d0..dca89ae 100644
--- a/src/visualisers/ObsTable.h
+++ b/src/visualisers/ObsTable.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 #ifndef ObsTable_H
 #define ObsTable_H
diff --git a/src/visualisers/OriginMarker.h b/src/visualisers/OriginMarker.h
index 2478c09..f2f2dfc 100644
--- a/src/visualisers/OriginMarker.h
+++ b/src/visualisers/OriginMarker.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file OriginMarker.h
     \brief Definition of the Template class OriginMarker.
diff --git a/src/visualisers/OutLayerTechnique.cc b/src/visualisers/OutLayerTechnique.cc
index ee7a97b..0d3ba09 100644
--- a/src/visualisers/OutLayerTechnique.cc
+++ b/src/visualisers/OutLayerTechnique.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file HeightSelection.cc
     \brief Implementation of the Template class HeightSelection.
diff --git a/src/visualisers/OutLayerTechnique.h b/src/visualisers/OutLayerTechnique.h
index 6872980..f5e3102 100644
--- a/src/visualisers/OutLayerTechnique.h
+++ b/src/visualisers/OutLayerTechnique.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file HeightSelection.h
     \brief Definition of the Template class HeightSelection.
diff --git a/src/visualisers/PolyShadingMethod.cc b/src/visualisers/PolyShadingMethod.cc
index 0323e00..0f5591a 100644
--- a/src/visualisers/PolyShadingMethod.cc
+++ b/src/visualisers/PolyShadingMethod.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file PolyShadingMethod.h
     \brief Definition of the Template class PolyShadingMethod.
diff --git a/src/visualisers/PolyShadingMethod.h b/src/visualisers/PolyShadingMethod.h
index b2e6968..bb3738b 100644
--- a/src/visualisers/PolyShadingMethod.h
+++ b/src/visualisers/PolyShadingMethod.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file PolyShadingMethod.h
     \brief Definition of the Template class PolyShadingMethod.
diff --git a/src/visualisers/PolyShadingTechnique.cc b/src/visualisers/PolyShadingTechnique.cc
index a77999e..247b8dc 100644
--- a/src/visualisers/PolyShadingTechnique.cc
+++ b/src/visualisers/PolyShadingTechnique.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file PolyShadingMethod.h
     \brief Definition of the Template class PolyShadingMethod.
diff --git a/src/visualisers/PolyShadingTechnique.h b/src/visualisers/PolyShadingTechnique.h
index 679cc9d..4227aab 100644
--- a/src/visualisers/PolyShadingTechnique.h
+++ b/src/visualisers/PolyShadingTechnique.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file PolyShadingTechnique.h
     \brief Definition of the Template class PolyShadingTechnique.
diff --git a/src/visualisers/ShadingTechnique.h b/src/visualisers/ShadingTechnique.h
index 97a18c4..fbd7314 100644
--- a/src/visualisers/ShadingTechnique.h
+++ b/src/visualisers/ShadingTechnique.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ShadingTechnique.h
     \brief Definition of the Template class ShadingTechnique.
diff --git a/src/visualisers/SimplePolylineVisualiser.cc b/src/visualisers/SimplePolylineVisualiser.cc
index 8891361..c04ccb8 100644
--- a/src/visualisers/SimplePolylineVisualiser.cc
+++ b/src/visualisers/SimplePolylineVisualiser.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file BoxPlotVisualiser.cc
     \brief Implementation of the Template class BoxPlotVisualiser.
diff --git a/src/visualisers/SimplePolylineVisualiser.h b/src/visualisers/SimplePolylineVisualiser.h
index 4a4b5bb..82092e0 100644
--- a/src/visualisers/SimplePolylineVisualiser.h
+++ b/src/visualisers/SimplePolylineVisualiser.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file SimplePolylineVisualiser.h
     \brief Definition of the Template class SimplePolylineVisualiser.
diff --git a/src/visualisers/Streamlines.cc b/src/visualisers/Streamlines.cc
index b4c4639..55225a6 100644
--- a/src/visualisers/Streamlines.cc
+++ b/src/visualisers/Streamlines.cc
@@ -1,22 +1,12 @@
-
-
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file WindPlotting.cc
     \brief Implementation of the Template class Wind.
diff --git a/src/visualisers/Streamlines.h b/src/visualisers/Streamlines.h
index bbd4686..ec14857 100644
--- a/src/visualisers/Streamlines.h
+++ b/src/visualisers/Streamlines.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Streamlines.h
     \brief Definition of the Template class Streamlines.
diff --git a/src/visualisers/SymbolAdvancedTableMode.cc b/src/visualisers/SymbolAdvancedTableMode.cc
index 949fa7b..264a878 100644
--- a/src/visualisers/SymbolAdvancedTableMode.cc
+++ b/src/visualisers/SymbolAdvancedTableMode.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file SymbolAdvancedTableMode.h
     \brief Implementation of the Template class SymbolAdvancedTableMode.
diff --git a/src/visualisers/SymbolAdvancedTableMode.h b/src/visualisers/SymbolAdvancedTableMode.h
index 49cf134..fb884cf 100644
--- a/src/visualisers/SymbolAdvancedTableMode.h
+++ b/src/visualisers/SymbolAdvancedTableMode.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file SymbolAdvancedTableMode.cc
     \brief Definition of the Template class SymbolAdvancedTableMode.
diff --git a/src/visualisers/SymbolMode.cc b/src/visualisers/SymbolMode.cc
index fadb41d..65e52ce 100644
--- a/src/visualisers/SymbolMode.cc
+++ b/src/visualisers/SymbolMode.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file SymbolMode.cc
     \brief Implementation of the Template class SymbolMode.
diff --git a/src/visualisers/SymbolMode.h b/src/visualisers/SymbolMode.h
index d19a9ac..4487df7 100644
--- a/src/visualisers/SymbolMode.h
+++ b/src/visualisers/SymbolMode.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file SymbolMode.h
     \brief Definition of the Template class SymbolMode.
@@ -134,10 +126,10 @@ public:
    
     
     virtual void visit(LegendVisitor&);
-	void prepare() { update(); }
+	void prepare() { update(); properties();}
     void update();
     void properties() const;
-    SymbolProperties operator()(double) const {  properties(); return properties_; }
+    SymbolProperties operator()(double) const {   return properties_; }
     void visit(Data&, LegendVisitor&);
 
 protected:
diff --git a/src/visualisers/SymbolPlotting.cc b/src/visualisers/SymbolPlotting.cc
index 3649a15..b893722 100644
--- a/src/visualisers/SymbolPlotting.cc
+++ b/src/visualisers/SymbolPlotting.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file SymbolPlotting.cc
     \brief Implementation of the Template class SymbolPlotting.
diff --git a/src/visualisers/SymbolPlotting.h b/src/visualisers/SymbolPlotting.h
index febb1b0..9768c91 100644
--- a/src/visualisers/SymbolPlotting.h
+++ b/src/visualisers/SymbolPlotting.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file SymbolPlotting.h
     \brief Definition of the Template class SymbolPlotting.
diff --git a/src/visualisers/TaylorGrid.cc b/src/visualisers/TaylorGrid.cc
index 00a7895..967e9c6 100644
--- a/src/visualisers/TaylorGrid.cc
+++ b/src/visualisers/TaylorGrid.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either expres  s or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file TaylorGrid.cc
     \brief Implementation of the Template class TaylorGrid.
diff --git a/src/visualisers/TaylorGrid.h b/src/visualisers/TaylorGrid.h
index 3c6d447..ddf5668 100644
--- a/src/visualisers/TaylorGrid.h
+++ b/src/visualisers/TaylorGrid.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file TaylorGrid.h
     \brief Definition of the Template class TaylorGrid.
diff --git a/src/visualisers/TephiGrid.cc b/src/visualisers/TephiGrid.cc
index 02ef583..71966cf 100644
--- a/src/visualisers/TephiGrid.cc
+++ b/src/visualisers/TephiGrid.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either expres  s or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file TephiGrid.cc
     \brief Implementation of the Template class TephiGrid.
diff --git a/src/visualisers/TephiGrid.h b/src/visualisers/TephiGrid.h
index db7b1f6..2ee711b 100644
--- a/src/visualisers/TephiGrid.h
+++ b/src/visualisers/TephiGrid.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file TephiGrid.h
     \brief Definition of the Template class TephiGrid.
diff --git a/src/visualisers/TextOrientation.cc b/src/visualisers/TextOrientation.cc
index cc3f826..79f3a80 100644
--- a/src/visualisers/TextOrientation.cc
+++ b/src/visualisers/TextOrientation.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file TextOrientation.cc
     \brief Implementation of the Template class TextOrientation.
diff --git a/src/visualisers/TextOrientation.h b/src/visualisers/TextOrientation.h
index 2da7a33..8f2e9c0 100644
--- a/src/visualisers/TextOrientation.h
+++ b/src/visualisers/TextOrientation.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file TextOrientation.h
     \brief Definition of the Template class TextOrientation.
diff --git a/src/visualisers/UserDate.cc b/src/visualisers/UserDate.cc
index e365298..ccf6d65 100644
--- a/src/visualisers/UserDate.cc
+++ b/src/visualisers/UserDate.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file UserDate.cc
     \brief Implementation of the Template class UserDate.
diff --git a/src/visualisers/UserDate.h b/src/visualisers/UserDate.h
index 22874db..09cdce9 100644
--- a/src/visualisers/UserDate.h
+++ b/src/visualisers/UserDate.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file UserDate.h
     \brief Definition of the Template class UserDate.
diff --git a/src/visualisers/ValuePlot.cc b/src/visualisers/ValuePlot.cc
index 34695e3..6b32b36 100644
--- a/src/visualisers/ValuePlot.cc
+++ b/src/visualisers/ValuePlot.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ValuePlot.cc
     \brief Implementation of the Template class ValuePlot.
diff --git a/src/visualisers/ValuePlot.h b/src/visualisers/ValuePlot.h
index 8605a4b..06dd297 100644
--- a/src/visualisers/ValuePlot.h
+++ b/src/visualisers/ValuePlot.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ValuePlot.h
     \brief Definition of the Template class ValuePlot.
diff --git a/src/visualisers/ValuePlotBase.h b/src/visualisers/ValuePlotBase.h
index dd7e31d..5336417 100644
--- a/src/visualisers/ValuePlotBase.h
+++ b/src/visualisers/ValuePlotBase.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ValuePlotBase.h
     \brief Definition of the Template class ValuePlotBase.
diff --git a/src/visualisers/ValuePlotMethod.h b/src/visualisers/ValuePlotMethod.h
index 8832370..12368e7 100644
--- a/src/visualisers/ValuePlotMethod.h
+++ b/src/visualisers/ValuePlotMethod.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file ValuePlotMethod.h
     \brief Definition of the Template class ValuePlotMethod.
diff --git a/src/visualisers/VisDefInfo.h b/src/visualisers/VisDefInfo.h
index 169ae16..73f3214 100644
--- a/src/visualisers/VisDefInfo.h
+++ b/src/visualisers/VisDefInfo.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file VisDefInfo.h
     \brief Definition of class VisDefInfo.
diff --git a/src/visualisers/Wind.cc b/src/visualisers/Wind.cc
index eb8d85f..22b3d55 100644
--- a/src/visualisers/Wind.cc
+++ b/src/visualisers/Wind.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Wind.cc
     \brief Implementation of the Template class Wind.
diff --git a/src/visualisers/Wind.h b/src/visualisers/Wind.h
index 21d26d8..51abab2 100644
--- a/src/visualisers/Wind.h
+++ b/src/visualisers/Wind.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file Wind.h
     \brief Definition of the Template class Wind.
diff --git a/src/visualisers/WindPlotting.cc b/src/visualisers/WindPlotting.cc
index 47d83a0..fd09f85 100644
--- a/src/visualisers/WindPlotting.cc
+++ b/src/visualisers/WindPlotting.cc
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file WindPlotting.cc
     \brief Implementation of the Template class Wind.
diff --git a/src/visualisers/WindPlotting.h b/src/visualisers/WindPlotting.h
index 45294a2..234a20a 100644
--- a/src/visualisers/WindPlotting.h
+++ b/src/visualisers/WindPlotting.h
@@ -1,20 +1,12 @@
-/******************************** LICENSE ********************************
-
- Copyright 2007 European Centre for Medium-Range Weather Forecasts (ECMWF)
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at 
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-
- ******************************** LICENSE ********************************/
+/*
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+ */
 
 /*! \file WindPlotting.h
     \brief Definition of the Template class WindPlotting.
diff --git a/src/web/MagJSon.cc b/src/web/MagJSon.cc
index 35c82ee..921eb92 100644
--- a/src/web/MagJSon.cc
+++ b/src/web/MagJSon.cc
@@ -195,3 +195,15 @@ void MagJSon::magics(const json_spirit::Value& value)
 	Timer timer("total", "execution");
 	magics.execute(tree_);
 }
+
+bool ParamJSon::hasKey(const string& key)
+{
+	
+	return ( find(key) != end() );
+}
+
+string ParamJSon::get(const string& key, const string& val)
+{
+	const_iterator value = find(key);
+	return ( value != end() ) ? value->second : val;
+}
\ No newline at end of file
diff --git a/src/web/MagJSon.h b/src/web/MagJSon.h
index 347f288..9583d6e 100644
--- a/src/web/MagJSon.h
+++ b/src/web/MagJSon.h
@@ -64,7 +64,9 @@ class ParamJSon : public map<string, string>
 public:
 	ParamJSon(const string&);
 	~ParamJSon() {}
-
+    string get(const string&, const string&);
+    bool hasKey(const string&);
+    
 protected:
     void magics(const json_spirit::Value&);
 
diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt
index 8282372..67d0534 100644
--- a/tools/CMakeLists.txt
+++ b/tools/CMakeLists.txt
@@ -10,7 +10,6 @@ ecbuild_add_resources( TARGET tools_scripts
                             newtemplate.pl
                             xml2cc.pl
                             xml2cc_list.pl
-                            xml2cc_new.pl
                             xml2doc.pl
                             xml2dtd.pl
                             xml2icon.pl
diff --git a/tools/magicsCompatibilityChecker b/tools/magicsCompatibilityChecker
index 1996c47..dc99081 100755
--- a/tools/magicsCompatibilityChecker
+++ b/tools/magicsCompatibilityChecker
@@ -15,8 +15,7 @@
 # limitations under the License.
 #
 #
-# This script is provided by the ECMWF Meteorological Visualisation Section as help to identify 
-# potential problems porting programs from using MAGICS 5/6 to Magics++.
+# This script is provided as help to identify potential problems porting programs from using MAGICS 5/6 to Magics++.
 #
 # We do NOT garantee that all issues can be found with this script!!!
 #
diff --git a/tools/mapgen_clip b/tools/mapgen_clip
index a7e4edf..29d1059 100755
--- a/tools/mapgen_clip
+++ b/tools/mapgen_clip
@@ -15,11 +15,8 @@
 # limitations under the License.
 #
 #
-# This script is provided by the ECMWF Meteorological Visualisation Section as help to 
-# clip / reduce size of mapgen data files.
+# This script is provided as help to clip / reduce size of mapgen data files.
 #
-
-
 import sys
 
 if len(sys.argv) < 6:
diff --git a/tools/xml2cc.pl b/tools/xml2cc.pl
index 47d6053..59bc00d 100755
--- a/tools/xml2cc.pl
+++ b/tools/xml2cc.pl
@@ -7,23 +7,19 @@
 # granted to it by virtue of its status as an intergovernmental organisation nor
 # does it submit to any jurisdiction.
 
-#test juanjo
 
 use XML::Parser;
 use Time::localtime;
 
-my $file = shift;
-my $dir = shift;
+my $file  = shift;
+my $dir   = shift;
+my $nosubdir = shift;
+
 my $Author="MagicsTeam";
 my $ecmwf="http://wms.ecmwf.int";
 my $info = {};
 my $element = {};
 
-my %direct = {
-    "int" => "ParameterManager::getInt",
-    "float" => "ParameterManager::getDouble",
-    "string" => "ParameterManager::getString",
-};
 
 my %basetype = (
     "int" => 1,
@@ -33,33 +29,54 @@ my %basetype = (
     "floatarray" =>1,
     "stringarray" => 1,
     "intarray" => 1, 
+    "longintarray" => 1, 
     "LineStyle" =>1,
     "ListPolicy" =>1,
     "Hemisphere" =>1,
     "ArrowPosition" => 1,
+    "AxisAutomaticSetting" => 1,
     "Justification" => 1,
+    "Position" => 1,
     "DisplayType" => 1,
     "OpenGLDriverObserverPtr" => 1,
     "Widget" =>1, 
-    "cairo_t" =>1, 
+    "cairo_t*" =>1,
+    "QWidget*" =>1,
+    "QGraphicsScene*" => 1,
     "Matrix" => 1,
-    "GribHandlePtr" =>1,
-    "QGraphicsScenePtr" => 1,
-    "QWidgetPtr" => 1,
+    "GribHandlePtr" =>1,  
 );
 
+my %translator = (
+    "int" => "ParameterManager::getInt",
+    "float" => "ParameterManager::getDouble",
+    "string" => "ParameterManager::getString",
+    "stringarray" => "ParameterManager::getStringArray",
+    "bool" => "ParameterManager::getBool",
+    "doublearray" => "ParameterManager::getDoubleArray",
+    "floatarray" => "ParameterManager::getDoubleArray",
+    "intarray" => "ParameterManager::getIntArray",
+    "longintarray" => "ParameterManager::getLongIntArray"
+    
+);
 my %magtype = (
 	"float" =>'double',
 );
+my %consttype = (
+	"string" =>'const string&',
+);
 
 my %classtype = (
 	"Colour" =>1,
+	"DateTime" =>1,
+	"Path" => 1
 );
 
 my %arraytype = (
 	"floatarray" => "atof(data)",
 	"stringarray" => "data",
 	"intarray" => "atoi(data)",
+	"longintarray" => "atoi(data)",
 );
 
 my %quote = (
@@ -113,38 +130,50 @@ sub parse
     }   
 }
 
-
-
-
-
 my $xml= new XML::Parser(Style=>"Tree");
   
 parse ($info, $xml->parsefile($file));
 
 foreach my $object (keys %{$info->{magics}->{class}}) 
 {
-   
     $current = $info->{magics}->{class}->{$object};
     $directory = $info->{magics}->{class}->{$object}->{attributes}->{directory};
-    
+    $tag = $info->{magics}->{class}->{$object}->{attributes}->{xmltag};
 
+    my $location;
+    if( defined $nosubdir and $nosubdir eq "nosubdir" ) { 
+        $location  = $dir; 
+    }
+    else { 
+        $location  = "$dir/$directory"; 
+    }
+        
 ######################################################
 #####                Include file
 
-    open STDOUT, ">$dir/$directory/$object\Attributes.h";
+    open STDOUT, ">$location/$object\Attributes.h";
 
     my $string =  ctime();
     print  <<EOF;
+/*******************************  LICENSE  *******************************
+
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+
+ *******************************  LICENSE  *******************************/
 
 /*! \\file $object\Attributes.h
     \\brief Definition of $object Attributes class.
+
     This file is automatically generated.
     Do Not Edit!
-    
-    Magics Team - ECMWF 2004
-   
-    Created: $string
-    
+
+    Generated: $string
 */
    
 
@@ -152,17 +181,23 @@ foreach my $object (keys %{$info->{magics}->{class}})
 #define $object\Attributes_H
 
 #include "magics.h"
-#include "ParameterManager.h"
-#include "Factory.h"
+EOF
 
+    if (index($object, "Matrix") != -1) {
+       print "#include \"Matrix.h\"\n";
+    } 
+    if (index($object, "Cairo") != -1) {
+       print "#include \"cairo.h\"\n";
+    } 
 
-EOF
     my $includes = {};
     my @impl=split(/\//, $current->{attributes}->{implements});
+    my @prefixs=split(/\//, $current->{attributes}->{prefix});
+   
     my @interfaces = (split(/\//, $current->{attributes}->{interface}), @impl);
+    
     foreach $i (@impl) 
     {
-        
         print "#include \"$i.h\"\n";
     }
     
@@ -170,12 +205,10 @@ EOF
     my $sep = ":";
     foreach $interface (@interfaces) 
     {
-        
         $parent="$parent$sep public $interface";
         $sep = ", " 
     }
-    
-    
+
     foreach my $param (@{$current->{parameter_list}}) 
     {   
        my $todo = $current->{parameter}->{$param}->{attributes}->{implemented};
@@ -185,7 +218,7 @@ EOF
        
        if ( !$basetype{$to} )
        {
-            if   ($include eq "" ) {
+            if ($include eq "" ) {
                 $includes->{"$to.h"} = "ok";
             }
             else 
@@ -199,9 +232,7 @@ EOF
     {
           print "#include \"$include\"\n"; 
     }
-    
     print "\n";
-  
     
     my $template = $current->{attributes}->{template_attributes};
     my $class = "$object\Attributes";
@@ -217,7 +248,6 @@ namespace magics {
 
 class XmlNode;
 
-
 $line
 class $object\Attributes $parent
 {
@@ -228,97 +258,23 @@ public:
 //  --  destructor
     virtual ~$object\Attributes();
     
-    virtual void set(const std::map<string, string>&);
+    virtual void set(const std::map<std::string, std::string>&);
     virtual void set(const XmlNode&);
     virtual void copy(const $object\Attributes&);
-    
-    void setTag(const string& tag) { tag_ = tag; }
-   
-    
-EOF
-    my $xml_data = $current->{attributes}->{xml_data};
-    if ($xml_data eq '' ) {
-        print <<EOF;
-    void setXmlData(const string&)  {}
-EOF
-    }
-    else {
-    	my $to = $current->{parameter}->{$xml_data}->{attributes}->{to};
-    	my $member = $current->{parameter}->{$xml_data}->{attributes}->{member};
-    	if ( $arraytype{$to} ) {    		
-    		print("\tvoid setXmlData(const string& data)  { $member\_.push_back($arraytype{$to}); } \n");
-    	}
-    	else {
-    		print("\tvoid setXmlData(const string& data)  { $member\_ = data; }\n");
-    	}
-    }
-    
-   
-    
-    foreach  my $param (@{$current->{parameter_list}}) 
-    {      
-        my $todo = $current->{parameter}->{$param}->{attributes}->{implemented};
-        next if $todo eq 'no';
-        my $name = $current->{parameter}->{$param}->{attributes}->{name};
-        my $default = $current->{parameter}->{$param}->{attributes}->{default};
-        my $member = $current->{parameter}->{$param}->{attributes}->{member};
-        my $from = $current->{parameter}->{$param}->{attributes}->{from};
-        my $to = $current->{parameter}->{$param}->{attributes}->{to};
-        my $tpl = $current->{parameter}->{$param}->{attributes}->{template};
-        $to = "$to<$tpl> " unless $tpl eq "";
-       
-        my $value = lc $member;
-        my $method = ucfirst $member;
-        
-        print <<EOF;
-/*!
- *   Magics Information:
- *     - Parameter name: $name 
- *     - Default: $default
- */
-EOF
-    my $magto = $to;
-    $magto = $magtype{$magto} if $magtype{$magto};
-    
-
-    if ( $basetype{$to} ) 
-    { 
-        print <<EOF;   
-	void set$method($magto $value) 
-		{ $member\_ =  $value; } 
-	$magto get$method() const 
-		{ return $member\_; } 
-        
-EOF
-    }
-    else
-    {
-        print <<EOF;   
-	void set$method($to* $value) 
-		{ auto_ptr<$to> tmp($value); $member\_ = tmp; } 
-	const $to&  get$method() const 
-		{ return *$member\_; }
-     
-EOF
-    }
-    
-    }
+    virtual bool accept(const std::string&);
 
-    print <<EOF;
-    virtual void toxml(ostream& out, int tabs = 0) const { toxml(out, tag_, tabs); }
-    
-protected:
-//  --  method
-	virtual void print(ostream&) const;
-	
-	virtual void toxml(ostream&, const string&, int tabs) const;
+    void setTag(const std::string& tag) { tag_ = tag; }
 
-//  --  members:
+public:
+	//  --  method
+	virtual void print(std::ostream&) const;
+	virtual void toxml(std::ostream& out) const;
+	//  --  members:
 	string tag_;
 EOF
      
-     print "\tstring $xml_data\_;\n" unless $xml_data eq ''; 
-     foreach  my $param (@{$current->{parameter_list}}) 
+    print "\tstring $xml_data\_;\n" unless $xml_data eq ''; 
+    foreach  my $param (@{$current->{parameter_list}}) 
     {      
         my $todo = $current->{parameter}->{$param}->{attributes}->{implemented};
         next if $todo eq 'no';
@@ -344,7 +300,6 @@ EOF
 print <<EOF;   
 
 private:
-  
 	friend ostream& operator<<(ostream& s,const $class& p)
 	{ p.print(s); return s; }
 };
@@ -366,27 +321,33 @@ EOF
 ######################################################
 #####                Source file
 
-    open STDOUT, ">$dir/$directory/$object\Attributes.cc";
-    
- 
+    open STDOUT, ">$location/$object\Attributes.cc";
+
     print  <<EOF;
+/*******************************  LICENSE  *******************************
+
+ * (C) Copyright 1996-2016 ECMWF.
+ * 
+ * This software is licensed under the terms of the Apache Licence Version 2.0
+ * which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
+ * In applying this licence, ECMWF does not waive the privileges and immunities 
+ * granted to it by virtue of its status as an intergovernmental organisation nor
+ * does it submit to any jurisdiction.
+
+ *******************************  LICENSE  *******************************/
+
 /*! \\file $object\Attributes.cc
-    \\brief Implemtation of $object Attributes class.
+    \\brief Implementation of $object Attributes class.
+
     This file is automatically generated.
     Do Not Edit!
-    
-    Magics Team - ECMWF 2004
-   
-    Created: $string
-    
+
+    Generated: $string
 */    
 
-    
 #include "$object\Attributes.h"
 #include "MagicsParameter.h"
-#include "Factory.h"
-#include "Translator.h"
-#include "XmlNode.h"
+#include "ParameterSettings.h"
 
 using namespace magics;
 
@@ -431,27 +392,30 @@ EOF
         my $magto = $to;
         $magto = $magtype{$to} if $magtype{$to};
         $from = $magtype{$from} if $magtype{$from};
-        print "$to\n";
+      %xxx = {
+    "int" => "ParameterManager::getInt",
+    "float" => 1,
+    "string" => ParameterManager::getString,
+};
         if ($constant eq "yes" ) 
         {
-            if ($direct{$to}) {
-                print "$direct{$to}\n";
+            if ($translator{$to} ne '') {
+                print "$sep\n\t$member\_($translator{$to}(\"$default\"))";
             }
             else {
-        	    print "$sep\n\t$member\_(Translator<$from, $magto>()(\"$default\"))"; 
+        	    print "$sep\n\t$member\_(MagTranslator<$from, $magto>().magics(\"$default\"))"; 
             }
-        }
+        } 
         else {
-            if ($direct{$to}) {
-                print "$direct{$to}\n";
+           
+            if ($translator{$to} ne '') {
+                print "$sep\n\t$member\_($translator{$to}(\"$name\"))";
             }
             else {
-        	    print "$sep\n\t$member\_(Translator<$from, $magto>().magics(\"$name\"))"; 
+        	    print "$sep\n\t$member\_(MagTranslator<$from, $magto>().magics(\"$name\"))"; 
             }
         }
 		$sep = ",";
-        
-        
     }
 	print "\n";
     print <<EOF;
@@ -474,15 +438,12 @@ EOF
         my $magto = $to;
         $magto = $magtype{$to} if $magtype{$to};
         $from = $magtype{$from} if $magtype{$from};
-        print "\n\tTranslator<string, $magto> $member;\n";
-        print "\tset$method($member.magics(\"$name\"));\n";
-       
-		
+	
+        print "\tset$method(MagTranslator<string, $magto>()(\"$name\"));\n";
    }
    print <<EOF;
 } 
 
-
 $header
 $object\Attributes$p\::~$object\Attributes()
 {
@@ -491,7 +452,18 @@ $object\Attributes$p\::~$object\Attributes()
 $header    
 EOF
 	$val = 0;
-	  my $code = "";
+	my $code = "";
+	my $nb = $#prefixs+1;
+	
+	$code = "\tvector<string> prefix($nb);\n";
+	$j = 0;
+	for ($i = $nb; $i > 0; --$i) {		
+		$code = "$code\tprefix[$j] = \"@prefixs[$i-1]\";\n";
+		++$j;
+	}
+	$code = "$code\n";
+	
+	   
     foreach  my $param (@{$current->{parameter_list}}) 
     {
         my $todo = $current->{parameter}->{$param}->{attributes}->{implemented};
@@ -506,54 +478,21 @@ EOF
         
         $to = "$to<$tpl> " unless $tpl eq "";
         my $magto = $to;
-      
+     
         my $method = ucfirst $member;
         $magto = $magtype{$to} if $magtype{$to};
         $from = $magtype{$from} if $magtype{$from};
-
-        if ( $basetype{$to} ) 
-        {
-        	$code = "$code\tval = params.find(\"$name\");\n";
-        	$code = "$code\tif ( val != params.end() ) { \n";
-            $code = "$code\t\tset$method(Translator<string, $magto>()(val->second));\n"; 
-            $code = "$code\t}\n";
-        }
-        elsif ( $to eq 'Colour')
-        {
-           $code = "$code\tval = params.find(\"$name\");\n";
-           $code = "$code\tif ( val != params.end() ) { \n";
-           $code = "$code\t\t$magto* $member = Translator<string, $magto>()(val->second);\n";
-           $code = "$code\t\tset$method($member);\n";
-           #print "\t\t$member->set(params);\n";
-           
-		   $code = "$code\t}\n";
-           
-        }
-       
-      
-        if ( $xml ne "" && $xml ne $name) {
         	
-            	#print "\t\tMagLog::info() << \"Parameter $name set to \" << val->second << \"\\n\"; \n";
         	if ( $basetype{$to} ) 
             { 
-            	
-          		$code = "$code\tval = params.find(\"$xml\");\n";
-            	$code = "$code\tif ( val != params.end() ) { \n";
-                 $code = "$code\t\tset$method(Translator<string, $magto>()(val->second));\n"; 
-                 $code = "$code\t}\n";
+            	$code = "$code\tsetAttribute(prefix, \"$name\", $member\_, params);\n";          		
             }
             elsif ( $to eq 'Colour')   {
-            	$code = "$code\tval = params.find(\"$xml\");\n";
-            	$code = "$code\tif ( val != params.end() ) { \n";
-               $code = "$code\t\t$magto* $member = Translator<string, $magto>()(val->second);\n";
-           	   $code = "$code\t\tset$method($member);\n";
-           	   #print "\t\t$member->set(params);\n";
-           	   $code = "$code\t}\n";
+            	$code = "$code\tsetAttribute(prefix, \"$name\", $member\_, params);\n" 
             }
-            
-            
-        }
-       
+            else {
+            	$code = "$code\tsetMember(prefix, \"$name\", $member\_, params);\n"   
+            }                     
     }
         
  if ($code eq "") {
@@ -561,15 +500,9 @@ EOF
  }
  else {
  	print "void $object\Attributes$p\::set(const std::map<string, string>& params)\n{\n";
- 	print "\tstd::map<string, string>::const_iterator val;\n\n";
  	print "$code}\n"
  } 
- 
- 
-     
- 
 
-        	
 print  <<EOF;
 $header
 void $object\Attributes$p\::copy(const $object\Attributes& other)
@@ -600,21 +533,74 @@ EOF
         }
         else 
         {
-           print "\tset$method(other.$member\_->clone());\n";          
+           print "\t$member\_ = auto_ptr<$to>(other.$member\_->clone());\n";          
         }
        
         print "";
        
         
     }
-     print  <<EOF;
+print  <<EOF;
 } 
 
 $header
+bool $object\Attributes$p\::accept(const string& node)
+{	
+EOF
+	print "\tif ( magCompare(node, \"$tag\")  )";
+	print "\n\t\treturn true;\n";
+	foreach  my $param (@{$current->{parameter_list}}) {
+    			my $todo = $current->{parameter}->{$param}->{attributes}->{implemented};
+    			next if $todo eq 'no';
+    			my $to = $current->{parameter}->{$param}->{attributes}->{to};
+    			next if $basetype{$to};
+    			next if $classtype{$to};
+    			my $member = $current->{parameter}->{$param}->{attributes}->{member};
+    			my $tpl = $current->{parameter}->{$param}->{attributes}->{template};
+    			$to = "$to<$tpl> " unless $tpl eq "";
+    			my $magto = $to;
+        		my $method = ucfirst $member;
+        		$magto = $magtype{$to} if $magtype{$to};
+    			print "\n\tif ( acceptNode(node, $member\_) )\n";    
+    			print "\t\treturn true;\n";    			
+	}
+	
+print  <<EOF;
+	return false;
+}
+$header
 void $object\Attributes$p\::set(const XmlNode& node)
 {
-	set(node.attributes());
+	if ( this->accept(node.name()) == false ) 
+		return;
 EOF
+	if ( $tag ne '') {
+		print "\n\tif ( magCompare(node.name(), \"$tag\") )";
+		print "\n\t\tset(node.attributes());";
+		print "\n\telse {";
+		foreach  my $param (@{$current->{parameter_list}}) {
+    			 my $todo = $current->{parameter}->{$param}->{attributes}->{implemented};
+    			next if $todo eq 'no';
+    			my $to = $current->{parameter}->{$param}->{attributes}->{to};
+    			next if $basetype{$to};
+    			next if $classtype{$to};
+    			my $member = $current->{parameter}->{$param}->{attributes}->{member};
+    			my $tpl = $current->{parameter}->{$param}->{attributes}->{template};
+    			$to = "$to<$tpl> " unless $tpl eq "";
+    			my $magto = $to;
+        		my $method = ucfirst $member;
+        		$magto = $magtype{$to} if $magtype{$to};
+    			
+    			print "\n\t\tsetMember(node.name(), $member\_, node);";
+    			
+       
+    	}
+		print "\n\t}";
+	}
+	else {
+		print "\n\tset(node.attributes());";
+	}
+	
 	if ($xml_data ne '') {
 		print "\n\tfor (XmlNode::DataIterator data = node.firstData(); data != node.lastData(); ++data)\n";
 		print "\t\tsetXmlData(*data);\n";	
@@ -633,17 +619,9 @@ EOF
     			my $magto = $to;
         		my $method = ucfirst $member;
         		$magto = $magtype{$to} if $magtype{$to};
-    			
-    			print "\t\ttry {\n";
-    			print "\t\t\t$magto* $member = Translator<string, $magto>()((*elt)->name());\n";
-    			print "\t\t\t$member->set(*(*elt));\n";
-                print "\t\t\tset$method($member);\n";
-    			print "\t\t}\n";
-    			print "\t\tcatch (NoFactoryException& e) {}\n";
-       
+
+    			print "\t\tsetMember((*elt)->name(), $member\_, *(*elt)); \n";
     	}
-    
-	
 
 print <<EOF; 		
 	}
@@ -671,69 +649,46 @@ EOF
         print "\tout << \"$sep$member = \" << $print;\n"; 
         
         $sep = ", ";
-        
-    }
-        
+    }        
     print "\tout << \"]\" << \"\\n\";\n";
     print "}\n\n";
-    print <<EOF; 
+
+     print <<EOF; 
 $header
-void $object\Attributes$p\::toxml(ostream& out, const string& tag, int tabs)  const
+void $object\Attributes$p\::toxml(ostream& out)  const
 {
-	string tab;
-	for ( int t = 0; t < tabs; t++) tab = tab + "\t";
-	
-	out << tab << "<" << tag << "\\n";
+     out <<  \"\\\"$tag\\\"\";
 EOF
-    $sep = " ";
-     my $calls = "";
     
     foreach  my $param (@{$current->{parameter_list}}) 
-    {
-        my $todo = $current->{parameter}->{$param}->{attributes}->{implemented};
-        next if $todo eq 'no';
+    {      
+         my $todo = $current->{parameter}->{$param}->{attributes}->{implemented};
+       next if $todo eq 'no';
         my $name = $current->{parameter}->{$param}->{attributes}->{name};
-        my $default = $current->{parameter}->{$param}->{attributes}->{default};
         my $member = $current->{parameter}->{$param}->{attributes}->{member};
-        my $from = $current->{parameter}->{$param}->{attributes}->{from};
         my $to = $current->{parameter}->{$param}->{attributes}->{to};
         my $tpl = $current->{parameter}->{$param}->{attributes}->{template};
-        my $xml = $current->{parameter}->{$param}->{attributes}->{xml};
-         $xml = $name if $xml eq '';
-         my $xml_data = $current->{attributes}->{xml_data};
-        $to = "$to<$tpl> " unless $tpl eq "";
-        my $magto = $to;
-        my $method = ucfirst $member;
-        $magto = $magtype{$to} if $magtype{$to};
-        $from = $magtype{$from} if $magtype{$from};
        
-        if ( $basetype{$to}  ) 
+       
+        $to = "$to<$tpl> " unless $tpl eq "";
+        if ( $basetype{$to} ) 
         {         	
-             print "\tout << tab << \"\\t$xml = \\\'\" << $member\_ << \"\\\'\\n\";\n"; 
-        }
-        elsif ( $classtype{$to} ) {
-        	print "\tout << tab << \"\\t$xml = \\\'\" << *$member\_ << \"\\\'\\n\";\n"; 
+             print "\t out << \", \\\"$name\\\":\";\n";
+             print "\t niceprint(out,$member\_);\n";
         }
-        else {
-        	 $calls = "$calls \t$member\_->toxml(out, tabs+1);\n";
-        	
+        elsif ( $classtype{$to}  )
+		{
+             print "\t out << \", \\\"$name\\\":\";\n";
+             print "\t niceprint(out, *$member\_);\n";
+		}
+		else 
+        {
+            print "\t out << \", \\\"$name\\\":\";\n";
+            print "\t $member\_->toxml(out);\n";       
         }
-       
-        
-      
-        print "";
-
     }
-    print "\tout << tab << \">\";\n\n";
-    print $calls;
-    
-    print "\n\tout << tab << \"</\" << tag << \">\\n\";\n";
+    print "}\n";       
 
-  
-        
-    
-    print "}\n\n";
-    
     foreach  my $param (@{$current->{parameter_list}}) 
     {     
          my $todo = $current->{parameter}->{$param}->{attributes}->{implemented};
@@ -744,19 +699,13 @@ EOF
         my $default = $current->{parameter}->{$param}->{attributes}->{default};
         my $migration = $current->{parameter}->{$param}->{migration}->{data};
         $from = $magtype{$from} if $magtype{$from};
-        
-        
+
         $default = "\"$default\"" if  $quote{$from} ;
      
         print <<EOF
 static MagicsParameter<$from> $name("$name", $default, "$migration");
 EOF
-        
-    }
-   
- 
-        
-    
+    } 
        
     foreach  my $param (@{$current->{parameter_list}}) 
     {     
@@ -786,20 +735,27 @@ EOF
         	my $xml = $current->{parameter}->{$param}->{option}->{$option}->{attributes}->{xml};
         	my $base = $current->{parameter}->{$param}->{attributes}->{to};  
         	my $templates = $current->{parameter}->{$param}->{option}->{$option}->{attributes}->{template};
+			my @fortrans = split("/", $fortran);
         	if ($template eq "") {
-        	print "static SimpleObjectMaker<$class, $base> $fortran\_$class(\"$fortran\");\n" if $fortran ne "";
-        	print "static SimpleObjectMaker<$class, $base> $xml\_$class(\"$xml\");\n" if $xml ne "" && $xml ne $fortran;
+        		for my $o (@fortrans) {
+                    $n = $o;
+                    $n =~ s/://;
+                   
+                   
+        			print "static SimpleObjectMaker<$class, $base> $n\_$class(\"$o\");\n" if $o ne "";
+        			print "static SimpleObjectMaker<$class, $base> $xml\_$class(\"$xml\");\n" if $xml ne "" && $xml ne $fortran;
+				}
         	}
         	else {
         		my @templates = split("/", $template);	
         		for my $t (@templates) {
-        			print "static SimpleObjectMaker<$class<$t>, $base<$t> > $fortran\_$class\_$t(\"$fortran\");\n" if $fortran ne "";
-        	        print "static SimpleObjectMaker<$class<$t>, $base<$t> > $xml\_$class\_$t(\"$xml\");\n" if $xml ne "" && $xml ne $fortran;
+        			for my $o (@fortrans) {
+                       
+        				print "static SimpleObjectMaker<$class<$t>, $base<$t> > $o\_$class\_$t(\"$o\");\n" if $o ne "";
+        	        	print "static SimpleObjectMaker<$class<$t>, $base<$t> > $xml\_$class\_$t(\"$xml\");\n" if $xml ne "" && $xml ne $fortran;
+					}
         		}
         	}
         }
-       
     }
 }
-
-
diff --git a/tools/xml2cc.pl.workshop b/tools/xml2cc.pl.workshop
index e0471c1..1039af4 100644
--- a/tools/xml2cc.pl.workshop
+++ b/tools/xml2cc.pl.workshop
@@ -386,14 +386,11 @@ EOF
  
     print  <<EOF;
 /*! \\file $object\Attributes.h
-    \\brief Implemtation of $object Attributes class.
+    \\brief Implementation of $object Attributes class.
     Automatically generated on $string
     Do Not Edit!
-    
-    Magics Team - ECMWF 2004
-   
+
     Created: $string
-    
 */    
 
     
diff --git a/tools/xml2cc_new.pl b/tools/xml2cc_new.pl
deleted file mode 100755
index b9ec94f..0000000
--- a/tools/xml2cc_new.pl
+++ /dev/null
@@ -1,792 +0,0 @@
-#!/usr/bin/perl
-# (C) Copyright 1996-2016 ECMWF.
-# 
-# This software is licensed under the terms of the Apache Licence Version 2.0
-# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. 
-# In applying this licence, ECMWF does not waive the privileges and immunities 
-# granted to it by virtue of its status as an intergovernmental organisation nor
-# does it submit to any jurisdiction.
-
-
-use XML::Parser;
-use Time::localtime;
-
-my $file  = shift;
-my $dir   = shift;
-my $nosubdir = shift;
-
-my $Author="MagicsTeam";
-my $ecmwf="http://wms.ecmwf.int";
-my $info = {};
-my $element = {};
-
-
-my %basetype = (
-    "int" => 1,
-    "float" => 1,
-    "string" => 1,
-    "bool"=>1,
-    "floatarray" =>1,
-    "stringarray" => 1,
-    "intarray" => 1, 
-    "longintarray" => 1, 
-    "LineStyle" =>1,
-    "ListPolicy" =>1,
-    "Hemisphere" =>1,
-    "ArrowPosition" => 1,
-    "AxisAutomaticSetting" => 1,
-    "Justification" => 1,
-    "Position" => 1,
-    "DisplayType" => 1,
-    "OpenGLDriverObserverPtr" => 1,
-    "Widget" =>1, 
-    "cairo_t*" =>1,
-    "QWidget*" =>1,
-    "QGraphicsScene*" => 1,
-    "Matrix" => 1,
-    "GribHandlePtr" =>1,  
-);
-
-my %translator = (
-    "int" => "ParameterManager::getInt",
-    "float" => "ParameterManager::getDouble",
-    "string" => "ParameterManager::getString",
-    "stringarray" => "ParameterManager::getStringArray",
-    "bool" => "ParameterManager::getBool",
-    "doublearray" => "ParameterManager::getDoubleArray",
-    "floatarray" => "ParameterManager::getDoubleArray",
-    "intarray" => "ParameterManager::getIntArray",
-    "longintarray" => "ParameterManager::getLongIntArray"
-    
-);
-my %magtype = (
-	"float" =>'double',
-);
-my %consttype = (
-	"string" =>'const string&',
-);
-
-my %classtype = (
-	"Colour" =>1,
-	"DateTime" =>1,
-	"Path" => 1
-);
-
-my %arraytype = (
-	"floatarray" => "atof(data)",
-	"stringarray" => "data",
-	"intarray" => "atoi(data)",
-	"longintarray" => "atoi(data)",
-);
-
-my %quote = (
-    "string" => 1,
-);
-
-sub parse
-{
-    my $def = shift;
-    my $node = shift;   
-   
-    while ( defined ( $element = shift @{ $node } ) )
-    {
-       
-        my $child = shift @{ $node };
-        if ( ref $child )
-        {
-           my $attr = \%{ shift @{ $child } };
-           my $name = $attr->{name};
-           
-           if ($name ne "") 
-           {
-               
-               $def->{$element}->{$name} = {};
-               my $list = $element . "_list";
-               push( @{$def->{$list}}, $name);
-               foreach my $a (keys %{$attr}) 
-               {
-                   $def->{$element}->{$name}->{attributes}->{$a} = $attr->{$a}; 
-                  
-               }
-               parse($def->{$element}->{$name}, $child); 
-               
-           }
-           else
-           {
-                   $def->{$element} = {};
-                   foreach my $a (keys %{$attr}) 
-                   {
-                        $def->{$element}->{attributes}->{$a} = $attr->{$a};
-                       
-                   }
-                   parse($def->{$element}, $child); 
-           }
-        }
-        else 
-        {
-         
-          $def->{data} = $child;
-        }
-    }   
-}
-
-
-my $license_file = '../../LICENSE_for_source_files';		# Name the file
-open(INFO, $license_file);									# Open the file
-my @license = <INFO>;								# Read it into an array
-close(INFO);										# Close the file
-
-
-my $xml= new XML::Parser(Style=>"Tree");
-  
-parse ($info, $xml->parsefile($file));
-
-foreach my $object (keys %{$info->{magics}->{class}}) 
-{
-    $current = $info->{magics}->{class}->{$object};
-    $directory = $info->{magics}->{class}->{$object}->{attributes}->{directory};
-    $tag = $info->{magics}->{class}->{$object}->{attributes}->{xmltag};
-
-    my $location;
-    if( defined $nosubdir and $nosubdir eq "nosubdir" ) { 
-        $location  = $dir; 
-    }
-    else { 
-        $location  = "$dir/$directory"; 
-    }
-        
-######################################################
-#####                Include file
-
-    open STDOUT, ">$location/$object\Attributes.h";
-
-    my $string =  ctime();
-    print  <<EOF;
-/*******************************  LICENSE  *******************************
-
- at license
-
- *******************************  LICENSE  *******************************/
-
-/*! \\file $object\Attributes.h
-    \\brief Definition of $object Attributes class.
-    \\author Meteorological Visualisation Section, ECMWF
-
-    This file is automatically generated.
-    Do Not Edit!
-
-    Generated: $string
-*/
-   
-
-#ifndef $object\Attributes_H
-#define $object\Attributes_H
-
-#include "magics.h"
-#include "ParameterManager.h"
-#include "Factory.h"
-
-
-EOF
-    my $includes = {};
-    my @impl=split(/\//, $current->{attributes}->{implements});
-    my @prefixs=split(/\//, $current->{attributes}->{prefix});
-   
-    my @interfaces = (split(/\//, $current->{attributes}->{interface}), @impl);
-    
-    foreach $i (@impl) 
-    {
-        
-        print "#include \"$i.h\"\n";
-    }
-    
-    my $parent ='';
-    my $sep = ":";
-    foreach $interface (@interfaces) 
-    {
-        
-        $parent="$parent$sep public $interface";
-        $sep = ", " 
-    }
-    
-    
-    foreach my $param (@{$current->{parameter_list}}) 
-    {   
-       my $todo = $current->{parameter}->{$param}->{attributes}->{implemented};
-       next if $todo eq 'no';
-       my $to = $current->{parameter}->{$param}->{attributes}->{to};
-       my $include = $current->{parameter}->{$param}->{attributes}->{include};
-       
-       if ( !$basetype{$to} )
-       {
-            if   ($include eq "" ) {
-                $includes->{"$to.h"} = "ok";
-            }
-            else 
-            {
-                $includes->{$include} = "ok";
-            }    
-        }
-     
-    }
-    foreach my $include (keys %{$includes} ) 
-    {
-          print "#include \"$include\"\n"; 
-    }
-    
-    print "\n";
-  
-    
-    my $template = $current->{attributes}->{template_attributes};
-    my $class = "$object\Attributes";
-    my $line = "";
-    if ( $template ne "" ) {
-        $line = "template <class $template>";
-        $class = "$object\Attributes<$template>";
-        
-    }
-    
-    print <<EOF;
-namespace magics {
-
-class XmlNode;
-
-
-$line
-class $object\Attributes $parent
-{
-public:
-//  --  constructor
-    $object\Attributes();
-    
-//  --  destructor
-    virtual ~$object\Attributes();
-    
-    virtual void set(const std::map<string, string>&);
-    virtual void set(const XmlNode&);
-    virtual void copy(const $object\Attributes&);
-    virtual bool accept(const string&);
-
-    void setTag(const string& tag) { tag_ = tag; }
-
-EOF
-    
-
-
-    
-print <<EOF;
-	
-
-public:
-	//  --  method
-	virtual void print(ostream&) const;
-	virtual void toxml(ostream& out) const;
-	//  --  members:
-	string tag_;
-EOF
-     
-     print "\tstring $xml_data\_;\n" unless $xml_data eq ''; 
-     foreach  my $param (@{$current->{parameter_list}}) 
-    {      
-        my $todo = $current->{parameter}->{$param}->{attributes}->{implemented};
-        next if $todo eq 'no';
-        my $member = $current->{parameter}->{$param}->{attributes}->{member};
-        my $to = $current->{parameter}->{$param}->{attributes}->{to};
-        my $tpl = $current->{parameter}->{$param}->{attributes}->{template};
-        $to = "$to<$tpl> " unless $tpl eq "";
-        
-        if ( $magtype{$to}  )
-        { 
-            print "\t$magtype{$to} $member\_;\n";
-        }
-        elsif ( $basetype{$to} ) 
-        { 
-            print "\t$to $member\_;\n";
-        }
-        else 
-        {
-            print "\tauto_ptr<$to> $member\_;\n";  
-        }
-    }
-
-print <<EOF;   
-
-private:
-  
-	friend ostream& operator<<(ostream& s,const $class& p)
-	{ p.print(s); return s; }
-};
-
-} // namespace magics
-EOF
-
-    if ( $template ne "" ) {
-        print "#include \"$object\Attributes.cc\" \n";
-    }
-    
-    print "\n#endif\n";
- 
-    close STDOUT;
-    
-#####                Include file
-######################################################
-
-######################################################
-#####                Source file
-
-    open STDOUT, ">$location/$object\Attributes.cc";
-
-    print  <<EOF;
-/*******************************  LICENSE  *******************************
-
- at license
-
- *******************************  LICENSE  *******************************/
-
-/*! \\file $object\Attributes.cc
-    \\brief Implementation of $object Attributes class.
-    \\author Meteorological Visualisation Section, ECMWF
-
-    This file is automatically generated.
-    Do Not Edit!
-   
-    Generated: $string
-*/    
-
-#include "$object\Attributes.h"
-#include "MagicsParameter.h"
-#include "Factory.h"
-#include "MagTranslator.h"
-#include "XmlNode.h"
-#include "ParameterSettings.h"
-
-
-using namespace magics;
-
-EOF
-   $header = "";
-    $p = "";
-   if ( $template ne "" ) {
-        $header = "template <class $template>";
-        $p = "<P>";
-    }
-    
-    my $count = 0;
-    
-    foreach  my $param (@{$current->{parameter_list}}) 
-    {      
-        my $todo = $current->{parameter}->{$param}->{attributes}->{implemented};
-        my $tpl = $current->{parameter}->{$param}->{attributes}->{template};
-        next if $todo eq 'no';
-        next if $tpl  ne "";
-        $count++;
-    }
-    
-    my $subclass = ":";
-    $subclass = "" if $count eq 0; 
-    
-    print "$header\n$object\Attributes$p\::$object\Attributes()$subclass"; 
-    my $sep = ""; 
-    foreach  my $param (@{$current->{parameter_list}}) 
-    {      
-        my $todo = $current->{parameter}->{$param}->{attributes}->{implemented};
-        next if $todo eq 'no';
-        
-        my $name = $current->{parameter}->{$param}->{attributes}->{name};
-        my $default = $current->{parameter}->{$param}->{attributes}->{default};
-        my $member = $current->{parameter}->{$param}->{attributes}->{member};
-        my $from = $current->{parameter}->{$param}->{attributes}->{from};
-        my $to = $current->{parameter}->{$param}->{attributes}->{to};
-        my $tpl = $current->{parameter}->{$param}->{attributes}->{template};
-        my $constant= $current->{parameter}->{$param}->{attributes}->{constant};
-        next if $tpl ne "";
-        $to = "$to<$tpl> " unless $tpl eq "";
-        my $magto = $to;
-        $magto = $magtype{$to} if $magtype{$to};
-        $from = $magtype{$from} if $magtype{$from};
-      %xxx = {
-    "int" => "ParameterManager::getInt",
-    "float" => 1,
-    "string" => ParameterManager::getString,
-};
-        if ($constant eq "yes" ) 
-        {
-            if ($translator{$to} ne '') {
-                print "$sep\n\t$member\_($translator{$to}(\"$default\"))";
-            }
-            else {
-        	    print "$sep\n\t$member\_(MagTranslator<$from, $magto>().magics(\"$default\"))"; 
-            }
-        } 
-        else {
-           
-            if ($translator{$to} ne '') {
-                print "$sep\n\t$member\_($translator{$to}(\"$name\"))";
-            }
-            else {
-        	    print "$sep\n\t$member\_(MagTranslator<$from, $magto>().magics(\"$name\"))"; 
-            }
-        }
-		$sep = ",";
-    }
-	print "\n";
-    print <<EOF;
-{
-EOF
-   foreach  my $param (@{$current->{parameter_list}}) 
-    {   
-    	my $todo = $current->{parameter}->{$param}->{attributes}->{implemented};
-        next if $todo eq 'no';
-        my $tpl = $current->{parameter}->{$param}->{attributes}->{template};
-        next if $tpl eq "";
-        my $name = $current->{parameter}->{$param}->{attributes}->{name};
-        my $default = $current->{parameter}->{$param}->{attributes}->{default};
-        my $member = $current->{parameter}->{$param}->{attributes}->{member};
-        my $from = $current->{parameter}->{$param}->{attributes}->{from};
-        my $to = $current->{parameter}->{$param}->{attributes}->{to};
-        my $method = ucfirst $member;
-        
-        $to = "$to<$tpl> " unless $tpl eq "";
-        my $magto = $to;
-        $magto = $magtype{$to} if $magtype{$to};
-        $from = $magtype{$from} if $magtype{$from};
-	
-        print "\tset$method(MagTranslator<string, $magto>()(\"$name\"));\n";
-   }
-   print <<EOF;
-} 
-
-
-$header
-$object\Attributes$p\::~$object\Attributes()
-{
-}
-
-$header    
-EOF
-	$val = 0;
-	my $code = "";
-	my $nb = $#prefixs+1;
-	
-	$code = "\tvector<string> prefix($nb);\n";
-	$j = 0;
-	for ($i = $nb; $i > 0; --$i) {		
-		$code = "$code\tprefix[$j] = \"@prefixs[$i-1]\";\n";
-		++$j;
-	}
-	$code = "$code\n";
-	
-	   
-    foreach  my $param (@{$current->{parameter_list}}) 
-    {
-        my $todo = $current->{parameter}->{$param}->{attributes}->{implemented};
-        next if $todo eq 'no';
-        my $name = $current->{parameter}->{$param}->{attributes}->{name};
-        my $default = $current->{parameter}->{$param}->{attributes}->{default};
-        my $member = $current->{parameter}->{$param}->{attributes}->{member};
-        my $from = $current->{parameter}->{$param}->{attributes}->{from};
-        my $to = $current->{parameter}->{$param}->{attributes}->{to};
-        my $tpl = $current->{parameter}->{$param}->{attributes}->{template};
-        my $xml = $current->{parameter}->{$param}->{attributes}->{xml};
-        
-        $to = "$to<$tpl> " unless $tpl eq "";
-        my $magto = $to;
-     
-        my $method = ucfirst $member;
-        $magto = $magtype{$to} if $magtype{$to};
-        $from = $magtype{$from} if $magtype{$from};
-        	
-        	if ( $basetype{$to} ) 
-            { 
-            	$code = "$code\tsetAttribute(prefix, \"$name\", $member\_, params);\n";          		
-            }
-            elsif ( $to eq 'Colour')   {
-            	$code = "$code\tsetAttribute(prefix, \"$name\", $member\_, params);\n" 
-            }
-            else {
-            	$code = "$code\tsetMember(prefix, \"$name\", $member\_, params);\n"   
-            }                     
-    }
-        
- if ($code eq "") {
- 	print "void $object\Attributes$p\::set(const std::map<string, string>&)\n{\n}\n";
- }
- else {
- 	print "void $object\Attributes$p\::set(const std::map<string, string>& params)\n{\n";
- 	print "$code}\n"
- } 
- 
- 
-     
- 
-
-        	
-print  <<EOF;
-$header
-void $object\Attributes$p\::copy(const $object\Attributes& other)
-{
-EOF
-
-    foreach  my $param (@{$current->{parameter_list}}) 
-    {
-        my $todo = $current->{parameter}->{$param}->{attributes}->{implemented};
-        next if $todo eq 'no';
-        my $name = $current->{parameter}->{$param}->{attributes}->{name};
-        my $default = $current->{parameter}->{$param}->{attributes}->{default};
-        my $member = $current->{parameter}->{$param}->{attributes}->{member};
-        my $from = $current->{parameter}->{$param}->{attributes}->{from};
-        my $to = $current->{parameter}->{$param}->{attributes}->{to};
-        my $tpl = $current->{parameter}->{$param}->{attributes}->{template};
-        my $xml = $current->{parameter}->{$param}->{attributes}->{xml};
-         my $xml_data = $current->{attributes}->{xml_data};
-        $to = "$to<$tpl> " unless $tpl eq "";
-        my $magto = $to;
-        my $method = ucfirst $member;
-        $magto = $magtype{$to} if $magtype{$to};
-        $from = $magtype{$from} if $magtype{$from};
-        
-        if ( $basetype{$to} ) 
-        {         	
-             print "\t$member\_ = other.$member\_;\n"; 
-        }
-        else 
-        {
-           print "\t$member\_ = auto_ptr<$to>(other.$member\_->clone());\n";          
-        }
-       
-        print "";
-       
-        
-    }
-print  <<EOF;
-} 
-
-$header
-bool $object\Attributes$p\::accept(const string& node)
-{	
-EOF
-	print "\tif ( magCompare(node, \"$tag\")  )";
-	print "\n\t\treturn true;\n";
-	foreach  my $param (@{$current->{parameter_list}}) {
-    			my $todo = $current->{parameter}->{$param}->{attributes}->{implemented};
-    			next if $todo eq 'no';
-    			my $to = $current->{parameter}->{$param}->{attributes}->{to};
-    			next if $basetype{$to};
-    			next if $classtype{$to};
-    			my $member = $current->{parameter}->{$param}->{attributes}->{member};
-    			my $tpl = $current->{parameter}->{$param}->{attributes}->{template};
-    			$to = "$to<$tpl> " unless $tpl eq "";
-    			my $magto = $to;
-        		my $method = ucfirst $member;
-        		$magto = $magtype{$to} if $magtype{$to};
-    			print "\n\tif ( acceptNode(node, $member\_) )\n";    
-    			print "\t\treturn true;\n";    			
-	}
-	
-print  <<EOF;
-	return false;
-}
-$header
-void $object\Attributes$p\::set(const XmlNode& node)
-{
-	if ( this->accept(node.name()) == false ) 
-		return;
-EOF
-	if ( $tag ne '') {
-		print "\n\tif ( magCompare(node.name(), \"$tag\") )";
-		print "\n\t\tset(node.attributes());";
-		print "\n\telse {";
-		foreach  my $param (@{$current->{parameter_list}}) {
-    			 my $todo = $current->{parameter}->{$param}->{attributes}->{implemented};
-    			next if $todo eq 'no';
-    			my $to = $current->{parameter}->{$param}->{attributes}->{to};
-    			next if $basetype{$to};
-    			next if $classtype{$to};
-    			my $member = $current->{parameter}->{$param}->{attributes}->{member};
-    			my $tpl = $current->{parameter}->{$param}->{attributes}->{template};
-    			$to = "$to<$tpl> " unless $tpl eq "";
-    			my $magto = $to;
-        		my $method = ucfirst $member;
-        		$magto = $magtype{$to} if $magtype{$to};
-    			
-    			print "\n\t\tsetMember(node.name(), $member\_, node);";
-    			
-       
-    	}
-		print "\n\t}";
-	}
-	else {
-		print "\n\tset(node.attributes());";
-	}
-	
-	if ($xml_data ne '') {
-		print "\n\tfor (XmlNode::DataIterator data = node.firstData(); data != node.lastData(); ++data)\n";
-		print "\t\tsetXmlData(*data);\n";	
-	}
-	print "\n";
-	print "\tfor (XmlNode::ElementIterator elt = node.firstElement(); elt != node.lastElement(); ++elt) {\n";
-    		foreach  my $param (@{$current->{parameter_list}}) {
-    			 my $todo = $current->{parameter}->{$param}->{attributes}->{implemented};
-    			next if $todo eq 'no';
-    			my $to = $current->{parameter}->{$param}->{attributes}->{to};
-    			next if $basetype{$to};
-    			next if $classtype{$to};
-    			my $member = $current->{parameter}->{$param}->{attributes}->{member};
-    			my $tpl = $current->{parameter}->{$param}->{attributes}->{template};
-    			$to = "$to<$tpl> " unless $tpl eq "";
-    			my $magto = $to;
-        		my $method = ucfirst $member;
-        		$magto = $magtype{$to} if $magtype{$to};
-    			
-    			print "\t\tsetMember((*elt)->name(), $member\_, *(*elt)); \n";
-    			
-       
-    	}
-    
-	
-
-print <<EOF; 		
-	}
-}
-$header
-void $object\Attributes$p\::print(ostream& out)  const
-{
-	out << "$object\Attributes[";
-EOF
-    $sep = "";
-    foreach  my $param (@{$current->{parameter_list}}) 
-    {      
-         my $todo = $current->{parameter}->{$param}->{attributes}->{implemented};
-       next if $todo eq 'no';
-        my $name = $current->{parameter}->{$param}->{attributes}->{name};
-        my $member = $current->{parameter}->{$param}->{attributes}->{member};
-        my $to = $current->{parameter}->{$param}->{attributes}->{to};
-        my $tpl = $current->{parameter}->{$param}->{attributes}->{template};
-       
-       
-        $to = "$to<$tpl> " unless $tpl eq "";
-        $print = "$member\_";
-        $print = "*$member\_" unless  $basetype{$to} ;
-        
-        print "\tout << \"$sep$member = \" << $print;\n"; 
-        
-        $sep = ", ";
-        
-    }
-        
-    print "\tout << \"]\" << \"\\n\";\n";
-    print "}\n\n";
-
-     print <<EOF; 
-$header
-void $object\Attributes$p\::toxml(ostream& out)  const
-{
-     out <<  \"\\\"$tag\\\"\";
-EOF
-    
-    foreach  my $param (@{$current->{parameter_list}}) 
-    {      
-         my $todo = $current->{parameter}->{$param}->{attributes}->{implemented};
-       next if $todo eq 'no';
-        my $name = $current->{parameter}->{$param}->{attributes}->{name};
-        my $member = $current->{parameter}->{$param}->{attributes}->{member};
-        my $to = $current->{parameter}->{$param}->{attributes}->{to};
-        my $tpl = $current->{parameter}->{$param}->{attributes}->{template};
-       
-       
-        $to = "$to<$tpl> " unless $tpl eq "";
-        if ( $basetype{$to} ) 
-        {         	
-             print "\t out << \", \\\"$name\\\":\";\n";
-             print "\t niceprint(out,$member\_);\n";
-        }
-        elsif ( $classtype{$to}  )
-		{
-             print "\t out << \", \\\"$name\\\":\";\n";
-             print "\t niceprint(out, *$member\_);\n";
-		}
-		else 
-        {
-            print "\t out << \", \\\"$name\\\":\";\n";
-            print "\t $member\_->toxml(out);\n";       
-        }
-        
-        
-        
-    }
-    print "}\n";       
-    
-   
-    foreach  my $param (@{$current->{parameter_list}}) 
-    {     
-         my $todo = $current->{parameter}->{$param}->{attributes}->{implemented};
-       next if $todo eq 'no';
-        my $name = $current->{parameter}->{$param}->{attributes}->{name};
-        my $member = $current->{parameter}->{$param}->{attributes}->{member};
-        my $from = $current->{parameter}->{$param}->{attributes}->{from};
-        my $default = $current->{parameter}->{$param}->{attributes}->{default};
-        my $migration = $current->{parameter}->{$param}->{migration}->{data};
-        $from = $magtype{$from} if $magtype{$from};
-        
-        
-        $default = "\"$default\"" if  $quote{$from} ;
-     
-        print <<EOF
-static MagicsParameter<$from> $name("$name", $default, "$migration");
-EOF
-        
-    }
-   
- 
-        
-    
-       
-    foreach  my $param (@{$current->{parameter_list}}) 
-    {     
-        my $todo = $current->{parameter}->{$param}->{attributes}->{implemented};
-        next if $todo eq 'no';
-       
-       
-        foreach  my $option (@{$current->{parameter}->{$param}->{option_list}}) { 
-        	my $include = $current->{parameter}->{$param}->{option}->{$option}->{attributes}->{include};
-        	my $template = $current->{parameter}->{$param}->{option}->{$option}->{attributes}->{template};
-        	my @templates = split("/", $template);
-        	foreach my $t (@templates) { 
-        		$includes_static->{$param}->{"$t.h"} = "$t.h";
-        	}
-        	$includes_static->{$param}->{$include} = $include unless $include eq "";
-        }
-       foreach  my $include (keys %{$includes_static->{$param}}) 
-    	{     
-        	print "#include \"$include\"\n";
-    	} 
-      
-        foreach  my $option (@{$current->{parameter}->{$param}->{option_list}}) { 
-        	my $class = $current->{parameter}->{$param}->{option}->{$option}->{attributes}->{name};
-        	my $include = $current->{parameter}->{$param}->{option}->{$option}->{attributes}->{include};
-        	my $fortran = $current->{parameter}->{$param}->{option}->{$option}->{attributes}->{fortran};
-        	my $template = $current->{parameter}->{$param}->{option}->{$option}->{attributes}->{template};
-        	my $xml = $current->{parameter}->{$param}->{option}->{$option}->{attributes}->{xml};
-        	my $base = $current->{parameter}->{$param}->{attributes}->{to};  
-        	my $templates = $current->{parameter}->{$param}->{option}->{$option}->{attributes}->{template};
-			my @fortrans = split("/", $fortran);
-        	if ($template eq "") {
-        		for my $o (@fortrans) {
-        			print "static SimpleObjectMaker<$class, $base> $o\_$class(\"$o\");\n" if $o ne "";
-        			print "static SimpleObjectMaker<$class, $base> $xml\_$class(\"$xml\");\n" if $xml ne "" && $xml ne $fortran;
-				}
-        	}
-        	else {
-        		my @templates = split("/", $template);	
-        		for my $t (@templates) {
-        			for my $o (@fortrans) {
-        				print "static SimpleObjectMaker<$class<$t>, $base<$t> > $o\_$class\_$t(\"$o\");\n" if $o ne "";
-        	        	print "static SimpleObjectMaker<$class<$t>, $base<$t> > $xml\_$class\_$t(\"$xml\");\n" if $xml ne "" && $xml ne $fortran;
-					}
-        		}
-        	}
-        }
-    }
-}
-
-
diff --git a/tools/xml2mv.pl b/tools/xml2mv.pl
index 2eb4306..f16dc58 100755
--- a/tools/xml2mv.pl
+++ b/tools/xml2mv.pl
@@ -289,14 +289,11 @@ EOF
  
     print  <<EOF;
 /*! \\file $object\Wrapper.h
-    \\brief Implemtation of $object Wrapper class.
+    \\brief Implementation of $object Wrapper class.
     Automatically generated on $string
     Do Not Edit!
-    
-    Magics Team - ECMWF 2004
-   
+
     Created: $string
-    
 */    
 
 #include "MagRequest.h" 
@@ -547,8 +544,11 @@ EOF
               }
               else {
                 print "\n#include \"$class\Wrapper.h\"\n";  
-                for my $o (@fortrans) { 	
-        	        print "static SimpleObjectMaker<$class\Wrapper, $base\Wrapper> $object\_$o\_$class\_w(\"$o\");\n" if $o ne "";
+                for my $o (@fortrans) { 
+                    $n = $o;
+                    $n =~ s/://;
+                    print "static SimpleObjectMaker<$class, $base> $n\_$class(\"$n\");\n" if $o ne "";	
+        	        print "static SimpleObjectMaker<$class\Wrapper, $base\Wrapper> $object\_$n\_$class\_w(\"$o\");\n" if $o ne "";
                 }
                 if ($xml ne "") {
                     if ($xml ne $fortran) {

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/magics.git



More information about the debian-science-commits mailing list