Skip to content
/ MARTIN Public

A python graphical user interface for the viewing of model and satellite imagery. The viewer allows for annotations to be made and the resultant images/annotations to be saved.

License

Notifications You must be signed in to change notification settings

earajr/MARTIN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DOI

MARTIN

MARTIN is a graphical user interface developed as part of the Global Challenges Research Fund (GCRF) African SWIFT (Science for Weather Information and Forecasting Techniques) project. MARTIN was originally written by Alexander Roberts (NCAS and University of Leeds). MARTIN allows users to open imagery and navigate backward and forward in time through forecast and analysis imagery for a wide variety of variables. An annotation layer allows users to draw directly into the GUI to highlight particular features while allowing the background image to the changed to a different variable, model initialisation or forecast lead time. Imagery with transparent backgrounds (such as streamlines) can also be added to the annotation layer to produce figures with multiple variables. When all annotations have been completed the resultant image can be saved as a single image. Within SWIFT, other projects being conducted within the faculty of Environment in the University of Leeds and in African regional training centres, MARTIN has been used with GFS imagery to conduct forecaster training. The simplicity of using MARTIN and the speed with which annotated forecast imagery can be produced allows those running training sessions to quickly assess if students have understood the process of producing forecast maps. The imagery that MARTIN was developed for is that produced by the GCRF African SWIFT GFS plotting suite that produces forecast imagery from the Global Forecast System (GFS) Model. The plotting suite can be found here (https://github.com/earajr/GFS_plotting doi: 10.5281/zenodo.3678537). This document is an overview of the features and way in which the MARTIN software can be used. While the GFS imagery is produced by the plotting suite is the primary use case, other imagery can be viewed and annotated using MARTIN as long as the correct directory structure and naming convecntions are adhered to.

Github repository

To use MARTIN it is important to first know that there is no need to clone this repository or run the python code. The code is included here in order to facilitate any modification of the code required by users. However if no modification is required then it is advised that you download the executables included in the "dist" directory. The executables included are for Windows and Linux (Mac users will need to clone the repository and compile thier own executable).

Required directory structure and file naming convention

The required directory structure for MARTIN to function as expected can be found below. Inside a new directory specifically for using MARTIN you should have the executable with a directory tree that ultimately contains the image files MARTIN will have access to. The top level of this tree is the model (in our case this will be GFS), this should contain the domain directories (e.g. WA for west Africa), these should contain all the model initialisation date-times (in the format YYYYMMDDhh), inside these will be the different variable directories inside the variable sub-directores is where all the GFS imagery should be stored. As previously mentioned the images that MARTIN was designed to display are generated by the SWIFT GFS plotting suite. The python scripts in the GFS plotting suite automatically produce this directory structure in a zipped file. All that needs to be done is for this zipped file to be unzipped into the top directory shown below and the directory structure detailed here will automatically be produced.

📂MARTIN
├── 📜MARTIN_executable
├──📂Model
        ├──📂Domain
                ├──📂Initialisation Date
                        ├──📂Variable
                                ├──📜Image files

The image file naming convention is also important as the directory structure and file names work together to make sure the correct images are loaded when requested. Below are some examples of the naming convention. Each part of the file name provides some information about the image, each section is seperated by underscores.

  1. GFS analysis timestep (zero hour forecast), for the East Africa domain, valid time 0600 UTC 20201128 (and therefore initialisation time for analyses), showing CAPE and CIN, SNGL inidcates this is a single level variable.

GFSanalysis_EA_2020112806_CAPECIN_SNGL.png

  1. GFS forecast, for the East Africa domain, valid time 0300 UTC 20201129, showing CAPE and CIN, SNGL inidcates this is a single level variable, initialisation time 0600 UTC 20201128 and a forecast lead time of 21 hours.

GFSforecast_EA_2020112903_CAPECIN_SNGL_2020112806_021.png

  1. GFS forecast, for the East Africa domain, valid time 0300 UTC 20201129, showing relative humidity, 700 hPa level, initialisation time 0600 UTC 20201128 and a forecast lead time of 21 hours.

GFSforecast_EA_2020112903_rel_humidity_700hPa_2020112806_021.png

Use of MARTIN

On running the MARTIN executable a window will be opened as shown in the image below. As the executable opens it automatically maps the subdirectory structure to populate the dropdown menus at the top the of the window.

image

To select an image to be loaded you should first select a "source" in the case of GFS imagery from the GFS plotting suite this will be "GFS". Next the region, initialisation datetime, variable and forecast lead time should be selected. On selecting options from all of these drop down menus you should be able to load an image by pressing the submit button on the far right of the window. If a different, source, region, initialisation or variable are required then these should be selected and the image updated by pressing submit again. The lead time can be selected by either a drop down menu or the back and forward buttons. On selecting a new time using the back and forward button the image will automatically be updated.

image

Once an image has been loaded the annotation layer can be used to mark on important features. This is done by selecting "pen" and simply drawing on the image. The line thickness and colour can be selected to produce a wide range of annotation styles. Even after annotations have been made the background image can be changed and the annotation layer will remain unaffected. Text and convective storm stamps can also be added to help indicate the weather conditions.

image

As well as hand drawn annotations, text and stamps additional overlay layers can be added to the annotation layer. The overlay layers available are map and gridlines and GFS imagery with transparent layers. At any stage the background image can be removed and only the annotation layer will be viewable.

image

When ready the image in the GUI can be saved to the local disk.

About

A python graphical user interface for the viewing of model and satellite imagery. The viewer allows for annotations to be made and the resultant images/annotations to be saved.

Resources

License

Stars

Watchers

Forks

Packages

No packages published