Aktionen

QS mit CheckSummen und FileContent: Unterschied zwischen den Versionen

Aus BAWiki

(Erste Version)
 
K (kleine Änderungen)
Zeile 1: Zeile 1:
NEU seit Januar 2020: Die User können zur Qualitätssicherung mit dem md5sum-Algorithmus gebildete Checksummen von Input-Dateien nutzen und den Inhalt von ASCII-Eingabedateien direkt aus den NetCDF-Ergebnisdateien extrahieren. Beide Features sind nicht ISO 19115 konform und können somit nicht in das Metadaten-Informationssystem MIS der BAW übernommen werden. Die Informationen können aber u.a. mit dem ncdump-Befehl direkt aus entsprechenden NetCDF-Dateien der BAW gelesen werden. Die Features wurden im Rahmen des DMQS-Projektes in die Simulationsprogramme UnTRIM und UnTRIM2 sowie die mit NC beginnenden und NetCDF schreibenden Postprozessoren der BAW implementiert.
Die User können zur Qualitätssicherung mit dem md5sum-Algorithmus gebildete Checksummen von Input-Dateien nutzen und den Inhalt von ASCII-Eingabedateien direkt aus den NetCDF-Ergebnisdateien extrahieren. Beide Features sind nicht ISO 19115 konform und können somit nicht in das Metadaten-Informationssystem MIS der BAW übernommen werden. Die Informationen können aber u.a. mit dem ncdump-Befehl direkt aus entsprechenden NetCDF-Dateien der BAW gelesen werden. Die Features wurden im Rahmen des DMQS-Projektes in die Simulationsprogramme UnTRIM und UnTRIM2 sowie die mit NetCDF schreibenden Postprozessoren der BAW implementiert.


'''1. Checksumme'''
'''1. Checksumme'''
Zeile 23: Zeile 23:
'''2. File-Content'''
'''2. File-Content'''


BAW-Programme, die NetCDF-Dateien ausgeben, schreiben den Inhalt von ASCII-Eingabedateien in Form von NetCDF-Variablen. Sie sind durch das Attribut cf_role = "dmqs_file_contents" gekennzeichnet. Im nachfolgenden Beispiel in CDL-Syntax enthält die Variable den Inhalt einer Steuerdatei des Typs utromp2007.dat:
BAW-Programme, die NetCDF-Dateien ausgeben, schreiben den Inhalt von ASCII-Eingabedateien in NetCDF-Variablen. Diese sind durch das Attribut cf_role = "dmqs_file_contents" gekennzeichnet. Das nachfolgende Beispiel zeigt die Eigenschaften einer Variable mit dem Inhalt einer Steuerdatei des Typs utromp2007.dat:
contents_m_untrim2007_steer_utromp2007:
contents_m_untrim2007_steer_utromp2007:
* long_name = "/net/themis/system/akprog/examples/untrim2007/run/channel/new_3d/utromp2007_new_3d.dat"
* long_name = "/net/themis/system/akprog/examples/untrim2007/run/channel/new_3d/utromp2007_new_3d.dat"
Zeile 35: Zeile 35:
* mit dem MATLAB ncread Befehl
* mit dem MATLAB ncread Befehl
* usw.
* usw.
Zurück zu [[Erfassung_der_Metadaten_einer_Simulation | Erfassung der Metadaten einer Simulation]]

Version vom 13. Februar 2020, 10:48 Uhr

Die User können zur Qualitätssicherung mit dem md5sum-Algorithmus gebildete Checksummen von Input-Dateien nutzen und den Inhalt von ASCII-Eingabedateien direkt aus den NetCDF-Ergebnisdateien extrahieren. Beide Features sind nicht ISO 19115 konform und können somit nicht in das Metadaten-Informationssystem MIS der BAW übernommen werden. Die Informationen können aber u.a. mit dem ncdump-Befehl direkt aus entsprechenden NetCDF-Dateien der BAW gelesen werden. Die Features wurden im Rahmen des DMQS-Projektes in die Simulationsprogramme UnTRIM und UnTRIM2 sowie die mit NetCDF schreibenden Postprozessoren der BAW implementiert.

1. Checksumme

Checksummen dienen dazu die Gleichheit von Eingabedateien zweier ähnlicher Programmläufe zu prüfen. Die Programme bilden die Checksummen mit dem md5sum-Befehl und schreiben sie als Character-Variablen in die NetCDF-Ergebnisdateien. Als Beispiel folgt eine aus zwei Teilstrings bestehende Checksummen-Variable, die jeweils Prüfsummen und Datei-Infos aus NCDELTA-Steuerdaten enthalten:

md5sum_m_ncdelta_steer =

  • "md5=c260d840c14f4482dfad41cdf971c2c5,
 file=/net/lustre/temp/FuE/UNK/r028/ser/wrk/2019_11_05_POS/6_ncdelta/int/ncdelta.dat,
 descr=Eingabesteuerdatei des Typs ncdelta.dat",
  • "md5=85f91901af2404c5ef23b06f6c766bff,
 file=/net/lustre/temp/FuE/UNK/r028/ser/wrk/2D.r028.IZ_2012.integ.nc,
 descr=Data_Files-Reference_File";

Der Variableninhalt lässt sich für originale und neue NCDELTA-Läufe manuell extrahieren:

  • ncdump –v <checksum_variable> <original_result.nc> > original.txt
  • ncdump –v <checksum_variable> <new_result.nc> > new.txt

Der Vergleich der beiden Textdateien ergibt, ob im originalen und im neuen Lauf die exakt gleiche Eingabedatei verwendet worden ist. Wenn die Prüfsummen nicht identisch sind, kann das sowohl eine ggf. zu vernachlässigende Änderung der Metadaten als auch eine wesentliche Änderung der Zahlenwerte sein.

2. File-Content

BAW-Programme, die NetCDF-Dateien ausgeben, schreiben den Inhalt von ASCII-Eingabedateien in NetCDF-Variablen. Diese sind durch das Attribut cf_role = "dmqs_file_contents" gekennzeichnet. Das nachfolgende Beispiel zeigt die Eigenschaften einer Variable mit dem Inhalt einer Steuerdatei des Typs utromp2007.dat: contents_m_untrim2007_steer_utromp2007:

  • long_name = "/net/themis/system/akprog/examples/untrim2007/run/channel/new_3d/utromp2007_new_3d.dat"
  • short_name = "utromp2007_new_3d.dat"
  • name_id = 3508
  • comment = "Eingabedaten Paket m_untrim2007_steer File utromp2007_new_3d.dat"
  • cf_role = "dmqs_file_contents" ;

Der Inhalt der Eingabedateien, bspw. die Parametrisierung eines Simulationslaufes lässt sich einfach aus der Ergebnisdatei rekonstruieren:

  • ncdump –v <filcon_variable> <result.nc>
  • mit dem MATLAB ncread Befehl
  • usw.

Zurück zu Erfassung der Metadaten einer Simulation