Ubuntu安装AT3D用于CloudTomography

部署运行你感兴趣的模型镜像


前言

安装AT3D软件,用于三维云结构反演
Developing remote sensing methodologies for clouds and aerosols using 3D radiative transfer.

参考文献
AMT-Retrieving 3D distributions of atmospheric particles using Atmospheric Tomography with 3D Radiative Transfer – Part 2: Local optimization

背景

3D Radiative Transfer


一、AT3D下载安装

ubuntu安装git

sudo apt install git

下载AT3D,并在anaconda中安装:

git clone https://github.com/CloudTomography/AT3D.git
cd AT3D

conda create -n at3d python=3.10.4
conda activate at3d

pip install -r requirements.txt
pip install .

安装成功


二、问题处理

遇到ModuleNotFoundError: No module named ‘distutils.msvccompiler‘,原因在于版本兼容性问题。
解决方法:在AT3D根目录中,打开requirements.txt,在最后两行添加:

setuptools==58.0.0
wheel==0.36.2

重新进行:

pip install -r requirements.txt
pip install .

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

### AT3 延时原因分析 AT3架构中的延时问题通常涉及多个方面,包括但不限于总线通信、中断处理以及外部设备交互。以下是可能的原因及其对应的解释: 1. **总线通信延迟** 总线通信过程中可能会因为等待 READY 信号而产生延迟。READY 信号由外部硬件生成[^1],如果外部设备响应较慢,则可能导致 CPU 需要多次查询 READY 状态,从而增加整体延时。 2. **中断处理机制** 在 8086 架构中,虽然取指令和执行指令可以重叠操作,但在处理中断请求时仍可能存在一定的延迟。特别是对于可屏蔽外部中断源,其类型号并非通过硬件固定而是通过软件设置,这增加了额外的配置时间开销。 3. **外部设备同步** 如果使用像 8255 这样的外围芯片作为 I/O 接口,在某些情况下无法直接充当外部中断源。这意味着当需要依赖这些设备触发事件时,系统不得不采用轮询方式来检测状态变化,进一步加剧了系统的反应速度下降。 4. **定时器精度不足** 对于基于 8253 定时器的应用场景来说,由于该器件支持多种工作模式并允许灵活设定初值寄存器内容,但如果错误理解或者误用了计数值单位(比如将其误解为针对 CLK 脉冲而非实际所需的时间间隔),则容易引发预期之外的行为表现. ### 解决方案探讨 为了有效缓解上述提到的各种潜在因素所造成的性能瓶颈现象,可以从以下几个角度出发考虑改进措施: #### 提升总线效率 - 使用更快的数据传输协议或优化现有协议下的握手流程减少不必要的等待周期. - 改善目标存储单元访问特性使其能够更迅速地给出准备就绪反馈. #### 加强实时性保障 - 实施优先级调度策略使得高重要度的任务得以尽快被执行而不至于长时间处于挂起队列当中; - 利用 DMA 控制器代替传统程序控制传送方法实现大批量数据搬移作业以释放处理器资源专注于其他核心运算活动之上; #### 合理规划外设布局 - 尽量选用具备主动通知能力的新一代智能型传感器替代单纯依靠被动读写操作的传统型号产品; - 结合具体应用场景需求定制开发专用集成电路ASICs集成更多功能模块降低中间环节损耗提高整个链条运转流畅程度; #### 正确配置定时组件参数 - 认真查阅相关手册资料弄清楚各个字段含义后再做相应调整确保达到理想效果的同时也不会带来副作用影响正常业务逻辑运行轨迹. ```python # 示例代码展示如何初始化8253定时器以避免常见误区 def initialize_8253_timer(timer_number, mode, count_value): """ 初始化8253定时器 参数: timer_number (int): 定时器编号 (0, 1 或 2) mode (int): 工作模式 (范围取决于具体应用场合) count_value (int): 设置初始计数值 返回: None """ control_word = (timer_number << 6) | (mode << 3) | binary_mode_flag # 假定binary_mode_flag已定义好 outp(CONTROL_PORT, control_word) # 发送控制字到指定端口 low_byte = count_value & 0xFF # 获取低位字节 high_byte = (count_value >> 8) & 0xFF # 获取高位字节 outp(TIMER_BASE_ADDRESS + timer_number, low_byte) # 先发送低字节 outp(TIMER_BASE_ADDRESS + timer_number, high_byte) # 再发送高字节 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值