Aktionen

QS mit CheckSummen und FileContent: Unterschied zwischen den Versionen

Aus BAWiki

K (kleine Änderungen)
(Die LinkTitles-Erweiterung hat automatisch Links zu anderen Seiten hinzugefügt (<a target="_blank" rel="nofollow noreferrer noopener" class="external free" href="https://github.com/bovender/LinkTitles">https://github.com/bovender/LinkTitles</a>).)
 
(2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
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.
Die User können zur [[Qualitätssicherung]] mit dem [https://de.wikipedia.org/wiki/Message-Digest_Algorithm_5 ''Message-Digest Algorithmus 5 (MD5)''] 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 [https://www.unidata.ucar.edu/software/netcdf/docs/netcdf_utilities_guide.html#ncdump_guide ncdump]-Befehl direkt aus entsprechenden [[NetCDF]]-Dateien der BAW gelesen werden. Die Features wurden im Rahmen des DMQS-Projektes in die Simulationsprogramme [[UNTRIM|UnTRIM]] und [[UNTRIM2|UnTRIM2]] sowie die [[NetCDF]]-Dateien schreibenden Postprozessoren der BAW implementiert.


'''1. Checksumme'''
'''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.
Checksummen dienen dazu die Gleichheit von Eingabedateien zweier Programmläufe zu prüfen. Die Programme bilden die Checksummen mit dem [https://de.wikipedia.org/wiki/Message-Digest_Algorithm_5 MD5]-Algorithmus und schreiben sie als CHAR-(Zeichen-)-Variablen in die [[NetCDF]]-Ergebnisdateien.
Als Beispiel folgt eine aus zwei Teilstrings bestehende Checksummen-Variable, die jeweils <font color=blue>Prüfsummen</font> und Datei-Infos aus [[NCDELTA]]-Steuerdaten enthalten:
Als Beispiel folgt eine aus zwei Teilstrings bestehende Checksummen-Variable, die jeweils <font color=blue>Prüfsummen</font> und Datei-Infos aus [[NCDELTA]]-Steuerdaten enthalten:


md5sum_m_ncdelta_steer =
md5sum_m_[[NCDELTA|ncdelta]]_steer =
* "md5=<font color=blue>c260d840c14f4482dfad41cdf971c2c5</font>,
* "md5=<font color=blue>c260d840c14f4482dfad41cdf971c2c5</font>,
   file=/net/lustre/temp/FuE/UNK/r028/ser/wrk/2019_11_05_POS/6_ncdelta/int/ncdelta.dat,
   file=/net/lustre/temp/FuE/UNK/r028/ser/wrk/2019_11_05_POS/6_ncdelta/int/ncdelta.dat,
Zeile 14: Zeile 14:
   descr=Data_Files-Reference_File";
   descr=Data_Files-Reference_File";


Der Variableninhalt lässt sich für originale und neue NCDELTA-Läufe manuell extrahieren:
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> <original_result.nc>  > original.txt
* ncdump –v <checksum_variable> <new_result.nc>        > new.txt
* ncdump –v <checksum_variable> <new_result.nc>        > new.txt
Zeile 23: Zeile 23:
'''2. File-Content'''
'''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:
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|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"
* short_name = "utromp2007_new_3d.dat"
* short_name = "utromp2007_new_3d.dat"
* name_id = 3508
* name_id = 3508
* comment = "Eingabedaten Paket m_untrim2007_steer File utromp2007_new_3d.dat"
* comment = "Eingabedaten Paket m_[[UNTRIM2007|untrim2007]]_steer File utromp2007_new_3d.dat"
* cf_role = "dmqs_file_contents" ;
* cf_role = "dmqs_file_contents" ;


Der Inhalt der Eingabedateien, bspw. die Parametrisierung eines Simulationslaufes lässt sich einfach aus der Ergebnisdatei rekonstruieren:
Der Inhalt der Eingabedateien, bspw. die Parametrisierung eines Simulationslaufes lässt sich einfach aus der Ergebnisdatei rekonstruieren:
* ncdump –v <filcon_variable> <result.nc>
* ncdump –v <filcon_variable> <result.nc>
* 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]]
Zurück zu [[Erfassung_der_Metadaten_einer_Simulation | Erfassung der Metadaten einer Simulation]]

Aktuelle Version vom 21. Oktober 2022, 09:55 Uhr

Die User können zur Qualitätssicherung mit dem Message-Digest Algorithmus 5 (MD5) 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 NetCDF-Dateien schreibenden Postprozessoren der BAW implementiert.

1. Checksumme

Checksummen dienen dazu die Gleichheit von Eingabedateien zweier Programmläufe zu prüfen. Die Programme bilden die Checksummen mit dem MD5-Algorithmus und schreiben sie als CHAR-(Zeichen-)-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