1. Introduction
This document covers the steps needed to update from FS 10.0.0 to 10.1.0-beta1 and the changes in the new version. This update is not an operational release. It is intended for testing by all stations using FS 10.0.0. Installing the new version as an update is much simpler than the update to 10.0.0, see the Upgrading from 10.0.0 section below.
FS 10.1.0 has been tested for several configurations but not all possible ones. You should test it carefully before using it for operations. Please email Ed if you encounter problems so that we can resolve them.
The changes in the FS and drudg for 10.1.0 are covered in the Changes since 10.0.0 section below. The most significant changes in 10.1.0 are:
-
FS and drudg support for DBBC3 racks.
-
Improved onoff output for the operator to make it clearer what the program is doing.
-
gnplt no longer duplicates trailing comments in .rxg files.
-
A new drudg option
e-vlbi_override
in skedf.ctl to automatically change the recorder tonone
and remove/fila10g
if present in the rack name, if thetarget_correlator
VEX parameter includese-vlbi
(case insensitive). -
A new drudg option
close_scan
in skedf.ctl to make it easier to breakaway from one schedule to run another schedule for a short time and then return to the original schedule. This is useful for geodesy intensive schedules. -
Change the default FS git branch to
main
NoteThis has not been implemented in the alpha and beta pre-releases.
2. Upgrading from 10.0.0
You must have already upgraded to 10.0.0 according to the FS 10.0.0 Update Notes document before installing this update.
2.1. Backup your operational system
Having a back-up to return to will allow you to continue operations in case something goes wrong with the installation. If you don’t have your own scheme, and for more details, please see the Making a back-up before installing section in the Installation Reference document.
You can also using symbolic links with copies of your old operational directories to switch back and forth between in your operational 10.0.0 configuration and a test install of 10.0.1. This is covered in detail in the Using symbolic links subsection of the above referenced section.
2.2. Login as root
The next step requires root permissions.
2.3. Fetch FS 10.1.0
The directions in this step make a backup copy of your /usr2/fs-git directory. This is optional, but may help you recover if there is an error. You can of course use any name you like for the backup. You should use a different name for the backup directory than fs-git.old-10.0.0 if that directory already exists.
Important
|
The paragraph immediately below in this IMPORTANT block does not apply to alpha and beta releases. The default branch of the FS has changed to |
-
If you are using an FSL9 or FSL10 system:
cd /usr2 mv fs-git fs-git.old-10.0.0 git clone https://github.com/nvi-inc/fs.git fs-git cd fs-git git checkout -q 10.1.0-beta1 make install
Answer
y
to confirm installation. -
If you are using FSL8 or other old Linux distribution, or otherwise need to use ssh instead:
cd /usr2 mv fs-git fs-git.old-10.0.0 git clone git@github.com:nvi-inc/fs fs-git cd fs-git git checkout -q 10.1.0-beta1 make install
Answer
y
to confirm installation.
Note
|
If you need to preserve your old repository for operations, instead of
following the directions above, you can download the update and change
your default branch to
|
2.4. Login as prog
Important
|
The FS must be compiled as prog. |
2.5. Compile the FS
cd /usr2/fs make rmdoto rmexe all >& /dev/null make -s
No output from the last command indicates a successful make.
2.6. Reload your station code
If /usr2/st/Makefile is set-up in the standard way, you can do this with:
cd /usr2/st make rmdoto rmexe all
Important
|
If your station code uses refrw() , the make will fail.
You will need to update to use refrw_bad() or refrwn() . The use of
refrw_bad() should be sufficient in the short-term, but you should
change to refrwn() when convenient. Please see the
refrw_bad() FS change below from more details.
|
2.7. Reboot
Important
|
Reboot the computer. This is necessary to allocate FS, and possibly station, shared memory for the new version. It will also make sure you are using the latest version of the display server. |
2.8. Login as oper
Except as indicated, the actions in the next step should be performed as oper.
2.9. Local customizations
-
Check your use of the
equipment_override
option in skedf.ctl.If you did not have the
equipment_override
option selected in skedf.ctl, you probably should. This will also require you to specify theequipment
option with the correct values if you aren’t already. This is the safest way to specify your equipment in skedf.ctl. However, other combinations are possible depending on your needs. Due to bugs in drudg these options were not operating correctly in version 10.0.0. For more information, please the Fix drudg equipment options change in the drudg changes section below. -
If present, remove use of setsid from stpgm.ctl.
If you have been using setsid in your stpgm.ctl, possibly to insulate xterms from Control+C, you should remove it. If it is used on an
x
line in the file, it will prevent the FS from starting successfully when the display server is not in use and is not needed when the server is in use. -
Create the dbbc3.ctl control file.
The contents of DBBC3 line in the equip.ctl control file has been moved to the new control file, dbbc3.ctl, and reorganized. To create the new file and remove the obsolete contents of equip.ctl, execute:
cd /usr2/control /usr2/fs/misc/equipctlfix equip.ctl
This will create the file, preserving the values from the DBBC3 line in your old equip.ctl file. Your original file will be preserved as equip.ctl.bak, which must not already exist. Creating this file should allowing running the FS if you don’t have a DBBC3. If you have a DBBC3, you should customize the contents in the FS DBBC3 Configuration step below.
-
Run the FS to check for .rxg file errors.
Five additional formatting errors are now reported for .rxg files. While it is unlikely, if your .rxg files have any of these errors, they will be reported when you try to run the FS. Only one error is reported at a time. You will need to correct each error in turn until the FS starts successfully. The new errors reported are described in the Additional .rxg file errors change in the FS changes sub-section below.
-
If you have a Mark 5C and/or FlexBuff recorder, use pfmed to add
mk5c_config
and/orfb_config
procedures to yourstation
procedure library.TipAlternatively, if the FS is not running, you can add empty initial versions to your
station
procedure library with the following commands. Formk5c_config
:cd /usr2/proc cat /usr2/fs/st.default/proc/mk5c_config.prc >>station.prc
For
fb_config
:cd /usr2/proc cat /usr2/fs/st.default/proc/fb_config.prc >>station.prc
These procedures are called by drudg generated setup procedures for systems with Mark 5C and FlexBuff recorders. They provide a means to tune the setup of jive5ab for your hardware independent of the observing mode. They can be empty if your recorders don’t need tuning or you aren’t aware of what tuning is needed. These procedures are called after the
mk5c_mode
orfb_mode
commands, depending on the type of recorder, to allow the default configuration to be overridden. The default configuration is described in the Default configuration subsection of the FS DBBC3 Operations Manual and in thehelp
pages formk5c_mode
andfb_mode
. The commands in these procedures should be mode independent. Mode dependent tuning should be handled differently; perhaps by inserting commands directly at the top-level of the setup procedure. -
If you have a FlexBuff recorder, use pfmed to add a
checkfb
procedure to yourstation
procedure library.drudg uses this procedure in place of
checkmk5
when the selected recorder is FlexBuff.You can do make this change in one of two ways, using pfmed commands:
-
If you don’t also have a Mark 5 recorder, you can rename your existing procedure:
pf,station rn,checkmk5,checkfb
-
If you also have a Mark 5 recorder, you can make a copy of your existing procedure:
pf,station st,checkmk5,checkfb
Additionally, for either case, in the new file:
-
You should remove any
mk5=get_stats?
commands, if they are present. -
You may also like to rename the call to
mk5_status
tofb_status
.
-
-
FS DBBC3 Configuration: If you have a DBBC3, you should make the configuration changes described in the Configuring the FS for use with a DBBC3 appendix of the FS DBBC3 Operations Manual. If you expect to get a DBBC3, these changes can be deferred until then.
-
If you are using tcsh as your login shell for oper or prog (or AUID accounts) and have not already done so, adjust ~/.xsession .
This step is optional, but may be helpful if you are using tcsh as your login shell for oper and/or prog (or AUID accounts) and use the FS with the graphical display on the console. For this case, you may wish to make the changes in the Updating ~/.xsession sub-step in Miscellaneous FSLx changes step of the FS 10.0.0 Update Notes document. If you have already made these changes, this step can be skipped.
This change will make sure the window manager (fvwm2) operates with the FS runtime environment variables set. This could be important for example, if you want to run fsclient (perhaps for a
scan_check
window) from a console hotkey. -
Cleanup .rxg file comments:
This step is optional, but may help you if want the leading and trailing comments in your .rxg files to be easy to interpret. If it is not performed, there will no loss of functionality with the .rxg files. They will just have some extraneous comments.
The complete cleanup can be a lengthy process. It is covered in the appendix Cleaning up .rxg file comments. That appendix has two sequential steps. The first is relatively easy and is recommended for most users before they next update their .rxg files with gnplt. The second step is more complicated and can then be deferred until later. Please see the appendix for more details.
NoteThis step exists due to bugs in gnplt, fixed as of this update, that have caused extra comments to added to .rxg files. This is described in the Stop adding extra comments when updating .rxg files change in the FS changes sub-section below.
If you have been correcting the extra comments added by gnplt as you updated your .rxg files, this step may have little or no benefit for you.
-
Make the
scnch
anderchk
windowsNeverFocus
.This step is optional, but will eliminate these windows getting the input focus, which can be a nuisance. Add
NeverFocus
for thescnch
,erchk
, andmonan
windows in your ~/.fvm2rc files so they will never accidentally get the focus (they don’t accept input). They will still be able to be scrolled. If this is desired, add the lines:Style "erchk" NeverFocus Style "scnch" NeverFocus Style "monan" NeverFocus
As oper, you can compare your version of the file with the new default using:
cd diff .fvwm2rc /usr2/fs/st.default/oper
You can make the same change for prog, after logging into that account.
NoteIf you login with AUID accounts and then promote to oper/prog, you will need to make these changes in the AUID accounts to have the intended effect.
2.10. Login as oper
Make sure you are logged in as oper for the next step. This step in included to make sure you have switched back to oper after the previous step.
2.11. Test the FS
Important
|
Before testing, if as part of your testing of station code you ran the FS under the prog account, either reboot or use the command: fsserver stop to make sure the server is no longer running as prog. For details on why this is needed, please see the second IMPORTANT item in Server continues running after FS termination sub-section of the FS 10.0.0 fsserver Changes document. |
Generally speaking, a fairly thorough test is to run a test experiment. Start with using drudg to rotate a schedule, drudging it to make .snp and .prc files and listings. Peform any other pre-experiment preparation and tests you normally do, then execute part of the schedule, and perform any normal post-experiment plotting and clean-up that you do. The idea here is to verify that everything works as you expect for normal operations.
Previously, the onoff program did not detect errors reported by antcn; now it does. It seems unlikely that that this will cause a problem, but if it does, please see onoff now detects antcn errors for a workaround.
2.12. Consider when to update your back-ups
It would be prudent to wait until you have successfully run an experiment or two and preferably received word that the experiment(s) produced good data. The chances of needing to use your back-up from before updating should be small. If something does happen, you can copy the back-up to the (now assumed bad) updated disk. You can then either use the restored disk or apply the FS update again. The FSL10 test procedure has more options for recovery. Managing this is a lot easier and safer if you have a third disk.
2.13. Review changes
Please see the Changes since 10.0.0 section below for the details of the changes since that release.
3. Changes since 10.0.0
There are separate sub-sections with summaries of changes in the FS and drudg.
Each change item is listed as a summary line with clickable toggle:
Details
Details are shown here.
that can be clicked on to toggle showing (or not showing) the details. In this way, you can view the summary as a list and only reveal the details of items that interest you.
Clickable links such as #36 connect to specific issues reported at https://github.com/nvi-inc/fs/issues.
A detailed list of changes can be found using the git log
command
from within the FS git repo directory, usually /usr2/fs-git.
3.1. FS changes
-
Add more complete support for DBBC3 DDC personality
Details
Before this release, the FS only provided limited functionality for DBBC3 racks, as described in the FS 10.0 DBBC3 support document for that release, 10.0.0. More complete support is provided now. The updated support is described in the FS DBBC3 Operations Manual and includes:
-
A separate dbbc3.ctl control file
-
Core3H board setting and monitoring with the
core3h_mode
command -
Tsys display window (monit7)
-
Multicast logging, which is controlled with the
tpicd
command. -
mcast_time
command for checking DBBC3 time from the multicast data -
drudg support for schedules (closing #33)
-
Integrated support for recording DBBC3 data with a Mark 5C or FlexBuff recorder
-
FS time setting from a DBBC3 with setcl if NTP is not available
WarningAlthough we have made a strong effort to verify that the FS and drudg will work correctly for DBBC3s, it has not been possible to schedule a fringe test yet to validate the functionality. Until we have some field experience with DBBC3, we will not know if everything works well together and/or whether we should make some adjustments for better operations. If there are issues, we expect there will be updates to address them. CautionThe current FS support is structured around the features of the DBBC3 DDC firmware, DDC_U
v125 andDDC_V
v124, available at the time of this release. Firmware updates and experience with the current approach may lead to different FS support and operations in the future.Thanks to: the EVN, for funding this development work; Jon Quick (HartRAO) for testing, feature recommendations, helpful suggestions, extensive discussions, and making a system available for remote testing; John Gipson (GSFC) for drudg support; Eskil Varenius (Onsala), for testing as well as making a system available for remote testing; Sven Dornbusch (MPIfR, Bonn), for elaborating on the details of DBBC3 functionality; Uwe Bach (Effelsberg) and Marjolein Verkouter (JIVE) for providing helpful suggestions.
-
-
Improve onoff
Details
-
Improve onoff operator output.
The operator output of onoff was completely restructured. The raw data is still recorded in the log, but now the operator will see only summary messages that describe what the program is doing and the final results (the
VAL
lines). Each major action that the program undertakes is reported, as well as any steps needed to recover if an error should occur. This should make the output both more compact and useful. The full output can still be seen in the Log Display window by usingxdisp=on
(usexdisp=off
afterwards to turn off the more verbose display).TipIf antcn logs messages about commanding offsets (mode 2
), the flow of the onoff operator output may be affected. The general posture of antcn is intended to be “no news is good news.” In particular, this is why onoff (and aquir and fivpt) check onsource status with mode5
which is not suppose to generate log output for why the antenna is off source. You can of course arrange your antcn's output anyway you prefer. -
Change to lock gains after initially reaching starting position.
Previously, for systems that require locking the gains, they were set before confirming that the antenna had reached the starting position. Now onoff waits until it has been reached. This will have no impact when onoff is started already at the starting position, including when run by aquir.
If onoff is started before the antenna has reached the starting position, the effects will be:
-
onoff will take slightly longer to run because the gains won’t be locked in parallel with the slew.
-
The gains will be locked at the starting position. This could improve the gain levels used for the measurements, particularly for large elevation slews. The is the reason that this change was made.
-
-
onoff now detects antcn errors:
Previously, these errors were ignored due to a bug. Now antcn errors are detected. If one occurs now, onoff will try to run antcn a second time to make onoff more robust if a transitory antenna communication problems occurs.
It seems unlikely that these changes will cause a problem, but if they do, a short term workaround is provided. If the environment variable
FS_ONOFF_SUPPRESS_ANTCN_ERRORS
is set to1
, the previous behavior will be restored. In the longer term, the behavior of antcn should be corrected.TipIf you are using the display server, you must stop fsserver or reboot to enable a change in environment variable settings. Please see the beginning of Runtime variables section in the FS Environment Variables document, for more information on setting environment variables.
-
-
Stop adding extra comments when updating .rxg files
Details
The trailing comments in .rxg files are intended to hold the old calibration data, in reverse chronological order, as an historical record. There was a longstanding bug in the current gnplt (so-called gnplt2) that caused it to include additional, out-of-order, commented out, copies of old calibration data when updating .rxg files. This has been fixed (closing #111).
Another “feature” in gnplt (gnplt2) caused extra comments to be inserted at the beginning of .rxg files. gnplt was not updating the date line. The program was compensating for this by adding a new first line comment with the date each time it updated the file. Since the date line is now being updated (#72), the date comment line is no longer added.
While these bugs have been fixed, it could be a lot of work to cleanup the comments if they have not been cleaned up right along as the .rxg files have been updated with gnplt. Cleaning-up the comments is entirely optional. A process for the cleanup is provided in the appendix Cleaning up .rxg file comments. It is broken into two steps. The first, which is relative easy, includes making a backup of the files as they are now, and then reducing them to the minimum needed to preserve the active calibration data (with its interspersed comments).
The second step cleans-up the trailing comments. That step is an optional follow-up to the first step. It is more involved and can be deferred to a later date. If the .rxg files have only been updated by gnplt, it should work as written. If other modifications have been made to the .rxg files, for example by hand editing, the second step may needed to be modified accordingly.
Please see the appendix Cleaning up .rxg file comments for the details of the cleanup process.
Thanks to Jonathan Quick (HartRAO) for reporting these issues, making suggestions for the fixes, and testing them.
-
Add adjustable log size warning message (closing #114)
Details
When a log is opened (including station.log when starting the FS), there is an error reported if the size exceeds a threshold, previously hard-coded as 100 MB. The size for the error is now adjustable by setting the environment variable
FS_LOG_SIZE_WARNING
to the desired size in MB. If it is not set, it defaults to 100 MB.The FS must be restarted in a session with the variable set for it to take effect. If the display server is in use, fsserver must be stopped (or the system rebooted) after stopping the FS and before restarting it with:
fsserver stop
Thanks to Kiah Imai (KPGO) for suggesting this.
-
Improve plog
Details
-
Fix plog to only refuse to reduce a log with multicast data if it is the active log in the FS.
In the process of reducing a log (removing multicast data), the log is renamed. This can cause a log recovery to occur if the log is currently open in the FS since it appears to be missing. This was protected against by plog, which would refuse to rename the log if it was open to any program. This meant that if the log was, for example, being viewed with
tail -f
or less it could not be renamed. This was fixed so that plog will only refuse to rename the log if it is open in the FS (to ddout)..NoteIn such a case, the operator needs to close the log before running plog on it. That is good practice in any case. NoteOther, non-reduction, log processing by plog was not affected by this issue since renaming is not needed. It is still good practice to close the log before pushing it. Thanks to Katie Pazamickis and Jay Redmond (both at GGAO) for reporting this.
-
Add use of bzip2 compression to plog.
plog will now use bzip2 as the default program for compressing _full.log files to send to the data centers. It is possible to use gzip instead by setting the environment variable
PLOG_COMPRESSED_EXT
togz
or using the-g
command line option. Please useplog -h
for more information. -
Upload both reduced and compress logs when multicast is present as the default.
Before, when a log contained multicast data, the default was to only upload a reduced log (with multicast removed). Now both the reduced and compressed full log are uploaded by default.
A new option,
-r
, was added for uploading just a reduced log. As before, the-z
option will upload just a compressed full, It is not expected that either of these options will get much use. The-r
and-z
options cannot be used together.Thanks to Chevo Terrazas (MGO) for suggesting uploading both files in one step.
-
Respect
NETRC_DIR
for theBKG
data center (closing #113).This had been overlooked in #39, which had added the
NETRC_DIR
environment variable.Thanks to Kiah Imai (KPGO) for reporting this and testing the fix.
-
-
Improve fesh
Details
-
Add
-P
option to print the summary listing to the printer (closing #112).With
-P
, when drudg is run by fesh, it will print the summary directly to the printer. It is appropriate to make this a fesh option since it is an integrated feature of drudg. To print other files, it is recommended to make a wrapper for fesh. An example wrapper, which prints the summary and the .prc file, is included as /usr2/fs/fesh/feshp. This can be copied to ~oper/bin and customized to print other files.Thanks to Kiah Imai (KPGO) for suggesting this.
-
Add
-S
option to fesh to skip downloading.This allows fesh to trigger the normal drudg processing when the schedule is already on the disk. This might be useful for example, if the schedule was generated locally by shifting the schedule (drudg option
10
). -
Map station code to lower case (closing #136).
Before the station code was expected to be lower case. If it wasn’t, this could cause a conflict with drudg, which maps it to lower case. This could result in a mismatch on the file names for deleting .snp and .prc files with the
-f
option. fesh now maps the station code, from both theSTATION
environment variable and-s
option, to lower case.Thanks to Eskil Varenius (Onsala), for reporting this issue.
-
Add new environment variables.
Support for new environment variables
FESH_GEO_USE_SETUP_PROC
andFESH_GEO_VDIF_SINGLE_THREAD_PER_FILE
were added. These variables can be used to supply fixed answers to the new optional drudg prompts as described in drudg changes below. For more details about the use of the new variables, please see thefesh -h
output.
-
-
Improve msg to always pick-up a new log file name (closing #118)
Details
Previously msg only read the log file (and session) name on start-up and when sending messages. It was modified to reread the log file (and session) name whenever a new form is displayed. As a result, selecting any form or send a sending a message from one will cause the log file name to be reread (and session name reset), in other words, this will occur for any significant user action. This should provide more intuitive behavior, primarily because it is no longer necessary to restart msg for each session. The setting of the session name when reading the log file name can be turned off by disabling the
Setup
selectionGet session name from log
if it is not desired.Thanks to Jonathan Quick (HartRAO) for reporting the issue, providing feedback on the changes, and testing the fix.
-
Add
setup_proc
commandDetails
This command is used to identify the setup procedures in the .snp files, e.g.:
setup_proc=setup01
The setup procedure (in this example,
setup01
) will be executed if it is the firstsetup_proc=…
command since the schedule was started or if a different procedure was used in the previous instance of the command in a schedule. This can be useful to avoid executing setup procedures more than necessary, especially if they take very long to execute, as is the case the DBBC3, or if they may disturb the equipment.Use of this command in drudg generated .snp files is controlled with the
use_setup_proc
option in skedf.ctl. The default is to not use it, which is the same as the previous behaviour.WarningThe previous behavior of re-executing a setup procedure for each recording can provide some “self-healing” of the equipment setup if there errors occurred during the previous setup or if the equipment malfunctioned. The use of this command will eliminate this added robustness. Each site will need to evaluate whether to use the option in drudg for this command based on their equipment’s performance. It is typically necessary for DBBC3 systems. See
help=setup_proc
for more information. -
Add
mk5init
command to reinitialize the Mark 5 or Flexbuff connection without restarting the FS (closing #164)Details
The
mk5init
command will close the current connection to the Mark 5 or FlexBuff recorder, reread the mk5ad.ctl control file, and establish a new connection based on the contents. This may be useful for changing which recorder is used without restarting the FS.NoteAnother change, FlexBuff synonyms, in this document, makes mk5init
available with the synonymfb_init
.WarningThis feature is considered experimental. It appears to work well, but more extensive field testing may reveal issues. CautionThe function of this command may be revised or the command may be removed in the future. Thanks to Jun Yang (Onsala) for suggesting this.
-
Expand setup of Mark 5C and Flexbuff recorders
Details
The
mk5c_mode
command sends configuration commands, beyondmode
, depending on which recorder is selected in equip.ctl,mk5c
orflexbuff
, the total data rate, and the data type, VDIF or 5B/Ethernet. The updated default configuration is described in the Default configuration subsection of the FS DBBC3 Operations Manual.All the settings can be overridden by the
mk5c_config
(orfb_config
, depending on the recorder type selected when running drudg) local procedure. See the Overriding the defaults subsection of the FS DBBC3 Operations Manual.NoteAnother change, FlexBuff synonyms in this document, makes mk5c_mode
available with the synonymfb_mode
.Thanks to Marjolein Verkouter (JIVE) for extensive discussions about what the correct settings should be.
-
FlexBuff synonyms: Add FlexBuff synonyms for all Mark 5 commands except
mk5b_mode
, which is not used with a FlexBuff recorderDetails
The following synonyms for FlexBuff recorders (listed with their corresponding Mark 5 versions) were added:
-
fb
—mk5
(jive5ab
is also a synonym) — low-level recorder communication -
fb_close
—mk5close
— close connection to recorder -
fb_init
—mk5init
— initialize connection after rereading mk5ad.ctl control file -
fb_mode
—mk5c_mode
— set recording modeThis command tailors it behaviour depending on what type of recorder is specified in equip.ctl control file, not by the name of the command.
-
fb_relink
—mk5relink
— relink to recorder after closing connectionThis command is used after
fb_close
/mk5close
to reestablish the connection. -
fb_status
—mk5_status
— report recorder errors
There is no differences in the function of the commands when the FlexBuff synonyms are used. They may be used to make the meaning of procedure files and log entries clearer.
-
-
Split
equip
log header line into three partsDetails
The
equip
line in the log header has been broken into three lines,equip
,equip2
, andequip3
. Theequip
line now contains just the rack, recorders, and decoder information. The remaining information from the equip.ctl control file is listed, in order, on theequip2
andequip3
lines. Those lines break between the Mark 4 Decoder Transmission Terminator Character value and the DBBC DDC Firmware Version value. Except for the clock rate value, the values in theequip3
line are only DBBC related values. The clock rate value is also used for Mark 5B recorders. -
Add features to rdbemsg
Details
-
Add command line options to rdbemsg.
Two command line options were added to rdbemsg:
-
-f
— which takes an integer argument to set the font size, default is14
-
-g
— which takes a string argument to set the window geometry, default is not to set itOnly the position part of the geometry should be set with
-g
, e.g.,-g -0-0
. The useful way to control the size is with-f
.
-
-
Add
mci-version
parameter to rdbemsg.ctl control file.This was added to allow distinguishing the early version of MCI node at Westford, which requires different handling. Specifically, the MCI logs are in the directory ~oper/node_software/V0, the file names do not contain the station code, the fields in the file are space delimited, and the fields are in a different order. The correct form for Westford is:
mci-version:0
Other stations do not need this parameter and can either not include it or comment it out.
The example control file, /usr2/fs/st.default/control/rdbemsg.ctl was updated accordingly.
NoteAs with other rdbemsg.ctl parameters, this one should not have any white space on its (non-comment) line.
-
-
Show incorrect times DOT time in inverse video for the RDBE monitor display (monit6) window.
Details
Although in principle there is nothing wrong with recording data from RDBEs that have slightly different times (unlike having different VDIF epochs, which makes recording impossible with Mark 6 recorders), the recovery is too costly to use in most cases. As a result, to bring the operator’s attention to the conflict, monit6 was modified to show DOT values that are not the current time in inverse video. This change could have been limited to using inverse video to just show times that don’t agree with the majority since only a disagreement causes a problem. However, there did not seem to be a use case for recording with the time intentionally set wrong.
-
Add use of
FS_RDBE_MCAST_DISABLE
environment variable (closing #167)Details
If set to
1
, this will suppress attempting to receive RDBE multicast data. This is useful for systems with R2DBEs to eliminate the (not useful in this case) multicast errors from the log and the display. They could already be eliminated from just the display with thetnx
command.Thanks to Alex Burns (Westford) for suggesting that we have a way to eliminate these errors entirely.
-
Fix issues with zooming, large numbers of detectors, and debug output in gnplt and gndat
Details
-
Fix plotting of working file Tcal(K) curve on zoomed Tcal(K) versus frequency plots in gnplt (closing #117).
Previously, if you zoomed in the Tcal(K) versus frequency plot and selected display of the working file Tcal(K) curve, it would reset the left plot edge to the un-zoomed value when drawing the curve. This was caused by an interaction of two issues:
-
The program tried to draw the entire Tcal(K) curve, not just the part in the zoomed frequency range.
-
The function,
drawValues
, that adds Tcal(K) or Trec lines to plots, reset any plot limit, except the right edge one, if any data to be plotted was beyond that edge. This was apparently to allow showing the vertical axis intercept of the Trec fit and to make sure that all vertical extents of Trec and Tcal(K) curves were not off the visible plot area.
This was fixed by limiting the Tcal(K) curve plotted to just segments within the zoomed area. In addition for consistency, the
drawValues
function was change to reset any plot limit that is exceeded by the data. Since all other uses ofdrawValues
already limited the horizontal values to be plotted to the zoomed area, there was no impact on those other uses.Thanks to Eskil Varenius (Onsala), for reporting this issue and testing the fix.
-
-
Correct bad Tsys data in gnplt (closing #107 and #104).
This was caused by an incorrectly sized array in gndat that was introduced in commit
f84a2bb9
dated June 2003. This error was benign unless more than 20 detectors were used in a singleonoff
run. Before the advent of RDBEs and DBBC3s, this was unlikely, but not impossible.Due to the layout of the automatic variables, this error should only have impacted \(\mathit{T_{sys}}\) and \(\mathit{T_{sys}-T_{spill}}\) data in gnplt and only when there were more than 20 detectors used. However, also considering the layout of the automatic variables, it is unclear why there were not catastrophic program failures in such a case. It would be prudent to reanalyze any current data sets that used more than 20 detectors with the fixed version to see if the results change.
Thanks to Beppe Maccaferri (Medicina), and subsequently Eskil Varenius (Onsala), for reporting this issue.
-
Remove extraneous gndat debug output for the processing of weather data.
The debug output was not visible when gndat was run from gnplt, which is normally the only way it is run.
-
-
Fix continuous calibration Tsys calculations for DBBC and DBBC3 racks (closing #157)
Details
For the direct sample of count data by tpicd for monitoring Tsys for DBBC and DBBC3 racks with continuous calibration, the value of Tsys was being underestimated by about \(\mathit{\frac{T_{cal}}{2}}\). This was because the CALon counts were being ignored for determining the count level of Tsys. This has been fixed.
For the DBBC, this error has been occurring since continuous cal was first supported in 2012, FS 9.11.0, commit
f5817f65
. For the DBBC3, it has been present since the rack was first supported in 2018, FS 9.12.12, commit19a69540
. However, the Tsys monitoring for the DBBC3 was largely unused before the current release because the device communication rate made it difficult to work with.NoteThe fix for the DBBC3 is now irrelevant. As of this release, Tsys for the DBBC3 is calculated, correctly, from the multicast data. This error is fairly small and probably did not have an impact on routine local performance monitoring. However, if some specialized measurements were being made, they may have been affected. If this error had a significant effect for you, please contact Ed.
NoteDownstream amplitude calibration data should not have been affected as long as it uses the raw count data, which is how it was designed to be used. Thanks to Jun Yang (Onsala) for discovering and reporting this. Thank to Jun and Eskil Varenius (also at Onsala) for making systems available to verify the fixes.
-
Fix continuous calibration Tsys calculations in
fivept
(closing #131)Details
For continuous calibration systems, Tsys was being underestimated in
fivept
by about \(\mathit{\frac{T_{cal}}{2}}\). This was because the CALon counts were being ignored for determining the count level of Tsys. This has been fixed.This made the point-by-point Tant values larger by the same amount. This should not have biased the fitted peak source Tant since the fitting process removes a background level. Nor should it have affected the pointing offsets. Perhaps it actually had some benefit since it made it less likely that the point-by-point Tant would be negative, which is always a little unpleasant. It does affect the Tsys derived values of the
#fivpt#perform
output, but those values are mostly a curiosity and typically not used for any significant work.For the DBBC, this error has been occurring since continuous cal was first supported in 2012, FS 9.11.0, commit
f5817f65
. For the RDBE, this error has been occurring since continuous cal was first supported in 2016, FS 9.12.5, commit217940c1
. For the DBBC3, it has been present since the rack was first supported in 2018, FS 9.12.12, commit19a69540
.Thanks to Eskil Varenius (Onsala) for making a system available to verify the fix.
-
Improve refraction calculations
Details
-
refrw_bad(): Rename poclb.a routine
refrw()
torefrw_bad()
This change is intended to make it apparent that the calculation used in old
refrw()
routine is incorrect and encourage use of the correctrefrwn()
routine. The error in the oldrefrw()
routine has been known about since 2006. The error is generally small above 5° elevation.The old routine can still be used by changing calls to the new name. This may be preferable in the short term if the effect of this error is built into current point models. To get consistent results, station code can be converted to use
refrwn()
and a new model can be determined, when it is convenient.Thanks to Jon Quick (HartRAO) for pointing out this error and supplying the corrected
refrwn()
in 2006. -
Add new refraction calculations to poclb.a (includes references for them and
refrwn()
)Two additional refraction calculations are now available in the C language poclb.a library:
-
sbend()
— from A. L. Berman and S. T. Rockwell, “A New Radio Frequency Angular Tropospheric Refraction Model,” JPL DSN Progress Report 42-25, pp. 142-153, November and December 1974 (https://ipnpr.jpl.nasa.gov/progress_report/42-25/25V.PDF) and A. L. Berman, “Modification of the DSN Radio Frequency Angular Tropospheric Refraction Model,” JPL DSN Progress Report 42-38, pp. 184-186, January and February 1977 (https://tmo.jpl.nasa.gov/progress_report2/42-38/38V.PDF). -
lanyi()
— from G. Lanyi, “Atmospheric Refraction Corrections to Antenna Pointing at 1 Millidegree Level,” JPL IOM 335.3-89-026, 24 March 1989, with corrections, and T. D. Moyer, “Formulation for Observed and Computed Values of Deep Space Network Data Types for Navigation,” Section 9.3.2.2.1 (pp. 295-297), John Wiley, 2003 (https://descanso.jpl.nasa.gov/monograph/series2/Descanso2_S09.pdf).
-
-
Change
onoff
andholog
to userefrwn()
in place of (incorrect)refrw()
.This should not be a significant effect above 5° elevation. Refraction is only applied to estimate an approximate value of the antenna elevation; great accuracy is not required. In any event, fixed values are used for the meteorological parameters, which limits the accuracy. For
fivept
, the FORTRANrefr()
function is used, which also has fixed meteorological parameters. -
Locate references for
refrwn()
The older
refrwn()
is apparently from W. R. Iliff and J. M. Holt, “Use of Surface Refractivity in the Empirical Prediction of Total Atmosphere Refractions,” J. Research NBS 67D (Radio Prop.), No. 1, pp. 31-35, January-February, 1963 (https://www.semanticscholar.org/paper/Use-of-surface-refractivity-in-the-empirical-of-Iliff-Holt/1ddcd0e4e672dd890198539361c5237c033001f7) and C. A. Clark, “Haystack Pointing System: Radar Coordinate Correction,” MIT LL Technical Note 1966-56, 24 October 1966 (https://www.semanticscholar.org/paper/HAYSTACK-POINTING-SYSTEM%3A-RADAR-COORDINATE-Clark/bf564e4ebc49a4ae8d69333b267a97cc320109a0).Thanks to Ludwig Schwardt (SKA, South Africa) for tracking down these references.
-
-
Increase buffer size for recovering a deleted log
Details
If there is no file with the name of the current log (it has been deleted or renamed) when a user command would close it, the FS will attempt to recover the file and give it its original name. The buffer used to recopy the file was increased to 2 Mib (512 sectors) so it is faster, particularly for very large experiment logs with multicast data.
ImportantThe recovery will not work if in the meantime a file has been created with the same name. The FS will think that is the log and give up. In that case, The log file contents will be lost. Using log=name
orschedule=name
will not cause this.As part of this change, the variables for handling file sizes and positions in the recovery function, ddout/recover_log.c, were changed to be
off_t
orssize_t
, as appropriate. They wereint
variables, having been changed fromlong
variables by the bulk unlongify before 10.0.0-beta1, but hadn’t been changed back. -
Add test utilities: precess, move, and refrac
Details
This utilities are available in sub-directories in misc/ with the names of the programs. They are intended for testing and experimentation.
-
The precess program can be used to precess mean coordinates between epochs B1950 and J2000. Two options approaches are available:
-
The method used by the FS in fslb/prefr.f. This is the same method used by drudg (which has its own copy of prefr.f).
-
The method provided by the SOFA library.
See the README.txt file in the directory for more information.
-
-
The move program can be used to calculate apparent coordinates of date and apparent topocentric coordinates of date.
This uses the same method as the FS
source=…
command.See the README.txt file in the directory for more information,
-
The refrac program can be used to compare different refraction algorithms at different elevations and under different meteorological conditions.
This is program has a set of comparisons hard-coded, but could be modified to test other situations.
-
-
Prevent Control+C from causing the FS to abort when the display server is not in use and other cleanup of signal handling
Details
-
Remove redundant ignoring of signals in ddout and oprin (partially closing #100).
-
Re-enable suppression of signals (partially closing #100).
As of 10.0.0-beta1, the previous practice of disabling receipt of certain signals, in particular
SIGINT
(for Control+C) had been removed. It has been reinstated. When the FS is run without the display server, this assures that no FS programs will be aborted if a Control+C is accidentally entered in the terminal session where the FS is running. However, this does not prevent a Control+C from killing an xterm that is wrapped around a FS program (typically only oprin) in the FS terminal session from being killed. Preventing that is discussed next. -
Use
setsid()
to shelter xterms from keyboard generated Control+C.To prevent Control+C killing an xterm in the FS terminal session all
x
programs in fspgm.ctl (just oprin) and stpgm.ctl are now run undersetsid()
when the display server is not being used. This disconnects the programs from the terminal session that the FS is being run in, thereby preventing a Control+C from reaching them, but not otherwise affecting them.ImportantIf you have been using setsid in your stpgm.ctl, possibly to insulate xterms from Control+C, you should remove it. If it is used on an x
line in the file, it will prevent the FS from starting successfully when the display server is not in use and is not needed when the server is in use.
With these changes, it should no longer be possible to kill the FS with a Control+C, even when the display server is not being used.
WarningAn FS xterm window can still be terminated abnormally using the decorations for the window. When the FS is not being running with the display server, this will kill the FS abnormally. The decoration button that includes the Delete
andDestroy
options can be removed if desired. In the ~/.fvm2rc file includeNoButton 1
in the window’sStyle
(see theStyle "oprin" …
line in st.default/oper/.fvwm2rc for an example).WarningThe FS, run without the display server, can still be terminated abnormally by using the kill command to send a SIGINT
(2
) orSIGKILL
(9
) signal to an xterm run by the FS. -
-
Record fsserver error messages (closing #105)
Details
The display server now makes a file with a name of the form ~/fsserver.<time-stamp>.err each time it is started. It is used to collect server error information. The file will be deleted if fsserver terminates normally. If you experience a server crash, please send this file to Ed or post it as part of an issue on github. The <time-stamp> portion of the name will correspond to the time when the server was last started before the crash. That is usually when the FS was first started after the last boot. Any file of this type with non-empty contents is worth reporting.
Thanks to Dave Horsley (Hobart) for suggesting this and contributing to the implementation.
NoteThe FS also makes a file with a name of the form ~/fs.<time-stamp>.err each time it is started. It is used to collect FS error information. The FS will attempt to delete this file if it terminates normally. If you experience a FS crash, please send this file to Ed or post it as part of an issue on github. The <time-stamp> portion of the name will correspond to the time when the FS was last started before the crash. -
Add explanatory comments to the example flux.ctl control file (closing #121)
Details
Although the data used in the file came from other sources, for many years the code that read the flux.ctl file was the complete documentation for the format. The example file in /usr2/fs/st.default/control/ now includes the details in an easier to read form. You can merge these comments, which are at the end of the example file, into your local copy or refer to the example.
Thanks to Stuart Weston (Warkworth) for suggesting this and contributing some of the information in the comments.
-
Improve error messages when reading flux.ctl (closing #124)
Details
The error messages when reading flux.ctl were confusing and uninformative. This has been the situation since the file was first added in October 2002, for version 9.5.15 (commit
1b68b90f
). Apparently, this was not a significant issue because, apparently, modifying the default contents was uncommon. If you have been having trouble with this, we apologize.The error messages have been more explicit about the cause of any read error and the offending line is printed to aid in correcting the problem.
Thanks to Stuart Weston (Warkworth) for reporting this.
-
Improve error messages when reading .rxg files
Details
-
Make error messages more informative (closing #83).
The error messages when reading .rxg files were confusing and uninformative. This has been the situation since .rxg files were first added in October 2002, for version 9.5.15 (commit
1b68b90f
). Apparently, this was not a significant issue because .rxg files were usually updated by gnplt, which wrote correctly formatted lines. If you have been having trouble with this, we apologize.The error messages have been more explicit about the cause of any read error. Unfortunately, it is not possible to show the offending line without more significant changes. However, the messages are fairly explicit about where the error occurred.
The same reading routine is used in gnplt (which uses gndat to read the .rxg files) for consistency. Unfortunately, the error messages for gnplt will still not be as informative, but restarting the FS should provide a more explicit error message that help make it clear what the problem is. If it is not possible to use the FS for this, another strategy is to use the error number reported in status line at the bottom of gnplt to identify the corresponding
RG
error in /usr2/fs/control/fserr.ctl. -
Additional .rxg file errors: Report five additional errors in .rxg files (closing #134):
-
The third field on the LO line is missing for type
range
. -
If a third field exists on the LO line, but does not decode as a number.
-
The second field on the FWHM line is missing for type
constant
. -
If a second field exists on the FWHM line, but does not decode as a number.
-
A field exists after the gain curve coefficients, but is not
opacity_corrected
.
While it is unlikely, if any of your .rxg files have these errors, they will be reported the first time you run the FS after the update. You can correct them at that time. The error messages should identify the problem clearly enough.
A few other, minor, errors are still not being caught. In particular, if a character that cannot be part of a numeric field appears within, or at the end of, a numeric field, that error will not be reported. In that case, the field up to the out-of-place character will be used as the value. Hopefully this is an unlikely error. A leading character that cannot be part of a numeric field will be reported as an error.
-
-
-
Remove extra comma in Tcal(K) table log entires (closing #160)
Details
The contents of the .rxg selected by an
lo=…
command are logged the first time the file is selected since the log was last opened. There was a redundant comma in the Tcal(K) table log entries after the .rxg file name. -
Improve web documents
Details
-
Improve font conventions.
These conventions are covered in the FS Document Font Conventions document. The following descriptions refer to sections in that document. The conventions themselves are covered in the Conventions subsection. Examples are in the Source examples section.
-
Add description of using inline anchors.
These can be used to make linking references to arbitrary text in the documents. This convention is covered as “other anchors” in the Links subsection. The document also shows how to make the anchor visible in the text. This is described in the example Linking to inline anchors subsection.
-
Improve description of code blocks.
Add use of bold for user input and bold italic for replaceable user input. This convention is described in the Code blocks subsection. The example is covered in the subsection Italics and bold in code blocks.
-
Add description for using appendices.
This convention is covered in the Links subsection. The example is covered in the subsection Appendices.
-
-
Improve wording for setting geometry values in ~/.Xresources.
Using differently named ~/.Xresources files that are used by different aliases for different displays is described in the final NOTE of the Setting geometry values in .Xresources section of the Installation Reference document.
-
Change cut-and-paste phrasing in documents to copy-and-paste
This is technically more accurate. The change primarily affects the (now) Copy-and-paste installation tips in the Installation Reference document and references to it.
-
Improve presentation of FS and drudg change lists in the update notes
In the update notes for FS 10.1.0 (this document) the list of FS and drudg changes now show a summary line and a toggle to open a more detailed description. This should make the list of changes easier to review while allowing a reader to view more details for items they find interesting. We hope this will make the update notes easier to read.
There are some downsides, primarily:
-
There is extra white space when a toggle is closed.
-
If you return “back” to the document after following a link to a different document, previously opened toggles will be closed because the web page has been reloaded. This makes it a little more difficult to return to where you were reading in the original document if it was within opened text.
If there is a consensus that this is overall an improvement, its use will continue for future updates.
-
-
Add explanation of setting environment variables.
Section Setting environment variables was added to the FS environment variables document.
The preamble of the Runtime variables section in the same document was expanded to include the additional steps needed to update environment variables when using the display server.
-
Make numerous wording fixes.
-
-
Update example
station
procedure librariesDetails
The example libraries can be found in /usr2/fs/st.default/proc.
-
Add standard procedures for (rack/recorder): DBBC/Mark 5C, DBBC/Flexbuff, DBBC3/FlexBuff.
Table 1. New example station.prc libraries Equipment - Rack/Drive1/Drive2 Prefix letters Example station
Librarydbbc/mk5c
d5c
d5cstation.prc
dbbc/flexbuff
dfb
dfbstation.prc
dbbc3/flexbuff
d3fb
d3fbstation.prc
-
Add
check_ntp
procedure.An example
check_ntp
procedure is provided in check_ntp.prc. It is slightly improved from the original version. It has also been incorporated into the examplestation
libraries for the current most commonly used rack/recorder combinations: DBBC/Mark5B, DBBC/FlexBuff, DBBC/March 5C, DBBC3/Flexbuf, and VLBA5/Mark 5B. Please see the table in the Example standard procedure libraries section of the Installation Reference document to identify which files are for which combinations.
-
-
Add other miscellaneous fixes
Details
-
Generalize the
bbcgain
command read back to handle DBBC3s. -
Allow
0
for DBBC3 BBC frequencies. -
Add the missing
bbc110
command for DBBC3. -
Add useful default IF sources for DBBC3
bbcnnn
commands, whennnn
is064
or larger. -
Add
0
MHz BW for display of DBBC3 BBCs that are not configured. -
Add the missing
formbbc
andformif
detector groups inonoff
for DBBC3 racks.Before the current release there was no way to know which BBCs or IFs were being recorded to implement these groups. Now that the
core3h_mode
command is implemented, it is possible. -
Add missing
64
MHz BW forfivept
andonoff
with DBBC BBCs. -
Fix a bug that caused DBBC3 BBC frequencies to be ignored when calculating Tcal(K) and frequency dependent FWHM.
For Tcal(K), this generated incorrect values, which impacted Tsys values by a proportional amount. The incorrect values were for a frequency in the band or nearby, so typically not entirely unreasonable.
Since Tsys calculated by the FS is only a station diagnostic, this had limited impact. Before the current release with DBBC3’s, Tsys could effectively only be calculated in
fivept
andonoff
and to spot check Tsys outside of schedule execution. Pointing offsets (fromfivept
) and SEFDs/Tcal(J)s (fromonoff
) were not affected. The Tcal(K) values were probably adequate for verifying consistency of station performance with Tsys spot checks, if they were used at all.For frequency dependent FWHM, this should have been an insignificant error in most cases.
-
Fix the RDBE monitor display (monit6) to use the
time_t
type when calculating the nominal VDIF epoch.The
mout6()
function was using anint
to hold the time instead of atime_t
, resulting in incorrect values for the nominal VDIF epoch on 64-bit systems. This had very limited impact. The nominal VDIF epoch was only used to apply inverse video to epochs that weren’t nominal, if all RDBEs had different epochs, a rather unlikely case. If it occurred, all the VDIF epochs would have been shown in inverse video as “wrong,” which would have been “incorrect” for at most one epoch. This has been fixed.The error was introduced by the bulk unlongify for conversion to the 32/64-bit compatibility for version 10.0.0. It only would have impacted 64-bit systems.
-
Correct RDBE VDIF epoch increment command hint line in fmset.
The VDIF epoch increment command (
>
) hint line, which only appears if the RDBE’s VDIF is before the current epoch, was displayed twice. Additionally, if it became no longer useful, it was not removed. In the version 9.12.13, the hint lines dynamically adjusted depending on whether an increment was possible. This behavior was not correctly preserved in the merge of versions 9.13.2 (old “main”) branch and 9.12.13 (old “vgos” branch). The fixed version uses statically placed hints lines for simplicity, only showing the VDIF epoch increment line when it could be useful. -
Prevent decimation from being specified for 5B/Ethernet in the
mk5c_mode
(andfb_mode
) command.Previously, it was possible to set the 5B/Ethernet sample rate via the decimation parameter in the
mk5c_mode
(andfb_mode
) command. This was a vestige of themk5b_mode
command. The Ethernet recorders (Mark 5C and FlexBuff, controlled by jive5ab) do not support decimation. The sample parameter of themk5c_mode
(andfb_mode
) command provides full functionally for specifying the sample rate for 5B/Ethernet and VDIF recording and is the method used by drudg. -
Improve sample rate reporting for query responses of commands
fila10g_mode
,mk5b_mode
, andmk5c_mode
/fb_mode
.None of the devices these commands query report the sample rate. For
fila10g_mode
andmk5b_mode
, the sample rate implied by the device decimation response is shown in parentheses. Previously, they reported the commanded rate in parentheses.NoteThe core3h_mode command follows the same improved convention. For
mk5c_mode
/fb_mode
, the devices also don’t report the decimation, so the commanded sample rate is shown in double parentheses. The device does report the track bit rate, which can be used for comparison, but this is reported in bits per second instead of Ms/s. -
Update the value of π in the FS copy of prefr.f to agree with the current value in drudg.
In FS 9.7.0, July 2004, commit
acde80ba2
the value if π used by skdrut/prefr.f was updated with a value with more digits. The current change catches fslb/pref.f up with that previous change.This increased digits changes the value of π by somewhat less than 3 parts in 10-11, which should be insignificant. This marginally improves the consistency of FS precession rotations between B1950 and J2000 with those in drudg.
-
Eliminate extraneous
(xx)
strings in error messages.Some error messages were displayed/logged with extraneous
(xx)
strings after the error number. This came about because a change was made (in commit9e9906d9
for version 9.12.2 released in March of 2016), to report the so-calledLWHAT
two character Hollerith values (or up to four character representation of numbers) for an error even if there was no?W
(or `?WWW) string in the message to be replaced with the value. The principle being that it was more important to report the information to help solve a problem than to adhere to incorrect formatting of the error message.This did not seem to cause much of a problem. However, some programs, in particular aquir, fivpt, onoff, were incorrectly setting the
LWHAT
value. Other programs, in particular mk5cn, dbbcn, and rdbcn, were carelessly setting theLWHAT
value when there was no error. The latter problem caused extraneous strings in error messages from unrelated commands. We believe all cases of this have been fixed. If you see any now, please report them. -
Allow less white space for numeric
LWHAT
values in error messages.Previously, if an error message had a runtime determined numeric value, there had to be a four character
?WWWW
placeholder in the error message for it to replace to avoid overwriting. This was changed to allow shorter placeholders, down to?W
, to be used. A?W
can be used to show a one digit number with one space in front of it. To do this, the?W
must be directly appended to the previous word in the message, for exampleword?W
, which may be a little hard to read in the fserr.ctl or sterr.ctl file. -
Corrected `error number for reporting trouble opening time.ctl.
-
Correct erroneous Ethernet transaction error messages
Previously, the message for reporting errors when sending data to the Ethernet devices (Mark 5s, DBBCs, RDBEs, Mark 6s), incorrectly stated that the connection was closed. The connection is not closed. Perhaps it should be, but the incorrect statements have been removed until the functionality is changed. The affected errors are:
DB
/M5
/M6
/RA
-102
. -
Correct
bbc_gain
command error codesIf an error occurred in the monitor form of the command, the error was reported as
di
instead ofdg
. -
Add instructions to the example .xsession files for how to make them work correctly when tcsh is the login shell
Instructions for implementing this were added to the FS 10.0.0 Update Notes document as the Updating ~/.xsession sub-step in the Miscellaneous FSLx changes step.
-
Improve default .fvwm2rc files
The .fvwm2rc files in the auid, oper, and prog sub-directories of /usr2/fs/st.default were updated. These changes only affect behavior on the console GUI.
-
Add use of
NeverFocus
for thescnch
anderchk
windows.This was previously added in 10.0.0-beta1, but removed on 10.0.0 because it was thought to prevent scrolling of those windows. However, that turned out to not be the case. Using this setting prevents the focus from accidentally being given to these windows, which don’t accept input.
-
Improve consistency of hot key definitions.
Previously the handling of msg, rdbemsg, monpcal, and monit6 were not consistent. Now the default configuration is for Control+Shift+M to open msg and Control+Shift+6 to open monpcal and for these programs to be displayed in the
Button 2
menu. Immediately below the configuration lines for these programs are commented out lines for rdbemsg and monit6, which can be used instead by sites with RDBEs.
-
-
Don’t read the rdbe.ctl control file, or log its contents, unless the rack type is RDBE.
-
Correct error in FORTRAN calls to get FiLa10G time for setcl
An argument was missing. This was a bug from the VGOS branch, which technically do not support using setcl for FiLa10G. The bug apparently did not affect versions since the merge since there was a relatively low, not quite 1 in 232 chance of it being excited.
Notesetcl only works for the first FiLa10G if there are two. A second is only used for VGOS. fmset works for both. -
When sending a target level for the DBBC3 IFs, always send
1
for the filter selection, and ignore the filter selection on read back.Currently, this parameter is used in the syntax for the device, but is meaningless.
-
Fix
tpicd
to only use direct sampling DBBC3 of side-bands that are recorded instead of all of them.Before the current release, there was no way to know what channels were being recorded. Additionally, direct sampling was too slow to be useful. Only recorded channels would be sampled now, but direct sampling is no longer supported in favor of multicast.
-
Reorganize and cleanup the
help
file foronoff
. -
Improve the description of the decimation parameter in the
help
files forfila10g_mode
andmk5b_mode
/mk5c_mode
/fb_mode
. -
Add missing
32
and64
MHz BWs inhelp
for DBBCbbcnn
commands. -
Add missing
help
page forjive5ab
command. -
Fix
mk5_status
command to get its command name for logging from the parsed command line instead of being hard-coded.This is the normal structure of SNAP commands, which
mk5_status
did not have. It enables only updating control/fscmd.ctl to either change the name or create a synonym. Fixing this was necessary in order to make thefb_status
synonym work correctly. -
Remove
e
rack type inhelp
files.help
for thepcald
andtpicd
commands now works for all systems. -
Correct a few compile warnings, but certainly not a significant number.
-
3.2. drudg changes
drudg opening message date is 2022-02-10.
-
Add support for DBBC3 DDC racks
Details
drudg will handle VEX schedules, .vex, with up to 256 channels (128 BBCs) and eight IFs. It will handle Mark IV schedules, .skd, with up to 32 channels (16 BBCs,
001
-016
) and up to two IFs (a
andb
). In all cases, the number of channels per IF must be a power of two.NoteAt this time it is only considered safe to set the configuration of then Core3H boards with the DBBC3 boot configuration file. As a result the drudg generated setup procedures only check the configuration of the Core3H boards. Once it is possible to set the Core3H boards remotely. The setup procedure can be run with
force
as its argument set the configuration manually. For example:setup01=force
TipA full check (or setup) of the Core3H boards will take longer than schedules allow for setup procedures to execute. As a result, it is strongly recommended that the new
use_setup_proc
drudg option in skedf.ctl (see use_setup_proc below) be enabled for use with DBBC3s. This will cause the mode to be checked only at the start of the schedule. If the schedule is started at least a few minutes ahead of time, there should be no delays in schedule execution due to the setup procedure. -
Replace use of all
mk5…
commands withfb_…
commands in generated procedures when the selected recorder is FlexBuffDetails
The following substitutions are made:
-
fb
formk5
-
fb_mode
formk5c_mode
-
fb_status
formk5_status
NoteAs a general rule, drudg will use the fb
versions ofmk5
commands and procedures when the selected recorder is FlexBuff. The procedures are discussed in next two items below. -
-
Replace use of the
checkmk5
procedure withcheckfb
in .snp files when the selected recorder is FlexBuffDetails
This change was made for naming consistency, but also because the typically the contents of these procedures are different.
-
Add
mk5c_config
orfb_config
procedure calls to setup procedures for Mark 5C and Flexbuff recorders, respectivelyDetails
These procedures can be used to override the default configuration of Mark 5C and FlexBuff recorders. They are called after the
mk5c_mode
orfb_mode
commands (and after thethread…
procedure if present). They are local procedures intended to provide tuning for the recorder configuration.For more information see the mk5c_config/fb_config procedure subsection of the FS DBBC3 Operations Manual.
-
Add, optionally,
thread…
procedures to setup procedures for Mark 5C and FlexBuff recordersDetails
This procedure controls whether VDIF data is recorded multithreaded or single thread per file. Its use is described in Thread procedure subsection of the FS DBBC3 Operations Manual.
NoteAlthough it is expected that only one thread selection will be used for an entire experiment, a separate thread…
procedure is created for each mode. This allows them to be customized by mode if that should prove useful. -
Enhancements to summary listings, option
5
Details
-
The
GB
positions and totals are now also listed when the recorder isnone
(closing #166). -
The
GB
fields were expanded to allow for larger data volumes. -
The
Info
column and the captions in the header describing it were cleaned-up.
-
-
Changes to skedf.ctl options
Details
Please see the /usr2/fs/st.default/control/skedf.ctl for details about the use of these options.
-
Add
e-vlbi_override
optionIf enabled and if the
target_correlator
parameter in a VEX schedule includes the stringe-vlbi
(case insensitive), drudg will:-
automatically convert the recorder to
none
-
for racks type that include a FiLal0G, the
/fila10g
will be removed.
The equipment selection can subsequently be changed with drudg option
11
. -
-
Add
scan_close
optionIf enabled, drudg will detect gaps in the schedule at least as long as a user settable
max_gap_time
, say an hour, and wait to start the next scan a user settablepre_time
time before it is scheduled. Thepre_time
should probably be short, but at least as long as the worst case slewing time of the antenna. The concept is that the scan at the start of gap is closed, i.e.,check…
procedure is run before slewing to the next source. Then there is a wait until thepre_time
before the next scan will begin for thescan_name=…
andsource=…
to be commanded.This can be useful for intensive schedules. The antenna won’t slew needlessly to a new source or setup for new scan at the start of the gap. The schedule can be broken into while it is waiting for the next scan to start, the intensive schedule run, and then the original schedule rejoined for the next scan.
-
use_setup_proc: Add
use_setup_proc
optionIf enabled, drudg prefixes each setup procedure with
setup_proc=
to invoke that command. For more information see the Minimizing the use of setup procedures subsection of the FS DBBC3 Operations Manual. -
Add
vdif_single_thread_per_file
optionThis option allows control of whether the VDIF files created by Mark 5C and FlexBuff recorders are multi-threaded or single threaded.
For more information see the Thread procedure subsection of the FS DBBC3 Operations Manual.
-
Fix drudg equipment options: Fix
equipment
andequipment_override
options in skedf.ctl.These bugs apparently first appeared in version 10.0.0.
-
Fix a bug that prevented applying
equipment
if equipment was not specified in the schedule andequipment_override
was not selected. -
Fix a bug that caused
equipment
to be applied if there was equipment in the schedule even ifequipment_override
was not selected.
If you used equipment_override, these bugs did not affect you. Since no one reported these bugs, presumably at least one of the following was always true:
-
The
equipment_override
option was selected. -
The schedule had correct equipment.
-
The
equipment
option was selected and had correct values. -
The equipment was adjusted with option
11
.
The features of these options now agree with the original design, which was:
-
User by itself, the values specified by
equipment
will only be applied if there is no equipment in the schedule. -
If
equipment_override
is also selected, the values specified byequipment
will be forced.
-
-
Expand
default_dbbc_if_inputs
optionDefaults for up to eight IF inputs can be specified for DBBC3s.
-
Expand
dbbc_if_targets
optionValues for up to eight IF inputs can be specified for DBBC3s.
-
Expand
dbbc_bbc_target
option to also support DBBC3s.
-
-
Add other miscellaneous enhancements:
Details
-
Make the recorder type in .vex schedules case insensitive (bug fix)
-
Add missing final scan
checkmk6
call in .snp files for VGOS .skd schedules using a Mark 6 recorder (bug fix) -
Support slewing model acceleration in .skd files
-
Use ISO format for opening message date
-
Remove trailing spaces in .prc files
-
Remove some obsolete variables
-
Remove obsolete
Makefile
s from the vex/ subdirectory -
Make various other clean-ups
-
Appendix A: Cleaning up .rxg file comments
As described in Stop adding extra comments when updating .rxg files change in the FS changes sub-section above, gnplt has been adding extra comments, in some cases a lot of them, to your .rxg files. With this update, that behavior has been fixed. However, there may already be many extra comments in your .rxg fies. This appendix provides an optional process for cleaning up any extra comments. This cleanup is entirely optional. If it is not performed, there will be no loss of functionality. There will just be some extraneous comments in your .rxg files.
Note
|
If you have been curating your .rxg files to fix the issues with the comments, you may not want to use this process. You may still wish to review it to see if any of it might be helpful. |
The cleanup process is broken into two sequential steps below:
-
Remove extra comments — which makes a backup of your current .rxg files and the removes all the extra comments.
-
Cleanup trailing comments — which uses the backup of your .rxg files to produce a set of trailing comments with all redundant comments removed.
The first is relatively easy to apply. It may have some benefit even if you don’t bother with the second step, ever. The second can be deferred until later, if you do want to apply it.
A.1. Remove extra comments
The sub-steps here are designed to be as simple as possible when applying the FS update this appendix is part of, but preserve the opportunity for a full cleanup, whether it is done now or at a later date. As oper:
-
Make a backup of your current .rxg files:
This will give you a backup to recover from in case something goes wrong and will simplify cleaning up the trailing comments if you defer that to a later date. Enter these commands as oper, using current values for
year
,month
, andday
:cd /usr2/control/rxg_files mkdir BACKUP.year.month.day cp -a *.rxg BACKUP.year.month.day
-
Reduce the .rxg files to just the active calibration.
This will remove leading comments added by gnplt and all trailing comments. This will not disturb the active calibration or its interspersed comments.
CautionThe trailing comments may be a complicated hash unless you have been curating them. If you have, you probably do not want to use the -c
option with the rxgfix3 script below, if you use the script at all. If you have not been curating them, it may be a laborious process to straighten them out. Removing them now will help make that process a little easier.-
Check what changes would be made:
This sub-step uses the rxgfix3 script. Its default behavior is to remove “extra” leading comments that gnplt may have added. It has several options that may also be useful. This sub-step uses the recommended options along with the
-t
option, which runs the script in “test” mode to just show what changes would be made. The recommended options are explained below. To see what changes would be made, as oper enter:cd /usr2/control/rxg_files /usr2/fs/misc/rxgfix3 -cdrt *.rxg
TipIf the output is too large to work with, you can simplify it by running rxgfix3 on any subset of files, even a single file, at a time. The meanings of the recommended options used with rxgfix3 script above are:
TipHelp text and a complete listing of available options can be viewed with /usr2/fs/misc/rxgfix3 -h
.-
-c
— Delete trailing comments. This will make it easier to update your trailing comments to the correct form. You should drop this option if you want to keep your trailing comments the way they are. -
-d
— Delete existing .bak files before processing. If old .bak files are left over from using rxgfix<n> scripts in the past, this will delete them. If you prefer to keep them, you can rename them before running rxgfix3 without-t
. -
-r
— Use the date in the firstGnPlt2
leading comment to replace the date on the date line in the active calibration. This will not be needed if you have updated all your .rxg files with gnplt since FS version 10.0.0-beta3, but is benign in that case. If you have manually changed the date line in your .rxg file(s) you may prefer to use the-k
option to keep the current date line. (Omitting both-r
and-k
will cause rxgfix3 to not process a file if the date comment and the date line don’t agree.)
If some of these changes are unacceptable, you can change the actions by dropping some options or making changes, such as using
-k
in place of-r
. You can always process the files in subsets with different options if that is needed. -
-
Apply the changes:
If the changes shown in Check what changes would be made sub-step above are acceptable or you have figured out how you want to modify them, you can re-run rxgfix3 with the options you decided on, but without the
-t
, in order to apply them.
-
Once the “extra” comments have been removed you can decide how and when to deal with reinstalling the trailing comments. This may be quite involved and can be deferred until convenient. It is covered in the next step, Cleanup trailing comments, below.
A.2. Cleanup trailing comments
The procedure for cleaning-up the trailing comments is covered in the Cleanup procedure sub-section below. After that there is an Explanation of procedure sub-section that may make what is being done clearer and includes a small additional procedure for files that have been updated previously by gnplt1. When applying these procedures, there are a few points worth considering:
-
Depending on the size of your .rxg files, cleaning up the trailing comments could be very laborious. Using this procedure is entirely optional. It is provided only in case you are interested in using it. If your trailing comments are in the form you want or if you do not want to clean them up, you can skip this procedure. If you don’t want to clean them up, you can either keep them in the backup you made (in sub-step Make a backup of your current .rxg files above) or append all the trailing comments from the backups into the corresponding .rxg files (the latter case would be equivalent to not using the
-c
option in the Check what changes would be made sub-step and following sub-step above). Future updates with gnplt will add comments in reverse chronological order.If you do append them and they are not in reverse chronological order, they will not be consistent with new updates made with gnplt, which will add new comments in reverse chronological order. As a result, straightening out the trailing comments at a later date will be more complicated. It is probably best to avoid this unless you are not worried about the older trailing comments. Keeping the trailing comment cleanup simpler is the reason that it is recommended to delete the trailing comments (with rxgfix3 option
-c
) in the Remove extra comments step above. The procedure here assumes that no new comments have been inserted in the backup copy in reverse chronological order. -
This approach for cleaning up the trailing comments will work correctly if your .rxg files have only been updated with gnplt and not modified otherwise. If they have been modified otherwise, the following procedure may not work, but it may be possible to adapt it to your situation.
If your .rxg files have only been updated by gnplt, it may be possible to automate this step. If you would like to have a script to implement this procedure, please mail Ed. If there is sufficient interest, we will look into developing it.
-
The procedure makes use of the added
GnPlt2
date comment lines in the file. Although the date encoded will typically be different, the lines will be of the form:* RXG file updated by GnPlt2 on 2021-4-19
The procedure identifies particular instances of these comments and then locates the next matching instance.
A.2.1. Cleanup procedure
This procedure should be applied after the Remove extra comments step above. Using the following procedure to cleanup the trailing comments. As oper, for each individual .rxg file:
-
Make a temporary copy, to work on, of the backup of the file you created in the Remove extra comments step above. Working with the temporary copy will allow for easy recovery in case there is problem, including an error in this procedure. To make a working copy for <name>.rxg, where
year
,month
, andday
are the values you used in the Make a backup of your current .rxg files sub-step above, enter:cp /usr2/control/rxg_files/BACKUP.year.month.day/<name>.rxg /tmp
ImportantFor the remainder of these steps, work on the copy you just made. -
Find the uncommented calibration data set at the top of the file.
-
The first two lines in the file should be
GnPlt2
date comments. Note the date in the second date comment. Ignore any date comments that follow the second one.If there are no
GnPlt2
date comments, delete from the start of the file to (and including) theend_spillover_table
line at the end of the active calibration, then go to the Save file step below.If only the first line is a
GnPlt2
date comment, delete from the start of the file to (and including) theend_spillover_table
line at the end of the active calibration, then go to the Finish step below. -
Search for the next occurrence of a date comment with the date you noted above.
-
Call the line before that location B. It should be
end_spillover_table
. -
Delete from the beginning of the file to B, inclusive.
-
Loop:
-
If the line after
GnPlt2
date comment that you found is anotherGnPlt2
date comment, note the date in that comment.Otherwise go to the step labeled Finish below.
-
Find the last line of the commented out calibration set at this point. It should be
*end_spillover_table
. -
Call the next line location A.
-
Search for the next occurrence of the date you noted above in Loop.
-
Call the previous line location B. It should be
*end_spillover_table
. -
Delete from A to B, inclusive.
-
Repeat the above steps above starting with the step labeled Loop above until you reach a commented out calibration that doesn’t have a second
GnPlt2
date comment at the start.
-
-
Finish: If your .rxg file was updated with gnplt1 in the past, please consider using the gnplt1 additional procedure in the Explanation of procedure sub-section below. Then continue with the next step here, Save file.
-
Save file: Save the file.
-
Append the saved file to what is now in the .rxg file its contents originally came from.
NoteAny trailing comments that were added by gnplt after applying the Remove extra comments step above, will be in the correct order. As a result, appending after those will maintain the correct order.
A.2.2. Explanation of procedure
To understand how this process works, consider two cases: (1) only the gnplt2 has been used to update the file, and (2) the file was previously updated by gnplt1. In the former case, the growth of the file follows the pattern (where the integers indicate the sequential versions of the calibration, the leftmost is the active one, all the others are commented out):
0 1 0 2 0 1 0 3 0 1 0 2 0 1 0 4 0 1 0 2 0 1 0 3 0 1 0 2 0 1 0 ...
For each new version, gnplt2 inserted a new data comment at the
start. The previous date comments were preserved after it. After the
above procedure, the content is reduced to (for the case of 4
being
the active calibration):
4 3 2 1 0
The other case is if the file was updated with gnplt1 before
switching to gnplt2. In this case the progression is (where A
represents all the trailing comments before the first gnplt2
update):
0 A 1 A 0 A 2 A 0 A 1 A 0 A 3 A 0 A 1 A 0 A 2 A 0 A 1 A 0 A 4 A 0 A 1 A 0 A 2 A 0 A 1 A 0 A 3 A 0 A 1 A 0 A 2 A 0 A 1 A 0 A ...
After the above procedure, the content is reduced to (for the case of
4
being the active calibration):
4 3 2 1 A 0 A
gnplt1: In this case, there is an extra A
section between the final 1
and 0 A
at the end of the file. This
can be found and removed with these steps:
-
Locate the end of the
1
comments, which is the first*end_spillover_table
line after the lastGnPlt2
date comment. -
Call the next line A.
-
Find the next commented out calibration with the latest date line (commented out) and no
GnPlt2
date comment line. This is last update made by gnplt1 (0
). -
Find the previous
*end_spillover_table
line. It should be the last line before the0
calibration set.If your .rxg file was started before opacity corrections were supported (version 9.6.7 in September 2003), the last line before the
0
calibration set will be a commented out Tcal table entry (with three fields after the leading*
, i.e.,* polarization frequency Tcal
). In this case, you should find that line instead. -
Call that location B.
-
Delete from A to B, inclusive.
-
If you executed this as part of the Cleanup procedure step above, you can continue with the sub-step labeled Save file in that step.