Raw FM-12 SYNOP entry form#

This component allows a user to enter one or more FM-12 SYNOP messages into a form and to submit these to an API endpoint for further processing. The API is specified via the components props.

Context#

The sequence diagram below shows the context of the “Raw FM-12 SYNOP entry from” component.

https://www.plantuml.com/plantuml/svg/bLF1Rjim3BtxAuXUqc7eSlUXQB1B2soBqIO32kp2o4oiHPOqIcgHTVttKRRREcbMT3uOCFNUuwFvT14YSaojAIPDZ3wKqwatQ7FbatBjDD2lH5RHMQrnmzWMnNmLYE-8uUmSbbSbV74RRO4pBiHYUPNh9xCK6-Xn9oLyHwDhZ0GcOukzqqEPu9qDLA29GoaafIY4TJ85o7FO_lbR6Qss0Mvklyqh81jv1nutqbFRRSSyQkrpGseBUWr9Ie1ovbZ_fhfZ73Lw_MGn8xBDsJwfRzCZQysa8aJtojO8-ZH19jXQN1p5_dDkmH47k2Laq5PQhHstxw9yTLR6-pyEu_tWRvMCeIWBUgV0i9z9IAjMnyde1ymgmLqk5XLKyvl58EznPnpMFomaDYKyeDUFy14UFCRcKQfAp8kdnSvJ2UYzg6FKpav_1cSxSP5zLg_OvH3jQuzH_RvYuYw3oSIZ2rhwBiPThcJeqBZx0GwdGqx_4BFZ3nsTJ21OseDKlR7vDCA-h5xEYawgln1hr2RncmaoOs0lb4Kkv9Ml-by=

Requirements#

Vue3 + Vuetify3

Installation#

TBD

Usage#

Props#

  • api: Host / base path to the API.

  • path: relative path on the host to the API endpoint.

Example#

<template>
  <div>
    <synop-form api="https://api.opencdms.org" path="/processes/submit_synop/execution"/>
  </div>
</template>

<script>
import SynopForm from '@/web-components/forms/synop-raw.vue';

export default {
  name: 'synop',
  components: {
    SynopForm
  },
};
</script>

API prototype#

POST /raw_synop_entry_form#

Definition of API that accepts POST request from this component

Request JSON Object:
  • input (object, required) –

  • input.year (numeric, required) – Year (UTC) of the SYNOP data

  • input.month (numeric, required) – Month (UTC) of the SYNOP data

  • input.bulletin (string, required) – String containing the SYNOP bulletin

Response JSON Object:
  • output (object) –

  • output.result (numeric) – HTTP response code for the API call

  • output.errors[] (string) – One or more error messages raised in the case of error.

Status Codes: