Bufkit

Bufkit 9.07 technology preview

 

Bufkit 9.07 technology preview release. It provides bug fixes and enhancements to Bufkit 9.06; however, the release requires additional field testing to ensure it is stable. You are welcome to use this release with this understanding.

Please e-mail me if you develop an interesting web application or training application using the new command line options. For example, here are a couple of proof of concept web pages:

Single site

Multiple sites with Google Map

Installation:

  1. Install Bufkit 9.06. (See the Bufkit main page). Note which directory into which you installed Bufkit (the default Bufkit directory is c:\Program Files\Bufkit)

  2. Download the Bufkit 9.07 Update package: Bufkit907Udates.zip

  3. Unzip the four files and copy these files into your Bufkit directory.
    This file will be added:
    gdiplus.dll
    These files will overwrite the following Bufkit 9.06 files:
  4. Your 4 "Favorite Buttons: A, B, C and D" must be redefined under Bufkit 9.07 (the favorites file format has changed from Bufkit 906). Update your 4 Profiles "Favorites" and 4 Overview "Favorites".

Changes:

1. [Bug Fix] Bufkit will no longer crash when displaying GFS3 Bufkit profiles that has its surface above 850 mb.

2. [Training] There is a new training video: Using Bufkit> Boundary-Relative Motion

3. [Enhancement] This release allows for and increased number of displayed sites. Bufkit 9.06 normally displays 3 rows of sites. However, when there were a large the number of sites, Bufkit 9.06 would provide access to all the sites by using a scroll bar:

(Bufkit 9.06)
site1


Several offices used Bufkit on displays larger than the minimum screen size (1024 x 768) and wanted Bufkit to use the larger screen size to display additional sites without resorting to the scroll bar.

With the Bufkit 9.07 version, you can now display additional rows of data sites if you have a display greater then 1024x768.  Go to the Bufkit "Set Up" form and set the maximum number of site IDs in a column. Bufkit still defaults to 3 sites per column, but you can increase it up to 8 sites in a column.

setup

Once saved, grab the bottom (or top) of Bufkit and stretch it about 20 pixels more in the vertical:


site3

4. [Enhancement] Bufget now supports the new CLOSE command. When launched from within Bufkit using the "Get Data" button, the Bufget data retrieval program will shut down and return control to Bufkit when it encounters the CLOSE command when processing a list of sites. This provides a method to "clean up after itself" when it is finished.

close

Note: If Bufget is launched from the command line (see the Command Line options listed below), Bufget will skip over any embedded CLOSE commands, and automatically shut down only when all requested profile lists are processed.

5. [Enhancement] Command Line options. I've received lots of request for an image generation capability to support web sites and research projects. These commands work great in user created Windows Shortcuts and Linux cron jobs.

5.1 Here is the format of all the command line options:

Bufkit.exe <ProfileName> -get=<bufget list> -profile=<favorite><frame> -overview=<favorite> -size=<percent> -archive -close

<ProfileName>


A Bufkit profile filename. If a path is not provided, Bufkit will look in the Bufkit profile directory that you defined in the Bufkit Set Up form.

Examples:
Bufkit.exe gfs3_kroc.buf
Bufkit.exe c:\Program Files\Bufkit\data\CaseGary\namm_kiag.buf

-get=<bufget list>


Invoke bufget to retrieve profiles lists. You can put from one to eight <bufget list> letters in a row as would want to process.

Example:
Bufkit.exe gfs3_ktik.buf -get=cd
Starts Bufkit and then immediately runs bufget to retrieve profiles list C and profile list D. Once complete with list D, bufget will shut down and Bufkit will display gfs3_ktik.buf.

-overview=<favorite><frame>


Save the overview display and a PNG image. First invoke one of the four favorite buttons ("A","B","C","D") and save the PNG image to the screen capture directory you defined near the bottom of the Bufkit Set Up form. You can put from one to four <favorite> letters in a row as you want images.

