Commit 27ef9281 authored by Ian Boyd's avatar Ian Boyd
Browse files

Replace idlcr8ascii.pro

parent cdc116ca
;Main Program Version: idlcr8ascii.pro v4.0b23, 20190821 ;Main Program Version: idlcr8ascii.pro v4.0b24, 20200930
; Written by Ian Boyd for the AVDC - iboyd@astro.umass.edu ; Written by Ian Boyd for the EVDC/AVDC - iboyd@astro.umass.edu
; ;
;Sub-versions: ;Sub-versions:
; v3.01, 20081020 - If the HDF4 file is created using the HDF4.2r3 library, then extra information ; v3.01, 20081020 - If the HDF4 file is created using the HDF4.2r3 library, then extra information
...@@ -83,12 +83,15 @@ ...@@ -83,12 +83,15 @@
; sub-routines include is_a_number_ascii, alpha_numeric_underscore, nc_dimension_chk, ; sub-routines include is_a_number_ascii, alpha_numeric_underscore, nc_dimension_chk,
; file_format_a. ; file_format_a.
; v4.0b23 20190821 - Fixed bugs associated with H5 TAG_NAMES checks introduced in v4.0b22. ; v4.0b23 20190821 - Fixed bugs associated with H5 TAG_NAMES checks introduced in v4.0b22.
; v4.0b24 20200830 - Add INFORMATION messages (20-22) that identify issues with the VAR_DEPEND and VAR_SIZE
; attributes, that were previously fixed 'quietly' by the program; Check input GEOMS file
; for zero filesize before doing checks.
PRO idlcr8ascii_common PRO idlcr8ascii_common
;Procedure to define the data COMMON block WIDGET_WIN_A, containing common variables ;Procedure to define the data COMMON block WIDGET_WIN_A, containing common variables
;associated with the Graphical User Interface ;associated with the Graphical User Interface
; ---------- ; ----------
; Written by Ian Boyd for the AVDC - iboyd@astro.umass.edu ; Written by Ian Boyd for the EVDC/AVDC - iboyd@astro.umass.edu
; ;
; History: ; History:
; 20061004: Introduced to IDLCR8ASCII - Version 2.0 ; 20061004: Introduced to IDLCR8ASCII - Version 2.0
...@@ -114,7 +117,7 @@ END ; Procedure idlcr8ascii_common ...@@ -114,7 +117,7 @@ END ; Procedure idlcr8ascii_common
PRO intro_a_event, ev PRO intro_a_event, ev
;Procedure to define how Events from the Start-up Introduction Window are handled ;Procedure to define how Events from the Start-up Introduction Window are handled
; ---------- ; ----------
;Written by Ian Boyd for the AVDC - iboyd@astro.umass.edu ;Written by Ian Boyd for the EVDC/AVDC - iboyd@astro.umass.edu
; ;
; History: ; History:
; 20061004: Introduced to IDLCR8ASCII - Version 2.0 ; 20061004: Introduced to IDLCR8ASCII - Version 2.0
...@@ -177,7 +180,7 @@ PRO intro_a, intype ...@@ -177,7 +180,7 @@ PRO intro_a, intype
;or invalid parameters, or is called by IDL Virtual Machine. The user has a choice of continuing with ;or invalid parameters, or is called by IDL Virtual Machine. The user has a choice of continuing with
;the program after selecting input options, or stopping the program. ;the program after selecting input options, or stopping the program.
; ---------- ; ----------
;Written by Ian Boyd for the AVDC - iboyd@astro.umass.edu ;Written by Ian Boyd for the EVDC/AVDC - iboyd@astro.umass.edu
; ;
; History: ; History:
; 20061004: Introduced to IDLCR8ASCII - Version 2.0 ; 20061004: Introduced to IDLCR8ASCII - Version 2.0
...@@ -202,7 +205,7 @@ COMMON WIDGET_WIN_A ...@@ -202,7 +205,7 @@ COMMON WIDGET_WIN_A
;procedure which provides an introduction message before starting the program. ;procedure which provides an introduction message before starting the program.
nhdr=46 & errtxt=STRARR(nhdr) nhdr=46 & errtxt=STRARR(nhdr)
vertxt=['idlcr8ascii-v4.0_Readme.pdf','v4.0b23 August 2019'] vertxt=['idlcr8ascii-v4.0_Readme.pdf','v4.0b24 September 2020']
errtxt[1]='Welcome to IDLcr8ASCII. This program reads GEOMS compliant HDF4, HDF5 and netCDF files and' errtxt[1]='Welcome to IDLcr8ASCII. This program reads GEOMS compliant HDF4, HDF5 and netCDF files and'
errtxt[2]='saves contents to either session memory, an output window (summary only) or to ASCII or formatted' errtxt[2]='saves contents to either session memory, an output window (summary only) or to ASCII or formatted'
errtxt[3]='files (also refer to '+vertxt[0]+').' errtxt[3]='files (also refer to '+vertxt[0]+').'
...@@ -294,7 +297,7 @@ END ;Intro_A ...@@ -294,7 +297,7 @@ END ;Intro_A
PRO idlcr8ascii_event, ev PRO idlcr8ascii_event, ev
;Procedure to close the pop-up logging window after user selects 'Finish'. ;Procedure to close the pop-up logging window after user selects 'Finish'.
; ---------- ; ----------
;Written by Ian Boyd for the AVDC - iboyd@astro.umass.edu ;Written by Ian Boyd for the EVDC/AVDC - iboyd@astro.umass.edu
; ;
; History: ; History:
; 20061004: Introduced to IDLCR8ASCII - Version 2.0 ; 20061004: Introduced to IDLCR8ASCII - Version 2.0
...@@ -320,7 +323,7 @@ PRO stop_with_error_a, txt1, txt2, lu ...@@ -320,7 +323,7 @@ PRO stop_with_error_a, txt1, txt2, lu
;is displayed in one or more of the following: a Pop-up dialog window; the Pop-up logging ;is displayed in one or more of the following: a Pop-up dialog window; the Pop-up logging
;window; the Output Logging window in the IDLDE. ;window; the Output Logging window in the IDLDE.
; ---------- ; ----------
;Written by Ian Boyd for the AVDC - iboyd@astro.umass.edu ;Written by Ian Boyd for the EVDC/AVDC - iboyd@astro.umass.edu
; ;
; History: ; History:
; 20050729: Original IDLCR8ASCII Routine - Version 1.0 ; 20050729: Original IDLCR8ASCII Routine - Version 1.0
...@@ -354,7 +357,7 @@ COMMON WIDGET_WIN_A ...@@ -354,7 +357,7 @@ COMMON WIDGET_WIN_A
IF lu NE -1L THEN FREE_LUN,lu IF lu NE -1L THEN FREE_LUN,lu
IF txt1 EQ '' THEN BEGIN ;<cancel> chosen on Intro box IF txt1 EQ '' THEN BEGIN ;<cancel> chosen on Intro box
res=DIALOG_MESSAGE('IDLcr8ASCII Stopped!',/Information,Title='AVDC IDLcr8ASCII') res=DIALOG_MESSAGE('IDLcr8ASCII Stopped!',/Information,Title='EVDC/AVDC IDLcr8ASCII')
ENDIF ELSE BEGIN ENDIF ELSE BEGIN
IF STRMID(txt1,0,2) EQ 'D_' THEN txtx=STRMID(txt1,2) ELSE txtx=txt1 IF STRMID(txt1,0,2) EQ 'D_' THEN txtx=STRMID(txt1,2) ELSE txtx=txt1
FOR i=dux[0],dux[1],dux[2] DO BEGIN FOR i=dux[0],dux[1],dux[2] DO BEGIN
...@@ -371,7 +374,7 @@ ENDIF ELSE BEGIN ...@@ -371,7 +374,7 @@ ENDIF ELSE BEGIN
;write error to DIALOG Box instead of Popup window ;write error to DIALOG Box instead of Popup window
errtxt2=STRARR(4) errtxt2=STRARR(4)
errtxt2[0]=STRMID(txt1,2) & errtxt2[1]=txt2 & errtxt2[3]='IDLcr8ASCII Stopped!' errtxt2[0]=STRMID(txt1,2) & errtxt2[1]=txt2 & errtxt2[3]='IDLcr8ASCII Stopped!'
res=DIALOG_MESSAGE(errtxt2,/Error,Title='AVDC IDLcr8ASCII Error') res=DIALOG_MESSAGE(errtxt2,/Error,Title='EVDC/AVDC IDLcr8ASCII Error')
ENDIF ELSE IF rerr EQ 'NA' THEN BEGIN ;write error to Popup window ENDIF ELSE IF rerr EQ 'NA' THEN BEGIN ;write error to Popup window
lineno=lineno+4L lineno=lineno+4L
WIDGET_CONTROL,wtxt,set_value=' ERROR in '+txt1,/Append WIDGET_CONTROL,wtxt,set_value=' ERROR in '+txt1,/Append
...@@ -383,7 +386,7 @@ ENDIF ELSE BEGIN ...@@ -383,7 +386,7 @@ ENDIF ELSE BEGIN
ENDIF ENDIF
ENDELSE ENDELSE
HEAP_GC HEAP_GC
IF rerr EQ 'NA' THEN RETALL ELSE rerr='Unable to read HDF or NC file - '+txtx+txt2 IF rerr EQ 'NA' THEN RETALL ELSE rerr='Unable to read HDF or NC file - '+txt2
END ;Procedure Stop_With_Error_A END ;Procedure Stop_With_Error_A
...@@ -442,7 +445,7 @@ PRO infotxt_output_a, in0, in1 ...@@ -442,7 +445,7 @@ PRO infotxt_output_a, in0, in1
;This information can be reported to a Pop-up logging window, IDLDE output log window, and/or ;This information can be reported to a Pop-up logging window, IDLDE output log window, and/or
;the log file. Code for this output was originally written directly in the affected procedures ;the log file. Code for this output was originally written directly in the affected procedures
; ---------- ; ----------
;Written by Ian Boyd for the AVDC - iboyd@astro.umass.edu ;Written by Ian Boyd for the EVDC/AVDC - iboyd@astro.umass.edu
; ;
; History: ; History:
; 20090311: Introduced to IDLCR8ASCII - Version 3.02 ; 20090311: Introduced to IDLCR8ASCII - Version 3.02
...@@ -581,6 +584,15 @@ CASE 1 OF ...@@ -581,6 +584,15 @@ CASE 1 OF
in0[0] EQ 19: BEGIN in0[0] EQ 19: BEGIN
infotxt=' INFORMATION: '+in1[0]+' is not a valid GEOMS Metadata Attribute' infotxt=' INFORMATION: '+in1[0]+' is not a valid GEOMS Metadata Attribute'
END END
in0[0] EQ 20: BEGIN
infotxt=' INFORMATION: VAR_SIZE entry must be written to the file as a STRING for '+in1[0]
END
in0[0] EQ 21: BEGIN
infotxt=' INFORMATION: '+in1[0]+' sub-values must be separated by '';'' for '+in1[1]
END
in0[0] EQ 22: BEGIN
infotxt=' INFORMATION: Spaces not permitted in the '+in1[0]+' entry for '+in1[1]
END
ENDCASE ENDCASE
dm=SIZE(infotxt,/N_Elements) dm=SIZE(infotxt,/N_Elements)
...@@ -928,11 +940,11 @@ END ;File_Format_A ...@@ -928,11 +940,11 @@ END ;File_Format_A
PRO test_dim_order, va_name, va_value, va_type, sds_dim, rev_vd_vs PRO test_dim_order, va_name, va_value, va_type, sds_dim, sds_name, rev_vd_vs
;Procedure to test the dimension ordering of any multi-dimensional datasets in the input DF file, and ;Procedure to test the dimension ordering of any multi-dimensional datasets in the input DF file, and
;return correct ordering code (dimension ordering for idlcr8ascii uses IDL/Fortran convention) ;return correct ordering code (dimension ordering for idlcr8ascii uses IDL/Fortran convention)
; ---------- ; ----------
;Written by Ian Boyd for the AVDC - iboyd@astro.umass.edu ;Written by Ian Boyd for the EVDC/AVDC - iboyd@astro.umass.edu
; ;
; History: ; History:
; 20111208: Introduced - Version 4.0b4 ; 20111208: Introduced - Version 4.0b4
...@@ -943,17 +955,20 @@ PRO test_dim_order, va_name, va_value, va_type, sds_dim, rev_vd_vs ...@@ -943,17 +955,20 @@ PRO test_dim_order, va_name, va_value, va_type, sds_dim, rev_vd_vs
; 20141110: Fix bug that caused multi-dimensional array ordering to not be correctly identified ; 20141110: Fix bug that caused multi-dimensional array ordering to not be correctly identified
; if the first dataset to be checked in the file had the same number of elements in ; if the first dataset to be checked in the file had the same number of elements in
; the array (e.g. was a set of Averaging Kernels) - Version 4.0b9 ; the array (e.g. was a set of Averaging Kernels) - Version 4.0b9
; 20200930: Add INFORMATION messages (20-22) that identify issues with the VAR_DEPEND and VAR_SIZE
; attributes that were previously fixed 'quietly' by the program; Add sds_name to the
; variables required by the procedure - Version 4.0b24
; ;
; Inputs: va_name - An abbreviated version of the Variable Name; either 'VD' (VAR_DEPEND) or 'VS' ; Inputs: va_name - An abbreviated version of the Variable Name; either 'VD' (VAR_DEPEND) or 'VS'
; (VAR_SIZE) ; (VAR_SIZE)
; va_value - The corresponding Variable Value ; va_value - The corresponding Variable Value
; sds_dim - Dimension information for the DF Dataset being tested ; sds_dim - Dimension information for the DF Dataset being tested
; sds_name - Dataset name, required if an INFORMATION message is generated
; ;
; Outputs: rev_vd_vs - Scalar to indicate whether VAR_DEPEND and VAR_SIZE values (and data, in the case ; Outputs: rev_vd_vs - Scalar to indicate whether VAR_DEPEND and VAR_SIZE values (and data, in the case
; of netCDF measurements) need to be reversed ; of netCDF measurements) need to be reversed
; ;
; Called by: Read_HDF_SDS ; Called by: Read_HDF_SDS
;
IF va_type NE 'STRING' THEN BEGIN ;VAR_SIZE contains numeric values instead of in the form of a string IF va_type NE 'STRING' THEN BEGIN ;VAR_SIZE contains numeric values instead of in the form of a string
vavhold='' & n_vav=N_ELEMENTS(va_value) vavhold='' & n_vav=N_ELEMENTS(va_value)
...@@ -961,9 +976,22 @@ IF va_type NE 'STRING' THEN BEGIN ;VAR_SIZE contains numeric values instead of i ...@@ -961,9 +976,22 @@ IF va_type NE 'STRING' THEN BEGIN ;VAR_SIZE contains numeric values instead of i
IF k EQ n_vav-1 THEN vtxt='' ELSE vtxt=';' IF k EQ n_vav-1 THEN vtxt='' ELSE vtxt=';'
vavhold=vavhold+STRTRIM(va_value[k],2)+vtxt vavhold=vavhold+STRTRIM(va_value[k],2)+vtxt
ENDFOR ENDFOR
INFOTXT_OUTPUT_A,[20],[STRTRIM(sds_name,2)]
ENDIF ELSE vavhold=va_value ENDIF ELSE vavhold=va_value
vs_v=STRCOMPRESS(STRSPLIT(vavhold,';, ',/EXTRACT,COUNT=rcnt),/REMOVE_ALL) vs_v=STRCOMPRESS(STRSPLIT(vavhold,';, ',/EXTRACT,COUNT=rcnt),/REMOVE_ALL)
IF (rcnt GT 1) AND ((STRPOS(vavhold,';') EQ -1) OR (STRPOS(vavhold,',') NE -1)) THEN BEGIN
IF va_name EQ 'VD' THEN itxt='VAR_DEPEND' ELSE itxt='VAR_SIZE'
INFOTXT_OUTPUT_A,[21],[itxt,STRTRIM(sds_name,2)] ;sub-values should be separated by ';'
ENDIF
IF (rcnt EQ 1) OR ((rcnt GT 1) AND (STRPOS(vavhold,';') NE -1)) THEN BEGIN
IF STRCOMPRESS(vavhold,/REMOVE_ALL) NE vavhold THEN BEGIN
IF va_name EQ 'VD' THEN itxt='VAR_DEPEND' ELSE itxt='VAR_SIZE'
INFOTXT_OUTPUT_A,[22],[itxt,STRTRIM(sds_name,2)] ;no spaces permitted
ENDIF
ENDIF
IF va_name EQ 'VD' THEN BEGIN ;VAR_DEPEND tests IF va_name EQ 'VD' THEN BEGIN ;VAR_DEPEND tests
dti=WHERE(STRUPCASE(vs_v) EQ 'DATETIME',dticnt) dti=WHERE(STRUPCASE(vs_v) EQ 'DATETIME',dticnt)
;Note: if DATETIME has VAR_SIZE=1 then the ordering is dependent on the order of the VAR_SIZE values only ;Note: if DATETIME has VAR_SIZE=1 then the ordering is dependent on the order of the VAR_SIZE values only
...@@ -1015,7 +1043,7 @@ PRO read_hdf_sds, ifile, ga, sds, catinfo ...@@ -1015,7 +1043,7 @@ PRO read_hdf_sds, ifile, ga, sds, catinfo
;Procedure to read the contents of a GEOMS standard HDF4 or HDF5 compatible file ;Procedure to read the contents of a GEOMS standard HDF4 or HDF5 compatible file
;into session memory ;into session memory
; ---------- ; ----------
;Written by Ian Boyd for the AVDC - iboyd@astro.umass.edu ;Written by Ian Boyd for the EVDC/AVDC - iboyd@astro.umass.edu
; ;
; History: ; History:
; 20050729: Original IDLCR8ASCII Routine - Version 1.0 ; 20050729: Original IDLCR8ASCII Routine - Version 1.0
...@@ -1089,6 +1117,7 @@ PRO read_hdf_sds, ifile, ga, sds, catinfo ...@@ -1089,6 +1117,7 @@ PRO read_hdf_sds, ifile, ga, sds, catinfo
; null termination character (which causes an error in the H5A_Read routine) ; null termination character (which causes an error in the H5A_Read routine)
; - Version 4.0b22 ; - Version 4.0b22
; 20190821 Fixed bugs associated with H5 TAG_NAMES checks introduced in v4.0b22 - Version 4.0b23 ; 20190821 Fixed bugs associated with H5 TAG_NAMES checks introduced in v4.0b22 - Version 4.0b23
; 20200930 Add sds_name to TEST_DIM_ORDER procedure call - Version 4.0b24
; ;
; Inputs: ifile - a string containing the name of the input file to be read in. ; Inputs: ifile - a string containing the name of the input file to be read in.
; catinfo - a string array identifying the type of input file ('H4','H5','NC') ; catinfo - a string array identifying the type of input file ('H4','H5','NC')
...@@ -1294,9 +1323,9 @@ IF catinfo[0,0] EQ 'H4' THEN BEGIN ...@@ -1294,9 +1323,9 @@ IF catinfo[0,0] EQ 'H4' THEN BEGIN
ELSE itxt=[sds_type,va_value] ELSE itxt=[sds_type,va_value]
ENDIF ENDIF
ENDIF ELSE IF STRUPCASE(va_name) EQ 'VAR_DEPEND' THEN $ ;do dimension ordering checks ENDIF ELSE IF STRUPCASE(va_name) EQ 'VAR_DEPEND' THEN $ ;do dimension ordering checks
TEST_DIM_ORDER,'VD',va_value,va_type,sds_dim,rev_vd_vs $ TEST_DIM_ORDER,'VD',va_value,va_type,sds_dim,sds_name,rev_vd_vs $
ELSE IF STRUPCASE(va_name) EQ 'VAR_SIZE' THEN $ ;do dimension ordering checks ELSE IF STRUPCASE(va_name) EQ 'VAR_SIZE' THEN $ ;do dimension ordering checks
TEST_DIM_ORDER,'VS',va_value,va_type,sds_dim,rev_vd_vs TEST_DIM_ORDER,'VS',va_value,va_type,sds_dim,sds_name,rev_vd_vs
ENDFOR ENDFOR
ENDIF ELSE BEGIN ;No Variable Attributes found ENDIF ELSE BEGIN ;No Variable Attributes found
vcnt=3 vcnt=3
...@@ -1599,10 +1628,10 @@ ENDIF ELSE IF catinfo[0,0] EQ 'H5' THEN BEGIN ;HDF5 or netCDF4 format file ...@@ -1599,10 +1628,10 @@ ENDIF ELSE IF catinfo[0,0] EQ 'H5' THEN BEGIN ;HDF5 or netCDF4 format file
IF vcnt EQ 0 THEN INFOTXT_OUTPUT_A,[2],[sds_name,va_value] IF vcnt EQ 0 THEN INFOTXT_OUTPUT_A,[2],[sds_name,va_value]
END END
STRUPCASE(da_name) EQ 'VAR_DEPEND': BEGIN STRUPCASE(da_name) EQ 'VAR_DEPEND': BEGIN
TEST_DIM_ORDER,'VD',va_value,va_type,sds_dim,rev_vd_vs TEST_DIM_ORDER,'VD',va_value,va_type,sds_dim,sds_name,rev_vd_vs
END END
STRUPCASE(da_name) EQ 'VAR_SIZE': BEGIN STRUPCASE(da_name) EQ 'VAR_SIZE': BEGIN
TEST_DIM_ORDER,'VS',va_value,va_type,sds_dim,rev_vd_vs TEST_DIM_ORDER,'VS',va_value,va_type,sds_dim,sds_name,rev_vd_vs
END END
ELSE: ELSE:
ENDCASE ENDCASE
...@@ -1838,10 +1867,10 @@ ENDIF ELSE BEGIN ;netCDF3 file ...@@ -1838,10 +1867,10 @@ ENDIF ELSE BEGIN ;netCDF3 file
IF vcnt EQ 0 THEN INFOTXT_OUTPUT_A,[2],[sds_name,va_value] IF vcnt EQ 0 THEN INFOTXT_OUTPUT_A,[2],[sds_name,va_value]
END END
STRUPCASE(va_name) EQ 'VAR_DEPEND': BEGIN STRUPCASE(va_name) EQ 'VAR_DEPEND': BEGIN
TEST_DIM_ORDER,'VD',va_value,va_type,sds_dim,rev_vd_vs TEST_DIM_ORDER,'VD',va_value,va_type,sds_dim,sds_name,rev_vd_vs
END END
STRUPCASE(va_name) EQ 'VAR_SIZE': BEGIN STRUPCASE(va_name) EQ 'VAR_SIZE': BEGIN
TEST_DIM_ORDER,'VS',va_value,va_type,sds_dim,rev_vd_vs TEST_DIM_ORDER,'VS',va_value,va_type,sds_dim,sds_name,rev_vd_vs
END END
ELSE: ELSE:
ENDCASE ENDCASE
...@@ -2059,7 +2088,7 @@ PRO output_hdf_data, ifile, ga, sds, catinfo ...@@ -2059,7 +2088,7 @@ PRO output_hdf_data, ifile, ga, sds, catinfo
;Procedure to output the contents of an HDF file in ASCII form, either in a format compatible for ;Procedure to output the contents of an HDF file in ASCII form, either in a format compatible for
;conversion back to HDF, or in Row and Column format, or as a summary list ;conversion back to HDF, or in Row and Column format, or as a summary list
; ---------- ; ----------
;Written by Ian Boyd for the AVDC - iboyd@astro.umass.edu ;Written by Ian Boyd for the EVDC/AVDC - iboyd@astro.umass.edu
; ;
; History: ; History:
; 20050729: Original IDLCR8ASCII Routine - Version 1.0 ; 20050729: Original IDLCR8ASCII Routine - Version 1.0
...@@ -2230,9 +2259,9 @@ PRO idlcr8ascii, ifile, ga, sds, reterr, $ ...@@ -2230,9 +2259,9 @@ PRO idlcr8ascii, ifile, ga, sds, reterr, $
; ;
;Program documentation, idlcr8ascii-v4.0_Readme.pdf, available on http://avdc.gsfc.nasa.gov. ;Program documentation, idlcr8ascii-v4.0_Readme.pdf, available on http://avdc.gsfc.nasa.gov.
; ;
;Program sub-version 4.0b23 (20190621) ;Program sub-version 4.0b24 (20200930)
; ---------- ; ----------
;Written by Ian Boyd for the AVDC - iboyd@astro.umass.edu ;Written by Ian Boyd for the EVDC/AVDC - iboyd@astro.umass.edu
; ;
; History: ; History:
; 20050729: Original Release - Version 1.0 ; 20050729: Original Release - Version 1.0
...@@ -2274,6 +2303,8 @@ PRO idlcr8ascii, ifile, ga, sds, reterr, $ ...@@ -2274,6 +2303,8 @@ PRO idlcr8ascii, ifile, ga, sds, reterr, $
; 20160213: Add CATCH, /CANCEL after idlcr8hdf call - Version 4.0b13 ; 20160213: Add CATCH, /CANCEL after idlcr8hdf call - Version 4.0b13
; 20190806: Call routine FILE_FORMAT_A to determine the correct format of the input file(s) ; 20190806: Call routine FILE_FORMAT_A to determine the correct format of the input file(s)
; - Version 4.0b22 ; - Version 4.0b22
; 20200930: Check that GEOMS file does not have filesize of zero before calling FILE_FORMAT_A
; - Version 4.0b24
; ;
; Inputs: ifile - a string array or filespec containing the name of the HDF file(s) to be read in ; Inputs: ifile - a string array or filespec containing the name of the HDF file(s) to be read in
; ;
...@@ -2486,7 +2517,7 @@ FOR ndf=0L,nfile-1L DO BEGIN ...@@ -2486,7 +2517,7 @@ FOR ndf=0L,nfile-1L DO BEGIN
ENDFOR ENDFOR
ftype='XX' ftype='XX'
IF FILE_TEST(ifile[ndf]) EQ 1 THEN BEGIN IF (FILE_TEST(ifile[ndf])) AND (~FILE_TEST(ifile[ndf],/ZERO_LENGTH)) THEN BEGIN
;Identify the file format ;Identify the file format
ftype=FILE_FORMAT_A(ifile[ndf]) ftype=FILE_FORMAT_A(ifile[ndf])
IF ftype NE 'XX' THEN catinfo[0,0]=ftype IF ftype NE 'XX' THEN catinfo[0,0]=ftype
...@@ -2624,7 +2655,7 @@ IF o3[3] EQ '' THEN BEGIN ...@@ -2624,7 +2655,7 @@ IF o3[3] EQ '' THEN BEGIN
WIDGET_CONTROL,wtxt,set_value='HDF file read completed - hit <Finish> to close program',/Append WIDGET_CONTROL,wtxt,set_value='HDF file read completed - hit <Finish> to close program',/Append
XMANAGER,'idlcr8ascii',base XMANAGER,'idlcr8ascii',base
ENDIF ELSE IF intype LT 0 THEN BEGIN ;Create Finish Dialog Box ENDIF ELSE IF intype LT 0 THEN BEGIN ;Create Finish Dialog Box
res=DIALOG_MESSAGE('HDF file read completed!',/Information,Title='AVDC IDLcr8ASCII') res=DIALOG_MESSAGE('HDF file read completed!',/Information,Title='EVDC/AVDC IDLcr8ASCII')
ENDIF ENDIF
END ;procedure IDLcr8ASCII END ;procedure IDLcr8ASCII
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment