@@ -105,7 +105,7 @@ def CreateBasic(filename):
105105
106106
107107# Open project file with error checking for file existing and of netCDF format
108- def OpenProjectFile (filename , readOnly = True , verbose = True ):
108+ def OpenProjectFile (filename , readOnly = True , verbose = False ):
109109 """
110110 **OpenProjectFile** - Open a Loop Project File and checks it exists and is a
111111 netCDF formatted file
@@ -133,9 +133,11 @@ def OpenProjectFile(filename, readOnly=True, verbose=True):
133133 print (errStr , file = sys .stderr )
134134 return {"errorFlag" : True , "errorString" : errStr }
135135
136+ # Quick check to see if openable
136137 try :
137138 with open (filename , 'rb' ) as f :
138- print (f"File { filename } opened successfully." , file = sys .stderr )
139+ if (verbose ):
140+ print (f"File { filename } opened successfully." , file = sys .stderr )
139141 except Exception as e :
140142 return {"errorFlag" : True , "errorString" : str (e )}
141143
@@ -217,106 +219,117 @@ def Set(filename, element, **kwargs):
217219 True
218220
219221 """
220- fileResp = OpenProjectFile (filename , readOnly = False , verbose = False )
222+ if "verbose" in kwargs .keys ():
223+ verbose = kwargs ["verbose" ]
224+ else :
225+ verbose = False
226+
227+ fileResp = OpenProjectFile (filename , readOnly = False , verbose = verbose )
221228 if fileResp ["errorFlag" ]:
222229 response = fileResp
223230 else :
224231 root = fileResp ["root" ]
225- if element == "version" :
226- response = Version .SetVersion (root , ** kwargs )
227- elif element == "extents" :
228- response = Extents .SetExtents (root , ** kwargs )
229- elif element == "strModel" :
230- response = StructuralModels .SetStructuralModel (root , ** kwargs )
231- elif element == "faultObservations" :
232- response = DataCollection .SetFaultObservations (root , ** kwargs )
233- elif element == "faultObservationsAppend" :
234- response = DataCollection .SetFaultObservations (root , append = True , ** kwargs )
235- elif element == "foldObservations" :
236- response = DataCollection .SetFoldObservations (root , ** kwargs )
237- elif element == "foldObservationsAppend" :
238- response = DataCollection .SetFoldObservations (root , append = True , ** kwargs )
239- elif element == "foliationObservations" :
240- response = DataCollection .SetFoliationObservations (root , ** kwargs )
241- elif element == "foliationObservationsAppend" :
242- response = DataCollection .SetFoliationObservations (
243- root , append = True , ** kwargs
244- )
245- elif element == "discontinuityObservations" :
246- response = DataCollection .SetDiscontinuityObservations (root , ** kwargs )
247- elif element == "discontinuityObservationsAppend" :
248- response = DataCollection .SetDiscontinuityObservations (
249- root , append = True , ** kwargs
250- )
251- elif element == "stratigraphicObservations" :
252- response = DataCollection .SetStratigraphicObservations (root , ** kwargs )
253- elif element == "stratigraphicObservationsAppend" :
254- response = DataCollection .SetStratigraphicObservations (
255- root , append = True , ** kwargs
256- )
257- elif element == "contacts" :
258- response = DataCollection .SetContacts (root , ** kwargs )
259- elif element == "contactsAppend" :
260- response = DataCollection .SetContacts (root , append = True , ** kwargs )
261- elif element == "drillholeObservations" :
262- response = DataCollection .SetDrillholeObservations (root , ** kwargs )
263- elif element == "drillholeObservationsAppend" :
264- response = DataCollection .SetDrillholeObservations (
265- root , append = True , ** kwargs
266- )
267- elif element == "drillholeSurveys" :
268- response = DataCollection .SetDrillholeSurveys (root , ** kwargs )
269- elif element == "drillholeSurveysAppend" :
270- response = DataCollection .SetDrillholeSurveys (root , append = True , ** kwargs )
271- elif element == "drillholeProperties" :
272- response = DataCollection .SetDrillholeProperties (root , ** kwargs )
273- elif element == "drillholePropertiesAppend" :
274- response = DataCollection .SetDrillholeProperties (
275- root , append = True , ** kwargs
276- )
277- elif element == "stratigraphicLog" :
278- response = ExtractedInformation .SetStratigraphicLog (root , ** kwargs )
279- elif element == "stratigraphicLogAppend" :
280- response = ExtractedInformation .SetStratigraphicLog (
281- root , append = True , ** kwargs
282- )
283- elif element == "faultLog" :
284- response = ExtractedInformation .SetFaultLog (root , ** kwargs )
285- elif element == "faultLogAppend" :
286- response = ExtractedInformation .SetFaultLog (root , append = True , ** kwargs )
287- elif element == "foldLog" :
288- response = ExtractedInformation .SetFoldLog (root , ** kwargs )
289- elif element == "foldLogAppend" :
290- response = ExtractedInformation .SetFoldLog (root , append = True , ** kwargs )
291- elif element == "foliationLog" :
292- response = ExtractedInformation .SetFoliationLog (root , ** kwargs )
293- elif element == "foliationLogAppend" :
294- response = ExtractedInformation .SetFoliationLog (root , append = True , ** kwargs )
295- elif element == "discontinuityLog" :
296- response = ExtractedInformation .SetDiscontinuityLog (root , ** kwargs )
297- elif element == "discontinuityLogAppend" :
298- response = ExtractedInformation .SetDiscontinuityLog (
299- root , append = True , ** kwargs
300- )
301- elif element == "drillholeLog" :
302- response = ExtractedInformation .SetDrillholeLog (root , ** kwargs )
303- elif element == "drillholeLogAppend" :
304- response = ExtractedInformation .SetDrillholeLog (root , append = True , ** kwargs )
305- elif element == "dataCollectionConfig" :
306- response = DataCollection .SetConfiguration (root , ** kwargs )
307- elif element == "dataCollectionSources" :
308- response = DataCollection .SetSources (root , ** kwargs )
309- elif element == "dataCollectionRawSourceData" :
310- response = DataCollection .SetRawSourceData (root , ** kwargs )
311- elif element == "eventRelationships" :
312- response = ExtractedInformation .SetEventRelationships (root , ** kwargs )
313- elif element == "structuralModelsConfig" :
314- response = StructuralModels .SetConfiguration (root , ** kwargs )
315- else :
316- errStr = "(ERROR) Unknown element for Set function '" + element + "'"
317- print (errStr )
318- response = {"errorFlag" : True , "errorString" : errStr }
319- root .close ()
232+ try :
233+ if element == "version" :
234+ response = Version .SetVersion (root , ** kwargs )
235+ elif element == "extents" :
236+ response = Extents .SetExtents (root , ** kwargs )
237+ elif element == "strModel" :
238+ response = StructuralModels .SetStructuralModel (root , ** kwargs )
239+ elif element == "faultObservations" :
240+ response = DataCollection .SetFaultObservations (root , ** kwargs )
241+ elif element == "faultObservationsAppend" :
242+ response = DataCollection .SetFaultObservations (root , append = True , ** kwargs )
243+ elif element == "foldObservations" :
244+ response = DataCollection .SetFoldObservations (root , ** kwargs )
245+ elif element == "foldObservationsAppend" :
246+ response = DataCollection .SetFoldObservations (root , append = True , ** kwargs )
247+ elif element == "foliationObservations" :
248+ response = DataCollection .SetFoliationObservations (root , ** kwargs )
249+ elif element == "foliationObservationsAppend" :
250+ response = DataCollection .SetFoliationObservations (
251+ root , append = True , ** kwargs
252+ )
253+ elif element == "discontinuityObservations" :
254+ response = DataCollection .SetDiscontinuityObservations (root , ** kwargs )
255+ elif element == "discontinuityObservationsAppend" :
256+ response = DataCollection .SetDiscontinuityObservations (
257+ root , append = True , ** kwargs
258+ )
259+ elif element == "stratigraphicObservations" :
260+ response = DataCollection .SetStratigraphicObservations (root , ** kwargs )
261+ elif element == "stratigraphicObservationsAppend" :
262+ response = DataCollection .SetStratigraphicObservations (
263+ root , append = True , ** kwargs
264+ )
265+ elif element == "contacts" :
266+ response = DataCollection .SetContacts (root , ** kwargs )
267+ elif element == "contactsAppend" :
268+ response = DataCollection .SetContacts (root , append = True , ** kwargs )
269+ elif element == "drillholeObservations" :
270+ response = DataCollection .SetDrillholeObservations (root , ** kwargs )
271+ elif element == "drillholeObservationsAppend" :
272+ response = DataCollection .SetDrillholeObservations (
273+ root , append = True , ** kwargs
274+ )
275+ elif element == "drillholeSurveys" :
276+ response = DataCollection .SetDrillholeSurveys (root , ** kwargs )
277+ elif element == "drillholeSurveysAppend" :
278+ response = DataCollection .SetDrillholeSurveys (root , append = True , ** kwargs )
279+ elif element == "drillholeProperties" :
280+ response = DataCollection .SetDrillholeProperties (root , ** kwargs )
281+ elif element == "drillholePropertiesAppend" :
282+ response = DataCollection .SetDrillholeProperties (
283+ root , append = True , ** kwargs
284+ )
285+ elif element == "stratigraphicLog" :
286+ response = ExtractedInformation .SetStratigraphicLog (root , ** kwargs )
287+ elif element == "stratigraphicLogAppend" :
288+ response = ExtractedInformation .SetStratigraphicLog (
289+ root , append = True , ** kwargs
290+ )
291+ elif element == "faultLog" :
292+ response = ExtractedInformation .SetFaultLog (root , ** kwargs )
293+ elif element == "faultLogAppend" :
294+ response = ExtractedInformation .SetFaultLog (root , append = True , ** kwargs )
295+ elif element == "foldLog" :
296+ response = ExtractedInformation .SetFoldLog (root , ** kwargs )
297+ elif element == "foldLogAppend" :
298+ response = ExtractedInformation .SetFoldLog (root , append = True , ** kwargs )
299+ elif element == "foliationLog" :
300+ response = ExtractedInformation .SetFoliationLog (root , ** kwargs )
301+ elif element == "foliationLogAppend" :
302+ response = ExtractedInformation .SetFoliationLog (root , append = True , ** kwargs )
303+ elif element == "discontinuityLog" :
304+ response = ExtractedInformation .SetDiscontinuityLog (root , ** kwargs )
305+ elif element == "discontinuityLogAppend" :
306+ response = ExtractedInformation .SetDiscontinuityLog (
307+ root , append = True , ** kwargs
308+ )
309+ elif element == "drillholeLog" :
310+ response = ExtractedInformation .SetDrillholeLog (root , ** kwargs )
311+ elif element == "drillholeLogAppend" :
312+ response = ExtractedInformation .SetDrillholeLog (root , append = True , ** kwargs )
313+ elif element == "dataCollectionConfig" :
314+ response = DataCollection .SetConfiguration (root , ** kwargs )
315+ elif element == "dataCollectionSources" :
316+ response = DataCollection .SetSources (root , ** kwargs )
317+ elif element == "dataCollectionRawSourceData" :
318+ response = DataCollection .SetRawSourceData (root , ** kwargs )
319+ elif element == "eventRelationships" :
320+ response = ExtractedInformation .SetEventRelationships (root , ** kwargs )
321+ elif element == "structuralModelsConfig" :
322+ response = StructuralModels .SetConfiguration (root , ** kwargs )
323+ else :
324+ errStr = "(ERROR) Unknown element for Set function '" + element + "'"
325+ print (errStr )
326+ response = {"errorFlag" : True , "errorString" : errStr }
327+ finally :
328+ if (verbose ):
329+ print (f"Closing file: { filename } " ,file = sys .stderr )
330+ root .close ()
331+ if (verbose ):
332+ print (f"{ filename } closed successfully" ,file = sys .stderr )
320333 return response
321334
322335
@@ -373,8 +386,12 @@ def Get(filename, element, **kwargs):
373386 True otherwise the extracted value is in the "value" keyword
374387
375388 """
389+ if "verbose" in kwargs .keys ():
390+ verbose = kwargs ["verbose" ]
391+ else :
392+ verbose = False
376393
377- fileResp = OpenProjectFile (filename , readOnly = True , verbose = False )
394+ fileResp = OpenProjectFile (filename , readOnly = True , verbose = verbose )
378395 if fileResp ["errorFlag" ]:
379396 response = fileResp
380397 else :
@@ -431,9 +448,11 @@ def Get(filename, element, **kwargs):
431448 print (errStr )
432449 response = {"errorFlag" : True , "errorString" : errStr }
433450 finally :
434- print (f"Closing file: { filename } " ,file = sys .stderr )
451+ if (verbose ):
452+ print (f"Closing file: { filename } " ,file = sys .stderr )
435453 root .close ()
436- print (f"{ filename } closed successfully" ,file = sys .stderr )
454+ if (verbose ):
455+ print (f"{ filename } closed successfully" ,file = sys .stderr )
437456 return response
438457
439458
@@ -557,7 +576,7 @@ def CheckFileValid(filename, verbose=False):
557576 ("easting" , "<f8" ),
558577 ("northing" , "<f8" ),
559578 ("altitude" , "<f8" ),
560- ("type " , "<i4 " ),
579+ ("segNum " , "<u4 " ),
561580 ("dipDir" , "<f8" ),
562581 ("dip" , "<f8" ),
563582 ("dipPolarity" , "<f8" ),
@@ -573,7 +592,7 @@ def CheckFileValid(filename, verbose=False):
573592 ("easting" , "<f8" ),
574593 ("northing" , "<f8" ),
575594 ("altitude" , "<f8" ),
576- ("type " , "<i4 " ),
595+ ("segNum " , "<u4 " ),
577596 ("axisX" , "<f8" ),
578597 ("axisY" , "<f8" ),
579598 ("axisZ" , "<f8" ),
@@ -588,7 +607,7 @@ def CheckFileValid(filename, verbose=False):
588607 ("easting" , "<f8" ),
589608 ("northing" , "<f8" ),
590609 ("altitude" , "<f8" ),
591- ("type " , "<i4 " ),
610+ ("segNum " , "<u4 " ),
592611 ("dipDir" , "<f8" ),
593612 ("dip" , "<f8" ),
594613 ]
@@ -600,7 +619,7 @@ def CheckFileValid(filename, verbose=False):
600619 ("easting" , "<f8" ),
601620 ("northing" , "<f8" ),
602621 ("altitude" , "<f8" ),
603- ("type " , "<i4 " ),
622+ ("segNum " , "<u4 " ),
604623 ("dipDir" , "<f8" ),
605624 ("dip" , "<f8" ),
606625 ]
@@ -612,7 +631,7 @@ def CheckFileValid(filename, verbose=False):
612631 ("easting" , "<f8" ),
613632 ("northing" , "<f8" ),
614633 ("altitude" , "<f8" ),
615- ("type " , "<i4 " ),
634+ ("segNum " , "<u4 " ),
616635 ]
617636)
618637
@@ -622,7 +641,6 @@ def CheckFileValid(filename, verbose=False):
622641 ("easting" , "<f8" ),
623642 ("northing" , "<f8" ),
624643 ("altitude" , "<f8" ),
625- ("type" , "<i4" ),
626644 ("dipDir" , "<f8" ),
627645 ("dip" , "<f8" ),
628646 ("dipPolarity" , "<f8" ),
@@ -639,8 +657,6 @@ def CheckFileValid(filename, verbose=False):
639657 ("group" , "S120" ),
640658 ("supergroup" , "S120" ),
641659 ("enabled" , "u1" ),
642- ("rank" , "<u4" ),
643- ("type" , "<i4" ),
644660 ("avgDisplacement" , "<f8" ),
645661 ("avgDownthrowDir" , "<f8" ),
646662 ("influenceDistance" , "<f8" ),
@@ -668,8 +684,6 @@ def CheckFileValid(filename, verbose=False):
668684 ("group" , "S120" ),
669685 ("supergroup" , "S120" ),
670686 ("enabled" , "u1" ),
671- ("rank" , "<u4" ),
672- ("type" , "<i4" ),
673687 ("periodic" , "u1" ),
674688 ("wavelength" , "<f8" ),
675689 ("amplitude" , "<f8" ),
@@ -689,8 +703,6 @@ def CheckFileValid(filename, verbose=False):
689703 ("group" , "S120" ),
690704 ("supergroup" , "S120" ),
691705 ("enabled" , "u1" ),
692- ("rank" , "<u4" ),
693- ("type" , "<i4" ),
694706 ("lowerScalarValue" , "<f8" ),
695707 ("upperScalarValue" , "<f8" ),
696708 ]
@@ -705,8 +717,6 @@ def CheckFileValid(filename, verbose=False):
705717 ("group" , "S120" ),
706718 ("supergroup" , "S120" ),
707719 ("enabled" , "u1" ),
708- ("rank" , "<u4" ),
709- ("type" , "<i4" ),
710720 ("scalarValue" , "<f8" ),
711721 ]
712722)
@@ -720,8 +730,6 @@ def CheckFileValid(filename, verbose=False):
720730 ("group" , "S120" ),
721731 ("supergroup" , "S120" ),
722732 ("enabled" , "u1" ),
723- ("rank" , "<u4" ),
724- ("type" , "<i4" ),
725733 ("thickness" , "<f8" ),
726734 ("colour1Red" , "u1" ),
727735 ("colour1Green" , "u1" ),
0 commit comments