Example:
Bufkit.exe ruc_ama.buf -overview=abcd
will create:
ruc_ama_bufkitoverview_a.png
ruc_ama_bufkitoverview_b.png
ruc_ama_bufkitoverview_c.png
ruc_ama_bufkitoverview_d.png

-profile=<favorite><frame>


Save the profile display and a PNG image. First invoke one of the four favorite buttons ("A","B","C","D"), then move forecast to frame <frame>, and save the PNG image to the screen capture directory you defined near the bottom of the Bufkit Set Up form. You can put as many <favorite><frame> pairs in a row as you want images.

Example:
Bufkit.exe ruc_ama.buf -profile=b3d6D9
will create:
ruc_ama_bufkitprofile_b_03.png
ruc_ama_bufkitprofile_d_06.png
ruc_ama_bufkitprofile_d_09.png

-size=<percent>


Specifies how large the images will be as a percent of a standard Bufkit display. (A standard Bufkit display is one produced on a 1024x768 screen). Numbers smaller than 100% will be small than a standard Bufkit display. in this case, consider setting the size to at least 60 percent to keep the display readable. Any small and you will end up with thumbnails.
If the -size option is not included, the size will be that of the last profile display or overview display.

Example:
Bufkit.exe ruc_ama.buf -overview=abcd -size=72
the images will be 72% the size of the standard Bufkit overview display.

-archive


The -archive option will add a year-month-date-hour at the beginning of the image filename.

For profiles, the info is the valid time of the forecast (and the frame number is no longer used).

For overviews, the info is valid at the initial forecast hour.

Example:

Bufkit.exe ruc_ama.buf -profile=b2 -overview=D -archive
will create:
09073014_ruc_ama_bufkitprofile_b.png
09073012_ruc_ama_bufkitoverview_d.png

-close
The -close option will shut down Bufkit once all images have been generated.

5.2 Here are two sample PNG images, one profile and one overview, using a size of 72%

Profile

 

Overview

5.3 You can string many of these commands together on a single command line. For example:

bufkit.exe wrf4_kald.buf -get=bf -profile=a3a6a9a12b12c12d12 -overview=abcd -size=72 -close

1 Load Bufkit
2 Invoke Bufget and process the site list B and then site list F. Once done with both lists, it will shut down.
3 Load the profile wrf4_kald.buf
4

Configure the profile display using "Favorites button A" and then go to "Frame 3" (in this case forecast hour 3).

Then save the profile display at 72% of a normal Bufkit profile display to your screen capture directory using the following file name: wrf4_kald_bufkitprofile_a_03.png.

Go to frame 6, save a profile image, go to frame 9 and save a profile image.

Then change the display to use "Favorites Button B", advance to frame 12 and capture.

Keep the frame at 12 and capture two more profile images using Favorites Buttons C and D. All these images are saves at 72% of a normal Bufkit profile display.

5 Launch the Overview display and configure the overview display using overview Favorites Button A.

Then save the overview display at 72% of a normal Bufkit overview display using the filename: wrf4_kald_bufkitoverview_A.png.

Capture three more displays using overview Favorites Buttons B, C, and D.
6 With all 11 images saved, Bufkit shuts down.

5.4 Running Bufkit Command Line in a Linux cron job. Bufkit works great under Linux (using WINE), and that includes running form a command line. The only "tricky" part is to understand the need to define a DISPLAY environmental variable as Bufkit is a graphical application. Here is a cron job that works on my virtual Ubunta Linux machine to create new RUC displays at 30 minutes past the hour.

30 * * * *   env DISPLAY=:0   /usr/bin/wine "/home/user/.wine/drive_c/Program Files/BUFKIT/Bufkit.exe" ruc_oun.buf -get=c -size=85 -profile=a2b2c2d2 -overview=abcd -close -archive

Note the need for the use of quotes as the path name to the Bufkit executable includes a space. Also, don't let the word wrap throw you off; this is a single line in your cron table.