No external libraries
Tmap compiles and runs with only a standard JDK. It does not depend on a particular operating system or an external graphics library.
Tmap reads headerless big-endian Float32 rasters and writes JPEG or PNG images. It requires no external libraries and can be compiled and run using only a standard JDK.

Tmap was developed to visualize intermediate calculations and data products from AMATERASS. It reads a headerless Float32 raster and produces a quick-look image with geographic coordinates, a color bar, units, and coastlines.
Tmap compiles and runs with only a standard JDK. It does not depend on a particular operating system or an external graphics library.
The map, text, color bar, margins, and tick labels are adjusted automatically according to the grid dimensions and aspect ratio.
Tmap rasterizes the coastline for the requested domain from GSHHG, saves it, and reuses it when the same conditions are requested again.
The distribution archive contains the Tmap source code, GSHHG 2.3.7, optional utility programs, and license documents.
After extracting the archive, run javac *.java in the Tmap directory.
tar xzf tmap_v3.0cc_20260815d.tar.gz cd tmap javac *.java
bzip2 -d 201605190300.dwn.sw.flx.sfc.fld.4km.bin.bz2
java tmap 201605190300.dwn.sw.flx.sfc.fld.4km.bin 1400 0 7 1 auto jpg 60 120 6 85 120 6
Output file: 201605190300.dwn.sw.flx.sfc.fld.4km.bin.jpg
Map domain: 60°N–60°S, 85°E–155°W
Before downloading the data, review the conditions on the Product Download page. The sample is a 4 km Himawari-8 product for 03:00 UTC on 19 May 2016.
wget -c ftp://amaterass.cr.chiba-u.ac.jp/quasi-realtime/himawari829/archived/FD/201605/20160519/201605190300.dwn.sw.flx.sfc.fld.4km.bin.bz2 bunzip2 201605190300.dwn.sw.flx.sfc.fld.4km.bin.bz2
curl -O ftp://amaterass.cr.chiba-u.ac.jp/quasi-realtime/himawari829/archived/FD/201605/20160519/201605190300.dwn.sw.flx.sfc.fld.4km.bin.bz2 bunzip2 201605190300.dwn.sw.flx.sfc.fld.4km.bin.bz2
curl.exe -O ftp://amaterass.cr.chiba-u.ac.jp/quasi-realtime/himawari829/archived/FD/201605/20160519/201605190300.dwn.sw.flx.sfc.fld.4km.bin.bz2
After downloading, decompress the file with 7-Zip or another program that supports bzip2.
For a square raster, Tmap determines the side length automatically from the file size. For a rectangular raster, specify the width and height at the end of the command.
java tmap file max min color_div unit coast_color|auto type north lat_span lat_div west lon_span lon_div [side | width height] [coast_width=auto|1..12]
| Argument | Description | Example |
|---|---|---|
| file | Input file | sample.bin |
| max / min | Maximum and minimum values of the color scale | 1400 0 |
| color_div | Number of color-scale intervals | 7 |
| unit | Reserved number or arbitrary text | 1 or W/m^2 |
| coast_color | auto, or a gray value from black 0 to white 1 | auto |
| type | Output format | jpg / jpeg / png |
| north / lat_span / lat_div | Northern boundary, latitude span, and number of latitude intervals | 60 120 6 |
| west / lon_span / lon_div | Western boundary in degrees east, longitude span, and number of longitude intervals | 85 120 6 |
| side | Side length of a square grid; inferred from the file size when omitted | 3000 |
| width height | Width and height of a rectangular grid | 3000 1000 |
| coast_width | Coastline width: auto or 1–12 px | coast_width=3 |
Data type: IEEE 754 Float32 Byte order: big-endian Layout: headerless, row-major
For a square raster, Tmap infers the side length from the file size. For a rectangular raster, append width height to the command.
java tmap ... 4500 2000
The original version used drawing dimensions tuned for a 3000×3000 grid. Tmap now determines them automatically from the input area, aspect ratio, and measured text widths. It has been tested with grids from 16×16 to 12000×12000 and with both wide and narrow domains.

-Xmx for large gridsjava -Xmx1g tmap ....Tmap uses the bundled GSHHG coastline data. Required coastline rasters are created under cache/coastline/ and reused for subsequent maps with the same conditions. If the cache directory is removed, the rasters are generated again as needed.

Tmap checks the geographic domain, grid dimensions, and GSHHG version, then rasterizes the coastline at an appropriate level of detail.
GSHHG → projection → raster mask
↓
cache/coastline/...When a matching cache entry exists, Tmap reads the PNG instead of processing GSHHG again. This keeps coastline processing from becoming a bottleneck when AMATERASS generates many images during its calculations.
cache hit → read PNG → draw cache miss → make and save
For W/m² and g/m², the font size and position of the base characters and superscript are controlled independently. In addition to the reserved unit numbers 0 through 10, an arbitrary unit string may be specified.
| Number | Display |
|---|---|
| 0 | None |
| 1 | W/m² |
| 2 | μm |
| 3 | K |
| 4 | km |
| 5 | m/s |
| 6 | kW/kWp |
| 7 | deg |
| 8 | hPa |
| 9 | g/m² |
| 10 | % |
unit argument.Tmap ver.3.0 C² preserves the concise structure and quick-look philosophy of the original program while extending it to arbitrary grid dimensions, aspect ratios, and geographic domains.
Used to visualize 3000×3000 AMATERASS grids rapidly, inspect intermediate calculations, and generate quick-look images for distribution.
Retains the readable structure and operational philosophy of the original while adding arbitrary grids, automatic layout, global coastline coverage, and caching.
Separate licenses apply to Tmap itself and to the bundled third-party data. Detailed copyright notices, original license texts, and third-party notices are included in the distribution archive.
MIT License
Use, copying, modification, and redistribution are permitted provided that the copyright and license notices are retained.
GSHHG 2.3.7
GNU Lesser General Public License version 3 or later. The distribution includes the GSHHG copyright notice and license documents.