User's Guide

for the

Air Force Weather Weapon System

Joint METOC Broker Language Version 3.x

October 2005

Prepared Under:

CONTRACT NO. F25600-02-D-0004

CDRL SEQUENCE NO. A001

Prepared For:

55^th^ CONS/LGCZ

101 Washington Square

Offutt AFB, NE 68113-2107

Prepared By:

Northrop Grumman Mission Systems

3200 Samson Way

Bellevue, Nebraska 68123-3192

User's Guide

for the

Air Force Weather Weapon System

Joint METOC Broker Language Version 3.x

October 2005

Prepared Under:

Contract No. F25600-02-D-0004

CDRL Sequence No. A001

Prepared For:

55^th^ CONS/LGCZ

101 Washington Square

Offutt AFB, NE 68113-2107

Prepared By:

Systems Engineering, Management and Sustainment (SEMS) Program

Offutt AFB, NE 68113

\_\_\_\_\_\_Signature on File 10-04-05

Ralph Lewis, SEMS Systems Engineer Date

\_\_\_\_\_\_Signature on File 10-13-05

Trent Dalton, SEMS Chief Engineer Date

\_\_\_\_\_\_Signature on File 10-17-05

Dave Payne, Software Engineer Date

\_\_\_\_\_\_Signature on File 10-1405

Joe Boman, SEMS Quality Assurance Manager Date

\_\_\_\_\_\_Signature on File 10-04-05

Brian Balm, SEMS Program Manager Date

\_\_\_\_\_\_

Steven Christy, Major, AFWA Project Manager Date

REVISION/CHANGE RECORD

  ---------- --------------- -------------------------- ------------------
  REVISION   DATE            REVISION/CHANGE            SECTIONS AFFECTED
                             DESCRIPTION                

  NEW        May 2005        Draft Issue (For           ALL
                             Government Comments)       

  01         July 2005       Fixed the spelling         Table 3.2-1

  01         July 2005       Added a new Section 3.3 to Section 3.1, 3.3
                             the document describing    and 3.4
                             each database              

  01         July 2005       Added METOCDATA as the     Table 3.1-1
                             AFWA external database     
                             access                     

  01         July 2005       Added OrganizationId       Sections 4.1, 4.3
                             attribute to the           and 4.4 and
                             RequestList element        Appendix A

  01         July 2005       Correct several typo's in  ALL
                             the document per the       
                             AFWA/SCSA comments         

  01         July 2005       Added more examples at     Section 4
                             commenter\'s request       

  01         July 2005       Added more examples to the Section 4 and
                             document and change        Appendixes A, B,
                             Appendix A, B, & C to only and C
                             the elements and           
                             parameters used by the     
                             examples.                  

  01         July 2005       Final Issue (Initial)      ALL

  02         October 2005    Application document dates Section 2.3
                             updated                    

  02         October 2005    Document was updated for   Section 3 & 4
                             JMBL 3.13                  

  02         October 2005    Replaced AFWA JAAWIN to    Section 4
                             000032                     

  02         October 2005    Replaced the JMBL2to3.pl   Appendix D
                             perl script with the       
                             newest version 1.6         

                                                        

                                                        

                                                        

                                                        

                                                        

                                                        
  ---------- --------------- -------------------------- ------------------

Table of Contents

