When considering how to write an observing script for a project, the user usually first thinks about how the source (be it the main source or one of the calibrators) will be observed. The user associates with the observation the frequency of the receivers, the correlator characteristics, the duration of the integration on the source, and under what conditions the source should or should not be observed. Rather than think about what commands are necessary to test these conditions and what steps are necessary to decide whether or not to observe the source, the observer simply wants to plan their observations around simple constructs that will do that work for them.
This observing command file style greatly reduces the need for the observer to use shell programming when writing their scripts. It is important to point out that the observe file is still a C-shell script. The difference is that commands have been provided to simplify the process for the user and make it more straightforward to create and debug observing scripts.
A key ingredient of this format is the setup. All observations in a project are setup driven. Commands have been written which take setups as arguments and these do the observations properly for the user.
Another important item is that the time format is in hour-minute (hhmm) format. The time format properly (and easily) handles relative times since most observations are planned that way.
Finally, almost all of the system management (directory structure and time management) is handled by the master project script and is not the responsibility of the observer. This frees the observer from such considerations that only detract from the actual observations.
The sections that follow will fully describe the syntax used in constructing observing scripts for a project (detailing some of these other concepts) and will also include actual working examples of usage. The reader may want to have these examples visible while reading the rest of the document as they may clarify the statements that follow.