Giter Site home page Giter Site logo

Comments (4)

blchoy avatar blchoy commented on June 11, 2024

The following are proposed changes to the two schematron rules:

   <sch:pattern id="SIGMET.SIGMETPosition-2">
      <sch:rule context="//iwxxm:SIGMETPosition">
              <sch:assert test="( ( ( exists(//iwxxm:TropicalCycloneSIGMET) and (count(//iwxxm:TropicalCycloneSIGMET//iwxxm:analysisCollection) = count(//iwxxm:TropicalCycloneSIGMET//iwxxm:analysisCollection//iwxxm:forecastPositionAnalysis//iwxxm:tropicalCyclonePosition) ) ) and ( exists(//iwxxm:TropicalCycloneSIGMET) and not(exists(//iwxxm:TropicalCycloneSIGMET//iwxxm:supplementaryAnalysisCollection//iwxxm:forecastPositionAnalysis//iwxxm:tropicalCyclonePosition) ) ) ) or ( not(exists(//iwxxm:TropicalCycloneSIGMET)) and (count(//iwxxm:TropicalCycloneSIGMET//iwxxm:tropicalCyclonePosition) = 0) ) )">SIGMET.SIGMETPosition-2: iwxxm:tropicalCyclonePosition shall only be present in iwxxm:analysisCollection of iwxxm:TropicalCycloneSIGMET</sch:assert>
      </sch:rule>
   </sch:pattern>
   <sch:pattern id="SIGMET.SIGMETEvolvingCondition-5">
      <sch:rule context="//iwxxm:SIGMETEvolvingCondition">
              <sch:assert test="( ( ( exists(//iwxxm:TropicalCycloneSIGMET) and (count(//iwxxm:TropicalCycloneSIGMET//iwxxm:analysisCollection) = c
ount(//iwxxm:TropicalCycloneSIGMET//iwxxm:analysisCollection//iwxxm:analysis//iwxxm:tropicalCyclonePosition) ) ) and ( exists(//iwxxm:TropicalCycloneSIGMET) and not(exists(//iwxxm:TropicalCycloneSIGMET//iwxxm:supplementaryAnalysisCollection//iwxxm:analysis//iwxxm:tropicalCyclonePosition) ) ) ) or ( not(exists(//iwxxm:TropicalCycloneSIGMET)) and (count(//iwxxm:TropicalCycloneSIGMET//iwxxm:tropicalCyclonePosition) = 0) ) )">SIGMET.SIGMETEvolvingCondition-5: iwxxm:tropicalCyclonePosition shall only be present in iwxxm:analysisCollection of iwxxm:TropicalCycloneSIGMET</sch:assert>
      </sch:rule>
   </sch:pattern> 

from iwxxm.

blchoy avatar blchoy commented on June 11, 2024

It was noticed that some States were not coding the example in the APAC SIGMET Guide mentioned in #250 correctly: While iwxxm:TropicalCycloneSIGMET/iwxxm:analysisCollection has a multiplicity of [0..*], in this case there shall only be one iwxxm:analysisCollection describing the TC positions and their associated CB clouds. The remaining descriptions after "AND" in the TAC message shall be coded under iwxxm:supplementaryAnalysisCollection.

It is therefore further proposed to include a new schematron rule to enforce the use of only one iwxxm:analysisCollection in a iwxxm:TropicalCycloneSIGMET:

   <sch:pattern id="SIGMET.TropicalCycloneSIGMET-1">
      <sch:rule context="//iwxxm:TropicalCycloneSIGMET">
	      <sch:assert test="( if( exists(//iwxxm:TropicalCycloneSIGMET) ) then( count(//iwxxm:TropicalCycloneSIGMET//iwxxm:analysisCollection) = 1 ) else( true() ) )">SIGMET.TropicalCycloneSIGMET-1: There shall only be one iwxxm:analysisCollection in iwxxm:TropicalCycloneSIGMET</sch:assert>
      </sch:rule>
   </sch:pattern>

from iwxxm.

amilan17 avatar amilan17 commented on June 11, 2024

https://github.com/wmo-im/iwxxm/wiki/TT-AvData-Teleconference-2022-Dec-09 notes:

  • Choy presented the PR
  • @jkorosi try to validate

from iwxxm.

amilan17 avatar amilan17 commented on June 11, 2024

It was noticed that some States were not coding the example in the APAC SIGMET Guide mentioned in #250 correctly..... 

@blchoy - Can you open a new issue for this? It would be good to keep track of separately.

from iwxxm.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.