1 Background [1](#background)

2 description [1](#description)

2.1 Purpose [4](#purpose)

2.2 Document Overview [4](#document-overview)

2.3 Applicable documents [4](#applicable-documents)

3 Joint METOC Data SEGMENTS [5](#joint-metoc-data-segments)

3.1 Access to a JM Data Service [5](#access-to-a-jm-data-service)

3.1.1 JM's WSDL for JMBL [6](#jms-wsdl-for-jmbl)

3.1.2 System Configuration [7](#system-configuration)

3.1.3 Creating the JMBL SOAP Request File
[7](#creating-the-jmbl-soap-request-file)

3.2 Compound Parameters [8](#compound-parameters)

3.3 JMBL XML Schema [10](#jmbl-xml-schema)

3.3.1 AlphaNumeric [11](#alphanumeric)

3.3.2 BestSource [11](#bestsource)

3.3.3 Climatology [11](#climatology)

3.3.4 GriddedData [11](#griddeddata)

3.3.5 Imagery [12](#imagery)

3.3.6 Observation [13](#observation)

3.3.7 Platform [13](#platform)

3.3.8 Product [13](#product)

3.3.9 RemoteSensed [14](#remotesensed)

3.3.10 SpaceWeather [14](#spaceweather)

3.4 JMBL Schemas [14](#jmbl-schemas)

4 JMBL Examples [28](#jmbl-examples)

4.1 Error Message from Failed Requests
[28](#error-message-from-failed-requests)

4.2 Requesting an Observation from a Single Station
[29](#requesting-an-observation-from-a-single-station)

4.2.1 XML Response from JMOBS [30](#xml-response-from-jmobs)

4.3 Requesting Compound Parameters from JMOBS
[30](#requesting-compound-parameters-from-jmobs)

4.4 Requesting Multiple Parameters from JMOBS
[31](#requesting-multiple-parameters-from-jmobs)

4.5 Requesting Point data from JMGRID
[31](#requesting-point-data-from-jmgrid)

4.6 Requesting Block Data from JMGRID
[32](#requesting-block-data-from-jmgrid)

4.7 Requesting AlphaNumeric messages modified since a given time
[33](#requesting-alphanumeric-messages-modified-since-a-given-time)

4.8 Making Multiple requests in a single JMBL RequestList
[34](#making-multiple-requests-in-a-single-jmbl-requestlist)

4.9 Requesting a AlphaNumericMessage at a Specified Time
[35](#requesting-a-alphanumericmessage-at-a-specified-time)

4.10 Requesting a list of images [35](#requesting-a-list-of-images)

4.10.1 Response to a image list request
[36](#response-to-a-image-list-request)

4.11 Requesting an image by reference
[36](#requesting-an-image-by-reference)

4.11.1 Response to a single image request
[37](#response-to-a-single-image-request)

4.12 Requesting an image by value [38](#requesting-an-image-by-value)

4.12.1 Response to a single image request by value
[38](#response-to-a-single-image-request-by-value)

4.13 Requesting a Single Image by Location
[39](#requesting-a-single-image-by-location)

4.14 Requesting a Single Altitude Point from JMPLAT
[40](#requesting-a-single-altitude-point-from-jmplat)

4.15 Requesting All Platform Information at a Single Depth Point from
JMPLAT
[40](#requesting-all-platform-information-at-a-single-depth-point-from-jmplat)

5 Acronyms and terms [42](#acronyms-and-terms)

6 appendixes [1](#appendixes)

6.1 Appendix A -- Core JMBL Elements [1](#appendix-a-core-jmbl-elements)

6.2 Appendix B -- Supplemental JMBL Elements
[1](#appendix-b-supplemental-jmbl-elements)

6.3 Appendix C - METOC Master Parameter List
[1](#appendix-c---metoc-master-parameter-list)

6.4 Appendix D -- Perl Script to Convert JMBL version 2.19 to JMBL
version 3.x
[1](#appendix-d-perl-script-to-convert-jmbl-version-2.19-to-jmbl-version-3.x)

List of Figures

Figure 2-1 JMBL schema structure [2](#__RefHeading___Toc116101522)

Figure 2-2 Deployed JMBL WSDL and XML schema structure
[2](#__RefHeading___Toc116101523)

Figure 2-3 JMBL Request and Response [4](#__RefHeading___Toc116101525)

Figure 3-1 The JM data segments [5](#__RefHeading___Toc116101526)

Figure 3.4-1 Joint METOC Root and Data Schema's
[16](#__RefHeading___Toc116101527)

Figure 3.4-2 Imagery Data Request Schema
[17](#__RefHeading___Toc116101528)

Figure 3.4-3 Gridded Data Request Schema
[18](#__RefHeading___Toc116101529)

Figure 3.4-4 Alpha Numeric Message Request Data Schema
[19](#__RefHeading___Toc116101530)

Figure 3.4-5 Alpha Numeric Request Data Schema
[20](#__RefHeading___Toc116101531)

Figure 3.4-6 Observation Request Data Schema
[21](#__RefHeading___Toc116101532)

Figure 3.4-7 Remote Sensed Request Data Schema
[22](#__RefHeading___Toc116101533)

Figure 3.4-8 Climatology Request Data Schema
[23](#__RefHeading___Toc116101534)

Figure 3.4-9 Product Request Data Schema
[24](#__RefHeading___Toc116101535)

Figure 3.4-10 Space Weather Request Data Schema
[25](#__RefHeading___Toc116101536)

Figure 3.4-11 Platform Request Data Schema
[26](#__RefHeading___Toc116101537)

Figure 3.4-12 Best Source Request Data Schema
[27](#__RefHeading___Toc116101538)

**[List of Tables]{.underline}**

Table 3.1-1 JMBL Data Services [6](#__RefHeading___Toc116101539)

Table 3.2-1 Compound Parameter Table [9](#__RefHeading___Toc116101540)

# Background

All Joint METOC (Meteorological and Oceanographic) (JM) are dynamic
databases populated with perishable environmental data that can be
ingested, updated, and deleted on a regular and real-time basis.
External interfaces, external systems, and local applications provide
the METOC data to the database. The management of the data into and out
of the database is performed by the commercial off-the-shelf (COTS)
database management system (DBMS) and data management applications. The
data management applications rely on database operations to store,
update, retrieve, and delete the data. Access to the database and these
operations is implemented according to discretionary access mechanisms
and portable distributed METOC Application Program Interfaces (APIs).
These JM APIs are accessible by a user through the Joint METOC Broker
Language (JMBL) Web Service. The JMBL is a specification for a standard
Extensible Markup Language (XML) that will broker the exchange of
information between METOC data providers and user applications. All data
requests and data supplied by a JM database must conform to the XML
schemas.

# description

JM data users will request data from the JM data cloud using the
XML-based schema. The JM system accepts requests for weather data
products via an XML/Simple Object Access Protocol (SOAP)-based
interface. The requested data will be returned in a SOAP format. The
request and return formats follow the JMBL schema for XML and use SOAP
methods for transfer. Based on the user's request the SOAP response
contains a JMBL XML response with either embedded data values as part of
the XML or a reference to an external file (e.g. Gridded Binary (GRIB) 1
file Graphical Interchange Format (GIF)/Joint Photographic Experts Group
(JPEG)/National Imagery Transmission Format (NTIF), etc. for imagery).
The reference file will be posted to a site where the user can retrieve
via File Transfer Protocol (FTP) or HyperText Transfer Protocol/Secure
(HTTP/S) methods.

The JMBL consists of five different schemas, which represent the
baseline as approved by the Joint METOC Data Standards Working Group
(DSWG). The primary schemas are the jmblRequest.xsd and
jmblResponse.xsd. These schemas import three secondary schemas;
jmblTypes.xsd, jmblAttributes.xsd and jmblElements.xsd. The primary
schemas comprise a small set of parent elements and references to
secondary schemas. The interconnections between these schemas are
defined in the diagram below.

[]{#__RefHeading___Toc116101522 .anchor}Figure 2-1 JMBL schema structure

Figure 2-1 represents the design-time JMBL schema and the deployed JMBL
services, notably those implemented by the JWIS and Weather Data
Analysis Capability (WDAC) AF programs have flattened these JMBL schemas
into a single schema (jmblSchema30.xsd) to increase interoperability
with JMBL clients. The implemented JMBL web service defined by Web
Services Description Language (WSDL) that imports this single JMBL
schema as depicted below in Figure 2-2.

![](media/image1.png){width="3.321527777777778in"
height="4.371527777777778in"}

[]{#__RefHeading___Toc116101523 .anchor}Figure 2-2 Deployed JMBL WSDL
and XML schema structure

The JMBL XML Schema includes the attributes "parameterName", defined as
the name of the environmental parameter and "compoundParameterName",
defined as the name of the compound environmental parameter. These are
used to specify the semantics of environmental data that can be
communicated using JMBL. Associated with the JMBL schemas is a file
"parameters.xml" that specifies the domain of these attributes through a
list of string values tagged by the \<camelCaseName\> element. Each
element identifies a parameter that may take on a value in a JMBL-based
data exchange. Given a value, the identified parameter determines the
applicable semantic -- and therefore how that value may be populated or
used by applications.

Accompanying the JMBL is a Microsoft Access database (termed variously
the "METOC Master Parameter List", the "Parameters List", and/or "new
parameter mapping" database) containing metadata for each of the items
specified in the "parameters.xml" file. In particular, it includes a
list of parameter names (written conventionally with typical
punctuation), the associated \<camelCaseName\>, an abbreviated form of
the parameter name, a definition, a unit of measure (as appropriate,
including implied data typing information), and mappings to
items/elements in the JMCDM, JM Data Segments, and GRIB. This database
specifies the semantic for each such JMBL parameterName, establishes
traceability to other documentation and authoritative sources, and
serves as the basis for applications to map between JMBL-based data
values and application-internal representations of corresponding data
values.

The JMBL, and its accompanying parameters database, effectively
establishes a METOC parameters (or attributes) data dictionary upon
which applications may build their internal data models.

This document will provide an understanding on how to use the JMBL
interfaces. It is expected that the user understands how to program in
meteorological terminology and what parameters to use to get the
required results of their request. In order to use this guide it is also
expected that the user understands the following technologies: Web
services, XML, XML schemas and XML/SOAP.

Figure 2-3 illustrates the JM client-to-server request/response
relationship for all JM data.

[]{#__RefHeading___Toc116101525 .anchor}Figure 2-3 JMBL Request and
Response

## Purpose

The purpose of this users guide is to describe the process of accessing
a JM data service using the JMBL version 3.x XML schemas.

## Document Overview

This document describes the organization and structure of the JMBL. This
document is updated as the design is refined or changed.

Section 1: Provides the background information.

Section 2: Describes the purpose, objectives and applicable documents.

Section 3: Describes the JM data segments and how to access each one.

> Section 4: Demonstrates the use of a JMBL Request and Response.

Section 5: Provides acronyms and other notes as required.

Section 6: Appendixes: JMBL Element Tables, Master Parameter List, and a
JMBL Conversion Routine.

## Applicable documents

The following are applicable to this document.

  ----------------------------------- ------------------ -----------------
  **Name**                            **Date**           **Owner**

  jmblRequest.xsd                     29 July 2005       JM

  jmblAttributes.xsd                  29 July 2005       JM

  jmblTypes.xsd                       29 July 2005       JM

  jmblElements.xsd                    29 July 2005       JM

  jmblSchema30.xsd                    19 May 2004        AF/ESC

  JMBL Web Service (WSDL)                                AF/ESC

  JMCDM Primer.ppt                    22 November 2004   AF/ESC

  JMBL2to3.pl version 1.6             28 July 2005       AF/ESC
  ----------------------------------- ------------------ -----------------

# Joint METOC Data SEGMENTS

This section describes how to construct the JMBL request, how to access
the individual JM data segment via JMBL, and how to access a JMBL web
service and process its response.

![](media/image2.wmf){width="4.061805555555556in"
height="2.9451388888888888in"}Figure 3-1 describes the current JM data
segments and how they relate to each other. These are not all the
completed data segments just the current segments being designed into
the JM environment.

[]{#__RefHeading___Toc116101526 .anchor}Figure 3-1 The JM data segments

## Access to a JM Data Service

To retrieve data from a JM database the user must send a JMBL Web
service request to the site's Web server. The reply, depending on the
size of the data, will be returned in SOAP format directly to the user
or a data file is created on a server that the user can do an FTP or
HTTPS get to retrieve the file/data and the user is informed of the file
from their SOAP response. If the file is over 64,000 bytes the SOAP
response file will return a URL that the data can be retrieved from.
Table 3.1-1 shows the producer that JM data can be retrieved from.

[]{#__RefHeading___Toc116101539 .anchor}Table 3.1-1 JMBL Data Services

  ------------ -------------------- ----------- ---------------- ---------------
  **Site       **Type of Service**  **JMBL      **POC for        **POC for
  Name**                            Version**   Technical        Support
                                                Questions**      Questions**

  AFWA (AF)    JMAN, JMCAT, JMCOM,  2.19 & 3.13 OA-DataAdmin     XOO (DSN:
               JMGRID, JMOBS &                  (DSN: 272-6818,  272-6398, COMM:
               JMPLAT                           COMM:            402-232-6398)
                                                402-232-6815)    

  FNMOC (Navy)                                                   
  ------------ -------------------- ----------- ---------------- ---------------

### JM's WSDL for JMBL

The following WSDL file is a definition of a JMBL Web service as
implemented by the Air Force Joint Weather Impacts System (JWIS) and the
WDAC programs. It shows how SOAP messages are represented in this JMBL
Web Service (refer to Figure 2-2):

\<?xml version=\"1.0\" encoding=\"utf-8\" ?\>

\<definitions xmlns=\"**http://schemas.xmlsoap.org/wsdl/**\"
xmlns:ns0=\"**urn:metoc:jmcbl:jmbl**\"
xmlns:xsd=\"**http://www.w3.org/2001/XMLSchema**\"
xmlns:tns=\"**urn:metoc:jmbl:wsdl**\"
xmlns:soap=\"**http://schemas.xmlsoap.org/wsdl/soap/**\"
targetNamespace=\"**urn:metoc:jmbl:wsdl**\"\>

\<types\>

\<xsd:schema\>

** ** \<xsd:import namespace=\"**urn:metoc:jmcbl:jmbl**\"
schemaLocation=\"**jmblSchema30.xsd**\" /\>

** ** \</xsd:schema\>

** ** \</types\>

\<message name=\"**getMETOCRequestSoapIn**\"\>

** ** \<part name=\"**parameters**\" element=\"**ns0:RequestList**\" /\>

** ** \</message\>

\<message name=\"**getMETOCRequestSoapOut**\"\>

** ** \<part name=\"**parameters**\" element=\"**ns0:ResponseList**\"
/\>

** ** \</message\>

\<portType name=\"**JMBLServiceSoapPortType**\"\>

\<operation name=\"**getMETOCRequest**\"\>

** ** \<input message=\"**tns:getMETOCRequestSoapIn**\" /\>

** ** \<output message=\"**tns:getMETOCRequestSoapOut**\" /\>

** ** \</operation\>

** ** \</portType\>

\<binding name=\"**JMBLServiceSoapBinding**\"
type=\"**tns:JMBLServiceSoapPortType**\"\>

** ** \<soap:binding
transport=\"**http://schemas.xmlsoap.org/soap/http**\"
style=\"**document**\" /\>

\<operation name=\"**getMETOCRequest**\"\>

** ** \<soap:operation soapAction=\"**getMETOCRequest**\"
style=\"**document**\" /\>

\<input\>

** ** \<soap:body use=\"**literal**\" /\>

** ** \</input\>

\<output\>

** ** \<soap:body use=\"**literal**\" /\>

** ** \</output\>

** ** \</operation\>

** ** \</binding\>

\<service name=\"**JMBLWebService**\"\>

\<port name=\"**JMBLServiceSoap**\"
binding=\"**tns:JMBLServiceSoapBinding**\"\>

** ** \<soap:address
location=\"**http://localhost/JMBLWeb/jmbl/JMBLWebService.jws**\" /\>

** ** \</port\>

** **\</service\>

\</definitions\>

### System Configuration

This section contains information and prerequisites a first time user
needs to correctly use and operate in the JMBL Version 3.x environment.
To submit a request to a producer's Web service for access to their JM
databases the user will need to contact the site to gain access to their
API and configuration files.

**Example:**

To access the site at AFWA for their JMOBS database, the user could use
AFWA's adapter, configuration files, library ".jar" files and a shell
script that will run and configure their SOAP request. NOTE: this API is
one of many methods that can be used to access the JMBL data.

To configure your SOAP request file to access the AFWA version of JMBL
the following must be done:

-   The user must have the "jmobs_adapter.properties" file and must have
    the AFWA Ops, Dev and Test database URLs configured

-   The user must also obtain the AFWA site library ".jar" files

-   The user must run the "surfaceRequest.sh" shell script to set the
    classpath, configure the SOAP request and call the java XML adapter

> A typical request run of the AFWA API would look like this:
> "surfaceRequest.sh requestFile.xml \<Ops\|Dev\|Test\>
> conversionStyleSheet outputFileName \<optional SOAP request file\>".
> Note: See the Site Administrator for assistance on configuration and
> software setup of the site's API.

### Creating the JMBL SOAP Request File

This section will demonstrate how to compose a SOAP request file to
obtain JM data from the database.

The user's SOAP request file must be an American Standard Code for
Information Interchange (ASCII) file type. Files of this type can be
created using a text editor similar to NOTEPAD, WORDPAD, UNIX vi or
EMACS and saved as some specific request file or can be generated by an
application that can generate XML. The first line of all requests must
contain the line that tells the parser to expect to process some code.
This SOAP file will get inserted into the user's request (SOAP body) by
AFWA's adapter.

The first line (root element) will look like this:

"\<urn:RequestList xmlns:urn=\"urn:metoc:jmcbl:jmbl\"\>"

> See Section 4 for examples of the request files as well as responses
> to those requests. Figures 3.3-1 through 3.3-12 describe the flow by
> using XML schemas for all the JM databases.

The root element has a mandatory child element that must follow labeled:
"\<urn:Request\>". The quotation marks here are just to standoff the
elements and should not be included in your request file, but remember
that with XML, it is illegal to omit quotation marks around attribute
values! XML elements can have attributes in name/value pairs just like
HTML. In XML the attribute value must always be quoted.

The child after Request is "\<urn:InformationType\>" .

The child for "\<urn:InformationType\>" is "\<urn:METOCDataType\>".

> The next child is the type of METOC data you are looking for. This
> will continue until the user starts to close off the elements strings,
> but might continue with another child to list a parameter. The
> appropriate METOC database design schemas, Figures 3.4-1 through
> 3.4-12, will show the different child elements, see Section 4 for
> examples of a request. **NOTE**: For best results print and compare
> Figure 3.4-3 with Section 4.3 and 4.4.

Section 3.3 describes the flow of the database schemas. The normal flow
for requesting data will then flow into Appendix A with parameters being
required of JM elements that will then request JMBL parameters listed in
Appendix B or C.

Appendix D has a perl script that can be run on the command line to
convert most JMBL version 2.19 into JMBL version 3.x, or you can request
samples from the JM to verify compliance.

## Compound Parameters

METOC parameters can be requested by compound parameter (listed in table
3.2-1 below) or be single parameter (listed in Appendix C). A compound
parameter is a parameter which will return more than one parameter when
the parameter is requested. The enclosed table is the current table of
compound parameters. The table will be updated as new parameters are
added.

[]{#__RefHeading___Toc116101540 .anchor}Table 3.2-1 Compound Parameter
Table

  -------------------------------------------------------------------------------------
  COMPOUND PARAMETER NAME         RULE
  ------------------------------- -----------------------------------------------------
  groundCondition                 Merges: soilDepth, surfaceCode, soilTemperature and
                                  soilMoistureMass (for all levels).

  icing                           Merges: icingType, icingIntensity, icingEnvironment,
                                  icingFrequency, icingBaseHeight and icingTopHeight.

  lightning                       The rule here needs to reflect reassembling the
                                  lightning remarks from the various columns in the
                                  database, starting with lightningFrequency, following
                                  with lightningType (as many as are reported), then
                                  weatherDistance (if reported) and weatherBearing. The
                                  weatherBearing entries are reassembled in a clockwise
                                  fashion, using weatherSequence to identify where the
                                  beginning, ending, and middle points are, or if the
                                  weatherBearing is just a single directional
                                  occurrence.

  observationFull                 Returns all observation attributes for a particular
                                  observation.

  oceanSwell                      Merges: oceanPrimarySwellAngle,
                                  oceanPrimarySwellHeight, oceanPrimaySwellHeight and
                                  oceanPrimarySwellPeriod and oceanSecondarySwellAngle,
                                  oceanSecondarySwellHeight and
                                  oceanSecondarySwellPeriod.

  platformFull                    Merges all platform attributes.

  platformLite                    Merges: networkType, platformidentifier, stationName,
                                  latitude, longitude, elevation and country.

  precipitation                   Merges: precipitationType,
                                  percipitationObservationPeriod,percipitationAmount,
                                  percipitationCondition, percititationStartTime and
                                  percipitationEndTime.

  radar                           Merges: radarEchoCharacter, radarBearingAngle,
                                  radarEchoDistance, radarEllipse, radarEchoWidth,
                                  radarEchoLength, and radarIntensity.

  runwayConditions                Merges: runwayReading, runwayDecelerometer and
                                  runwayRemarks

  severeClouds                    Merges: severeConvectiveCloud.WeatherBearing,
                                  weatherDistance, weatherSequence and
                                  weatherMovementBearing.

  severeWeather                   Merges: severeWeatherCode, severeWeatherBearing,
                                  severeWeatherDistance, and
                                  severeWeatherMovementBearing.

  skyCondition                    Merges: cloudCover, cloudType, cloudBaseHeight or
                                  cloudBaseHeightRangeLower and
                                  cloudBaseHeightRangeUpper, cloudTopHeight,
                                  cloudCharacteristic and cloudCAVOK (of all layers).

  temperature                     Merges: airTemperature with height (2m airTemp, 10M
                                  airTemp, etc) or pressure (850hPa, airTemp, etc) or
                                  waterTemperature with depth.

  turbulence                      Merges: turbulenceType, turbulenceIntensity,
                                  turbulenceEnvironment, turbulenceFrequency,
                                  turbulenceHeightBase and turbulenceTopHeight .

  variableWinds                   Merges: windCondition, windSpeed, windDirection,
                                  startDirection and endDirection.

  visibility                      Merges: visibilityType, visibility, compassDirection,
                                  visibilitySupLocation and visibilityRemark.

  visibilityPrevailing            The rule here for observation data is that the
                                  attribute visibility is only provided if
                                  visibilityType = P (Prevailing).

  visibilitySector                The rule here for observation data is that the
                                  attribute visibility is only provided if
                                  visibilityType = S (Sector).

  windCondition                   Merges: windDirection, windSpeed, windGustSpeed,
                                  windCondition, windMeasurementMode and windHeight.
  -------------------------------------------------------------------------------------

## JMBL XML Schema

This section will explain each data segment and ties into the Figures
3.4-1 through 3.4-12. This is in alphabetical order and not the order of
creation or put into service dates.

The JMBL request structure has a *MetocDataType* element that requires
the requestor to make a choice as to the type of METOC data being
requested. The *BestSource* is for those customers who wish to have a
series of models queried for the parameter they request. If they choose
this type of *MetocDataType*, the web service will first search JMOBS
and then JMGRID. The JM plans on designing into the databases the
capability of selecting which database has the best source of data.

As more models mature, they will be added to this list. The following is
a list mapping the request to the specific METOC model:

  ----------------------------------- -----------------------------------
  **JMBL MetocDataType Element**      **Associated JM Data Segments**

  AlphaNumeric                        JMAN

  AlphaNumericMessage(\*)             JMAN

  BestSource                          JMOBS, JMGRID

  Climatology                         JMCLIM

  GriddedData                         JMGRID, JMCLIM

  Imagery                             JMIM

  Observation                         JMOBS

  Platform                            JMPLAT

  Product                             JMCAT

  RemoteSensed                        JMRSOB

  SpaceWeather                        JMSESS
  ----------------------------------- -----------------------------------

Note the *AlphaNumericMessage* element is deprecated and being replaced
by the *AlphaNumeric* element at a later time, which merges the
nondecoded and decoded structures in a single element.

### AlphaNumeric

The Joint METOC Alpha/Numeric Segment (JMAN) is the textual data piece
of the Joint METOC database physical segments, which is mapped to the
AlphaNumeric and AlphaNumericMessage elements in JMBL. The JMAN was
designed to store all METOC alpha/numeric products. JMAN was developed
as AFWA\'s approach to the need for a Product model in Sept 1998. Not
until the development of physical segments was the need for this Product
model seen. Originally designed to hold all products, both graphic and
textual, the model was split into two physical segments, the JMAN for
textual products and data, and JMIM, the Joint METOC Imagery Segment.
The Department of Defense (DoD) Joint METOC Database Working Group
adopted the AFWA-developed model as a strawman model to take advantage
of modeling efforts at AFWA due to the reengineering efforts at AFWA. In
some ways, the JMAN model holds some parentage to other physical
segments, since for example, observations are received in either coded
or ASCII alpha/numeric messages. This holds true for traditional
observations in JMAN, remote-sensed observations in JMR-SOB, and space
and solar observations in JMSESS. The versatility of JMAN is that if
alpha/numeric products are needed to be decoded for use, they can be,
otherwise the parent tables in the model are capable of holding the
product in its raw condition and associated metadata about the product.

The goal of the JMAN segment was to provide a common structure for the
storage of these alpha/numeric products, allowing the centers to decode
and utilize these products to their full potential on automated systems.
This advances from today\'s method of using the products primarily
through human-readable applications.

### BestSource

BestSource is for those clients who wish to have a \"best\" business
rule set applied to the request. The \"best\" rules applied will be
attempting the retrieval from the JMOBS model and if no data is found,
attempt the retrieval from JMGRID. This is currently under development.

### Climatology

The Joint METOC Climatology Segment (JMCLIM) is for climatology data,
which is mapped to the Climatology JMBL element. This is currently under
development.

### GriddedData

The Joint METOC Gridded Data Segment (JMGRID) is the gridded data piece
of the Joint METOC database physical segments, which is mapped to the
GriddedData element in JMBL. World Meteorological Organization (WMO) has
developed a format for efficient transmission of gridded data, which is
a set of floating-point values sampled over a two-dimensional grid. This
format, GRIB, is described in FM 92-IX Ext. GRIB FM92-IX. GRIB is a
compact data format. However, it is difficult to decode. Without a
sophisticated decoder \-- *and a set of appropriate tables* \-- an
application cannot even determine which quantity is being represented in
a GRIB record, let alone access the values of the quantity at a set of
particular grid points. JMGRID has been developed to let an application
access at least the meta-information about the grid without resorting to
a decoder. JMGRID also includes a format that describes both meta-data
and the data in XML form. When the number of grid points is small, this
is the most convenient format as an application needs no GRIB decoder
and no knowledge of the GRIB format.

JMGRID defines a collection of elements that can be combined by a user
into one of three formats. These three formats \-- raw, encoded, and
expanded \-- are intended for gridded data with a large number of values
and require understanding of a GRIB record.

Raw, encoded, and expanded formats all have the same header. The header
contains meta-data about a GRIB record, which describe and identify the
gridded data and the grid itself. The formats differ in representing
grid data themselves. The raw format refers to an external GRIB record.
The encoded format encapsulates the whole GRIB record, which is
transformed into ASCII using a BASE64 encoding. This procedure is
similar to encapsulation of binary attachments into an ASCII e-mail
message. In both cases an application requires a GRIB decoder to obtain
grid data. Still, the application can use the information contained in
the JMGRID analFcst elements to decide if a particular GRIB record is of
interest without decoding it.

The expanded format carries the grid point data as floating-point
numbers in ASCII representation. The numbers are separated with a single
white space. They are listed exactly in the same order the corresponding
data points occur in the Binary Data Section of the GRIB record. The
precision of the values is consistent as well. Although an application
is spared decoding variable-bit length packing of the Binary Data
Section, an application needs to know enough about GRIB to make sense of
the stream of numbers. The application needs to refer to a JMGRID
element (JMG_gridPrjctn element) for information on grid dimensions, a
scanning order, units of measure, and other parameters.

The schema document jmgrid.xsd allows the user to create an instance of
the root element "JMD_Forecast". This element contains one or more
analysis forecasts.

### Imagery

The Joint METOC Imagery Segment (JMIM) is the graphic data piece of the
Joint METOC database physical segments, which is mapped to the JMBL
Imagery element. The JMIM was designed to store all METOC graphic and
imagery products. JMIM was developed as part of AFWA\'s approach to the
need for a Product model in Sept 1998. While the JMAN (Joint METOC
Alpha/Numeric Segment) was designed to hold the textual alpha/numeric
products, JMIM was designed to hold all product visualizations and
imagery. Product visualizations include the model output, such as GIFs,
MPEGs, and NITF images, as well as data imagery such as radar imagery,
satellite imagery, and lightning imagery. The key is that all are in
some graphical output format, and the segment is designed to store them
as metadata and the object holding the image. JMIM is closely associated
with other segments, such as the JMR-SOB (Joint METOC Remote-Sensed
Observations Segment) where the true observational data is stored, and
the JMGRID (Joint METOC Gridded Segment) where the gridded model fields
that are visualized are stored. The primary difference in the JMIM and
JMGRID is that the gridded model fields can more easily be interrogated
for further information while the visualized products have lost much of
the grid point data behind them.

The goal of the JMIM segment was to provide a common structure for the
storage of these graphic products, allowing the centers to store and
maintain the graphic images in standard data formats with a standard set
of metadata. This as opposed to today\'s method of storing the products
in multiple data stores in multiple non-standard formats.

### Observation

The Joint METOC Observation Segment (JMOBS) is the observational data
piece of the Joint METOC database physical segments, which is mapped to
the Observation JMBL element.

Observation data is received and stored in JMOBS in datasets organized
loosely by report type, with common data parameters sharing common
tables. Datasets are then separated into Surface observations (Synoptic,
METAR, SPECI), Upper air observations (RAWINSONDE, PIBAL, AIREP, PEREP,
etc.), Aircraft observations (AIREP, PIREP), and Ocean Profiles (Ship,
buoy). Master Station Catalog data are kept as well.

### Platform

The Joint METOC Platform Segment (JMPLAT) defines the Master
Station/Platform List Catalog that augments station information from
observations. This data segment is appropriately mapped to the JMBL
Platform element. JMPLAT provides the database structure to store Master
Station Catalog fixed weather stations and for mobile stations from
which JMBL requests can retrieve all the platform data.

Platform data is received and stored in JMPLAT in datasets organized by
network and platform. Datasets are then separated into mobile stations
(aircraft, ship, satellite, etc.) and stationary (fixed and remote)
weather stations (formally implemented as the Master Station Catalog
(MSC)). This information is maintained as a Master Station/Platform List
Catalog. When environmental data is received and stored into the JMOBS
segment, in order to obtain station information to fully attribute the
observation into the database, the station is augmented by information
in JMPLAT.

### Product

The Joint METOC Catalog Segment (JMCAT) is the catalog data piece of the
Joint METOC database physical segments, which is mapped to the Product
element in JMBL. The JMCAT is designed to store the metadata information
about any METOC item. Since the catalog attributes are common to one
another and are related to each of the other METOC segments, the catalog
will provide a location to store information about the type of item, as
opposed to the actual instance of the item. By combining this segment to
any of the others will provide a location and storage space to include
the location of the data, subscribers to the data, classification
information and review/disposition information. The goal of the JMCAT
segment is to provide a common structure for the storage of these
additional metadata items and subscription information, allowing the
centers to be able to quickly select data and products from a METOC
standard database and interface. Use of the catalog will greatly
simplify the tracking of customers, subscriptions, product use, and
review information.

### RemoteSensed

The Joint METOC Remote-Sensed Observation Segment (JMR-SOB) is the
additional observation data piece of the Joint METOC database physical
segments, which is mapped to the RemoteSensed JMBL element. The JMR-SOB
was designed to store the large quantities of remote-sensed
meteorological observations. The Department of Defense (DoD) Joint METOC
Database Working Group began work on the remote-sensed observation
segment after the Army formally requested the large quantity of these
observations not be stored with the lesser number of conventionally
obtained meteorological observations. This segment duplicates some of
the data elements from the observation model, but merges other forms of
remote-sensed observations into common tables. The JMR-SOB model is
designed to hold all forms of satellite observations, radar, lightning
detection, and wind profiler networks. Most of the remote-sensed
observations are obtained in the WMO storage method of Binary Universal
Form for the Representation of meteorological data (BUFR - FM 94), since
compression makes the volume somewhat more workable. The JMR-SOB segment
has a real relationship with the JMPLAT segment for the storage and
identification of the reporting platform identifiers.

The goal of the JMR-SOB segment was to provide a common structure for
the storage of these additional observations, allowing the centers to
develop more accurate gridded data based off the higher resolution
observations. Due to volume alone, these observations probably would not
be utilized heavily beyond the center unless cutting into theaters
significantly reduced data volume for transmission.

### SpaceWeather

The JM Space Weather Segment (JMSESS) is the space weather data piece of
the Joint METOC database physical segments, which is mapped to the
SpaceWeather JMBL element. The JMSESS was designed to store space
weather observations and their associated event reports and warnings.

The goal of the JMSESS was to provide a common structure for the storage
of space weather observations allowing the centers to be able to quickly
warn the military of impending solar and space weather events that would
adversely affect military operations.

## JMBL Schemas

To create a request for a JM data service the JMBL elements within a
SOAP message must conform to the JMBL XML schema supported by that data
provider. Figures 3.4-2 through 3.4-12 depict the elements for the JMBL
version 3.13 XML schemas. This section provides graphical listing of
elements in the JMBL schema and Appendix A and B provides tables of the
JM elements and attributes. Appendix C has the current list of JMBL
parameter names as defined in the METOC Master Parameter List to
complete the specific requests in the *parameterName* field and has a
description for each parameter.

**NOTES:** The included schemas were built around version 3.13 of the
JMBL, for the correct schema you should request a copy from the site you
are planning on getting data from so you have the correct schema for the
database you are requesting.

The JM Business Rules can be retrieved from the site the user is
requesting data from, these business rules might change how you attempt
to retrieve data (i.e. to retrieve data from two or more database
segments the user would be required to have separate SOAP calls to each
segment.

When the process is not specified for gridded requests, requests are
filled using a series of best data business rules to include the choice
of model of consistency by the appropriate Operational Weather Squadron
for their area of responsibility.

![](media/image3.wmf)

[]{#__RefHeading___Toc116101527 .anchor}Figure 3.4-1 Joint METOC Root
and Data Schema's

![](media/image4.wmf)

[]{#__RefHeading___Toc116101528 .anchor}Figure 3.4-2 Imagery Data
Request Schema

![](media/image5.wmf)

[]{#__RefHeading___Toc116101529 .anchor}Figure 3.4-3 Gridded Data
Request Schema

![](media/image6.wmf)

[]{#__RefHeading___Toc116101530 .anchor}Figure 3.4-4 Alpha Numeric
Message Request Data Schema

![](media/image7.wmf)

[]{#__RefHeading___Toc116101531 .anchor}Figure 3.4-5 Alpha Numeric
Request Data Schema

![](media/image8.wmf)

[]{#__RefHeading___Toc116101532 .anchor}Figure 3.4-6 Observation Request
Data Schema

![](media/image9.wmf)

[]{#__RefHeading___Toc116101533 .anchor}Figure 3.4-7 Remote Sensed
Request Data Schema

![](media/image10.wmf)

[]{#__RefHeading___Toc116101534 .anchor}Figure 3.4-8 Climatology Request
Data Schema

![](media/image11.wmf)

[]{#__RefHeading___Toc116101535 .anchor}Figure 3.4-9 Product Request
Data Schema

![](media/image12.wmf)

[]{#__RefHeading___Toc116101536 .anchor}Figure 3.4-10 Space Weather
Request Data Schema

![](media/image13.wmf)

[]{#__RefHeading___Toc116101537 .anchor}Figure 3.4-11 Platform Request
Data Schema

![](media/image14.wmf)

[]{#__RefHeading___Toc116101538 .anchor}Figure 3.4-12 Best Source
Request Data Schema

# JMBL Examples

The following Sections contain JMBL in a SOAP messages to get data from
a JM data service.

Note that in many cases the SOAP Envelope and Body are removed from the
examples for brevity and only the JMBL RequestList and ResponseList
which are contained within the SOAP Body message are listed.

The Organization ID for all the examples is "000032" and the
Organization's Client Request ID are "AFWA1" or "AFWA2". The
Organization ID (organizationId) and the Client Request ID
(clientRequestId ) are provided by the user such that the organizationId
identifies the requestor's organization and the clientRequestId tracks a
response with a request. The only requirement is that the ID strings fit
within the maximum lengths of each field. The organizationId attribute
is a string with maximum length of 32-characters and clientRequestId has
a maximum length of 5-characters.

## Error Message from Failed Requests

Here is a JMBL response of a failed request from JMOBS, but it is
inclusive of all the data types. This request is looking for the
parameter *temperatureAir*, but requested *airTemperature*:

\<?xml version=\"1.0\" encoding=\"UTF-8\" ?\>

\- \<SOAP-ENV:Envelope
xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\"
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"\>

\- \<SOAP-ENV:Body\>

\<urn:ResponseList xmlns:urn=\"urn:metoc:jmcbl:jmbl\"\>

\<urn:Response urn:clientRequestId=\"AFWA1\"\>

\<urn:DataItem/\>

\<urn:ResponseStatus urn:orderStatus=\"Request Failed\"\>

\<urn:ErrorCondition

urn:errorConditionValue=\"Parameter not supported\"
urn:errorDescription=\"Parameter airTemperature has no mapping to schema
JMOBS\"/\>

\</urn:ResponseStatus\>

\</urn:Response\>

\</urn:ResponseList\>

\</SOAP-ENV:Body\>

\</SOAP-ENV:Envelope\>

However, if multiple parameters are requested in a single request (e.g.
windSpeed and airTemperature) and the service understands any part of
the request even with some errors it will attempt to fulfill the data it
can return. In this case the returned *dataItemOrderStatus* is set to
\"Data partially Filled".

\<?xml version=\"1.0\" encoding=\"UTF-8\"?\>

\<SOAP-ENV:Envelope

xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\"

xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\>

\<SOAP-ENV:Body\>

\<ns2:ResponseList xmlns:ns2=\"urn:metoc:jmcbl:jmbl\"\>

\<ns2:Response ns2:clientRequestId=\"AFWA1\"\>

\<ns2:DataItem\>

\<ns2:Time\>

\<ns2:LatestTimeFlag\>1\</ns2:LatestTimeFlag\>

\</ns2:Time\>

\<ns2:METOCdata\>

\<ns2:METOCdata ns2:METOCtype=\"JMO_SURFACEOBS\"
ns2:dataElementName=\"windSpeed\"\>

\<ns2:METOCdata ns2:parameterUnit=\"metersPerSecond\"\>

\<ns2:Value\>

\<ns2:DoubleValue\>1.3\</ns2:DoubleValue\>

\</ns2:Value\>

\</ns2:METOCdata\>

\</ns2:METOCdata\>

\</ns2:METOCdata\>

\<ns2:DataItemStatus ns2:dataItemOrderStatus=\"Data partially
Filled\"/\>

\</ns2:DataItem\>

\<ns2:ResponseStatus ns2:orderStatus=\"Request Filled\"\>

\<ns2:ErrorCondition

ns2:errorConditionValue=\"Parameter not supported\"
ns2:errorDescription=\"Parameter airTemperature has no mapping to schema
JMOBS\"/\>

\</ns2:ResponseStatus\>

\</ns2:Response\>

\</ns2:ResponseList\>

\</SOAP-ENV:Body\>

\</SOAP-ENV:Envelope\>

## Requesting an Observation from a Single Station

Here is a JMBL request for the latest observation from a single station.
A request with the *latestTimeFlag* will retrieve the most recent
observation for each observationReportTypeCode found matching the
requested criteria based on the observationTime.

\<urn:RequestList urn:organizationId="000032"
xmlns:urn=\"urn:metoc:jmcbl:jmbl\"\>

\<urn:Request urn:clientRequestId="AFWA1"\>

\<urn:InformationType\>

\<urn:MetocDataType\>

\<urn:Observation\>

\<urn:PlatformCode\>

\<urn:PlatformList\>

\<urn:PlatformId\>KOFF\</urn:PlatformId\>

\</urn:PlatformList\>

\</urn:PlatformCode\>

\<urn:ObservationParameters\>

\<urn:Parameter urn:parameterName=\"observationRawData\"/\>

\</urn:ObservationParameters\>

\<urn:Time\>

\<urn:LatestTimeFlag\>1\</urn:LatestTimeFlag\>

\</urn:Time\>

\<urn:ObservationReportTypeCode\>FM-15\</urn:ObservationReportTypeCode\>

\</urn:Observation\>

\</urn:MetocDataType\>

\</urn:InformationType\>

\</urn:Request\>

\</urn:RequestList\>

### XML Response from JMOBS

Here is the JMBL response to the observation request in Section 4.2:

\<urn:ResponseList xmlns:urn=\"urn:metoc:jmcbl:jmbl\"
xmlns:SOAP-ENC=\"http://schemas.xmlsoap.org/soap/encoding/\"\>

\<urn:Response\>

\<urn:DataItem\>

\<urn:Time\>

\<urn:LatestTimeFlag\>1\</urn:LatestTimeFlag\>

\</urn:Time\>

\<urn:METOCdata\>

\<urn:METOCdata urn:metocType=\"JMO_MESSAGE\"
urn:dataElementName=\"observationRawData\"\>

\<urn:METOCdata\>

\<urn:Value urn:stringValue=\"KOFF 251555Z 17003KT 7SM FEW200 03/03
A2977 RMK SLP090;\"/\>

\</urn:METOCdata\>

\</urn:METOCdata\>

\</urn:METOCdata\>

\<urn:DataItemStatus urn:dataItemOrderStatus=\"Data Filled\"/\>

\</urn:DataItem\>

\<urn:ResponseStatus urn:orderStatus=\"Request Filled\"/\>

\</urn:Response\>

\</urn:ResponseList\>

## Requesting Compound Parameters from JMOBS

Here is a JMBL request of a single compoundParameter in JMOBS:

\<urn:RequestList urn:organizationId="000032"
xmlns:urn=\"urn:metoc:jmcbl:jmbl\"\>

\<urn:Request urn:clientRequestId=\"AFWA1\"\>

\<urn:InformationType\>

\<urn:MetocDataType\>

\<urn:Observation\>

\<urn:PlatformCode\>

\<urn:PlatformList\>

\<urn:PlatformId\>KOFF\</urn:PlatformId\>

\</urn:PlatformList\>

\</urn:PlatformCode\>

\<urn:ObservationParameters\>

\<urn:CompoundParameter urn:compoundParameterName=\"observationFull\"/\>

\</urn:ObservationParameters\>

\<urn:Time\>

\<urn:LatestTimeFlag\>1\</urn:LatestTimeFlag\>

\</urn:Time\>

\<urn:ObservationReportTypeCode\>FM-15\</urn:ObservationReportTypeCode\>

\</urn:Observation\>

\</urn:MetocDataType\>

\</urn:InformationType\>

\</urn:Request\>

\</urn:RequestList\>

## Requesting Multiple Parameters from JMOBS

Here is a JMBL request for multiple parameters of an observation:

\<urn:RequestList urn:organizationId="000032"
xmlns:urn=\"urn:metoc:jmcbl:jmbl\"\>

\<urn:Request urn:clientRequestId=\"AFWA1\"\>

\<urn:InformationType\>

\<urn:MetocDataType\>

\<urn:Observation\>

\<urn:PlatformCode\>

\<urn:PlatformList\>

\<urn:PlatformId\>KOFF\</urn:PlatformId\>

\</urn:PlatformList\>

\</urn:PlatformCode\>

\<urn:ObservationParameters\>

\<urn:Parameter urn:parameterName=\"platformHeading\"/\>

\<urn:Parameter urn:parameterName=\"platformHeight\"/\>

\<urn:Parameter urn:parameterName=\"platformIdentifier\"/\>

\<urn:Parameter urn:parameterName=\"platformNetworkType\"/\>

\</urn:ObservationParameters\>

\<urn:Time\>

\<urn:LatestTimeFlag\>1\</urn:LatestTimeFlag\>

\</urn:Time\>

\<urn:ObservationReportTypeCode\>FM-15\</urn:ObservationReportTypeCode\>

\</urn:Observation\>

\</urn:MetocDataType\>

\</urn:InformationType\>

\</urn:Request\>

\</urn:RequestList\>

## Requesting Point data from JMGRID

Here is a JMBL request for a single temperatureAir value at the ground
or surface water level, from JMGRID:

\<urn:RequestList urn:organizationId="000032"
xmlns:urn=\"urn:metoc:jmcbl:jmbl\"\>

\<urn:Request urn:clientRequestId="AFWA1"\>

\<urn:InformationType\>

\<urn:MetocDataType\>

\<urn:GriddedData\>

\<urn:GriddedAnalysisForecast /\>

\<urn:Location\>

\<urn:DiscreteGeometric\>

\<urn:SpatialVector\>

\<urn:SpatialPoint urn: latitude=\"15.00\" urn: longitude=\"150.00\"/\>

\</urn:SpatialVector\>

\</urn:DiscreteGeometric\>

\</urn:Location\>

\<urn:Time\>

\<urn:TimeRange urn:startTime=\"2005-01-11T00:00:00Z\"
urn:endTime=\"2005-01-12T00:00:00Z\"\>

\</urn:TimeRange\>

\</urn:Time\>

\<urn:Process urn:center=\"057\" urn:subcenter=\"001\"\>

\<urn:Theater urn:theaterName=\"US T4Z\"/\>

\</urn:Process\>

\<urn:GridParameter\>

\<urn:Parameter urn:parameterName=\"temperatureAir\"

urn:parameterUnit=\"degreesCelsius\"/\>

\<urn:VerticalDimension\>

\<urn:MasterLayerName\>SFC\</urn:MasterLayerName\> \<!\-- Surface Level
\--\>

\</urn:VerticalDimension\>

\</urn:GridParameter\>

\</urn:GriddedData\>

\</urn:MetocDataType\>

\</urn:InformationType\>

\</urn:Request\>

\</urn:RequestList\>

## Requesting Block Data from JMGRID

Here is a JMBL request, for data in a Gridded lat/long data box for
temperatureAir pull,

at the ground or surface water level, from JMGRID:

\<urn:RequestList urn:organizationId="000032"
xmlns:urn=\"urn:metoc:jmcbl:jmbl\"\>

\<urn:Request urn:clientRequestId="AFWA1"\>

\<urn:InformationType\>

\<urn:MetocDataType\>

\<urn:GriddedData\>

\<urn:GriddedAnalysisForecast/\>

\<urn:Location\>

\<urn:BoundingBox urn:lowerLeftLatitude=\"30.00\"
urn:lowerLeftLongitude=\"40.00\"

urn:upperRightLatitude=\"40.00\" urn:upperRightLongitude=\"60.00\"\>

\</urn:BoundingBox\>

\</urn:Location\>

\<urn:Time\>

\<urn:ForecastTime urn:baseReferenceTime=\"2003-12-20T06:00:00Z\"
urn:forecastPeriod=\"24.0\"/\>

\</urn:Time\>

\<urn:Process urn:center=\"057\" urn:subcenter=\"001\"\>

\<urn:Theater urn:theaterName=\"US T4Z\"\>\</urn:Theater\>

\</urn:Process\>

\<urn:GridParameter\>

\<urn:Parameter urn:parameterName=\"temperatureAir\"
urn:parameterUnit=\"degreesCelsius\"\>

\</urn:Parameter\>

\<urn:VerticalDimension\>

\<urn:MasterLayerName\>SFC\</urn:MasterLayerName\> \<!\-- Surface \--\>

\</urn:VerticalDimension\>

\</urn:GridParameter\>

\</urn:GriddedData\>

\</urn:MetocDataType\>

\</urn:InformationType\>

\</urn:Request\>

\</urn:RequestList\>

## Requesting AlphaNumeric messages modified since a given time

Here is a JMBL request for temperatureAir values from all bulletins at a
single station modified since a given time.

\<urn:RequestList urn:organizationId="000032\"
xmlns:urn=\"urn:metoc:jmcbl:jmbl\"\>

\<urn:Request urn:clientRequestId="AFWA1"\>

\<urn:InformationType\>

\<urn:MetocDataType\>

\<urn:AlphaNumericMessage\>

\<urn:Decoded\>

\<urn:Time\>

\<urn:ModifiedSinceTime\>2005-01-11T00:00:00Z\</urn:ModifiedSinceTime\>

\</urn:Time\>

\<urn:Parameter urn:parameterName=\"temperatureAir\"

urn:parameterUnit=\"degreesCelsius\"/\>

\<urn:PlatformCode\>

\<urn:PlatformList\>

\<urn:PlatformId\>KOFF\</urn:PlatformId\>

\</urn:PlatformList\>

\</urn:PlatformCode\>

\</urn:Decoded\>

\</urn:AlphaNumericMessage\>

\</urn:MetocDataType\>

\</urn:InformationType\>

\</urn:Request\>

\</urn:RequestList\>

## Making Multiple requests in a single JMBL RequestList

Here is a JMBL request for temperatureAir from two different data types
namely AlphaNumeric and Observation data for a particular station and
time. One mechanism to keep track of multiple requests is using the
*clientRequestId* attribute in each *Request.* This *clientRequestId* is
used in the corresponding responses using the same strings provided by
the user.

\<urn:RequestList urn:organizationId="000032"
xmlns:urn=\"urn:metoc:jmcbl:jmbl\"\>

\<urn:Request urn:clientRequestId="AFWA1"\>

\<urn:InformationType\>

\<urn:MetocDataType\>

\<urn:AlphaNumericMessage\>

\<urn:Decoded\>

\<urn:Time\>

\<urn:TimeRange urn:startTime=\"2005-01-11T00:00:00Z\"
urn:endTime=\"2005-01-12T00:00:00Z\"/\>

\</urn:Time\>

\<urn:Parameter urn:parameterName=\"temperatureAir\"

urn:parameterUnit=\"degreesCelsius\"/\>

\<urn:PlatformCode\>

\<urn:PlatformList\>

\<urn:PlatformId\>KOFF\</urn:PlatformId\>

\</urn:PlatformList\>

\</urn:PlatformCode\>

\</urn:Decoded\>

\</urn:AlphaNumericMessage\>

\</urn:MetocDataType\>

\</urn:InformationType\>

\</urn:Request\>

\<urn:Request urn:clientRequestId=\"AFWA2\"\>

\<urn:InformationType\>

\<urn:MetocDataType\>

\<urn:Observation\>

\<urn:PlatformCode\>

\<urn:PlatformList\>

\<urn:PlatformId\>KOFF\</urn:PlatformId\>

\</urn:PlatformList\>

\</urn:PlatformCode\>

\<urn:ObservationParameters\>

\<urn:Parameter urn:parameterName=\"temperatureAir\"

urn:parameterUnit=\"degreesCelsius\"/\>

\</urn:ObservationParameters\>

\<urn:Time\>

\<urn:TimeRange urn:startTime=\"2005-01-11T00:00:00Z\"
urn:endTime=\"2005-01-12T00:00:00Z\"/\>

\</urn:Time\>

\<urn:ObservationReportTypeCode\>FM-15\</urn:ObservationReportTypeCode\>

\</urn:Observation\>

\</urn:MetocDataType\>

\</urn:InformationType\>

\</urn:Request\>

\</urn:RequestList\>

## Requesting a AlphaNumericMessage at a Specified Time

Here is a JMBL AlphaNumeric request for temperatureAir for a specified
station and time. The *TimeRange* will return all messages issued in
that time period.

\<urn:RequestList urn:organizationId="000032"
xmlns:urn=\"urn:metoc:jmcbl:jmbl\"\>

\<urn:Request urn:clientRequestId="AFWA1"\>

\<urn:InformationType\>

\<urn:MetocDataType\>

\<urn:AlphaNumericMessage\>

\<urn:Decoded\>

\<urn:Time\>

\<urn:TimeRange urn:startTime=\"2005-01-11T00:00:00Z\"
urn:endTime=\"2005-01-12T00:00:00Z\"\>

\</urn:TimeRange\>

\</urn:Time\>

\<urn:Parameter urn:parameterName=\"temperatureAir\"

urn:parameterUnit=\"degreesCelsius\"/\>

\<urn:PlatformCode\>

\<urn:PlatformList\>

\<urn:PlatformId\>KOFF\</urn:PlatformId\>

\</urn:PlatformList\>

\</urn:PlatformCode\>

\</urn:Decoded\>

\</urn:AlphaNumericMessage\>

\</urn:MetocDataType\>

\</urn:InformationType\>

\</urn:Request\>

\</urn:RequestList\>

## Requesting a list of images

Here is a JMBL request that requests a list of all aerospace imagery
(both satellite and aircraft) in the NITF image format.

\<urn:RequestList xmlns:urn=\"urn:metoc:jmcbl:jmbl\"\>

\<urn:Request\>

\<urn:InformationType\>

\<urn:MetocDataType\>

\<urn:Imagery urn:numberImages=\"0\"\>

\<urn:ImageFormatCode\>NITF\</urn:ImageFormatCode\>

\<urn:ImageTypeCode\>1\</urn:ImageTypeCode\>

\</urn:Imagery\>

\</urn:MetocDataType\>

\</urn:InformationType\>

\</urn:Request\>

\</urn:RequestList\>

### Response to a image list request

A response to an image list request would be the following from which
the user could request a particular image by name.

\<urn:ResponseList xmlns:urn=\"urn:metoc:jmcbl:jmbl\"\>

\<urn:Response\>

\<urn:DataItem\>

\<urn:METOCdata urn:METOCtype=\"JMI_IMAGE\"
urn:dataElementName=\"imageDescription\"\>

\<urn:Value\>

\<urn:StringValue\>CONUS_CONUS-ZN3_SATELLITE_NOAAPORT-ECN_IR\</urn:StringValue\>

\</urn:Value\>

\</urn:METOCdata\>

\</urn:DataItem\>

...

\<urn:DataItem\>

\<urn:METOCdata urn:METOCtype=\"JMI_IMAGE\"
urn:dataElementName=\"imageDescription\"\>

\<urn:Value\>

\<urn:StringValue\>LCW_GOES-W_IR\</urn:StringValue\>

\</urn:Value\>

\</urn:METOCdata\>

\</urn:DataItem\>

\<urn:ResponseStatus urn:orderStatus=\"Request Filled\"/\>

\</urn:Response\>

\</urn:ResponseList\>

## Requesting an image by reference

Here is a JMBL request for a single image using the numberImages
attribute in the request.

Furthermore, the *likeConstraint* restricts the image to one with whose
name matches the user-defined name.

\<urn:RequestList urn:organizationId="000032"
xmlns:urn="urn:metoc:jmcbl:jmbl\"\>

\<urn:Request urn:clientRequestId=\"AFWA1\"\>

\<urn:InformationType\>

\<urn:MetocDataType\>

\<urn:Imagery urn:numberImages=\"1\"\>

\<urn:ImageDescription\>

\<urn:LikeConstraint\>CONUS_CONUS-ZN3_SATELLITE_NOAAPORT-ECN_IR\</urn:LikeConstraint\>

\</urn:ImageDescription\>

\<urn:ImageFormatCode\>JPEG\</urn:ImageFormatCode\>

\<urn:ImageFormatCode\>GIF\</urn:ImageFormatCode\>

\</urn:Imagery\>

\</urn:MetocDataType\>

\</urn:InformationType\>

\<urn:RequestFormat urn:responseContainment=\"By reference\" /\>

\</urn:Request\>

\</urn:RequestList\>

### Response to a single image request

Here is a JMBL response to the previous image request. In response to a
"*By reference*" request the URL to the data file is provided in the
*networkAddressName* attribute in the *Format* element.

\<urn:ResponseList xmlns:urn=\"urn:metoc:jmcbl:jmbl\"\>

\<urn:Response urn:clientRequestId=\"AFWA1\"\>

\<urn:DataItem\>

\<urn:Format
urn:networkAddressName=\"http://jmbl.metoc.mil/httpget/Downloadfile?fileName=CONUS_CONUS-ZN3_SATELLITE_NOAAPORT-ECN_IR_2005-08-04T20:08:01.0_1123186139545_597489.jpg/\>

\<urn:METOCdata urn:METOCtype=\"JMI_IMAGE\"
urn:dataElementName=\"imageFileTime\"/\>

\<urn:METOCdata urn:METOCtype=\"JMI_IMAGE\"
urn:dataElementName=\"insertionTime\"\>

\<urn:Value\>

\<urn:StringValue\>2005-08-04T20:08:01.0\</urn:StringValue\>

\</urn:Value\>

\</urn:METOCdata\>

\<urn:METOCdata urn:METOCtype=\"JMI_IMAGE\"
urn:dataElementName=\"imageName\"\>

\<urn:Value\>

\<urn:StringValue\>CONUS_CONUS-ZN3_SATELLITE_NOAAPORT-ECN_IR.jpg\</urn:StringValue\>

\</urn:Value\>

\</urn:METOCdata\>

\<urn:METOCdata urn:METOCtype=\"JMI_IMAGE\"
urn:dataElementName=\"imageId\"\>

\<urn:Value\>

\<urn:LongValue\>2001837\</urn:LongValue\>

\</urn:Value\>

\</urn:METOCdata\>

\<urn:METOCdata urn:METOCtype=\"JMI_IMAGE\"
urn:dataElementName=\"imageFormatCode\"\>

\<urn:Value\>

\<urn:StringValue\>jpeg\</urn:StringValue\>

\</urn:Value\>

\</urn:METOCdata\>

\</urn:DataItem\>

\<urn:ResponseStatus urn:orderStatus=\"Request Filled\"/\>

\</urn:Response\>

\</urn:ResponseList\>

## Requesting an image by value

Here is a JMBL request for a single image where the response should
embed the image data inline with the XML data. In nearly all cases
images should be request by reference since the overhead of encoding the
binary image in XML takes longer and puts an unnecessary burdon on the
network.

\<urn:RequestList urn:organizationId="000032"
xmlns:urn="urn:metoc:jmcbl:jmbl\"\>

\<urn:Request urn:clientRequestId=\"AFWA1\"\>

\<urn:InformationType\>

\<urn:MetocDataType\>

\<urn:Imagery urn:numberImages=\"1\"\>

\<urn:ImageDescription\>

\<urn:LikeConstraint\>CONUS_CONUS-ZN3_SATELLITE_NOAAPORT-ECN_IR\</urn:LikeConstraint\>

\</urn:ImageDescription\>

\<urn:ImageFormatCode\>JPEG\</urn:ImageFormatCode\>

\<urn:ImageFormatCode\>GIF\</urn:ImageFormatCode\>

\</urn:Imagery\>

\</urn:MetocDataType\>

\</urn:InformationType\>

\<urn:RequestFormat urn:responseContainment=\"By value\" /\>

\</urn:Request\>

\</urn:RequestList\>

### Response to a single image request by value

Here is a JMBL response to the previous image request. In response to a
"*By value*" request the binary data is embedded in the response and
encoded as ASCII.

\<urn:ResponseList xmlns:urn=\"urn:metoc:jmcbl:jmbl\"\>

\<urn:Response urn:clientRequestId=\"AFWA1\"\>

\<urn:DataItem\>

\<urn:METOCdata urn:METOCtype=\"JMI_IMAGE\" urn:dataElementName

=\"insertionTime\"\>

\<urn:Value\>

\<urn:StringValue\>2005-08-04T20:38:45.0\</urn:StringVa

lue\>

\</urn:Value\>

\</urn:METOCdata\>

\<urn:METOCdata urn:METOCtype=\"JMI_IMAGE\" urn:dataElementName

=\"imageName\"\>

\<urn:Value\>

\<urn:StringValue\>CONUS_CONUS-ZN3_SATELLITE_NOAAPORT-

ECN_IR.jpg\</urn:StringValue\>

\</urn:Value\>

\</urn:METOCdata\>

\<urn:METOCdata urn:METOCtype=\"JMI_IMAGE\" urn:dataElementName

=\"imageId\"\>

\<urn:Value\>

\<urn:LongValue\>2002989\</urn:LongValue\>

\</urn:Value\>

\</urn:METOCdata\>

\<urn:METOCdata urn:METOCtype=\"JMI_IMAGE\" urn:dataElementName

=\"imageFormatCode\"\>

\<urn:Value\>

\<urn:StringValue\>jpeg\</urn:StringValue\>

\</urn:Value\>

\</urn:METOCdata\>

\<urn:METOCdata urn:METOCtype=\"JMI_IMAGE\" urn:dataElementName

=\"image\"\>

\<urn:Value\>

\<urn:ByteValue\>FFD8FFE000104A46494600010102000000000

...305CC114ABF6FD145007FFD9\</urn:ByteValue\>

\</urn:Value\>

\</urn:METOCdata\>

\</urn:DataItem\>

\<urn:ResponseStatus urn:orderStatus=\"Request Filled\"/\>

\</urn:Response\>

\</urn:ResponseList\>

## Requesting a Single Image by Location

Here is a JMBL request for a single Image, by location (lat/long) from
JMIM:

\<urn:RequestList urn:organizationId="000032"
xmlns:urn=\"urn:metoc:jmcbl:jmbl\"\>

\<urn:Request urn:clientRequestId=\"AFWA1\"\>

\<urn:InformationType\>

\<urn:MetocDataType\>

\<urn:Imagery urn:numberOfImages=\"1\"\>

\<urn:Location\>

\<urn:DiscreteGeometric\>

\<urn:SpatialVector\>

\<urn:SpatialPoint urn:latitude=\"15.00\" urn:longitude=\"-45.00\"/\>

\</urn:SpatialVector\>

\</urn:DiscreteGeometric\>

\</urn:Location\>

\<urn:Time\>

\<urn:TimeRange urn:startTime=\"2005-01-11T00:00:00Z\"/\>

\</urn:Time\>

\<urn:ImageFormatCode\>JPEG\</urn:ImageFormatCode\>

\<urn:ImageFormatCode\>GIF\</urn:ImageFormatCode\>

\<urn:ImageFormatCode\>PNG\</urn:ImageFormatCode\>

\</urn:Imagery\>

\</urn:MetocCDataType\>

\</urn:InformationType\>

\</urn:Request\>

\</urn:RequestList\>

## Requesting a Single Altitude Point from JMPLAT

Here is a JMBL request, for two platform parameters of the platform or
station at a single altitude point from JMPLAT:

\<urn:RequestList urn:organizationId="000032"
xmlns:urn=urn:metoc:jmcbl:jmbl\"\>

\<urn:Request urn:clientRequestId=\"AFWA1\"\>

\<urn:InformationType\>

\<urn:MetocDataType\>

\<urn:Platform\>

\<urn:PlatformLocation

\<urn:Location\>

\<urn:DiscreteGeometric\>

\<urn:SpaticalVector\>

\<urn:SpatialPoint urn:latitude=\"15.00\" urn:longitude=\"150.00\"/\>

\<urnAltitudePoint urn:Altitude=\"100: urn:altitudeUnits=\"feet\"/\>

\</urn:SpaticalVector\>

\</urn:DiscreteGeometric\>

\</urn:Location\>

\</urn:PlatformLocation\>

\<urn:PlatformParameters\>

\<urn:PlatformAttribute\>platformIdentifier\</urn:PlatformAttribute\>

\<urn:PlatformAttribute\>platformStationName\</urn:PlatformAttribute\>

\</urn:PlatformParameters\>

\</urn:Platform\>

\</urn:MetocDataType\>

\</urn:InformationType\>

\</urn:Request\>

\</urn:RequestList\>

## Requesting All Platform Information at a Single Depth Point from JMPLAT

Here is a JMBL request for all platform parameters for the
station/platform at a single depth point from JMPLAT:

\<urn:RequestList urn:organizationId="000032"
xmlns:urn=urn:metoc:jmcbl:jmbl\"\>

\<urn:Request urn:clientRequestId=\"AFWA1\"\>

\<urn:InformationType\>

\<urn:MetocDataType\>

\<urn:Platform\>

\<urn:PlatformLocation

\<urn:Location\>

\<urn:DiscreteGeometric\>

\<urn:SpaticalVector\>

\<urn:SpatialPoint urn:latitude=\"15.00\" urn:longitude=\"150.00\"/\>

\<urnDepthPoint urn:Depth=\"100: urn:depthUnits=\"feet\"/\>

\</urn:SpaticalVector\>

\</urn:DiscreteGeometric\>

\</urn:Location\>

\</urn:PlatformLocation\>

\<urn:PlatformParameters\>

\<urn:AllStationInformation \>1\</urn:AllStationInformation \>

\</urn:PlatformParameters\>

\</urn:Platform\>

\</urn:MetocDataType\>

\</urn:InformationType\>

\</urn:Request\>

\</urn:RequestList\>

# Acronyms and terms

  -----------------------------------------------------------------------
  **Acronym**        **Definition**
  ------------------ ----------------------------------------------------
  AF                 Air Force

  AFWA               Air Force Weather Agency

  API                Application Program Interface

  ASCII              American Standard Code for Information Interchange

  COTS               Commercial-of-the-shelf

  DBMS               Database Management System

  DoD                Department of Defense

  DTD                Document Type Definition

  ESC                Electronic Systems Center

  FNMOC              Fleet Numerical Meteorology and Oceanography Center

  FTP                File Transfer Protocol

  GIF                Graphical Interchange Format

  GRIB               Gridded Binary

  HTML               HyperText Markup Language

  HTTP               HyperText Transfer Protocol

  HTTPS              HyperText Transfer Protocol Secure

  JM                 Joint Meteorological and Oceanographic (METOC)

  JMAN               Joint Meteorological and Oceanographic Alpha Numeric

  JMBL               Joint Meteorological and Oceanographic Broker
                     Language

  JCAT               Joint Meteorological and Oceanographic Catalog

  JMGRID             Joint Meteorological and Oceanographic Gridded
                     Segment

  JMIM               Joint Meteorological and Oceanographic Imagery

  JMOBS              Joint Meteorological and Oceanographic (METOC)
                     Observation

  JMPLAT             Joint Meteorological and Oceanographic Platform

  JMRSOBs            Joint Meteorological and OceanographicRemote-Sensed
                     Observation

  JMSESS             Joint Meteorological and Oceanographic Space Weather

  JPEG               Joint Photographic Experts Group

  MPEG               Moving Picture Experts Group

  METOC              Meteorological and Oceanographic

  NIPRNET            Non-secure Internet Protocol Router Network

  NITF               National Imagery Transmission Format

  SIPRNET            Secure Internet Protocol Router Network

  SOAP               Simple Object Access Protocol

  URL                Uniform Resource Locator

  WDAC               Weather Data Analysis Capability

  WMO                World Meteorological Organization

  WSDL               Web Service Definition Language

  XML                Extensible Markup Language

  XSD                XML Schema Definition

  XSDL               XML Schema Definition Language
  -----------------------------------------------------------------------

# appendixes

## Appendix A -- Core JMBL Elements

This list of JMBL Elements only includes the core elements used within
the JMBL examples in Section 4 of this guide. The root elements of any
JMBL instance is either a *RequestList* or a *ResponseList*. All other
elements are descendants to these root elements. The other core JMBL
elements are the children of the *MetocDataType* element, which requires
the requestor to make a choice as to the type of METOC data being
requested (e.g. GriddedData, AlphaNumeric, Imagery, etc.).

To find the complete list of JMBL Elements please refer to the JMBL
Schema available on the JM Web Site at URL:
"h[[ttps://www.cnmoc.navy.mil/da/jmcdm.htm]{.underline}](https://www.cnmoc.navy.mil/da/jmcdm.htm)"

+-----------+----------------+---+-----------------+-------------------+
| **JMBL    | **JMBL         | * | **JMBL          | **Definition**    |
| Element** | Attribute or   | * | Sub-Elements**  |                   |
|           | Enumeration**  | R |                 |                   |
|           |                | e |                 |                   |
|           |                | q |                 |                   |
|           |                | O |                 |                   |
|           |                | p |                 |                   |
|           |                | t |                 |                   |
|           |                | * |                 |                   |
|           |                | * |                 |                   |
+===========+================+===+=================+===================+
| **Alp     |                |   | Decoded         | A request for     |
| haNumeric |                |   |                 | METOC             |
| Message** |                |   |                 | alphanumeric      |
|           |                |   |                 | message data      |
+-----------+----------------+---+-----------------+-------------------+
|           |                |   | Nondecoded      |                   |
+-----------+----------------+---+-----------------+-------------------+
| **        | ** **          |   | Location        | A request for     |
| Decoded** |                |   |                 | METOC             |
|           |                |   |                 | alphanumeric      |
|           |                |   |                 | message decoded   |
|           |                |   |                 | data              |
+-----------+----------------+---+-----------------+-------------------+
|           | productName    | O | Time            |                   |
+-----------+----------------+---+-----------------+-------------------+
|           | procductIds    | O | Parameter       |                   |
+-----------+----------------+---+-----------------+-------------------+
|           |                |   | PlatformCode    |                   |
+-----------+----------------+---+-----------------+-------------------+
|           |                |   | AlphaNume       |                   |
|           |                |   | ricBulletinType |                   |
+-----------+----------------+---+-----------------+-------------------+
| **Grid    | ** **          |   | GriddedA        | A request for     |
| dedData** |                |   | nalysisForecast | METOC gridded     |
|           |                |   |                 | data              |
+-----------+----------------+---+-----------------+-------------------+
|           |                |   | Gri             |                   |
|           |                |   | ddedClimatology |                   |
+-----------+----------------+---+-----------------+-------------------+
|           |                |   | Const           |                   |
|           |                |   | raintParameters |                   |
+-----------+----------------+---+-----------------+-------------------+
|           |                |   | Location        |                   |
+-----------+----------------+---+-----------------+-------------------+
|           |                |   | Time            |                   |
+-----------+----------------+---+-----------------+-------------------+
|           |                |   | Process         |                   |
+-----------+----------------+---+-----------------+-------------------+
|           |                |   | GridParameter   |                   |
+-----------+----------------+---+-----------------+-------------------+
|           | ** **          | * | ReProjection    | ** **             |
|           |                | * |                 |                   |
|           |                |   |                 |                   |
|           |                | * |                 |                   |
|           |                | * |                 |                   |
+-----------+----------------+---+-----------------+-------------------+
| **        | ** **          |   | Location        | A request for     |
| Imagery** |                |   |                 | METOC imagery     |
|           |                |   |                 | data              |
| **        |                |   |                 |                   |
| Imagery** |                |   |                 |                   |
+-----------+----------------+---+-----------------+-------------------+
|           | numberImages   | O | Time            | If the requester  |
|           |                |   |                 | leaves to         |
|           |                |   |                 | numberImages      |
|           |                |   |                 | attribute set to  |
|           |                |   |                 | \"0\", then it is |
|           |                |   |                 | assumed the only  |
|           |                |   |                 | metadata will be  |
|           |                |   |                 | returned in the   |
|           |                |   |                 | response. If the  |
|           |                |   |                 | numberImages is   |
|           |                |   |                 | \> 0, than the    |
|           |                |   |                 | response will     |
|           |                |   |                 | contain images    |
+-----------+----------------+---+-----------------+-------------------+
|           | ** **          |   | ImageName       |                   |
+-----------+----------------+---+-----------------+-------------------+
|           | ** **          |   | ImageId         |                   |
+-----------+----------------+---+-----------------+-------------------+
|           | ** **          |   | I               |                   |
|           |                |   | mageDescription |                   |
+-----------+----------------+---+-----------------+-------------------+
|           | ** **          |   | ImageFormatCode |                   |
+-----------+----------------+---+-----------------+-------------------+
|           | ** **          |   | ImageTypeCode   |                   |
+-----------+----------------+---+-----------------+-------------------+
| *         |                |   | METOCDataType   | METOC data being  |
| *Informat |                |   |                 | requested         |
| ionType** |                |   |                 |                   |
+-----------+----------------+---+-----------------+-------------------+
| **METOCD  |                |   | Imagery (JMIM)  | A request for a   |
| ataType** |                |   |                 | specific type of  |
|           |                |   |                 | METOC data. The   |
|           |                |   |                 | requester is      |
|           |                |   |                 | required to make  |
|           |                |   |                 | a choice          |
+-----------+----------------+---+-----------------+-------------------+
|           |                |   | GriddedData     |                   |
|           |                |   | JMGRID or       |                   |
|           |                |   | JMCLIM          |                   |
+-----------+----------------+---+-----------------+-------------------+
|           |                |   | Alph            |                   |
|           |                |   | aNumericMessage |                   |
|           |                |   | (JMAN)          |                   |
+-----------+----------------+---+-----------------+-------------------+
|           |                |   | Observation     |                   |
|           |                |   | (JMOBS)         |                   |
+-----------+----------------+---+-----------------+-------------------+
|           |                |   | RemoteSensed    |                   |
|           |                |   | (JMRSOB)        |                   |
+-----------+----------------+---+-----------------+-------------------+
|           |                |   | Climatology     |                   |
|           |                |   | (JMCLIM)        |                   |
+-----------+----------------+---+-----------------+-------------------+
|           |                |   | Product (JMCAT) |                   |
+-----------+----------------+---+-----------------+-------------------+
|           |                |   | SpaceWeather    |                   |
|           |                |   | (JMSESS)        |                   |
+-----------+----------------+---+-----------------+-------------------+
|           |                |   | Platform        |                   |
|           |                |   | (JMPLAT)        |                   |
+-----------+----------------+---+-----------------+-------------------+
|           |                |   | BestSource      |                   |
|           |                |   | JMOBS or JMGRID |                   |
+-----------+----------------+---+-----------------+-------------------+
| **Obse    |                |   | Const           | A request for     |
| rvation** |                |   | raintParameters | METOC observation |
|           |                |   |                 | data              |
| **Obse    |                |   |                 |                   |
| rvation** |                |   |                 |                   |
+-----------+----------------+---+-----------------+-------------------+
|           |                |   | Location        |                   |
+-----------+----------------+---+-----------------+-------------------+
|           |                |   | PlatformCode    |                   |
+-----------+----------------+---+-----------------+-------------------+
|           |                |   | Observ          |                   |
|           |                |   | ationParameters |                   |
+-----------+----------------+---+-----------------+-------------------+
|           |                |   | Time            |                   |
+-----------+----------------+---+-----------------+-------------------+
|           |                |   | Observatio      |                   |
|           |                |   | nReportTypeCode |                   |
+-----------+----------------+---+-----------------+-------------------+
| **P       |                |   | P               | A request for     |
| latform** |                |   | latformLocation | METOC platform    |
|           |                |   |                 | data.             |
+-----------+----------------+---+-----------------+-------------------+
|           |                |   | Pla             |                   |
|           |                |   | tformParameters |                   |
+-----------+----------------+---+-----------------+-------------------+
|           |                |   | AllSta          |                   |
|           |                |   | tionInformation |                   |
+-----------+----------------+---+-----------------+-------------------+
| **        |                |   | InformationType | A request for     |
| Request** |                |   |                 | METOC data.       |
|           |                |   |                 | Usage: The        |
|           |                |   |                 | clientRequestId   |
|           |                |   |                 | attribute may be  |
|           |                |   |                 | used by the       |
|           |                |   |                 | requester to      |
|           |                |   |                 | identify which    |
|           |                |   |                 | response map to a |
|           |                |   |                 | request. Only one |
|           |                |   |                 | informationType   |
|           |                |   |                 | may be requested  |
|           |                |   |                 | at a time.        |
+-----------+----------------+---+-----------------+-------------------+
|           | c              | O | RequestFormat   | The identifier    |
|           | lientRequestId |   |                 | provided by a     |
|           |                |   |                 | client to track a |
|           |                |   |                 | response with a   |
|           |                |   |                 | request.          |
+-----------+----------------+---+-----------------+-------------------+
|           |                |   | Subscription    |                   |
+-----------+----------------+---+-----------------+-------------------+
| **Requ    | organizationId | O | (string)        | Identifies the    |
| estList** |                |   | minLength=1 and | requestors        |
|           |                |   | maxLength=32    | organization      |
+-----------+----------------+---+-----------------+-------------------+
|           |                |   | Request         | A set of requests |
|           |                | R |                 | for METOC data.   |
|           |                |   |                 | Each request can  |
|           |                |   |                 | be for a          |
|           |                |   |                 | different type of |
|           |                |   |                 | METOC data. A     |
|           |                |   |                 | responseList will |
|           |                |   |                 | be returned for   |
|           |                |   |                 | each requestList  |
|           |                |   |                 | sent in. Each     |
|           |                |   |                 | request will be   |
|           |                |   |                 | mapped to a       |
|           |                |   |                 | response within   |
|           |                |   |                 | the responseList. |
+-----------+----------------+---+-----------------+-------------------+
| **R       |                | O | DataItem        | A response to a   |
| esponse** |                |   |                 | request for METOC |
|           |                |   |                 | data. Each        |
|           |                |   |                 | response may be   |
|           |                |   |                 | mapped to a       |
|           |                |   |                 | request by using  |
|           |                |   |                 | the               |
|           |                |   |                 | clientRequestId   |
|           |                |   |                 | attribute.        |
+-----------+----------------+---+-----------------+-------------------+
| **Respo   |                | O | Response        | A set of          |
| nseList** |                |   |                 | responses to      |
|           |                |   |                 | requests for      |
|           |                |   |                 | METOC data.       |
+-----------+----------------+---+-----------------+-------------------+

## Appendix B -- Supplemental JMBL Elements

This list of the JMBL Elements include only the supplemental elements
used within the JMBL examples in Section 4 of this guide. To find the
complete list of JMBL Elements please please refer to the JMBL Schema
available on the JM Web Site at URL:
"h[[ttps://www.cnmoc.navy.mil/da/jmcdm.htm]{.underline}](https://www.cnmoc.navy.mil/da/jmcdm.htm)"

+--------------+----------------+----------+---+-----------------------+
| **JMBL       | **JMBL         | **Sub    | * | **Definition**        |
| Element**    | Attribute      | El       | * |                       |
|              | /Enumeration** | ements** | R |                       |
|              |                |          | e |                       |
|              |                |          | q |                       |
|              |                |          | / |                       |
|              |                |          | O |                       |
|              |                |          | p |                       |
|              |                |          | t |                       |
|              |                |          | * |                       |
|              |                |          | * |                       |
+==============+================+==========+===+=======================+
| [**Bou       | low            |          | R | The area describing a |
| ndingBox **] | erLeftLatitude |          |   | square                |
| (../../../.. | (latitude      |          |   |                       |
| /../../../.. | type)          |          |   |                       |
| /C:%5CDocume |                |          |   |                       |
| nts%20and%20 |                |          |   |                       |
| Settings%5CF |                |          |   |                       |
| arleyr%5CDes |                |          |   |                       |
| ktop%5CJM2JM |                |          |   |                       |
| BLXREF(RICKY |                |          |   |                       |
| 'S%20EDITS). |                |          |   |                       |
| xls#RANGE!E7 |                |          |   |                       |
| %23RANGE!E7) |                |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
|              | lowe           |          | R |                       |
|              | rLeftLongitude |          |   |                       |
|              | (longitude     |          |   |                       |
|              | type)          |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
|              | uppe           |          | R |                       |
|              | rRightLatitude |          |   |                       |
|              | (latitude      |          |   |                       |
|              | type)          |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
|              | upper          |          | R |                       |
|              | RightLongitude |          |   |                       |
|              | (longitude     |          |   |                       |
|              | type)          |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| [*           | compoun        |          | R | A requested METOC     |
| *CompoundPar | dParameterName |          |   | compoundParameter     |
| ameter **](. | (string)       |          |   |                       |
| ./../../../. |                |          |   |                       |
| ./../../../C |                |          |   |                       |
| :%5CDocument |                |          |   |                       |
| s%20and%20Se |                |          |   |                       |
| ttings%5CFar |                |          |   |                       |
| leyr%5CDeskt |                |          |   |                       |
| op%5CJM2JMBL |                |          |   |                       |
| XREF(RICKY'S |                |          |   |                       |
| %20EDITS).xl |                |          |   |                       |
| s#RANGE!E16% |                |          |   |                       |
| 23RANGE!E16) |                |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| [**Dept      | depth          |          | O | The depth of a        |
| hPoint **](. | (decimal)      |          |   | spatialPoint (min:100 |
| ./../../../. |                |          |   | to max:12000)\        |
| ./../../../C |                |          |   | Units:(centimeters,   |
| :%5CDocument |                |          |   | fathoms, feet,        |
| s%20and%20Se |                |          |   | inches, meters)       |
| ttings%5CFar |                |          |   |                       |
| leyr%5CDeskt |                |          |   |                       |
| op%5CJM2JMBL |                |          |   |                       |
| XREF(RICKY'S |                |          |   |                       |
| %20EDITS).xl |                |          |   |                       |
| s#RANGE!E48% |                |          |   |                       |
| 23RANGE!E48) |                |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
|              | depthUnits     |          | O |                       |
|              | (string)       |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| [*           | geometric      |          | O | A definition of       |
| *DiscreteGeo | Name  (string) |          |   | discrete spatial      |
| metric **](. |                |          |   | points.               |
| ./../../../. |                |          |   |                       |
| ./../../../C |                |          |   |                       |
| :%5CDocument |                |          |   |                       |
| s%20and%20Se |                |          |   |                       |
| ttings%5CFar |                |          |   |                       |
| leyr%5CDeskt |                |          |   |                       |
| op%5CJM2JMBL |                |          |   |                       |
| XREF(RICKY'S |                |          |   |                       |
| %20EDITS).xl |                |          |   |                       |
| s#RANGE!E50% |                |          |   |                       |
| 23RANGE!E50) |                |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| [**ErrorCon  | error          |          | R | An error in a JMBL    |
| dition **](. | ConditionValue |          |   | request. The text     |
| ./../../../. | (string)       |          |   | describing details of |
| ./../../../C |                |          |   | the error condition   |
| :%5CDocument |                |          |   |                       |
| s%20and%20Se |                |          |   |                       |
| ttings%5CFar |                |          |   |                       |
| leyr%5CDeskt |                |          |   |                       |
| op%5CJM2JMBL |                |          |   |                       |
| XREF(RICKY'S |                |          |   |                       |
| %20EDITS).xl |                |          |   |                       |
| s#RANGE!E51% |                |          |   |                       |
| 23RANGE!E51) |                |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
|              | errorDescri    |          | O |                       |
|              | ption (string) |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| [**GridPar   |                |          |   | A requested METOC     |
| ameter **](. |                |          |   | parameter             |
| ./../../../. |                |          |   |                       |
| ./../../../C |                |          |   |                       |
| :%5CDocument |                |          |   |                       |
| s%20and%20Se |                |          |   |                       |
| ttings%5CFar |                |          |   |                       |
| leyr%5CDeskt |                |          |   |                       |
| op%5CJM2JMBL |                |          |   |                       |
| XREF(RICKY'S |                |          |   |                       |
| %20EDITS).xl |                |          |   |                       |
| s#RANGE!E64% |                |          |   |                       |
| 23RANGE!E64) |                |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| [            | ** **          | **ListCo |   | The name of an image  |
| **ImageDescr |                | nstraint |   |                       |
| iption **](. |                | LikeCons |   |                       |
| ./../../../. |                | traint** |   |                       |
| ./../../../C |                |          |   |                       |
| :%5CDocument |                |          |   |                       |
| s%20and%20Se |                |          |   |                       |
| ttings%5CFar |                |          |   |                       |
| leyr%5CDeskt |                |          |   |                       |
| op%5CJM2JMBL |                |          |   |                       |
| XREF(RICKY'S |                |          |   |                       |
| %20EDITS).xl |                |          |   |                       |
| s#RANGE!E65% |                |          |   |                       |
| 23RANGE!E65) |                |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| [**ImageForm | **[Domain      |          |   | An image format code  |
| atCode **](. | Values]{       |          |   |                       |
| ./../../../. | .underline}**: |          |   |                       |
| ./../../../C | BIF0, BIL,     |          |   |                       |
| :%5CDocument | BMP, COARDS,   |          |   |                       |
| s%20and%20Se | DEF, DXF,      |          |   |                       |
| ttings%5CFar | GEOTIFF, GIF,  |          |   |                       |
| leyr%5CDeskt | GRIB1, GRIB2,  |          |   |                       |
| op%5CJM2JMBL | HDF, HDR, IMG, |          |   |                       |
| XREF(RICKY'S | JIF, JPEG,     |          |   |                       |
| %20EDITS).xl | MIF, MPEG,     |          |   |                       |
| s#RANGE!E66% | MTF, NCDF,     |          |   |                       |
| 23RANGE!E66) | netCDF, NITF,  |          |   |                       |
|              | PBM, PDF, PNG, |          |   |                       |
|              | POLAR, R29,    |          |   |                       |
|              | SID, TFD,      |          |   |                       |
|              | TIFF, UNISIPS, |          |   |                       |
|              | V29, WMF, XBM, |          |   |                       |
|              | XWD            |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| [**LatestTi  | 1= Request for |          |   | The code that denotes |
| meFlag **](. | latest data    |          |   | whether the request   |
| ./../../../. | (string)       |          |   | is for the latest     |
| ./../../../C |                |          |   | data rather than data |
| :%5CDocument |                |          |   | for a specified time  |
| s%20and%20Se |                |          |   | or time period.       |
| ttings%5CFar |                |          |   |                       |
| leyr%5CDeskt |                |          |   |                       |
| op%5CJM2JMBL |                |          |   |                       |
| XREF(RICKY'S |                |          |   |                       |
| %20EDITS).xl |                |          |   |                       |
| s#RANGE!E73% |                |          |   |                       |
| 23RANGE!E73) |                |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| **Like       | (string)       |          |   |                       |
| Constraint** |                |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| **List       | (string)       |          |   |                       |
| Constraint** |                |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| [**Lo        | ** **          | **Bou    |   | The location          |
| cation **](. |                | ndingBox |   | associated with a     |
| ./../../../. |                | Bounding |   | data request or       |
| ./../../../C |                | Circle** |   | response Either a     |
| :%5CDocument |                |          |   | spatial domain        |
| s%20and%20Se |                | **Dis    |   | defining the          |
| ttings%5CFar |                | creteGeo |   | horizontal and        |
| leyr%5CDeskt |                | metric** |   | vertical extent of    |
| op%5CJM2JMBL |                |          |   | the area, or the      |
| XREF(RICKY'S |                | **Ar     |   | definition of         |
| %20EDITS).xl |                | eaName** |   | discrete spatial      |
| s#RANGE!E77% |                |          |   | points                |
| 23RANGE!E77) |                |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| [**Maste     | **[Domain      |          |   | The Master Layer name |
| rLayerName * | Values]{       |          |   | identifying the       |
| *](../../../ | .underline}**: |          |   | unique layer and      |
| ../../../../ |                |          |   | level information.    |
| ../C:%5CDocu |                |          |   |                       |
| ments%20and% |                |          |   |                       |
| 20Settings%5 |                |          |   |                       |
| CFarleyr%5CD |                |          |   |                       |
| esktop%5CJM2 |                |          |   |                       |
| JMBLXREF(RIC |                |          |   |                       |
| KY'S%20EDITS |                |          |   |                       |
| ).xls#RANGE! |                |          |   |                       |
| %23REF!%23RA |                |          |   |                       |
| NGE!%23REF!) |                |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | 0DEG:Level of  |          |   |                       |
|              | 0 deg C        |          |   |                       |
|              | isotherm       |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | ADCL:Level of  |          |   |                       |
|              | adiabatic      |          |   |                       |
|              | condensation   |          |   |                       |
|              | lifted from    |          |   |                       |
|              | the surface    |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | BCBL: Boundary |          |   |                       |
|              | layer cloud    |          |   |                       |
|              | bottom level   |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | BCTL: Boundary |          |   |                       |
|              | layer cloud    |          |   |                       |
|              | top level      |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | BCY: Boundary  |          |   |                       |
|              | layer cloud    |          |   |                       |
|              | layer          |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | CBL: Cloud     |          |   |                       |
|              | base level     |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | CCBL:          |          |   |                       |
|              | Convective     |          |   |                       |
|              | cloud bottom   |          |   |                       |
|              | level          |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | CCTL:          |          |   |                       |
|              | Convective     |          |   |                       |
|              | cloud top      |          |   |                       |
|              | level          |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | CCY:           |          |   |                       |
|              | Convective     |          |   |                       |
|              | cloud layer    |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | CTL: Level of  |          |   |                       |
|              | cloud tops     |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | DBLL: Depth    |          |   |                       |
|              | below land     |          |   |                       |
|              | surface        |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | DBLY: Layer    |          |   |                       |
|              | between two    |          |   |                       |
|              | depths below   |          |   |                       |
|              | land surface   |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | DBSL: Depth    |          |   |                       |
|              | below sea      |          |   |                       |
|              | level          |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | DCBL: Deep     |          |   |                       |
|              | convective     |          |   |                       |
|              | cloud bottom   |          |   |                       |
|              | level          |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | DCTL: Deep     |          |   |                       |
|              | convective     |          |   |                       |
|              | cloud top      |          |   |                       |
|              | level          |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | EATM: Entire   |          |   |                       |
|              | atmosphere     |          |   |                       |
|              | (considered as |          |   |                       |
|              | a single       |          |   |                       |
|              | layer)         |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** Mas       | EHLT:          |          |   |                       |
| terLayerName | Equilibrium    |          |   |                       |
| (Cont.)**    | level          |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | EOCN: Entire   |          |   |                       |
|              | ocean          |          |   |                       |
|              | (considered as |          |   |                       |
|              | a single       |          |   |                       |
|              | layer)         |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | ETAL:ETA level |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | ETAY: Layer    |          |   |                       |
|              | between two    |          |   |                       |
|              | ETA levels     |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | GCBL: Grid     |          |   |                       |
|              | scale cloud    |          |   |                       |
|              | bottom level   |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | GCTL: Grid     |          |   |                       |
|              | scale cloud    |          |   |                       |
|              | top level      |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | GPML:          |          |   |                       |
|              | Specified      |          |   |                       |
|              | altitude above |          |   |                       |
|              | MSL            |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | GPMY: Layer    |          |   |                       |
|              | between two    |          |   |                       |
|              | specified      |          |   |                       |
|              | altitudes      |          |   |                       |
|              | above MSL      |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | HCBL: High     |          |   |                       |
|              | cloud bottom   |          |   |                       |
|              | level          |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | HCTL: High     |          |   |                       |
|              | cloud top      |          |   |                       |
|              | level          |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | HCY: High      |          |   |                       |
|              | cloud layer    |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
|              | HGLH:          |          |   |                       |
|              | Specified      |          |   |                       |
|              | height level   |          |   |                       |
|              | above ground   |          |   |                       |
|              | (high          |          |   |                       |
|              | precision)     |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | HTFL: Highest  |          |   |                       |
|              | troposphere    |          |   |                       |
|              | freezing level |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | HTGY: Layer    |          |   |                       |
|              | between two    |          |   |                       |
|              | specified      |          |   |                       |
|              | height levels  |          |   |                       |
|              | above ground   |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | HTIO:          |          |   |                       |
|              | Specified      |          |   |                       |
|              | height level   |          |   |                       |
|              | above MSL      |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | HYBL: Hybrid   |          |   |                       |
|              | level          |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | HYBY: Layer    |          |   |                       |
|              | between two    |          |   |                       |
|              | hybrid levels  |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | IBYH: Layer    |          |   |                       |
|              | between two    |          |   |                       |
|              | isobaric       |          |   |                       |
|              | surfaces (high |          |   |                       |
|              | precision)     |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | IBYM: Layer    |          |   |                       |
|              | between two    |          |   |                       |
|              | isobaric       |          |   |                       |
|              | surfaces       |          |   |                       |
|              | (mixed         |          |   |                       |
|              | precision)     |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** Mas       | ISBL: Isobaric |          |   |                       |
| terLayerName | level          |          |   |                       |
| (Cont.)**    |                |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | ISBY: Layer    |          |   |                       |
|              | between two    |          |   |                       |
|              | isobaric       |          |   |                       |
|              | levels         |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | LCBL: Low      |          |   |                       |
|              | cloud bottom   |          |   |                       |
|              | level          |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | LCTL: Low      |          |   |                       |
|              | cloud top      |          |   |                       |
|              | level          |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | LCY: Low cloud |          |   |                       |
|              | layer          |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | MCBL: Middle   |          |   |                       |
|              | cloud bottom   |          |   |                       |
|              | level          |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | MCTL: Middle   |          |   |                       |
|              | cloud top      |          |   |                       |
|              | level          |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | MCY: Mid cloud |          |   |                       |
|              | layer          |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | MSL: Mean sea  |          |   |                       |
|              | level          |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | MTHE: Maximum  |          |   |                       |
|              | equivalent     |          |   |                       |
|              | potential      |          |   |                       |
|              | temperature    |          |   |                       |
|              | level          |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | MWSL: Maximum  |          |   |                       |
|              | wind level     |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | NTAT: Nominal  |          |   |                       |
|              | top of the     |          |   |                       |
|              | atmosphere     |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | PTLR: Layer    |          |   |                       |
|              | between ground |          |   |                       |
|              | and 850 hPa    |          |   |                       |
|              | level          |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | PVL: Potential |          |   |                       |
|              | vorticity (pv) |          |   |                       |
|              | surface        |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | SBLR: Layer    |          |   |                       |
|              | between lowest |          |   |                       |
|              | soil layer     |          |   |                       |
|              | (layer 112)    |          |   |                       |
|              | and 800cm      |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | SCBL: Shallow  |          |   |                       |
|              | convective     |          |   |                       |
|              | cloud bottom   |          |   |                       |
|              | level          |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | SCTL: Shallow  |          |   |                       |
|              | convective     |          |   |                       |
|              | cloud top      |          |   |                       |
|              | level          |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | SFC: Ground or |          |   |                       |
|              | water surface  |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | SGYH: Layer    |          |   |                       |
|              | between two    |          |   |                       |
|              | sigma levels   |          |   |                       |
|              | (high          |          |   |                       |
|              | precision)     |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** Mas       | SIGL: Sigma    |          |   |                       |
| terLayerName | level          |          |   |                       |
| (Cont.)**    |                |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | SIGY: Layer    |          |   |                       |
|              | between two    |          |   |                       |
|              | sigma levels   |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | SLAB: Sea      |          |   |                       |
|              | bottom         |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | SPDL: Level at |          |   |                       |
|              | specified      |          |   |                       |
|              | pressure       |          |   |                       |
|              | difference     |          |   |                       |
|              | from ground to |          |   |                       |
|              | level          |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | SPDY: Layer    |          |   |                       |
|              | between two    |          |   |                       |
|              | levels at      |          |   |                       |
|              | specified      |          |   |                       |
|              | pressure       |          |   |                       |
|              | difference     |          |   |                       |
|              | from ground to |          |   |                       |
|              | level          |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | TGL: Specified |          |   |                       |
|              | height level   |          |   |                       |
|              | above ground   |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | THEL:          |          |   |                       |
|              | Isentropic     |          |   |                       |
|              | (theta) level  |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | THEY: Layer    |          |   |                       |
|              | between two    |          |   |                       |
|              | isentropic     |          |   |                       |
|              | levels         |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | TMPL:          |          |   |                       |
|              | Isothermal     |          |   |                       |
|              | level          |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | TRO:           |          |   |                       |
|              | Tropopause     |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| [**M         | (time)         |          |   | The GMT that denotes  |
| odifiedSince |                |          |   | whether the request   |
| Time **](../ |                |          |   | is for data that has  |
| ../../../../ |                |          |   | been modified since   |
| ../../../C:% |                |          |   | the specified time.   |
| 5CDocuments% |                |          |   |                       |
| 20and%20Sett |                |          |   |                       |
| ings%5CFarle |                |          |   |                       |
| yr%5CDesktop |                |          |   |                       |
| %5CJM2JMBLXR |                |          |   |                       |
| EF(RICKY'S%2 |                |          |   |                       |
| 0EDITS).xls# |                |          |   |                       |
| RANGE!E145%2 |                |          |   |                       |
| 3RANGE!E145) |                |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| [**Obser     | ** **          | **P      |   | A choice between a    |
| vationParame |                | arameter |   | Parameter and         |
| ters **](../ |                | Com      |   | CompoundParameter. A  |
| ../../../../ |                | poundPar |   | CompoundParameter are |
| ../../../C:% |                | ameter** |   | parameters which      |
| 5CDocuments% |                |          |   | return more than one  |
| 20and%20Sett |                |          |   | parameter.            |
| ings%5CFarle |                |          |   |                       |
| yr%5CDesktop |                |          |   |                       |
| %5CJM2JMBLXR |                |          |   |                       |
| EF(RICKY'S%2 |                |          |   |                       |
| 0EDITS).xls# |                |          |   |                       |
| RANGE!E618%2 |                |          |   |                       |
| 3RANGE!E618) |                |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| [**Param     | parameterName  |          | R | A requested METOC     |
| eter **](../ | (string) (See  |          | O | parameter             |
| ../../../../ | Appendix C for |          | O |                       |
| ../../../C:% | JMBL           |          |   |                       |
| 5CDocuments% | parameter)     |          |   |                       |
| 20and%20Sett | period         |          |   |                       |
| ings%5CFarle | (integer) unit |          |   |                       |
| yr%5CDesktop | (string)       |          |   |                       |
| %5CJM2JMBLXR |                |          |   |                       |
| EF(RICKY'S%2 |                |          |   |                       |
| 0EDITS).xls# |                |          |   |                       |
| RANGE!B619%2 |                |          |   |                       |
| 3RANGE!B619) |                |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| [**Platform  | ** **          | **Plat   |   | Used to make a choice |
| Code **](../ |                | formList |   | between a platform    |
| ../../../../ |                | Count    |   | and CountryCode       |
| ../../../C:% |                | ryCode** |   |                       |
| 5CDocuments% |                |          |   |                       |
| 20and%20Sett |                |          |   |                       |
| ings%5CFarle |                |          |   |                       |
| yr%5CDesktop |                |          |   |                       |
| %5CJM2JMBLXR |                |          |   |                       |
| EF(RICKY'S%2 |                |          |   |                       |
| 0EDITS).xls# |                |          |   |                       |
| RANGE!E620%2 |                |          |   |                       |
| 3RANGE!E620) |                |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| [**Platfo    | (string)       |          |   | The identifier that   |
| rmId **](../ |                |          |   | represents the source |
| ../../../../ |                |          |   | of the observation    |
| ../../../C:% |                |          |   |                       |
| 5CDocuments% |                |          |   |                       |
| 20and%20Sett |                |          |   |                       |
| ings%5CFarle |                |          |   |                       |
| yr%5CDesktop |                |          |   |                       |
| %5CJM2JMBLXR |                |          |   |                       |
| EF(RICKY'S%2 |                |          |   |                       |
| 0EDITS).xls# |                |          |   |                       |
| RANGE!E621%2 |                |          |   |                       |
| 3RANGE!E621) |                |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| [**Platform  | ** **          | **Plat   |   | Used to associate the |
| List **](../ |                | formId** |   | platformId with the   |
| ../../../../ |                |          |   | networkType           |
| ../../../C:% |                | **Netwo  |   |                       |
| 5CDocuments% |                | rkType** |   |                       |
| 20and%20Sett |                |          |   |                       |
| ings%5CFarle |                |          |   |                       |
| yr%5CDesktop |                |          |   |                       |
| %5CJM2JMBLXR |                |          |   |                       |
| EF(RICKY'S%2 |                |          |   |                       |
| 0EDITS).xls# |                |          |   |                       |
| RANGE!E622%2 |                |          |   |                       |
| 3RANGE!E622) |                |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| [**Pro       | center         |          | O | An organization that  |
| cess **](../ | (string)       |          | O | provides METOC data.  |
| ../../../../ | subcenter      |          |   |                       |
| ../../../C:% | (string)       |          |   |                       |
| 5CDocuments% |                |          |   |                       |
| 20and%20Sett |                |          |   |                       |
| ings%5CFarle |                |          |   |                       |
| yr%5CDesktop |                |          |   |                       |
| %5CJM2JMBLXR |                |          |   |                       |
| EF(RICKY'S%2 |                |          |   |                       |
| 0EDITS).xls# |                |          |   |                       |
| RANGE!E624%2 |                |          |   |                       |
| 3RANGE!E624) |                |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| [**Process   | [Domain        |          |   | The process name      |
| Name **](../ | Values         |          |   | identifying the       |
| ../../../../ | :]{.underline} |          |   | unique process        |
| ../../../C:% |                |          |   | information           |
| 5CDocuments% |                |          |   |                       |
| 20and%20Sett |                |          |   |                       |
| ings%5CFarle |                |          |   |                       |
| yr%5CDesktop |                |          |   |                       |
| %5CJM2JMBLXR |                |          |   |                       |
| EF(RICKY'S%2 |                |          |   |                       |
| 0EDITS).xls# |                |          |   |                       |
| RANGE!E626%2 |                |          |   |                       |
| 3RANGE!E626) |                |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | 3DVAR:         |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | ACMES:         |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | ADVCLD:        |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | AGRMET:        |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | ASPAM:         |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | BFM:           |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | COAMPS:        |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | DAF:           |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | DBDB-V:        |          |   |                       |
|              | Digital        |          |   |                       |
|              | Bathymetric    |          |   |                       |
|              | Database       |          |   |                       |
|              | -Variable      |          |   |                       |
|              | Resolution     |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | DCF:           |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | DIOPS:         |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | DTA:           |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | E_ETA:         |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | EFS:           |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | ESG:           |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | ETA:           |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | GDB:           |          |   |                       |
|              | Geophysical    |          |   |                       |
|              | Database       |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | GDEM-V:        |          |   |                       |
|              | Generalized    |          |   |                       |
|              | Digital        |          |   |                       |
|              | Environment    |          |   |                       |
|              | Model -        |          |   |                       |
|              | Variable       |          |   |                       |
|              | Resolution     |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | GEO_PRECIP:    |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | GFDN:          |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | GFS:           |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | HFBL: High     |          |   |                       |
|              | Frequency      |          |   |                       |
|              | Bottom Loss    |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** [Pr       | ICECAP:        |          |   |                       |
| ocessName ]( |                |          |   |                       |
| ../../../../ |                |          |   |                       |
| ../../../../ |                |          |   |                       |
| C:%5CDocumen |                |          |   |                       |
| ts%20and%20S |                |          |   |                       |
| ettings%5CFa |                |          |   |                       |
| rleyr%5CDesk |                |          |   |                       |
| top%5CJM2JMB |                |          |   |                       |
| LXREF(RICKY' |                |          |   |                       |
| S%20EDITS).x |                |          |   |                       |
| ls#RANGE!E62 |                |          |   |                       |
| 6%23RANGE!E6 |                |          |   |                       |
| 26)(Cont.)** |                |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | IFM:           |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | LFBL: Low      |          |   |                       |
|              | Frequency      |          |   |                       |
|              | Bottom Loss    |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | LRCF:          |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | LSM:           |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | MM5:           |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | MODAS:         |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | MODAS-LITE:    |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | NCOM:          |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | NOGAPS:        |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | NW3:           |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | OAML:          |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | OTIS:          |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | PRISM:         |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | RMA2: Research |          |   |                       |
|              | Management     |          |   |                       |
|              | Associates     |          |   |                       |
|              | Model - 2      |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | SFCTMP:        |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | SILS:          |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | SN: Shipping   |          |   |                       |
|              | Noise          |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | SNODEP:        |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | SRCF:          |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** [Pr       | SWAFS:         |          |   |                       |
| ocessName ]( |                |          |   |                       |
| ../../../../ |                |          |   |                       |
| ../../../../ |                |          |   |                       |
| C:%5CDocumen |                |          |   |                       |
| ts%20and%20S |                |          |   |                       |
| ettings%5CFa |                |          |   |                       |
| rleyr%5CDesk |                |          |   |                       |
| top%5CJM2JMB |                |          |   |                       |
| LXREF(RICKY' |                |          |   |                       |
| S%20EDITS).x |                |          |   |                       |
| ls#RANGE!E62 |                |          |   |                       |
| 6%23RANGE!E6 |                |          |   |                       |
| 26)(Cont.)** |                |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | TOPS:          |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | UKMO:          |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | VSS: Volume    |          |   |                       |
|              | Scattering     |          |   |                       |
|              | Strength       |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | WAM:           |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | WRF:           |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | WRN: Wind      |          |   |                       |
|              | Residual Noise |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | WWMCA-M:       |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| ** **        | WWMCA-U:       |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| [**RequestFo | dist           |          | O | The requested format  |
| rmat **](../ | ributionMethod |          | O | for a response of     |
| ../../../../ | (string)       |          | O | METOC data            |
| ../../../C:% | respo          |          | O |                       |
| 5CDocuments% | nseContainment |          | O |                       |
| 20and%20Sett | (string)       |          | O |                       |
| ings%5CFarle | dis            |          | O |                       |
| yr%5CDesktop | tributionForma |          | O |                       |
| %5CJM2JMBLXR | tCode(\*\*\*\* |          | O |                       |
| EF(RICKY'S%2 | )              |          |   |                       |
| 0EDITS).xls# | distributionC  |          |   |                       |
| RANGE!E679%2 | ompressionCode |          |   |                       |
| 3RANGE!E679) | (string)       |          |   |                       |
|              | netw           |          |   |                       |
|              | orkAddressName |          |   |                       |
|              | (anyURI)       |          |   |                       |
|              | t              |          |   |                       |
|              | ransferAccessI |          |   |                       |
|              | nstructionCode |          |   |                       |
|              | (string)       |          |   |                       |
|              | attach         |          |   |                       |
|              | mentAccessCode |          |   |                       |
|              | (string)       |          |   |                       |
|              | MIMEtype       |          |   |                       |
|              | (string)       |          |   |                       |
|              | maximumSize    |          |   |                       |
|              | (long)         |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| [**SpatialP  | latitude       |          | R | An earth located      |
| oint **](../ | (latitude      |          | R | point                 |
| ../../../../ | type)          |          |   |                       |
| ../../../C:% | longitude      |          |   |                       |
| 5CDocuments% | (longitude     |          |   |                       |
| 20and%20Sett | type)          |          |   |                       |
| ings%5CFarle |                |          |   |                       |
| yr%5CDesktop |                |          |   |                       |
| %5CJM2JMBLXR |                |          |   |                       |
| EF(RICKY'S%2 |                |          |   |                       |
| 0EDITS).xls# |                |          |   |                       |
| RANGE!E688%2 |                |          |   |                       |
| 3RANGE!E688) |                |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| [**SpatialVe | ** **          | **Spat   |   | A vector defining the |
| ctor **](../ |                | ialPoint |   | discreteGeometric. If |
| ../../../../ |                | Sp       |   | it\'s point, points,  |
| ../../../C:% |                | atialInc |   | or vector there is 1  |
| 5CDocuments% |                | rement** |   | spatialVector. Area   |
| 20and%20Sett |                |          |   | would have 2, and     |
| ings%5CFarle |                |          |   | volume 3, hence the   |
| yr%5CDesktop |                |          |   | 1-3 specification on  |
| %5CJM2JMBLXR |                |          |   | spatialVector.        |
| EF(RICKY'S%2 |                |          |   |                       |
| 0EDITS).xls# |                |          |   |                       |
| RANGE!E689%2 |                |          |   |                       |
| 3RANGE!E689) |                |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| [**The       | theaterName    |          | O | The theater           |
| ater **](../ | (string)       |          | O | information for a     |
| ../../../../ | rowResolution  |          | O | process               |
| ../../../C:% | (float)        |          | O |                       |
| 5CDocuments% | co             |          |   |                       |
| 20and%20Sett | lumnResolution |          |   |                       |
| ings%5CFarle | (float)        |          |   |                       |
| yr%5CDesktop | r              |          |   |                       |
| %5CJM2JMBLXR | esolutionUnits |          |   |                       |
| EF(RICKY'S%2 | (string)       |          |   |                       |
| 0EDITS).xls# |                |          |   |                       |
| RANGE!E691%2 |                |          |   |                       |
| 3RANGE!E691) |                |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| [**          |                | **Tim    | * | The time period       |
| Time **](../ |                | eRange** | * | associated with a     |
| ../../../../ |                |          |   | data request or       |
| ../../../C:% |                | **       | * | response. A time      |
| 5CDocuments% |                | LatestTi | * | range,                |
| 20and%20Sett |                | meFlag** |   | latestTimeFlag,       |
| ings%5CFarle |                |          |   | modifiedSinceTime, or |
| yr%5CDesktop |                | **Md     |   | forecastTime will be  |
| %5CJM2JMBLXR |                | ifiedSin |   | chosen.               |
| EF(RICKY'S%2 |                | ceTime** |   |                       |
| 0EDITS).xls# |                |          |   |                       |
| RANGE!E693%2 |                | **Fore   |   |                       |
| 3RANGE!E693) |                | castTime |   |                       |
|              |                | C        |   |                       |
|              |                | limatolo |   |                       |
|              |                | gyTime** |   |                       |
+--------------+----------------+----------+---+-----------------------+
| [**TimeR     | startTime      |          | R | The start and end     |
| ange **](../ | (date Time)    |          | O | time for a request.   |
| ../../../../ | endTime (date  |          |   | If no endTime is set, |
| ../../../C:% | Time)          |          |   | than the endTime is   |
| 5CDocuments% |                |          |   | assumed to be the     |
| 20and%20Sett |                |          |   | startTime             |
| ings%5CFarle |                |          |   |                       |
| yr%5CDesktop |                |          |   |                       |
| %5CJM2JMBLXR |                |          |   |                       |
| EF(RICKY'S%2 |                |          |   |                       |
| 0EDITS).xls# |                |          |   |                       |
| RANGE!E694%2 |                |          |   |                       |
| 3RANGE!E694) |                |          |   |                       |
+--------------+----------------+----------+---+-----------------------+
| [**V         | upperLevel     |          | O | A request for METOC   |
| erticalDimen | (decimal)      |          | O | grid data             |
| sion **](../ | lowerLevel     |          | O |                       |
| ../../../../ | (decimal)      |          |   |                       |
| ../../../C:% | vertical       |          |   |                       |
| 5CDocuments% | DimensionUnits |          |   |                       |
| 20and%20Sett | (string)       |          |   |                       |
| ings%5CFarle |                |          |   |                       |
| yr%5CDesktop |                |          |   |                       |
| %5CJM2JMBLXR |                |          |   |                       |
| EF(RICKY'S%2 |                |          |   |                       |
| 0EDITS).xls# |                |          |   |                       |
| RANGE!E696%2 |                |          |   |                       |
| 3RANGE!E696) |                |          |   |                       |
+--------------+----------------+----------+---+-----------------------+

## Appendix C - METOC Master Parameter List

The official mapping between Joint METOC Physical attribute/elements
names and JMBL parameter names is the Master Parameter List.
Accompanying the JMBL schemas is a Microsoft Access database (termed
variously the "METOC Master Parameter List", the "Parameters List",
and/or "new parameter mapping" database) containing metadata for each of
the items specified in the JMBL "parameters.xml" file. In particular, it
includes a list of parameter names (written conventionally with typical
punctuation), the associated \<JMBL_parameter_name\>, an abbreviated
form of the parameter name, a definition, a unit of measure (as
appropriate, including implied data typing information), and mappings to
items/elements in the JMCDM, JM Data Segments, and GRIB. This database
specifies the semantic for each such JMBL parameterName, establishes
traceability to other documentation and authoritative sources, and
serves as the basis for applications to map between JMBL-based data
values and application-internal representations of corresponding data
values.

Several such parameters, which are referenced in various examples in
this document, are listed in the table below.

The Master Paramater List (last updated May 2005) is available on the
JMCDM CNMOC web site at the URL:
[[https://www.cnmoc.navy.mil/da/jmcdm.htm]{.underline}](https://www.cnmoc.navy.mil/da/jmcdm.htm)

  ----------------------------------------------------------------------------------------------------
  **JMCDM Logical Name**                  **JMBL                **DB        **DB Table**
                                          parameterName**       Model**     
  --------------------------------------- --------------------- ----------- --------------------------
  GEOPHYSICAL-POINT-OBSERVATION-MESSAGE   observationRawData    JMOBS       message
  original message text                                                     

                                          parameterName         JMGRID,     gridParameterLUT
                                                                JMIM        

                                          parameterUnits        JMGRID,     gridParameterLUT
                                                                JMIM        

  ROUTE-SURVEY-CONTACT-EVENT-PLATFORM     platformHeading       JMOBS       oceanSurfaceObs
  heading angle                                                             

  GEOPHYSICAL-POINT-OBSERVATION platform  platformHeight        JMPLAT,     station, obs
  vertical dimension                                            JMOBS       

  GEOPHYSICAL-OBSERVATION-PLATFORM        platformIdentifier    JMPLAT,     platform, obs, forecast,
  identifier                                                    JMOBS,      obs, platform
                                                                JMAN,       
                                                                JMRSOB,     
                                                                JMIM        

                                          platformNetworkType   JMPLAT,     network, obs, platform
                                                                JMOBS, JMIM 

  AIR-TEMPERATURE-OBSERVATION air         temperatureAir        JMOBS,      surfaceObs +
  temperature                                                   JMGRID,     upperAirLevelObs,
                                                                JMAN,       analysisForecastElement,
                                                                JMRSOB      forecastLayer
  ----------------------------------------------------------------------------------------------------

## Appendix D -- Perl Script to Convert JMBL Version 2.19 to JMBL Version 3.x

The following perl script will convert most of JMBL version 2.19 XML to
JMBL version 3.x, with the exceptions of the noted areas in the perl
script comments. At this time this perl script is not baselined by the
Government, but improvements to the script are and will be appreciated.

  ----------------------------------- -----------------------------------
                                      

  This is a perl script program that  ![](media/image15.wmf)
  can be run to convert JMBL version  
  2.19 XML to version 3.x XML by      
  saving the program and running it   
  on a perl command line.             
  ----------------------------------- -----------------------------------

\##

\# \$Id: jmbl2to3.pl,v 1.6 2005/07/28 15:20:10 mathews Exp mathews \$

\#

\# Simple converter from JMBL 2.x XML documents to JMBL 3.0

\# as approved by Joint METOC DSWG in July 2004.

\#

\# This script is not complete. It is meant only to help

\# the conversion of JMBL 2.x XML fragments to 3.0 but some

\# differences in the specs have not been handled and will

\# require manual adjustments \-- some of those differences

\# have been noted below. The generated JMBL 3.0 XML files

\# should be validated against the target schema for

\# correctness.

\#

\# The following conversion cases are handled:

\#

\# For nearly all elements in JMBL 3.0, the change from

\# 2.x to 3.0 is a simple UpperCamelCase name conversion

\# of element in which case is just making the first letter

\# uppercase (e.g. requestList -\> RequestList).

\#

\# Special cases with element name changes are also handled

\# (e.g. obsParameters =\> ObservationParameters).

\#

\# A few special case attributes have been renamed

\# (e.g. requestedParameterUnit =\> parameterUnit)

\#

\# Handle change from element reference of Grid2D to

\# a reference to VerticalDimension in METOCdata.

\#

\# Add required GriddedAnalysisForecast choice element to GriddedData.

\#

\##

\# Change dateTime from 14-character field (YYYYMMDDHHMMSS)

\# to the ISO 8601 Date and Time Format used as the

\# XML Schema (XSD) dateTime date type (e.g. 2002-10-05T17:01:14.00Z).

\#

\# This is for attributes (startTime, endTime, baseReferenceTime),

\# and the modifiedSinceTime element.

\#

\# Example:

\# JMBL 2.x: \<timeRange startTime=\"20040513120000\"\>

\# JMBL 3.x: \<TimeRange startTime=\"2004-05-13T12:00:00Z\"\>

\#

\##

\# Conversion of metocData/parameterValue to METOCdata/value

\# which changes the parameterValue attribute to an element with

\# the attribute\'s value. Some unusual cases may not be handled

\# such as if the parameterValue element and its xxxValue=\'\' attribute

\# are on separate lines.

\#

\# JMBL 2.x response metocData/parameterValue:

\# \<ns2:metocData ns2:returnedParameterUnit=\"degrees\"\>

\# \<ns2:parameterValue ns2:doubleValue=\"73.79\"/\>

\# \</ns2:metocData\>

\#

\# JMBL 3.0 response METOCdata/value:

\# \<ns2:METOCdata ns2:parameterUnit=\"degrees\"\>

\# \<ns2:Value\>

\# \<ns2:DoubleValue\>73.79\</ns2:DoubleValue\>

\# \</ns2:Value\>

\# \</ns2:METOCdata\>

\#

\################################################################

\#

\# This conversion script handles all common cases

\# and a number of special cases. The following

\# are special cases that are NOT currently handled.

\# There are other special cases with differences

\# between JMBL 2.x/3.x that have not been added.

\# For those cases it is best to validate the

\# generated JMBL 3.x output against the target

\# schema and make the necessary changes manually.

\#

\# \*\* Does not handle replaced references to MasterLayerName

\# in BoundingBox and BoundingCircle with references to

\# Vertical Dimension. Also does not remove references to

\# upperlevel and lowerlevel in BoundingBox and BoundingCircle.

\#

\# \*\* Does not remove deleted elements/attributes that no longer

\# exist in JMBL 3.0 (e.g. formatRequirement, metaDataName, etc.)

\#

\# \*\* Does not handle removal of \"size\" element in RequestFormat

\# which has been replaced by moving maxSize element up to

\# RequestFormat as maximumSize.

\#

\##

\#

\# Created: Jason Mathews \<mathews@mitre.org\>, MITRE Corp, 1/12/05

\#

\# MITRE IS PROVIDING THE PRODUCT \"AS IS\" AND MAKES NO

\# WARRANTY, EXPRESS OR IMPLIED, AS TO THE ACCURACY,

\# CAPABILITY, EFFICIENCY, MERCHANTABILITY, OR FUNCTIONING

\# OF THIS SOFTWARE AND DOCUMENTATION. IN NO EVENT WILL

\# MITRE BE LIABLE FOR ANY GENERAL, CONSEQUENTIAL,

\# INDIRECT, INCIDENTAL, EXEMPLARY OR SPECIAL DAMAGES,

\# EVEN IF MITRE HAS BEEN ADVISED OF THE POSSIBILITY

\# OF SUCH DAMAGES.

\#

\# You accept this software on the condition that you indemnify and

\# hold harmless MITRE, its Board of Trustees, officers, agents, and

\# employees, from any and all liability or damages to third parties,

\# including attorneys\' fees, court costs, and other relates costs and

\# expenses, arising out of your use of this software irrespective of

\# the cause of said liability.

\#

\########################################################

\# Majority of all JMBL element name changes (2.x -\> 3.0)

\# are just initial caps to change lower camel case

\# to upper camel case but special cases are below:

\# JMBL elements

my %tags = (

\"allStationInfo\" =\> \"AllStationInformation\",

\"analysisForecast\" =\> \"GriddedData\",

\"ANBulletinType\" =\> \"AlphaNumericBulletinType\",

\"anMessage\" =\> \"AlphaNumericMessage\",

\# \"maxElements\" =\> \"MaximumElements\", \# completely removed in 3.0

\# \"maxSize\" =\> \"MaximumSize\", \# changed to attribute

\"metocData\" =\> \"METOCdata\",

\"obsParameters\" =\> \"ObservationParameters\",

\"parameterValue\" =\> \"Value\",

\"platformIdentification\" =\> \"PlatformCode\",

\"returnedCEDProjection\" =\> \"ReturnedCEDprojection\",

\"spaceWeatherObs\" =\> \"SpaceWeatherObservation\",

\"maxConstraint\" =\> \"MaximumConstraint\",

\"minConstraint\" =\> \"MinimumConstraint\"

);

\# JMBL attributes

my %atts = (

\"climoName\" =\> \"climatologyName\",

\"climoType\" =\> \"climatologyType\",

\"climoVersion\" =\> \"climatologyVersion\",

\"numberOfImages\" =\> \"numberImages\",

\"requestedParameterUnit\" =\> \"parameterUnit\"

);

while(\<\>) {

\# Change namespace to new JMBL namespace \[CR 07/21/2004 11:14:25\]

s#xmlns(:\\w+)?=\"urn:metoc:jmcbl\"#xmlns\$1=\"urn:metoc:jmcbl:jmbl\"#g;

\# Change dateTime from 14-character field YYYYMMDDHHMMSS:

\# old: \<ns2:timeRange ns2:startTime=\"20040513120000\"\>

\# new: \<ns2:TimeRange ns2:startTime=\"2004-05-13T12:00:00Z\"\>

s{

\\b((startTime\|endTime\|baseReferenceTime)\\s\*=\\s\*\[\'\"\])(\\d{14,14})

}{

my \@date = unpack(\"a4a2a2a2a2a2\", \$3);

sprintf \"%s%4s-%2s-%2sT%s:%s:%sZ\", \$1, \$date\[0\], \$date\[1\],
\$date\[2\],

\$date\[3\], \$date\[4\], \$date\[5\];

}gesx;

\# modifiedSinceTime element content

s{

(\<(\\w+:)?modifiedSinceTime\>)(\\d{14,14})

}{

my \@date = unpack(\"a4a2a2a2a2a2\", \$3);

sprintf \"%s%4s-%2s-%2sT%s:%s:%sZ\", \$1, \$date\[0\], \$date\[1\],
\$date\[2\],

\$date\[3\], \$date\[4\], \$date\[5\];

}gesx;

\# Change attributes; e.g.
ns2:requestedParameterUnit=\"degreesFahrenheit\"\...

s{

(\\s(\\w+:)?)(\\w+)(\\s\*=)

}{

if (exists \$atts{\$3}) {

\$1 . \$atts{\$3} . \$4;

} else {

\"\$1\$3\$4\";

}

}gesx;

\# JMBL 2.x response metocData/parameterValue:

\# \<ns2:metocData ns2:returnedParameterUnit=\"degrees\"\>

\# \<ns2:parameterValue ns2:doubleValue=\"73.79\"/\>

\# \</ns2:metocData\>

\#

\# Also: \<ns2:parameterValue
ns2:doubleValue=\"73.79\"\>\</ns2:parameterValue\>

\#

\# JMBL 3.0 response METOCdata/value:

\# \<ns2:METOCdata ns2:parameterUnit=\"degrees\"\>

\# \<ns2:Value\>

\# \<ns2:DoubleValue\>73.79\</ns2:DoubleValue\>

\# \</ns2:Value\>

\# \</ns2:METOCdata\>

\#

\# not to be confused with errorConditionValue attribute

\# \<parameterValue
(stringValue\|integerValue\|longValue\|\...)=\'value\'/\>

\# Note this test must be done before doing the camelCase element
renaming case below

s#\</(\\w+:)?parameterValue\>##g; \# remove case with closing tag

s#\\bparameterValue\\s+((\\w+:)?)(\[a-z\]+Value)=(\[\"\'\])(\[\^\'\"\]+)\\4\\s\*/?\>#Value\>\<\\u\$1\$3\>\$5\</\\u\$1\$3\>\</Value\>#g;

\# Change element names

\# \<requestList xmlns=\"urn:metoc:jmcbl\"\>

\# \<ns2:request xmlns:ns2=\"urn:metoc:jmcbl\"\>

s{

\<(/?(\\w+:)?)(\\w+)

}{

my \$out = \$1;

my \$tag = \$3;

if (exists \$tags{\$tag}) {

\$tag = \$tags{\$tag};

\"\<\$out\$tag\";

} else {

\# print \"\*\*\* \$tag\\n\" if defined \$substitute;

#print \"\*\*\$tag\]\\n\";

\# Replace with UpperCamelCase name (e.g. requestList -\> RequestList)

\"\<\$out\\u\$tag\";

}

}gex;

\# Handle change from element reference of Grid2D to

\# a reference to VerticalDimension in METOCdata.

\#

\# \<ns2:VerticalDimension\>

\# \<ns2:Grid2D ns2:lowerLevel=\"800\" ns2:upperLevel=\"700\"\>

\# \<ns2:MasterLayerName\>ISBL\</ns2:MasterLayerName\>

\# \</ns2:Grid2D\>

\# \</ns2:VerticalDimension\>

\#

\# Remove VerticalDimension element

s!\</?(\\w+:)?VerticalDimension\>\\n?!!;

\# Replace Grid2/3D to VerticalDimension

s!(\</?(\\w+:)?)Grid\\dD!\${1}VerticalDimension!;

\# Add required GriddedAnalysisForecast choice element to GriddedData

s!(\<(\\w+:)?GriddedData\>)!\$1\\n\<\${2}GriddedAnalysisForecast/\>!;

print;

}

\#

\# end

\#