Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
kvalobs:kvalobs:qabase [2010-09-23 08:48:58]
vegardb
kvalobs:kvalobs:qabase [2023-09-18 11:56:43]
terjeer removed
Line 1: Line 1:
 ====== qabase ====== ====== qabase ======
  
-Dette er dokumentasjon for den nye versjonen av qabase, som ikke er i drift enda. +qbase er ansvarlig for å kjøre alle sjekkene på observasjonerProgrammet kan startes for å kontrollere en enkel observasjon, eller kjøres som en demon.
- +
-qbase kan startes for å kontrollere en enkel observasjon, eller kjøres som en demon.+
  
 Hvis du ønsker å kjøre qabase for å kontrollere en enkel observasjon, kan du kjøre qabase --help for å finne ut av detaljene. Dette dokumentet handler kun om hvordan qabase oppfører seg når en observasjon skal sjekkes. Hvis du ønsker å kjøre qabase for å kontrollere en enkel observasjon, kan du kjøre qabase --help for å finne ut av detaljene. Dette dokumentet handler kun om hvordan qabase oppfører seg når en observasjon skal sjekkes.
- 
-Akkurat nå går det en testversjon av qabase på dev-vm185. For å få tilgang til den: Se på [[http://dev-vm185|denne siden]] 
  
  
-===== Forskjeller mellom gamle og nye qabase ===== 
  
-En liste over alle kjente forskjeller mellom gamle og nye qabase finner du [[kvalobs:qabase:forskjeller_gammel_ny|her]]. 
  
 ===== Valg av hvilke sjekker som skal kjøres ===== ===== Valg av hvilke sjekker som skal kjøres =====
Line 20: Line 14:
  
   * Hvis observasjonen er del av en aggegert verdi (med typeid<0) gjøres ingenting.   * Hvis observasjonen er del av en aggegert verdi (med typeid<0) gjøres ingenting.
-  * Hvis noe av dataen i observasjonen er HQC-korrigert, gjøres ingenting.+  * Hvis noe av dataen i observasjonen er HQC-korrigert (fhqc>0), gjøres ingenting
 +  * Hvis stasjonen ikke er med i obs_pgm, gjøres ingenting. Unntak: hvis stationid>10000000 (som er skip) og stasjonen er i stasjonstabellen vil man forsøke å kjøre alle sjekker.
  
 I utgangspunktet kjøres alle sjekker som er definert i checks-tabellen med stasjonsid=observasjonens stasjon, eller stasjonsid=0. Det er imidlertid visse sjekker som lukes ut: I utgangspunktet kjøres alle sjekker som er definert i checks-tabellen med stasjonsid=observasjonens stasjon, eller stasjonsid=0. Det er imidlertid visse sjekker som lukes ut:
  
   * checks-tabellen i kvalobs har en active-kolonne, formattert som en cron-string. Kun sjekker med active-string som passer til den gitte observasjonstiden vil bli kjørt.   * checks-tabellen i kvalobs har en active-kolonne, formattert som en cron-string. Kun sjekker med active-string som passer til den gitte observasjonstiden vil bli kjørt.
-  * Det vil ikke bli forsøkt å kjøre sjekker som krever parametre som observasjonen, i følge obs_pgm-tabellen, ikke skal rapportere. Et unntak fra denne reglen er stasjoner med stationid>10000000 (som er skip). For disse vil man forsøke å kjøre alle sjekker. 
  
 I tillegg til dette fins en spesialregel, som jeg ønsker å fjerne etter at sjekkskriptene har blitt oppdatert: I tillegg til dette fins en spesialregel, som jeg ønsker å fjerne etter at sjekkskriptene har blitt oppdatert:
Line 46: Line 40:
 Den typeid som tilhører observasjonen som sjekkes vil foretrekkes når man velger data for sjekkene. Hvis den etterspurte dataen ikke fins til denne typeid, vil data med høyest typeid velges til sjekkene. Også her kan sjekksignaturen overstyre hvilken typeid man vil ha for en parameter. Den typeid som tilhører observasjonen som sjekkes vil foretrekkes når man velger data for sjekkene. Hvis den etterspurte dataen ikke fins til denne typeid, vil data med høyest typeid velges til sjekkene. Også her kan sjekksignaturen overstyre hvilken typeid man vil ha for en parameter.
  
 +
 +===== Nullstilling av flagg =====
 +
 +Før alle sjekkene kjøres nullstilles de fleste kontrollflaggene til den observasjonen som skal sjekkes. Unntaket fra dette er fmis (PS: og fd ser det ut som), som beholdes intakt. I tillegg vil fpre bevares, dersom den har verdien 7.
  
 ===== Inndata til skript ===== ===== Inndata til skript =====
Line 94: Line 92:
  
 <code># general <code># general
 +my $station_latitude = 64.4014;
 +my $station_longitude = 10.455;
 my @obstime = (2010, 9, 23, 6, 0, 0); my @obstime = (2010, 9, 23, 6, 0, 0);
  
Line 115: Line 115:
 my @meta_timeoffset = (0);</code> my @meta_timeoffset = (0);</code>
  
-Alle skript begynner med obstime - en liste bestående av observasjonens år, måned, dag, time, minutt og sekund.+Alle skript begynner med lengde- og breddegrad for stasjonen. I tillegg fins alltid obstime - en liste bestående av observasjonens år, måned, dag, time, minutt og sekund.
  
 Resten av parametrene er generert på grunnlag signaturen og dataen i databasen. Resten av parametrene er generert på grunnlag signaturen og dataen i databasen.
Line 123: Line 123:
   * **obs_timeoffset** lister opp alle tidsskrittene, med avvik fra observasjonsterminen.   * **obs_timeoffset** lister opp alle tidsskrittene, med avvik fra observasjonsterminen.
   * **X** er verdien til den rapporterte dataen, som i dette tilfellet er AA (Barografkurvens forløp). Den ligger i en liste, slik at flere tidsskritt kan ligge her   * **X** er verdien til den rapporterte dataen, som i dette tilfellet er AA (Barografkurvens forløp). Den ligger i en liste, slik at flere tidsskritt kan ligge her
-  * **X_missing** er en oppsummering av manglende-status for hver verdi. Se //fmis// i [[kvalobs:kvalobs-flagg#manglende_observasjon_missing|flaggdokumentet]] +  * **X_missing** er en oppsummering av manglende-status for hver verdi. Se [[kvalobs:kvalobs-flagg#manglende_observasjon_missing|fmis i flaggdokumentet]] 
-  * **X_controlinfo** oppgir flagg fra tidligere sjekker. Hvert tidsskritt består av 16 verdier, og er dokumentert i [[kvalobs:kvalobs-flagg|flaggdokumentet]]. Ved flere tidsskritt vil flaggene legges etter hverandre, uten noe skille mellom dem+  * **X_controlinfo** oppgir flagg fra tidligere sjekker. Hvert tidsskritt består av 16 verdier, og er dokumentert i [[kvalobs:kvalobs-flagg#kontrollinformasjon_controlinfo|flaggdokumentet]]. Ved flere tidsskritt vil flaggene legges etter hverandre, uten noe skille mellom dem
  
 En tilsvarende oppdeling gjelder for meta, men her mangler flagg og manglende-status. En tilsvarende oppdeling gjelder for meta, men her mangler flagg og manglende-status.
Line 139: Line 139:
  
 Den gamle returverdien subcheck er fjernet, siden det ikke er noen sjekker som bruker den. Den gamle returverdien subcheck er fjernet, siden det ikke er noen sjekker som bruker den.
 +
 +Returverdiene returneres som en liste, som fylles med par, først en parameteridentifikator, beskrevet under, og deretter en ny verdi.
 +
 +Parameteridentifikatoren angir nøyaktig hva som skal ha en ny verdi. Den kan for eksempel se slik ut: ''X_1_0_flag''. Dette betyr at parameteren X i for tidsskritt indeks 1 har fått tildelt et flagg, angitt i neste element i returlista. Det siste tallet i identifikatoren (0) gjelder stasjon og brukes ikke, men er fremdeles med av historiske årsaker.
  
 ===== Skriving av resultater til databasen ===== ===== Skriving av resultater til databasen =====