bug: GOES converter does not handle multiple input files
Nobody has claimed this yet.
- Dominant language
- Fortran
- Stars
- 263
- Forks
- 182
- Avg merge
- 11d 12h
- Merged PRs (30d)
- 7
Description
Describe the bug
I don't have any GOES test files, but based on a user question i looked at the code. this section in observations/obs_converters/GOES/convert_goes_API_L1b.f90 concerned me:
! for each input file
do ifile=1, filecount
! read from netCDF file into a derived type that holds all the information
call goes_load_ABI_map(l1_files(ifile), map)! convert derived type information to DART sequence
call make_obs_sequence(seq, map, lon1, lon2, lat1, lat2, &
x_thin, y_thin, goes_num, reject_dqf_1, obs_err, &
vloc_pres_hPa)! write the sequence to a disk file
call write_obs_seq(seq, outputfile)if (verbose) call print_obs_seq_summary(seq,l1_files(ifile))
! release the sequence memory
call destroy_obs_sequence(seq)
enddo
make_obs_sequence() initializes a new sequence each time through the loop and the sequence is destroyed after the write. there is only a single outputfile string, but the input can be a list. this appears that it will overwrite the same output filename if you specify more than one input file, and at the end you'll have a sequence with only the obs from the last GOES file in the list.
Version of DART
current version
Have you modified the DART code?
no
What I expect
almost all obs converters that take multiple input filenames concatenate them into a single output file that contains obs from all the input files. this one should make a new sequence for the first file in the list; for subsequent files it should concatenate them onto that same sequence; then destroy the sequence outside of the filecount loop.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in observations/obs_converters/GOES/convert_goes_API_L1b.f90 and trace the filecount loop, sequence initialization, output writing, and cleanup. Verify the converter's behavior with multiple input files if test data is available. Done means one output sequence contains observations from every listed GOES file instead of being overwritten on each iteration.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- fortran
- Domain
- data
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 55/100