metadata:
  version: 1.0.0
  type: SeaSondeCS

key_size_block:
    key:
      type: Char4
      qc_fun: qc_check_type
      qc_params:
        expected_type: "character"

    size:
      type: UInt32
      qc_fun: qc_check_unsigned
      qc_params:
        expected_type: "numeric"

CSSW:
    HEAD:
        sign:
            FileVersion:
                type: UInt32
                qc_fun: qc_check_type
                qc_params:
                    expected_type: "numeric"
            nFileType:
                type: UInt32
                qc_fun: qc_check_type
                qc_params:
                    expected_type: "numeric"
            nOwner:
                type: UInt32
                qc_fun: qc_check_type
                qc_params:
                    expected_type: "numeric"
            nUserFlags:
                type: UInt32
                qc_fun: qc_check_unsigned
                qc_params:
                    expected_type: "numeric"
            szFileName:
                type: Char64
                qc_fun: qc_check_type
                qc_params:
                    expected_type: "character"
            szOwnerName:
                type: Char64
                qc_fun: qc_check_type
                qc_params:
                    expected_type: "character"
            szComment:
                type: Char64
                qc_fun: qc_check_type
                qc_params:
                    expected_type: "character"
        srcn:
            SourceCSFilename:
              type: CharX
              qc_fun: qc_check_type
              qc_params:
                  expected_type: "character"
        mcda:
            FirstSweepTimestamp:
              type: UInt32
              qc_fun: qc_check_unsigned
              qc_params:
                  expected_type: "numeric"
        dbrf:
            dBmReference:
              type: Double
              qc_fun: qc_check_type
              qc_params:
                  expected_type: "numeric"
        cs4h: "Read CS Header"
        alim:
            nType:
              type: UInt32
              qc_fun: qc_check_unsigned
              qc_params:
                  expected_type: "numeric"
            nRange:
              type: UInt32
              qc_fun: qc_check_unsigned
              qc_params:
                  expected_type: "numeric"
            fRangeKm:
              type: Float
              qc_fun: qc_check_type
              qc_params:
                expected_type: "numeric"
            fBearingDeg:
              type: Float
              qc_fun: qc_check_type
              qc_params:
                expected_type: "numeric"
            nFirstRange:
              type: UInt32
              qc_fun: qc_check_unsigned
              qc_params:
                  expected_type: "numeric"
            nDopplers:
              type: UInt32
              qc_fun: qc_check_unsigned
              qc_params:
                  expected_type: "numeric"
            nReserved1:
              type: UInt32
              qc_fun: qc_check_unsigned
              qc_params:
                  expected_type: "numeric"
            nReserved2:
              type: UInt32
              qc_fun: qc_check_unsigned
              qc_params:
                  expected_type: "numeric"
        wlim:
            nType:
              type: UInt32
              qc_fun: qc_check_unsigned
              qc_params:
                  expected_type: "numeric"
            nRange:
              type: UInt32
              qc_fun: qc_check_unsigned
              qc_params:
                  expected_type: "numeric"
            fRangeKm:
              type: Float
              qc_fun: qc_check_type
              qc_params:
                expected_type: "numeric"
            fBearingDeg:
              type: Float
              qc_fun: qc_check_type
              qc_params:
                expected_type: "numeric"
            nFirstRange:
              type: UInt32
              qc_fun: qc_check_unsigned
              qc_params:
                  expected_type: "numeric"
            nDopplers:
              type: UInt32
              qc_fun: qc_check_unsigned
              qc_params:
                  expected_type: "numeric"
            nReserved1:
              type: UInt32
              qc_fun: qc_check_unsigned
              qc_params:
                  expected_type: "numeric"
            nReserved2:
              type: UInt32
              qc_fun: qc_check_unsigned
              qc_params:
                  expected_type: "numeric"
    BODY:
        indx:
            index:
              type: SInt32
              qc_fun: qc_check_type
              qc_params:
                  expected_type: "integer"
        scal:
            nType:
              type: SInt32
              qc_fun: qc_check_type
              qc_params:
                  expected_type: "integer"
            fmin:
              type: Float
              qc_fun: qc_check_type
              qc_params:
                  expected_type: "numeric"
            fmax:
              type: Float
              qc_fun: qc_check_type
              qc_params:
                  expected_type: "numeric"
            fscale:
              type: Float
              qc_fun: qc_check_type
              qc_params:
                  expected_type: "numeric"
        cs1a: "Reduced Encoded Data"
        cs2a: "Reduced Encoded Data"
        cs3a: "Reduced Encoded Data"
        c13m: "Reduced Encoded Data"
        c13a: "Reduced Encoded Data"
        c23m: "Reduced Encoded Data"
        c23a: "Reduced Encoded Data"
        c12m: "Reduced Encoded Data"
        c12a: "Reduced Encoded Data"
        asgn: "Auto-Spectra Sign"
        csqf: "Reduced Encoded Data"
        'END ': "the end"

