Skip to main content

NRAO 的 VLBI 调度程序 SCHED 的 Python 扩展(参见 http://www.aoc.nrao.edu/~cwalker/sched/)

项目描述

pySCHED

pySCHED是一个计划和调度由不同网络进行的超长基线干涉测量 (VLBI) 观测的程序,例如欧洲 VLBI 网络 (EVN)、超长基线阵列 (VLBA)、高灵敏度阵列 (HSA)、全球 VLBI 、澳大利亚长基线阵列 (LBA) 或韩国 VLBI 网络 (KVN)。pySCHED生成需要分发到不同望远镜和相关器以进行 VLBI 观测和操作的标准文件。

pySCHED基于 NRAO 的 Craig Walker 开发的NRAO SCHED程序,并添加了独特的功能:

  • GitHub 上的中央目录管理。版本控制的目录提供对每个目录文件的更改历史记录的完全访问权限。默认情况下,在启动时,pySCHED总是更新目录;使用旧的/过时的目录不再是错误的原因。我们注意到,如果需要,可以关闭该功能(例如,对于多时期观察)。
  • 完整的 DBBC2 调度支持,对于 EVN 观测至关重要。
  • 从 v1.8.1开始, pySCHED在启动时检查更新,通知用户有可用的新(er)版本。
  • KEYIN 文件可以是一个带有可执行 Python 代码的模板调度。这可以简化调度标准观察。
  • 可以生成 VEX1 以及 VEX2 输出。
  • 绘图现在通过 Python 的matplotlib库完成,从而更容易控制/增强和/或实现不同的绘图。

入门

要了解如何使用pySCHED.key编写可用于生成观察文件(.vex文件)的调度文件() ,您可以按照EVN 调度页面上的用户指南进行操作。本文档重点关注欧洲 VLBI 网络 (EVN) 的观察。有关如何编写调度文件的更多扩展文档,请查看通用NRAO SCHED 用户手册

准备好.key文件后,pySCHED可以生成调度文件。可以通过运行进行基本操作:

sched.py [-p] -k {keyfile}

其中可选参数-p 检索图形模式,以便能够绘制有关观察的图。

安装

依赖项

  • Python (>= 3.6)。
  • Fortran 编译器。
  • NumPy (>= 1.16)。
  • 吉特。

PyQt5 依赖项

pySCHED使用 PyQt5 作为其 GUI。从 5.12 版本开始,PyQt5 具有不会自动安装的外部依赖项。许多系统都安装了这些依赖项,如果您看到错误消息,请参阅此讨论页面Cannot load backend 'Qt5Agg' which requires the 'qt5' interactive framework, as 'headless' is currently running了解详细信息。

康达(推荐)

使用conda是最简单的安装方法。这个包管理器可以在这里下载。安装后conda,下载这个YAML 文件,它描述了一个 conda 环境,包括所有提到的依赖项和pySCHED。要使用它:

conda env create -f pySCHED.yaml
conda activate pySCHED

点子

如果要在系统范围内安装pySCHEDpip ,可以直接使用:

sudo pip3 install numpy
sudo pip3 install pythonSCHED

pip3包含在大多数 python3 安装中,否则可以安装:

sudo apt-get install python3-pip

已知的问题

如果您在使用 pySCHED 时遇到问题(无论是在安装期间还是在运行期间),请查看讨论页面。我们在这里总结了最常见的问题以及如何解决这些问题。

更新

更新 pySCHED 的命令是:

sudo pip3 install --upgrade pythonSCHED

或者在使用 conda 安装时:

conda activate pySCHED
pip install --upgrade pythonSCHED

用法

执行piporconda安装方法后,可执行文件sched.py应该在您的$PATH.

pySCHED的功能之一是目录文件将在sched.py. 这允许目录文件与 pySCHED 发布周期分开更新。这些文件将安装在~/.pysched. 如果没有另外指定,将在pySCHED$SCHED中设置为该目录。下载和更新过程需要安装版本控制软件并在. 在大多数 GNU/Linux 系统上,将可用。如果不是,它可以安装:git$PATHgit

sudo apt-get install git

在 SCHED 环境中使用 pySCHED

当 pySCHED 在$SCHED为 NRAO SCHED 程序设置变量的环境中运行时,上述用法可能会产生一些问题。如果$SCHED确实设置为指向 NRAO SCHED 目录的路径,那么 pySCHED 将读取该目录下的目录。在这种情况下,pySCHED 将不会使用最新的目录,并且可能无法安排需要最新更新的实验。

因此,我们建议在运行 pySCHED(然后将使用默认~/.pysched目录)之前取消设置此变量,或者确保该目录下的$SCHED目录能够熟练地安排您的实验。

发布历史

  • v1.2.0 (2019-09-27):与 SCHED 版本 11.5 合并。
  • v1.2.1 (2019-10-18):readline 和 matplotlib 版本的错误修复。
  • v1.3.0 (2019-11-19):添加了 SCANEXPS 关键字以在 VEX2 文件中表示意图。为了完成这项工作,导致调用 SCNDUP 的 Fortran 函数被转换为 Python。
  • v1.4.0 (2019-12-13):为 DAR 关键字添加了“eMERL”值,以启用 eMERLIN 外站自动 IF 和 BBC 分配。
  • v1.5.0 (2020-02-25):改进了错误/警告消息。
  • v1.5.1 (2020-03-24):更新了缺少“/”的错误消息。
  • v1.5.2 (2020-03-26) : 将版本限制更新为 PyQt 版本。
  • v1.5.3 (2020-04-02):处理在 matplotlib 3.2 版中所做的更改。
  • v1.6.0 (2020-05-12):5 月/6 月会议的目录更新和情节改进。
  • v1.7.0 (2020-05-18) : 在命令行和交互式帮助文本中包含 pySCHED 版本。
  • v1.8.0 (2020-05-19) : 在启动时进行版本检查。
  • v1.8.1 (2020-05-20) : 在发行版中包含 README.md,安装时需要。
  • v1.8.2 (2020-05-27):修复了更新目录写入未打开的日志文件的问题。
  • v1.9.0 (2020-06-09):自述文件的大修。
  • v1.10.0 (2020-06-22):SCHED 11.6 合并到 pySCHED。
  • v1.11.0 (2020-07-11) : 在空的 KEYIN 输入记录上添加警告消息。
  • v1.12.0 (2020-07-21):运行时间提高了约 30%。
  • v1.12.1 (2020-09-10) : Bug 修复,连续录制警告会频繁触发。
  • v1.13.0 (2020-10-05) : 如果使用 1 位采样,则 eMERLIN 允许双倍带宽。
  • v1.13.1 (2020-10-07):exit.c 函数中的错误触发编译器错误。原来是未使用的代码,因此从编译列表中删除。
  • v1.13.2 (2020-10-14):更新代码以支持 matplotlib 3.3 版。
  • v1.14.0 (2020-10-23):更新了正常运行时间图的图例布局,并在绘图工具栏中添加了帮助按钮。
  • v1.14.1 (2020-11-05):pySCHED 使用 Python 3.6 版中引入的字符串格式。明确这一要求。
  • v1.14.2 (2020-11-06) : Fortran 索引用于索引 Python 数组,在使用 16 个 BBC 时导致错误。
  • v1.15.0 (2020-11-23):消除了关于基于时间的绘图的开始日期的困惑。
  • v1.16.0 (2021-01-12) : 现在与 matplotlib 3.3.3 兼容,并在启动消息中宣传了 GitHub 页面。
  • v1.16.1 (2021-01-21):修复了 XY 图的错误。
  • v1.17.0 (2021-03-29):修复 matplotlib 3.4 警告的弃用。
  • v1.18.0 (2021-05-21):更新以绘制较小桌面窗口的 UI。
  • v1.19.0 (2021-07-09) : 在 VEX 文件中添加频道极化注释。
  • v1.19.1 (2021-10-19):修复了 BITSTREAMS 部分生成和 Matplotlib 中已弃用的功能导致崩溃设置轴属性的错误。
  • v1.20.0 (2021-11-01):添加选项以在正常运行时间图中显示转换时间。
  • v1.20.1 (2021-11-04) : 当 Matplotlib 配置为使用 LaTex 显示文本时,在 Matplotlib 中转义 TeX 特殊字符会绘制标题和标签。
  • v1.21.0 (2021-11-17):修复 matplotlib 3.5 警告的弃用。
  • v1.22.0 (2022-01-14):添加“JIVE-e-VLBI”作为可能的目标相关器。
  • v1.23.0 (2022-04-28) : 这个版本引入了三个变化:
    • 向 VEX 文件添加了额外的版本信息。
    • 在 $SCHED/setups 目录中搜索给定的安装文件,如果它不包含路径并且在当前目录中找不到。
    • 将弃用的 distutils.version.LooseVersion 替换为 Packaging.version.parse。
  • v1.24.0 (2022-05-13):将 EVN SCHED 补丁合并到 pySCHED 中。

接触

pySCHED由VLBI ERIC (JIVE) 联合研究所维护。您可以通过pysched@jive.eu 联系维护人员。

致谢

该项目已根据第 730884 号赠款协议获得了欧盟 Horizo​​n 2020 研究和创新计划的资助。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

pythonSCHED-1.24.0.tar.gz (2.9 MB 查看哈希

已上传 source