3.4 KiB
SARscape Go Wrapper
gf3wrapper.exe is a Windows command-line wrapper for the SARscape/IDL GF-3 processing workflow. It embeds gf3_sarscape_cli.sav, starts idlrt.exe, and passes scene metadata, output directory, DEM, and polarization arguments to SARscape.
This path is intended for operational runs where ENVI/IDL Runtime and SARscape are installed and licensed.
Requirements
- Windows host.
- ENVI/IDL Runtime, default path:
C:\Program Files\Harris\ENVI56\IDL88\bin\bin.x86_64\idlrt.exe - SARscape available to the IDL Runtime environment.
- DEM file, for example:
D:\DEM\COPDEM_GLO30_China_4326_DEM - GF-3 L1A input as
*.tar.gz,*.meta.xml, or a directory containing multiple scenes.
The IDL Runtime path can be overridden with -idlrt or the IDLRT_PATH environment variable.
Quick Start
Use the prebuilt executable:
.\dist\windows\gf3wrapper.exe `
-input "D:\GF3\L1A_BATCH" `
-output "E:\GF3\L2_SARscape" `
-dem "D:\DEM\COPDEM_GLO30_China_4326_DEM" `
-pol "HH,HV"
Double-click mode is also supported. When launched without arguments, the wrapper prompts for input, output, DEM, polarizations, and IDL Runtime path. Press Enter to reuse saved defaults.
Inputs
The wrapper supports:
- A single GF-3 archive:
GF3_....tar.gz - A single extracted scene metadata file:
GF3_....meta.xml - A directory containing many archives and/or extracted scenes
Directory mode recursively scans for *.tar.gz, *.tgz, and *.meta.xml. If both archive and metadata exist for the same scene name, the archive is preferred. Internal .gf3_extract folders are skipped.
Outputs
Each scene is processed into its own output directory:
E:\GF3\L2_SARscape\
GF3_SCENE_NAME\
.gf3_extract\ Extracted archive, when input was .tar.gz
*_slc.sml
*_ml.sml
*_filt.sml
*_geo.sml
The embedded SAV is materialized under:
<output>\.gf3_runtime\gf3_sarscape_cli.sav
Saved Defaults
After a successful run, the wrapper writes gf3wrapper.json next to the executable:
{
"idlrt_path": "C:\\Program Files\\Harris\\ENVI56\\IDL88\\bin\\bin.x86_64\\idlrt.exe",
"dem_file": "D:\\DEM\\COPDEM_GLO30_China_4326_DEM",
"polarizations": "HH,HV",
"last_input": "D:\\GF3\\L1A_BATCH",
"last_output": "E:\\GF3\\L2_SARscape",
"keep_extracted": true
}
Command-line flags override saved defaults. If -input, -output, -dem, or -pol are omitted, saved values are reused when available.
Build
From the repository root:
cd .\tools\gf3_sarscape_wrapper
$env:GOTELEMETRY = "off"
go build -o ..\..\dist\windows\gf3wrapper.exe .
If Go cannot write to the default user cache directory, set local cache paths:
$env:GOCACHE = "C:\Temp\go-build-cache"
$env:APPDATA = "C:\Temp\go-appdata"
Source Files
tools/gf3_sarscape_wrapper/main.go
tools/gf3_sarscape_wrapper/assets/gf3_sarscape_cli.sav
tools/gf3_sarscape_wrapper/idl/gf3_sarscape_cli.pro
tools/gf3_sarscape_wrapper/idl/gf3_sarscape_pipeline.pro
assets/gf3_sarscape_cli.sav is embedded into the Go executable at build time.
Notes
- Keep production archives and generated products outside Git.
- Keep only small sanitized fixtures in
tests/fixtures. - The prebuilt executable in
dist/windowsis a convenience artifact for Windows users. Rebuild it after changingmain.goor the embedded.sav.