Open hkershaw-brown opened 3 years ago
i see you're way ahead of me.
The print_obs_seq_summary() routine could use an optional argument to print some sort of header information/banner. In the AIRS/convert_amsua_L1.f90 program (for example) it is useful to call it to report on what is in each input file, and then again for the total sequence. Without a banner to identify what is coming next, the reports (at first blush) look redundant.
13 validate_obs_seq_time
grep -rn "subroutine validate_obs_seq_time(seq, filename)" .
./assimilation_code/programs/obs_info/obs_info.f90:340:subroutine validate_obs_seq_time(seq, filename)
./assimilation_code/programs/obs_assim_count/obs_assim_count.f90:527:subroutine validate_obs_seq_time(seq, filename)
./assimilation_code/programs/obs_selection/obs_selection.f90:787:subroutine validate_obs_seq_time(seq, filename)
./assimilation_code/programs/obs_sequence_tool/obs_sequence_tool.f90:1269:subroutine validate_obs_seq_time(seq, filename)
./assimilation_code/programs/obs_data_denial/obs_data_denial.f90:434:subroutine validate_obs_seq_time(seq, filename)
./assimilation_code/programs/obs_remove_dups/obs_remove_dups.f90:667:subroutine validate_obs_seq_time(seq, filename)
./assimilation_code/programs/obs_sort/obs_sort.f90:650:subroutine validate_obs_seq_time(seq, filename)
./assimilation_code/programs/obs_total_error/obs_total_error.f90:368:subroutine validate_obs_seq_time(seq, filename)
./assimilation_code/programs/obs_keep_a_few/obs_keep_a_few.f90:423:subroutine validate_obs_seq_time(seq, filename)
./assimilation_code/programs/obs_common_subset/obs_common_subset.f90:834:subroutine validate_obs_seq_time(seq, filename)
./assimilation_code/modules/observations/obs_sequence_mod.f90:2908:subroutine validate_obs_seq_time(seq, filename)
./developer_tests/obs_sequence/obs_rwtest.f90:309:subroutine validate_obs_seq_time(seq, filename)
./observations/obs_converters/utilities/obs_seq_utilities_mod.f90:204:subroutine validate_obs_seq_time(seq, filename)
There is a note in all the validate_obs_seq_time
s:
I think this note (x13) is talking about this 2009 fix: 5727c3f7e33a5df7cd9acfd180b371f36e8ab124 Double check this.
i also remember at least one case where a user was creating their own obs_seq files with python code and didn't have the linked lists implemented correctly. this made filter unhappy in a hard-to-diagnose way. (by the way, having 13 copies of the validate routine is me being lazy. i'm sure there are about as many print seq routines, also. bad nancy.)
note obs_seq_utilites_mod is only available to observation converters at the moment buildconvfunctions.sh https://github.com/NCAR/DART/blob/70e6af803a52d14b9f77f872c94b1fe11d5dc2d9/build_templates/buildconvfunctions.sh#L118
Edit: correction obs_seq_utilies_mod is not available to any code, and has not been updated (or maybe ever used)
e.g max_obs_kinds does not exist in obs_def_mod.f90 https://github.com/NCAR/DART/blob/70e6af803a52d14b9f77f872c94b1fe11d5dc2d9/observations/obs_converters/utilities/obs_seq_utilities_mod.f90#L33C62-L33C62
obs_info.f90 (program) has a
print_obs_seq
that is not called.There is a
print_obs_seq
inobs_seq_utilities_mod.f90
that is public. That one has kinds in the variable names, not types.There are 10 versions of
print_obs_seq
, which I think is about 9 too many:The
obs_seq_utilites_mod.f90
I don't think is used at all since it is not in any pathnames files. Aim: look at the various obs_seq_tools and whether these obs_seq programs should be using obs_seq_utitilies_mod.