From 3c279434306b1c3aaf059c07c026d0f10fd6733e Mon Sep 17 00:00:00 2001
From: Ian Boyd <iboyd@astro.umass.edu>
Date: Fri, 24 Jan 2025 00:44:16 +0000
Subject: [PATCH] Replace geoms_mdext.pro

---
 geoms_mdext.pro | 308 ++++++++++++++++++++++++------------------------
 1 file changed, 154 insertions(+), 154 deletions(-)

diff --git a/geoms_mdext.pro b/geoms_mdext.pro
index c3f8bb5..3d9f86b 100644
--- a/geoms_mdext.pro
+++ b/geoms_mdext.pro
@@ -1,154 +1,154 @@
-;---------------------------------------------------------------------------------------------------
-;
-; name:			geoms_mdext.pro
-; description: 	AVDC GEOMS metadata extract
-;
-; 2011-08-30, v0.1	Christian Retscher	initial implementation
-;
-;---------------------------------------------------------------------------------------------------
-
-;---------------------------------------------------------------------------------------------------
-FUNCTION geoms_mdexttools, hdffile, fileid, chRelease, MDE_error_code
-
-	reterr=''
-	idlcr8ascii, hdffile, ga, sds, reterr
-
-	chMDSearch=[ $
-		'DATA_DISCIPLINE',$
-		'DATA_LOCATION',$
-		'DATA_START_DATE',$
-		'DATA_STOP_DATE',$
-		'DATA_SOURCE',$
-		'DATA_GROUP',$
-		'PI_NAME',$
-		'DO_NAME',$
-		'DS_NAME',$
-		'DATA_VARIABLES',$
-		'DATA_DESCRIPTION',$
-		'FILE_GENERATION_DATE',$
-		'PI_AFFILIATION',$
-		'DO_AFFILIATION',$
-		'DS_AFFILIATION',$]
-		'FILE_META_VERSION']
-
-	iSize1 = size(ga, /N_ELEMENTS)
-	iSize2 = size(chMDSearch, /N_ELEMENTS)
-
-	chMDVar = STRARR(iSize2)
-
-	; loop trough all metadata elements
-	for iR2 = 0, iSize2 - 1 do begin
-		for iR1 = 0, iSize1 - 1 do begin
-			chMD = STRSPLIT(ga(iR1), '=', ESCAPE='\', /EXTRACT)
-
-			chMDTrim =STRTRIM(chMD[0], 1)
-
-			if (chMDTrim eq chMDSearch[iR2]) then begin
-
-				; find SQL variables which not full, rather than parts of GEOMS variables
-				if (chMDTrim eq 'DATA_DISCIPLINE') then begin
-					chMDSplit = STRSPLIT(chMD[1], ';', ESCAPE='\', /EXTRACT)
-					chPlatform = chMDSplit[2]
-					chDiscipline = chMDSplit[0]
-					chAcquisition = chMDSplit[1]
-				end	else if (chMDTrim eq 'DATA_GROUP') then begin
-					chMDSplit = STRSPLIT(chMD[1], ';', ESCAPE='\', /EXTRACT)
-					chOrigin = chMDSplit[0]
-					chDataGroup2 = chMDSplit[1]
-				end	else if (chMDTrim eq 'DATA_SOURCE') then begin
-					chMDSplit = STRSPLIT(chMD[1], '_', ESCAPE='\', /EXTRACT)
-					chDataSource1 = chMDSplit[0]
-					chDataSource2 = chMDSplit[1]
-				end	else if (chMDTrim eq 'PI_AFFILIATION') then begin
-					chMDSplit = STRSPLIT(chMD[1], ';', ESCAPE='\', /EXTRACT)
-					cdPIAff = chMDSplit[1]
-				end	else if (chMDTrim eq 'DO_AFFILIATION') then begin
-					chMDSplit = STRSPLIT(chMD[1], ';', ESCAPE='\', /EXTRACT)
-					cdDOAff = chMDSplit[1]
-				end	else if (chMDTrim eq 'DS_AFFILIATION') then begin
-					chMDSplit = STRSPLIT(chMD[1], ';', ESCAPE='\', /EXTRACT)
-					cdDSAff = chMDSplit[1]
-				end	else begin
-					chMDVar[iR2] = chMD[1]
-				end
-			end
-		end
-	end
-
-	; file preparation for final AVDC pub2 location from /Volumes/OPS4/Data/GEOMS/Ingested/QA-pass/
-	chDir1 = '/Volumes/OPS4/Data/GEOMS/Ingested/QA-pass/'
-	chDir2 = 'http://avdc.gsfc.nasa.gov/pub2/GEOMS/registered/'
-
-	iSize3 = strlen(chDir1)
-	iSize4 = strlen(hdffile)
-
-	if (STRMID(hdffile, 0, strlen(chDir1)) eq chDir1) then begin
-		chFileSplit = STRMID(hdffile, strlen(chDir1), strlen(hdffile))
-		chFileURL = chDir2+chFileSplit
-	end else begin
-		chFileURL = hdffile
-	end
-
-	chSQL1 = 'insert into geoms_file (datastartdate,datastopdate,file_generation_date,location,datasource,'
-	chSQL1 = chSQL1 + 'datasource2,platform,discipline,acquisition,origin,datagroup2,datavariables,description,'
-	chSQL1 = chSQL1 + 'originator,submitter,investigator,fileid,updated,originator_id,investigator_id,submitter_id,'
-	chSQL1 = chSQL1 + 'location_id,datasource_id,platform_id,hdf_creator,avdc_data_validator,fileurl) values'
-	chSQL2 = "('"+chMDVar[2]+"','"+chMDVar[3]+"','"+chMDVar[11]+"','"+chMDVar[1]+"','"+chDataSource1+"','"+chDataSource2+ $
-	         "','"+chPlatform+"','"+chDiscipline+"','"+chAcquisition+"','"+chOrigin+"','"+chDataGroup2+"','"+chMDVar[9]+ $
-	         "','"+chMDVar[10]+"','"+chMDVar[6]+";"+cdPIAff+"','"+chMDVar[7]+";"+cdDOAff+"','"+chMDVar[8]+";"+cdDSAff+"',"+ $
-	         strtrim(string(fileid), 2)+",timezone('utc'::text, now())"+",NULL"+",NULL"+",NULL"+",NULL"+",NULL"+",NULL"+ $
-	         ",'"+chMDVar[15]+"','geoms_qa "+chRelease+"','"+chFileURL+"');"
-	print, 'SQL: ',chSQL1, chSQL2
-
-END
-
-;---------------------------------------------------------------------------------------------------
-PRO geoms_mdext
-
-	args = command_line_args()
-	iNrArgs = size(args, /N_ELEMENTS)
-
-	chRelease = 'v1.1, 2011-08-25'
-
-	if ( iNrArgs lt 1 ) then begin
-		print
-		print, 'GEOMS metadata extract (geoms_mdext)'
-		print, '  Release '+chRelease
-		print, '  Extracts selected GEOMS metadata from HDF4/5 files.'
-		print
-		print, 'usage: idl -rt=geoms_mdext.sav -args [HDFFILE] [FILEID]'
-		print
-		print, '1: HDFFILE is the path of the HDF file, you want to check for template compliance'
-		print, '(2): FILEID as from AVDC SQL DB; if given, it is part of the SQL output'
-		print, '------------------------------------------------------------------------------------------------'
-		print
-
-		MDE_error_code = 3
-		exit, status=MDE_error_code
-	end
-
-	hdffile = STRTRIM( args( 0 ), 2 )
-
-	if ( iNrArgs eq 2 ) then begin
-		fileid = STRTRIM( args( 1 ), 2 )
-	end else begin
-		fileid = string(0)
-	end
-
-	MDE_error_code = 3
-
-	if ( file_test( hdffile ) eq 0 ) then begin
-		MDE_error_code = 3
-		print, '  ERROR: HDF file not found.'
-	end else begin
-		MDE_error_code = 0
-	end
-
-	if ( MDE_error_code eq 0 ) then begin
-		MDE_error_code = geoms_mdexttools( hdffile, fileid, chRelease, 0 )
-	end
-
-	exit, status=MDE_error_code
-
-END
-
+;---------------------------------------------------------------------------------------------------
+;
+; name:			geoms_mdext.pro
+; description: 	AVDC GEOMS metadata extract
+;
+; 2011-08-30, v0.1	Christian Retscher	initial implementation
+;
+;---------------------------------------------------------------------------------------------------
+
+;---------------------------------------------------------------------------------------------------
+FUNCTION geoms_mdexttools, hdffile, fileid, chRelease, MDE_error_code
+
+	reterr=''
+	idlcr8ascii, hdffile, ga, sds, reterr
+
+	chMDSearch=[ $
+		'DATA_DISCIPLINE',$
+		'DATA_LOCATION',$
+		'DATA_START_DATE',$
+		'DATA_STOP_DATE',$
+		'DATA_SOURCE',$
+		'DATA_GROUP',$
+		'PI_NAME',$
+		'DO_NAME',$
+		'DS_NAME',$
+		'DATA_VARIABLES',$
+		'DATA_DESCRIPTION',$
+		'FILE_GENERATION_DATE',$
+		'PI_AFFILIATION',$
+		'DO_AFFILIATION',$
+		'DS_AFFILIATION',$]
+		'FILE_META_VERSION']
+
+	iSize1 = size(ga, /N_ELEMENTS)
+	iSize2 = size(chMDSearch, /N_ELEMENTS)
+
+	chMDVar = STRARR(iSize2)
+
+	; loop trough all metadata elements
+	for iR2 = 0, iSize2 - 1 do begin
+		for iR1 = 0, iSize1 - 1 do begin
+			chMD = STRSPLIT(ga(iR1), '=', ESCAPE='\', /EXTRACT)
+
+			chMDTrim =STRTRIM(chMD[0], 1)
+
+			if (chMDTrim eq chMDSearch[iR2]) then begin
+
+				; find SQL variables which not full, rather than parts of GEOMS variables
+				if (chMDTrim eq 'DATA_DISCIPLINE') then begin
+					chMDSplit = STRSPLIT(chMD[1], ';', ESCAPE='\', /EXTRACT)
+					chPlatform = chMDSplit[2]
+					chDiscipline = chMDSplit[0]
+					chAcquisition = chMDSplit[1]
+				end	else if (chMDTrim eq 'DATA_GROUP') then begin
+					chMDSplit = STRSPLIT(chMD[1], ';', ESCAPE='\', /EXTRACT)
+					chOrigin = chMDSplit[0]
+					chDataGroup2 = chMDSplit[1]
+				end	else if (chMDTrim eq 'DATA_SOURCE') then begin
+					chMDSplit = STRSPLIT(chMD[1], '_', ESCAPE='\', /EXTRACT)
+					chDataSource1 = chMDSplit[0]
+					chDataSource2 = chMDSplit[1]
+				end	else if (chMDTrim eq 'PI_AFFILIATION') then begin
+					chMDSplit = STRSPLIT(chMD[1], ';', ESCAPE='\', /EXTRACT)
+					cdPIAff = chMDSplit[1]
+				end	else if (chMDTrim eq 'DO_AFFILIATION') then begin
+					chMDSplit = STRSPLIT(chMD[1], ';', ESCAPE='\', /EXTRACT)
+					cdDOAff = chMDSplit[1]
+				end	else if (chMDTrim eq 'DS_AFFILIATION') then begin
+					chMDSplit = STRSPLIT(chMD[1], ';', ESCAPE='\', /EXTRACT)
+					cdDSAff = chMDSplit[1]
+				end	else begin
+					chMDVar[iR2] = chMD[1]
+				end
+			end
+		end
+	end
+
+	; file preparation for final AVDC pub2 location from /Volumes/OPS4/Data/GEOMS/Ingested/QA-pass/
+	chDir1 = '/Volumes/OPS4/Data/GEOMS/Ingested/QA-pass/'
+	chDir2 = 'http://avdc.gsfc.nasa.gov/pub2/GEOMS/registered/'
+
+	iSize3 = strlen(chDir1)
+	iSize4 = strlen(hdffile)
+
+	if (STRMID(hdffile, 0, strlen(chDir1)) eq chDir1) then begin
+		chFileSplit = STRMID(hdffile, strlen(chDir1), strlen(hdffile))
+		chFileURL = chDir2+chFileSplit
+	end else begin
+		chFileURL = hdffile
+	end
+
+	chSQL1 = 'insert into geoms_file (datastartdate,datastopdate,file_generation_date,location,datasource,'
+	chSQL1 = chSQL1 + 'datasource2,platform,discipline,acquisition,origin,datagroup2,datavariables,description,'
+	chSQL1 = chSQL1 + 'originator,submitter,investigator,fileid,updated,originator_id,investigator_id,submitter_id,'
+	chSQL1 = chSQL1 + 'location_id,datasource_id,platform_id,hdf_creator,avdc_data_validator,fileurl) values'
+	chSQL2 = "('"+chMDVar[2]+"','"+chMDVar[3]+"','"+chMDVar[11]+"','"+chMDVar[1]+"','"+chDataSource1+"','"+chDataSource2+ $
+	         "','"+chPlatform+"','"+chDiscipline+"','"+chAcquisition+"','"+chOrigin+"','"+chDataGroup2+"','"+chMDVar[9]+ $
+	         "','"+chMDVar[10]+"','"+chMDVar[6]+";"+cdPIAff+"','"+chMDVar[7]+";"+cdDOAff+"','"+chMDVar[8]+";"+cdDSAff+"',"+ $
+	         strtrim(string(fileid), 2)+",timezone('utc'::text, now())"+",NULL"+",NULL"+",NULL"+",NULL"+",NULL"+",NULL"+ $
+	         ",'"+chMDVar[15]+"','geoms_qa "+chRelease+"','"+chFileURL+"');"
+	print, 'SQL: ',chSQL1, chSQL2
+
+END
+
+;---------------------------------------------------------------------------------------------------
+PRO geoms_mdext
+
+	args = command_line_args()
+	iNrArgs = size(args, /N_ELEMENTS)
+
+	chRelease = 'v1.1, 2011-08-25'
+
+	if ( iNrArgs lt 1 ) then begin
+		print
+		print, 'GEOMS metadata extract (geoms_mdext)'
+		print, '  Release '+chRelease
+		print, '  Extracts selected GEOMS metadata from HDF4/5 files.'
+		print
+		print, 'usage: idl -rt=geoms_mdext.sav -args [HDFFILE] [FILEID]'
+		print
+		print, '1: HDFFILE is the path of the HDF file, you want to check for template compliance'
+		print, '(2): FILEID as from AVDC SQL DB; if given, it is part of the SQL output'
+		print, '------------------------------------------------------------------------------------------------'
+		print
+
+		MDE_error_code = 3
+		exit, status=MDE_error_code
+	end
+
+	hdffile = STRTRIM( args( 0 ), 2 )
+
+	if ( iNrArgs eq 2 ) then begin
+		fileid = STRTRIM( args( 1 ), 2 )
+	end else begin
+		fileid = string(0)
+	end
+
+	MDE_error_code = 3
+
+	if ( file_test( hdffile ) eq 0 ) then begin
+		MDE_error_code = 3
+		print, '  ERROR: HDF file not found.'
+	end else begin
+		MDE_error_code = 0
+	end
+
+	if ( MDE_error_code eq 0 ) then begin
+		MDE_error_code = geoms_mdexttools( hdffile, fileid, chRelease, 0 )
+	end
+
+	exit, status=MDE_error_code
+
+END
+
-- 
GitLab