Metview's documentation is now on readthedocs!

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »

It is planned to allow Metview to directly create animated GIF images. In the meantime, it is easily possible to convert its PostScript output using the ImageMagick convert command. Below are some examples of doing this, along with an example showing how to incorporate this into a Metview macro.

Converting a multi-page PostScript to an animated GIF

convert input.ps -delay 200 -rotate "90<" output.gif

Tip: Alter the speed of animation

To change the animation speed use

convert input.gif -delay 100 output.gif

Tip: Continuous looping

Some viewers, especially some versions of MS PowerPoint, only play a single animation cycle. To make it continuous you can use the option -loop with convert:

convert input.gif -loop 999 output.gif

NOTE: In Microsoft PowerPoint in most cases it should work to import the GIF as an 'Image'. If the GIF is imported as a 'Video file', PowerPoint requires extra settings for continuous looping of GIFs. Go to the "video tools" menu, which contains "format" and "playback". Under the playback menu, there is a button "Loop until stopped". Click on it, to allow continuous loops! (Thanks to Jean-Noël for this)

Tip: Transparent background

You can also use convert to replace any white in the image with a transparent background:

convert input.gif -fuzz 10% -transparent white output.gif

 

 

Example Metview Macro

The following macro retrieves several time steps of data from MARS, plots them to a PostScript file and uses the convert command to generate an animated gif. The result is shown on this page.

# Metview Macro

#  **************************** LICENSE START ***********************************
# 
#  Copyright 2014 ECMWF. This software is distributed under the terms
#  of the Apache License version 2.0. In applying this license, ECMWF does not
#  waive the privileges and immunities granted to it by virtue of its status as
#  an Intergovernmental Organization or submit itself to any jurisdiction.
# 
#  ***************************** LICENSE END ************************************

# retrieve some data from MARS

t2m_fc = retrieve(
        type    : "fc",
        levtype : "sfc",
        param   : "2t",
        time    : 00,
        step    : [00,"to",72,"by",6],
        grid    : [1.5,1.5]
        )


# define our plotting attributes

t_shade = mcont(
        legend                    : "on",
        contour_automatic_setting : "ecchart"
        )

view = geoview(
        map_area_definition : "corners",
        area                : [30.62,-25.4,70.12,40.36]
        )


# plot the data

outdir      = getenv('SCRATCH')
outbasename = "t2m_fc"
ps = ps_output(output_name : outdir & "/" & outbasename)
setoutput(ps)
plot(view, t2m_fc, t_shade)

# force Macro to wait for the plot to be generated, then convert
# to animated gif

setoutput(ps) # wait for the plot file to be generated
shell('convert ' & outdir & '/' & outbasename & '.ps' & ' -delay 100 -rotate "90<" ' & outdir & '/' & outbasename & '.gif')
  • No labels