Skip to content
Snippets Groups Projects
Commit 48cb058f authored by Ian Boyd's avatar Ian Boyd
Browse files

Upload New File

parent eae25f6d
No related branches found
No related tags found
No related merge requests found
;---------------------------------------------------------------------------------------------------
;
; name: geoms_qa.pro
; description: Wrapper for AVDC/EVDC QA tool
;
; 2010-12-09, v0.1 Christian Retscher initial implementation
; 2010-12-21, v0.5 Christian Retscher rename to geoms_qa
; 2011-03-03, v0.6 Christian Retscher dim ordering support
; 2011-03-29, v0.7 Christian Retscher dialog; high level error checks
; 2011-04-26, v0.8 Christian Retscher geoms_tc support added
; 2011-06-07, v1.0 Christian Retscher code refactored
; 2011-08-19, v1.1 Christian Retscher accept balloon_sonde.o3 files with DATETIME fill values
; 2012-04-26, v1.2 Ian Boyd align version number with geoms_tools, update comment to include
; QA on netCDF files
; 2013-10-23, v1.3 Ian Boyd align version with geoms_tools
; 2013-10-28, v1.31 Ian Boyd align version with geoms_tools
; 2014-01-28, v1.34 Ian Boyd align geoms_tools version due to change in geoms_tctools
; 2014-03-11, v1.35 Ian Boyd align version with geoms_tools
; 2014-03-25, v1.36 Ian Boyd update due to modification to idlcr8ascii
; 2014-03-29, v1.37 Ian Boyd update due to modification to idlcr8hdf
; 2014-05-22, v1.38 Ian Boyd update due to modification to idlcr8hdf
; 2014-08-06, v1.39 Ian Boyd update due to modification to idlcr8hdf and geoms_tools
; 2014-09-09, v1.40 Ian Boyd update due to modification to idlcr8hdf and geoms_tools
; 2014-11-10, v1.41 Ian Boyd update due to modification to idlcr8hdf and idlcr8ascii
; 2015-01-27, v1.42 Ian Boyd update due to modification to idlcr8hdf and idlcr8ascii
; 2015-02-17, v1.43 Ian Boyd update due to modification to idlcr8hdf and idlcr8ascii
; 2015-03-02, v1.44 Ian Boyd update due to bug fix in idlcr8hdf
; 2015-04-09, v1.45 Ian Boyd update due to bug fix in idlcr8hdf
; 2015-08-11, v1.46 Ian Boyd update due to bug fixes and improvements in idlcr8hdf
; 2015-09-26, v1.47 Ian Boyd update due to bug fixes and improvements in idlcr8hdf
; 2015-10-21, v1.48 Ian Boyd update due to bug fixes and improvements in idlcr8hdf
; 2015-11-04, v1.49 Ian Boyd update due to fix in idlcr8hdf
; 2015-11-09, v1.50 Ian Boyd update due to bug fixes and improvements in idlcr8hdf and idlcr8ascii
; 2015-11-16, v1.51 Ian Boyd update due to fix in idlcr8hdf
; 2015-12-15, v1.52 Ian Boyd update due to fix in idlcr8hdf
; 2016-02-13, v1.53 Ian Boyd Add extra satellite instruments to the obsolete list for DATA_SOURCE
; in idlcr8hdf. Modifications to idlcr8hdf and idlc8ascii
; 2016-06-14, v1.54 Ian Boyd update due to fix in idlcr8ascii
; 2016-07-25, v1.55 Ian Boyd update due to fix in idlcr8ascii and idlcr8hdf
; 2016-11-16, v1.56 Ian Boyd update due to fix in idlcr8hdf
; 2016-11-30, v1.57 Ian Boyd update due to fix in idlcr8ascii and idlcr8hdf and account for
; non-GEOMS variable attributes (ptr_valid check) in geoms_tctools
; 2016-12-17, v1.58 Ian Boyd update due to fixes in idlcr8ascii
; 2016-12-30, v1.59 Ian Boyd Add FV keyword to geoms_tools (options 20-22 in geoms_harmon call).
; If called then forces the DATA_FILE_VERSION not to increment when
; performing harmonization; Incorporates fixes made to idlcr8hdf; QA no
; longer checks full ORIGINATOR attributes - removed from TAV file from
; 2017-03-31, v1.60 Ian Boyd update due to improvements to idlcr8hdf
; 2017-11-21, v1.61 Ian Boyd update due to fixes in idlcr8hdf
; 2018-02-18, v1.62 Ian Boyd update due to fix in idlcr8ascii and idlcr8hdf
; 2018-03-14, v1.63 Ian Boyd update due to fix in idlcr8hdf
; 2018-05-28, v1.64 Ian Boyd update due to fix in idlcr8hdf
; 2018-09-01, v1.65 Ian Boyd update due to fix in idlcr8hdf
; 2018-11-16, v1.66 Ian Boyd update due to fix in idlcr8ascii
;---------------------------------------------------------------------------------------------------
PRO geoms_qa
args = command_line_args()
iNrArgs = size(args, /N_ELEMENTS)
if ( iNrArgs lt 2 ) then begin
print
print, 'GEOMS quality assurance (geoms_qa)'
print, ' Release v1.66, 2018-11-16'
print, ' Does GEOMS quality assurance on HDF4/5 and netCDF files.'
print
print, 'usage: idl -rt=geoms_qa.sav -args [TAVFILE] [[GEOMSTEFILE]] [ORIGFILE]'
print
print, '1: TAVFILE is the path of the TAV file, you want to validate against'
print, '2: GEOMSTEFILE is the path of the GEOMS template file, you want to test
print, ' (optional argument; template checks are only performed if GEOMS-TE is provided)'
print, '3: ORIGFILE is the path of the original HDF file, you want to test'
print, '------------------------------------------------------------------------------------------------'
print
QA_error_code = 3
exit, status=QA_error_code
end
; error codes
; 0 QA pass, no TC
; 1 QA limit, no TC
; 2 QA fail, no TC
; 3 wrong parameters
; 4 QA pass, TC pass
; 5 QA limit, TC pass
; 6 QA fail, TC pass
; 7 QA pass, TC fail
; 8 QA limit, TC fail
; 9 QA fail, TC fail
chFileTAV = STRTRIM( args( 0 ), 2 )
; check the number of variables provided
if ( iNrArgs eq 2 ) then begin
chFileOrig = STRTRIM( args( 1 ), 2 )
end
if ( iNrArgs eq 3 ) then begin
chFileGEOMSTE = STRTRIM( args( 1 ), 2 )
chFileOrig = STRTRIM( args( 2 ), 2 )
end
QA_error_code = 3
TC_error_code = 1
if ( file_test( chFileTAV ) eq 0 ) then begin
QA_error_code = 3
print, 'ERROR: TAV file not found.'
end else begin
QA_error_code = 0
end
if ( file_test( chFileOrig ) eq 0 ) then begin
QA_error_code = 3
print, 'ERROR: HDF file not found.'
end else begin
QA_error_code = 0
end
if ( iNrArgs eq 3 ) then begin
if ( file_test( chFileGEOMSTE ) eq 0 ) then begin
QA_error_code = 3
print, 'ERROR: GEOMS-TE file not found.'
end else begin
QA_error_code = 0
TC_error_code = 0
end
end
if ( QA_error_code eq 0 ) then begin
print, chFileTAV
print, chFileOrig
if (STRMID(FILE_BASENAME(chFileOrig),0,16) eq "balloon_sonde.o3") then begin
QA_error_code = geoms_tools( 0, chFileTAV, chFileOrig ) ;, /DATETIME )
end else begin
QA_error_code = geoms_tools( 0, chFileTAV, chFileOrig )
end
end
if ( TC_error_code eq 0 ) then begin
TC_error_code = geoms_tctools( chFileGEOMSTE, chFileOrig, QA_error_code )
TC_error_code = TC_error_code*3 + 4
end else begin
TC_error_code = 0
end
; total error
QATC_error_code = QA_error_code + TC_error_code
exit, status=QATC_error_code
END
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment