Plotting: McIDAS and sort of natural colour images

I use a range of RGB products – most of these are pretty standard  in the meteorology with satellite community.  The information in red / green and blue is chosen to maximise the geophysical information avaliable.

But sometimes what we want is a nice image that looks similar to what a human eye might see from space. On most meteorological satellites we don’t have red, green and blue. The most common combination I use is red = 1.6 micron, green = 0.8 micron and blue = 0.6 micron. Which gives brownish desserts, dark seas, green vegetation, white low clouds and cyan ice clouds.

Simon Proud @simon_rp84  suggests  using: red =0.6 micron x 2.2 + 0.8 micron x 2.5 + 1.6 micron x 1.3,  green =0.8 micron and , blue = 0.6 micron.  This gives whiter shades for clouds. Like this:


In McIdas other RGBs can be made. Here is how I implemented Simon’s recipe.  Here is my Jython code (Tools -> Formulas – Jython library – add to local library). Here is the jython:

# Simon's more natural colour RGB
# Natural colours, linear enhancement btw minrefl-maxrefllower-upper limit
# units: % Refl
# minrefl	lower limit of reflectivity range
# maxrefl	upper limit of reflectivity range
def SP_NCOL_RGB(ch06,ch08,ch16):
 red = rescale((ch06*2.2)+(ch08*2.5)+(ch16*1.3),min,max1,0,255)
 grn = rescale(ch08,min,max2,0,255)
 blu = rescale(ch06,min,max3,0,255)
 return combineRGB(red,grn,blu)

Note that spaces matter to python


and corresponding formula (add as a formula)


I have the formula set to only display an RGB composite.


Thanks Simon for the recipe.



Plotting: McIDAS V and AVHRR


Get the data

I have two ways to get AVHRR data (that I use). For archive I use NOAA CLASS archive and order the FRAC 1 km data. CLASS has Metop and NOAA AVHRR imagery. FRAC = Full resolution area coverage. Within CLASS you can search for a geographical area and a specific range of time.

In house we have access to an ADDE server with the FRAC data and Lat/Long navigation for the last 5 days – which is a very nice thing to have.

I have not been able to plot the EUMETCast delivered data directly. It is in channel EPS-10.

The class data is in the NOAA AVHRR level 1.5 format. To make this available to McIDAS-V you will need to set up a local ADDE server.  Tools -> manage ADDE datasets ->  Local Data tab. Set the format to NOAA AVHRR Level 1.5.

Plot the data

For RGB images I use the formula -> create 3 colour image (auto scale)  with  1.6 micron on red, 0.8 micron on green and 0.6 micron in blue. (This is the natural colour RGB recommendation) ice clouds show up in cyan.  The example below is from 2014-07- 09 0930Z (Metop-A).

Europe example - 2014-07-09 0930Z

For single channel IR I use this colour table. (import the xml from the colour table screen) with a range of 190 K to 330 K.

Plotting scatterometer data in McIdas-V

If you are on  twitter people tend to tag nice scatterometer images with #ASCAT

I am using McIDAS-V 1.4 to plot scatterometer data. I get the data from

So in the McIdas-V data explorer I select as the cataolg (under general),  netCDF as the data sources type and the find my data.

I usually plot ASCAT A or B coastal winds which are found under:

OceanWinds > ascat > preview >  L2 > metop a OR metop b > coastal opt > YYYY > DOY >

(Latest Day of Year will be last)

YYYY is the year e.g. 2014 DOY is the day of the year (Today is 148).

The files end with .nc.gz. The files have the date YYYYMDD and then a time HHMMSS which is the end of the orbit in UTC. so for a place on each you most likely want the orbit that finishes just after 0930 or 2130  local time.

Select your .nc.gz file and “add source” .

You may have done all of this via another data source such as EUMETCast.

The coastal winds are a 12.5km product, that get about 12.5km from the coast.  More details on the winds can be found on the KNMI scatterometer page (

You can plot the winds barbs or vectors in a single colour in Mc-V, or plot the wind speeds using a colour table but what if you want coloured wind barbs?

Add a new formula that looks like:


The formula line is:


Now plot the data – select formula and your formula then choose your data twice (once for the wind barbs and then for the colour – most likely wind speed at 10m)

I use a binned colour scale that approximatly matches the Beufort scale my xml is here: The colours are close to the set used by NWS/OPC, warning thresholds are clear and the bins help see structures.

Also under main window > tools > parameters > defaults Tab: User defaults I have a line

ColWindBarbs BeaufortOPC 0.0 – 40.0 m/s

which means that any winds plotted using my formula (which generates ColWindBarbs uses the BeufortOPC colour table with default range 0-40 m/s) – save a few clicks each time.

Here is an example from the Aral sea – the 50knt wind in the centre is most likely a land contamination effect.


Within the ASCAT products there is also backscatter distance or MLE. This is a product of the wind estimation process and high positive values can be related to wind variability.

Here is an example the winds over plotted (from southern indian ocean) with backscatter distance  the winds with high positive MLE are plotted in red.


It’s very nice for surface front positioning.

So that is how I plot data with Mc-Idas-V. If you need help with the actual data here is a good place to start and there is always for help from the EUMETSAT helpdesk.






Sand at sea, as seen from space

I wrote this recently at work: EUMETSAT – News – Sand at sea, as seen from space

We’ve been providing some images from satellites and working with others to have other weather data and following the German research ship Polarstern as it travels North from the southern oceans.

(the data are all at

Along side this there has been a weekly online discussion (using Saba Centra – a whiteboard / meeting tool) where we’ve been able to talk about what can be seen from the ship and  space.

Following a real ship  made the experience much more engaging.

Why bother with satellites and forecasting

 IMO-SOLAS has the original text of the international convention for the Safety of Life at Sea SOLAS – first negotiated in 1914 after the sinking of titanic.

It started the process of thinking about how can we make life at sea safer. It is the purpose of marine weather forecasting and ship routing – protection of life and property at sea.

We can measure winds and waves from satellites – and these data can be used by a skilled forecaster to give good warnings to ships