As several requests can be concurrently active (polling several areas for new updates),
all files that are specific to an area have to be in that area's folder. That is, packed.dat
, request.mfr
, *.xxG
etc. files have to be created/placed in the folder for the area they pertain to, rather than NODDSFLS
.
There seems to be no need for ARQ_info.txt
The user configures the retriever
, for example, through an "Option:Network" pull-down menu of a JMV shell. Necessary configuration info:
retriever
into a polling (looping) mode, and specifies how frequently to poll for (real-time) product updates.retriever
would submit a follow-up request gathering one-hour updates (if any). These follow-up requests would be initiated without any additional user interference, in the background.retriever
would submit only one request, process the response, and exit.
Having set the retriever
's configuration, the user launches this module, passing the configuration file and a request file (which specifies the area of interest and selected products). One may do that from a command line, as described on a retriever
's "man page". The user may also use an appropriate GUI, for example, a JMV shell; in that case, the user simply selects a "Retrieve Data" pull-down menu, which launches a new retriever
module in the background. The user may still monitor its output if desired.
The retriever
performs an HTTP transaction, as described in the standard HTTP protocol. Specifically, it:
retriever
unpacks and decodes them, using an appropriate helper(s)
retriever
performs the request all over again: opens a connection, sends a request line for updates since the last request, listens for a reply, processes it, and goes back to sleep.
If the retriever
successfully received and decoded a product, it (as normally configured through the mailcap file) launches a viewer (e.g, JMV) to display the area and the data. If the viewer is already running, it is told to refresh its display. Thus one can configure a retriever
to run in the continuous mode, sit back and view real-time synoptic observations, satellite imagery and other data as they are automatically delivered and displayed. The Metcast system along with a viewer run like a "screensaver", constantly updating the display as new data arrive; this is very similar to Pointcast.
The retriever
constantly logs what it is doing and how successful it is in its transactions. The log can be viewed in a shell window, or in a special JMV window (if the module was launched through JMV; the window would usually be iconified).
One may run concurrently as many copies of the retriever
as one wishes
to, with each copy talking to its own (or the same) Metcast server, each
having its own polling interval, each asking for its own set of
products, which may refer to the same area of interest, btw.
If a retriever was launched through a JMV shell, the shell does not normally waits for the module's termination. When the shell itself exits however, it kills all the running retriever
s.
request.mfr
in the area folder rather than in the parent folder (NODDSFLS
)
retriever
passing it request.mfr
's path name and the name of the retriever's configuration file, as described on the retriever
's "man page".NORF
, the request module should spawn/exec()
retriever retriever.conf NORF/request.mfr
NODDFLS
, JMV's working directory.
FIELDLST.DAT
file, as follows
MZZ REAL TIME OBSERVATIONS 000000100040000000000000000000000000000XXX 0 0000 9999 9999 100000000 0000 0000 0000 020 0.00Thus a user can request METAR observations just as he requests any other product: temperatures, grids, upper-air reports, etc.
jmvprocess NORF /var/tmp/aaaa0000
packed.dat
file as the second parameter. The latter has the format of packed.dat
, but probably would not be called literally like that.
jmvprocess
module would be launched as a Content-type
helper, by the retriever
(or by Netscape or other Web browser, or by any MIME-compliant mail program) to handle Content-type: text/x-packed-dat
jmvprocess
module should first descend to the area folder.There, it may get on with its regular duties: splitting the packed.dat
file into *.xxG
files, creating missing.dat
file if necessary, converting *.xxG
into *.xxF
files, and creating a fldsum.dat
.NODDSFLS
) directory. This also means that the jmvprocess
module should look for request.mfr
file in the area folder.
NODDSFLS/retriever.conf
, which is read by the retriever module
Content-type: text/x-syn
data type. It is implemented as a syn-proc
MIME helper
Display
module