SVP
This utility converts Surface Velocity Program (SVP) drifter data
(SST + surface currents) into a DART observation sequence (obs_seq) file.
Overview
SVP drifters measure near-surface ocean temperature and currents. For the InaCAWO project, BMKG/Baron provide ASCII (CSV-like) files with:
Header line of field names
One row per surface observation time
- The converter reads:
dat– timestamplat– latitude (degrees)lon– longitude (degrees)sea_temperature– SST (Kelvin; converted to C)u/v– eastward / northward surface velocity (m/s)
Each valid row becomes up to three DART observations at the surface
(VERTISSURFACE): DRIFTER_TEMPERATURE, DRIFTER_U_CURRENT_COMPONENT,
DRIFTER_V_CURRENT_COMPONENT
Note
Time handling: The converter reads the dat column, parses the timestamp, and
constructs a DART time_type in the Gregorian calendar.
Expected format: YYYY-MM-DDThh:mm:ssZ
Build & run
Build like other DART converters, then run with an input.nml that includes
svp_to_obs_nml:
./svp_to_obs
The program writes a single output sequence defined by file_out.
Namelist
This namelist is added to input.nml:
&svp_to_obs_nml
file_in = '' ! single ASCII file (or '')
file_list = '' ! text file of paths (or '')
file_out = 'obs_seq.svp', ! output obs_seq file
obs_error_sst = 0.20_r8, ! SST error (C)
obs_error_vel = 0.10_r8, ! U/V error (m/s)
avg_obs_per_file = 500000, ! pre-allocation limit
debug = .true.
/
Namelist item |
Type |
Default |
Description |
|---|---|---|---|
|
character(len=256) |
|
Path to a single SVP ASCII input file. Mutually exclusive with |
|
character(len=256) |
|
Text file listing SVP ASCII files, one per line. Use instead of |
|
character(len=256) |
|
Name of the DART output observation sequence file. Overwritten if it exists. |
|
real(r8) |
|
Observation error standard deviation for SST (in °C). |
|
real(r8) |
|
Observation error standard deviation for U and V (in m/s). |
|
integer |
|
Estimated number of valid observations per input file. Used only for pre-allocation. Number of files times this number must be larger than the total number of output observations. |
|
logical |
|
If true, prints detailed information for each file and observation. |
Output
A new observation sequence file named according to file_out. Each observation record includes location (lat, lon), time, and one of the three kinds (SST, U, or V), with error variance set to the square of obs_error_sst or obs_error_vel.
With debug = .true., the converter prints a summary of accepted/filtered
observations for each input file.
Output file: obs_seq.svp exists. Replacing it ...
Input file: #1 T_HCSV00_C_BMKG_20251006000000_SVP_300534064005670.csv
* lat: 0.4730, lon: 43.3212, SST: 26.1200, U: -0.0062, V: -0.0061, date: 2025 Oct 06 00:00:00
Input file: #2 T_HCSV00_C_BMKG_20251006010000_SVP_300534064005670.csv
* lat: 0.4732, lon: 43.3212, SST: 26.0100, U: 0.0000, V: 0.0061, date: 2025 Oct 06 01:00:00
Input file: #3 T_HCSV00_C_BMKG_20251006020000_SVP_300534064005670.csv
* lat: 0.4730, lon: 43.3214, SST: 26.0400, U: 0.0062, V: -0.0061, date: 2025 Oct 06 02:00:00
Input file: #4 T_HCSV00_C_BMKG_20251006030000_SVP_300534064005670.csv
* lat: 0.4732, lon: 43.3214, SST: 26.1400, U: 0.0000, V: 0.0061, date: 2025 Oct 06 03:00:00
Input file: #5 T_HCSV00_C_BMKG_20251006040000_SVP_300534064005670.csv
* lat: 0.4730, lon: 43.3214, SST: 26.3300, U: 0.0000, V: -0.0061, date: 2025 Oct 06 04:00:00
...
> Ready to write 72 observations:
write_obs_seq opening formatted observation sequence file "obs_seq.svp"
write_obs_seq closed observation sequence file "obs_seq.svp"
svp_to_obs Finished successfully.
Further reading
For background on the observing platform supported by this converter:
Global Drifter Program (GDP): “SVP drifter overview” – NOAA and Scripps-maintained description of the standard SVP and SVP-B drifters used globally.
Lumpkin & Pazos (2007): “Measuring surface currents with Surface Velocity Program drifters” – Classic technical paper detailing instrument design, calibration, and data characteristics.
Ocean Observers: “Drifting buoys (DBCP)” – General introduction to the international drifter network and its coordination under WMO/IOC.