通量足迹分析:用MATLAB FFP解析涡动相关数据的空间源区
简介涡动通量来源区分析模型是基于MATLAB的环境科学研究工具面向气候学、生态学与农业气象领域研究者用于量化大气与地表间能量、水汽及二氧化碳通量的空间来源区域。压缩包共12个文件约5.51MB以5个m脚本文件为核心涵盖气候学尺度与瞬时印痕两类通量印迹计算辅以3个PDF说明文档、2个txt许可与说明文本以及png示意图和asv备份文件构成可运行的工具包。已有216人浏览学习。借助calc_footprint_FFP系列脚本研究者可处理风向、风速等气象参数生成通量源区气候统计特征或逐时间步的贡献区域结合官方使用手册与Kljun等2015年方法论文可完整掌握从配置、运行到结果解读的流程。对农田蒸散、森林碳汇及城市热岛等研究提供清晰可复用的分析基础。1. 通量足迹分析为什么涡动相关测到的CO₂不是你塔下这块地产生的一座涡动相关观测塔架在农田中央传感器离地3米每秒记录10次风速和CO₂浓度。研究者以为测到的是脚下这块地的呼吸与光合但数据显示下午的CO₂通量在风向偏转后骤降。原因很简单传感器“看”到的不是脚下而是上风向几百米范围内的地表信号这就是通量源区flux footprint也叫印痕分析。那些信号可能来自相邻的森林、道路或另一块灌溉田。搞懂足迹才能知道通量数据到底在代表哪个区域。MATLAB实现的核心是那套FFPFlux Footprint Prediction方案两个脚本分别处理瞬时足迹与气候学平均。这篇文章从底层机制拆解源区权重函数从哪来、交叉风如何展开成二维、为什么输出是“概率密度”而不是“半径”以及这套解析模型的适用边界。2. 湍流扩散与源区权重一个通量值背后的空间归属问题2.1 湍流的“记忆丢失”为什么传感器不认来路涡动相关的测量逻辑表面上很直接高频测量垂直风速与标量浓度脉动协方差就是该点的湍流垂直通量。但这里藏着一个所有通量观测者都必须面对的悖论——湍流输送是“上游制造、本地测量”的过程。一个位于z高度的传感器它记录到的CO₂浓度脉动是无数上风方向地表点释放的分子经过湍流混合后在该点的叠加。分子从地表到传感器要经历几秒到几分钟的输送这期间水平方向已经移动了数十到数百米。这意味着测量点处的通量值是“区域平均”后的结果而不是塔正下方那一小块地的贡献。更麻烦的是不同上风位置对读数的贡献完全不均匀离塔越远贡献先增后减存在一个贡献最大的“热点”位置。这个空间分布就是足迹函数数学上它是一个权重场f(x, y)满足观测通量等于地表通量场与该权重场的卷积。换句话说足迹就是“传感器的视野”。对很多研究者来说第一次意识到“我的塔测的不是塔下的通量”是个冲击时刻。碳通量网里的站点若不做足迹分析生态系统的碳收支归因就会出现系统性偏差——你以为测的是草地的固碳实际混合了附近道路和居民区的排放。这是理解通量源区贡献的第一层通量值永远是空间加权的不是点测量。2.2 拉格朗日视角让上百万个虚拟粒子上风回溯要算足迹最直接的办法是模拟湍流对粒子的搬运这就是拉格朗日粒子扩散模型LPDM的思路。做法很暴力在平均风场和湍流脉动场中从传感器高度反向释放大量粒子让它们随风场往回漂统计粒子在水平面上的落地位置分布。粒子落得多的地方就是对观测贡献大的地方。这个分布天然包含了湍流的扩散特性、稳定度的影响、粗糙度的影响理论上很完备。但LPDM的代价极高每个气象条件都要重新跑几十万到上百万个粒子的随机轨迹每个粒子每一步都要采样湍流脉动速度计算量非常大。对单点单时段还好一旦要做一个月、一年的长期足迹逐时段重跑不现实。这是FFP要解决的第一个核心问题能不能把LPDM“浓缩”成一个便宜好用的解析表达式我一般会这么理解2015年那篇方案的策略他们用LPDM做了一大批“离线实验”——在很宽的气象参数组合摩擦速度、对流边界层高度、稳定度参数、粗糙度长度、观测高度下预先跑出大量足迹场再去拟合这些场的共性形状。拟合结果是两层结构纵向沿风向的形状用解析函数描述横向垂直风向用高斯分布近似。运行FFP时你不再需要粒子和随机数只需要查拟合公式代价是几个数量级的计算时间差。2.3 交叉风扩展与二维足迹的拼装逻辑一维足迹只描述沿风向的距离贡献真实观测场是二维的。FFP把二维场拆成两个方向处理沿风向的形状f_yy(x)由一个“远-近”标度关系决定反映的是湍流扩散对纵向距离的拉伸横向形状f_y(y)则假设为高斯分布其标准差σ_y随下游距离增大而增大。这种拆法的物理依据是大气湍流在水平横风方向的扩散相对均匀高斯近似在大多数平坦地形下误差可接受。于是二维权重场可以写成f(x, y) f_yy(x) × G(y; σ_y(x))其中G是均值为0、方差为σ_y²的高斯密度σ_y本身又是x的函数。这个“纵向形状 × 横向高斯”的积化框架是整个FFP模型最核心的建模取舍。它让计算维度从二维积分降为两个一维运算的拼接MATLAB实现里只需先算一维纵向函数再按网格宽度做横向展开最后归一化。2.4 尺度参数为什么足迹的形状由σ_v和u_*说了算足迹形状不是随便拟合的。纵向尺度由两个物理量决定摩擦速度u_*决定湍流混合强度横向速度标准差σ_v决定扩散展宽能力。常见的解读是u_*越大垂直混合越强粒子更容易在到达传感器前被带到高处水平位移更大足迹更长σ_v越大横向扩散越宽足迹越扁平。这两个参数连同奥布霍夫长度L和边界层高度h一起构成了FFP的气象输入骨架。理解了这一层你才会明白为什么输入参数表里每一个量都有它不可替代的作用而不是一堆公式占位符。3. 模型内核拆解一个气象状态如何变成一张贡献概率图3.1 输入参数的物理含义与量纲陷阱FFP的输入远比一般用户想的要少但每个参数都很挑剔。核心输入包括传感器观测高度z_obs、平均风速U_mean、边界层高度h、横向风速标准差σ_v、摩擦速度u_*、奥布霍夫长度L、地表粗糙度z₀以及可选的风向。这八个量里z_obs和z₀决定近地层廓线的形状L决定层结修正的方向与幅度u_*和σ_v决定湍流扩散强度h决定顶部约束位置。量纲是第一道坎。整个模型内部统一使用米和秒但用户从原始数据里取到的L往往已经是负数稳定层结为负、对流为正的符号约定各文献不一致。FFP采用气象学约定的正负号L为负表示不稳定白天对流L为正表示稳定夜间逆温。符号一旦给反输出的足迹会从几百米变成几十公里且方向完全错误。这是使用FFP时最常见的第一类翻车现场。3.2 主程序calc_footprint_FFP.m的核心循环下面这段代码是对该脚本计算主干的简化示意它完整保留了“纵向形状 → 横向高斯展开 → 归一化”的三步逻辑。原始脚本还包含边界层顶反射项和近场修正项这里略去以突出主线% calc_footprint_FFP.m 核心计算逻辑简化示意 % 输入: z_obs 观测高度(m), umean 平均风速(m/s), h 边界层高度(m) % sigmav 横风速度标准差(m/s), ustar 摩擦速度(m/s) % L 奥布霍夫长度(m), z0 粗糙度长度(m), winddir 风向(度) % 1) 由相似理论计算湍流廓线确定纵向足迹的形状参数 [sigma_y, x_peak] footprint_scales(z_obs, h, ustar, L, z0); % 2) 生成下游距离网格 xg计算一维纵向足迹权重 for i 1:nx x xg(i); f_yy(i) analytic_footprint_1d(x, x_peak, sigma_y_ref); sigma_y(i) sigma_y0 * (1 C * x / x_peak); % 横向展宽随距离增长 end % 3) 横向高斯展开拼成二维权重场 for i 1:nx for j 1:ny y yg(j); f_2d(i, j) f_yy(i) * ... exp(-0.5 * (y / sigma_y(i))^2) / (sqrt(2*pi) * sigma_y(i)); end end % 4) 归一化保证总贡献为 1网格足够密时 f_2d f_2d / sum(f_2d(:)) / (dx * dy);这段代码说明了FFP的核心机制一维纵向函数决定“重量分布沿风方向怎么衰减”而横向展宽项决定“这条印痕到底有多宽”。注意第3步里的高斯核它在横风方向把足迹从一条线变成一个带——这正是二维足迹图里那个水滴形区域的来源。归一化步骤确保了f_2d可以被解释为概率密度对任意闭合区域做积分得到的就是该区域对观测通量的贡献比例。3.3 输出的正确解读方式权重场不是浓度场FFP标准输出是x_2d、y_2d、f_2d三个等大小的矩阵分别表示网格的x坐标、y坐标和权重值。f_2d的单位是1/m²含义是“该点单位面积地表通量对观测值的贡献比例”。因此f_2d的全空间积分等于1网格分辨率足够时。这个数学性质决定了它的正确读法你要找的“源区”是f_2d从峰值向外累加到80%贡献的那块区域而不是f_2d里数值“看起来大”的像素集合。常见误解是把f_2d当成浓度分布或通量强度图进而直接对比不同时段的f_2d数值大小。但足迹权重是归一化后的相对贡献它回答的是“通量来自哪里”而不是“通量有多大”。一个强湍流时段和一个弱湍流时段的f_2d峰值可能差一个量级但两者的总量都归一化为1。明白了这一点就不会在数据解读时把“源区范围变化”误读成“通量强度变化”。3.4 参数敏感性哪个输入最容错从运行经验看z_obs和h的影响力最大u_*次之σ_v对横向宽度影响显著而L的符号比绝对值更关键z₀则在粗糙地表条件下可能让输出偏移数百米。实操中如果你只想要“大致源区范围”精确测σ_v不如精确测z_obs重要。但如果你要做多站点横向对比σ_v的获取口径必须统一——是用超声风速计的半小时标准差还是用垂直风速标准差推算结果差异很大。这些细节直接影响最终足迹图画出来是“窄长条”还是“短粗水滴”。4. 瞬时与气候学两个脚本的两种时间尺度设计4.1 瞬时足迹跟随风向逐时段重算的动态图calc_footprint_FFP.m面向的是“某一时刻如半小时的通量源区”。输入的八个气象参数都是该时段的平均或统计值输出的f_2d只代表这一个时段的空间采样范围。运行流程很简单把半小时的超声风速数据算成u_*、σ_v、L配合当时的风向做坐标旋转在风向上把纵向足迹旋转到实际方位角就得到该时段“传感器正在看哪片地”的地图。这个脚本的典型用途是筛选数据当足迹主体落在研究目标地类范围之外时该时段的通量数据就不该被用来代表目标生态系统的碳收支。很多站点做夜间通气效率检验时也用它排除源区重叠时段。因为每次调用都是独立计算瞬时脚本天然适合批处理——对一年8760个半小时时段循环调用输出每个时段的源区多边形再做统计筛选。4.2 气候学足迹加权叠加与长期平均代表区域calc_footprint_FFP_climatology.m解决的是另一个问题长期观测的站点平均通量到底代表哪个区域瞬时足迹随气象条件剧烈摆动直接平均会互相抵消形不成有意义的“平均源区”。气候学脚本的实现思路是先把多年观测按气象状态分类对每一类状态计算独立的瞬时足迹再按各类状态的出现频率加权合成。常见的实现思路是把L和u_*分成若干档位分别计算该档位下的典型足迹形状频率权重来自历史观测数据的统计频次。这样得到的气候学足迹反映的是站点通量的“多年平均空间代表性”——它通常比任何单一时段的足迹都要圆润、居中覆盖范围也更广。许多站点论文里那张“通量贡献多边形”图就是用这个脚本生成的。它用来回答“这个塔多年平均测的是哪块地”不回答“某天下午测的是哪块地”。两个脚本一个面向质量控制一个面向长期归因互为补充。4.3 为什么要保留两套脚本而不是统一成一个函数从MATLAB文件清单可以看到两个脚本分开存在calc_footprint_FFP.m做单时段的精确计算calc_footprint_FFP_climatology.m做长期平均。分开的好处是避免把“统计权重逻辑”混进“湍流物理逻辑”里。瞬时脚本里没有频率和扇区概念纯粹是物理模型气候学脚本则在外部循环里引入数据集的统计结构。如果你在气候学脚本里修改了瞬时物理核会影响所有频次权重下的形状容易引入隐蔽错误。两个脚本在主循环上的差异直观反映在代码结构上瞬时脚本从“一个参数向量”生成“一张权重图”气候学脚本从“一组气象条件与频率权重”生成“一张综合权重图”并且通常附带着输出10%、30%、50%、70%、80%贡献等高线。理解这个分工你在修改代码时就不会把频次统计的bug错怪到湍流模型头上。5. 使用FFP时的常见问题与避坑5.1 把z_obs填成仪器海拔现象输出足迹整体偏移到离谱位置甚至出现在塔的正上方。原因z_obs必须是传感器相对地面的安装高度而不是海拔或塔顶到地心的距离。很多用户从数据采集软件里直接复制了“海拔高度”字段导致足迹峰值位置被抬升到完全错误的距离。解决用仪器实际离地高度例如某站超声风速计装在3米横杆上z_obs就填3不要填当地海拔。如果观测在森林冠层上方z_obs应填“冠层顶以上的净高度”减去零平面位移d而不是从地表算起的物理高度。5.2 夜间稳定层结下足迹“冲出图外”现象夜间输出的源区范围长达数公里超出站点周边地类覆盖范围绘制的80%贡献多边形直接截断在图上。原因稳定层结下垂直湍流被压制粒子在上风方向走很远才落地足迹自然拉长。这是真实物理过程不是bug但很多研究者一开始会以为是参数填错。解决对照当夜的L值判断合理性——如果L是正的且数值很小强稳定长足迹是正确的。合理做法是设定阈值例如仅保留足迹80%范围落在研究区域内的夜间时段。如果你想看“夜间塔下有没有贡献”那要看足迹峰值距离是否小于几十米而不是看整个80%区域。5.3 平坦均匀假设的隐性违约现象同一组参数在平原站点输出很好换到丘陵站点后足迹形状明显异常峰值位置与经验判断差出好几倍。原因FFP的解析式推导建立在平坦、水平均匀地表之上丘陵地形会产生局地环流和流动分离破坏相似理论廓线的假设。用户往往只检查输入参数合理性忘了检查地形是否满足模型前提。解决先看站点周围坡度——超过5°10°的地形倾斜就会让足迹形状不可信。此时应标记该时段为“低质量足迹”或者改用地形跟随版足迹模型。这是“用对模型适用范围”的问题不是调参能解决的。5.4 风向平均方式与σ_v口径不一致现象同一份数据用矢量平均风向和用标量平均风向算出的足迹方向相差20°以上横向权重分布也跟着散开。原因足迹计算需要“有效来流风向”而半小时矢量平均会抵消风向快速摆动标量平均则保留这种摆动。σ_v如果你用的超声原始标准差天然包含或快或慢的摆动信息口径不一致会让纵向形状和横向展开互相矛盾。解决统一口径。常见做法是风向用矢量平均得到主流输送方向σ_v用与风向正交分量的标准差两者在同一时间窗口内计算。如果站点风向变率极大考虑缩短平均时段到15分钟再聚合足迹。这个细节决定了足迹方向是否可靠。6. 设计取舍解析近似的边界以及如何验证FFP结果FFP的聪明之处在于选了一个“够用就好”的平衡点。拉格朗日模型精确但昂贵大涡模拟更精确但更昂贵而通量观测本身就有10%20%的随机误差——为一个本身就带噪声的观测量付出高两个数量级的计算成本未必划算。FFP把LPDM结果预拟合成解析表达式在绝大多数平坦均一场景下误差能控制在可接受范围内单次计算却只需要几毫秒。这让逐时段足迹筛选、长序列聚合这类原本难以承担的计算变成了常规操作。但代价同样清晰解析式只能覆盖训练时用过的参数空间。当你的站点异常干燥、粗糙度极端或观测高度远高于训练区间时输出会悄然失真。所以验证是必须的步骤但我见过太多使用者直接相信输出曲线从不做交叉验证。我把一个从踩坑里学来的习惯当作固定流程每次拿到新的FFP结果先不看图先看峰值位置和最大横向宽度两个数字对照当天的风速和稳定度做“常识检查”——3米高度、风速2 m/s、中性层结峰值距塔不到100米才算正常。然后再和附近站点的LPDM结果或人工示踪实验比对一次。验证的第二步是敏感性测试把u_*调高20%再看峰值位置移动幅度。如果移动距离超过200米说明你的站点正处于模型敏感区间结论要打折扣。这一步看似费时却能避免把模型外推当精确解去下生态学结论。从那以后我每次跑FFP都会强制走一遍“先检查、再计算、后验证”的流程尤其是遇到输出结果和直觉不符的时候先怀疑输入再怀疑模型而不是直接怀疑自己的数据。这套流程帮我翻了不少车也让我对足迹分析有了更踏实的判断力。希望帮到你。本文还有配套的精品资源点击获取

相关新闻

含分布式电源的配电网日前两阶段优化调度:Matlab+YALMIP实现解析

含分布式电源的配电网日前两阶段优化调度:Matlab+YALMIP实现解析

接到一个总结需求,也拿到过不少问"有没有含分布式电源的配电网日前优化调度Matlab代码"的私信。今天抽时间把最近一次做相关项目时整理的思路完整写下来——从"两阶段到底指什么"的建模逻辑,到DistFlow潮流约束为什么用二阶锥松弛&a…

2026/10/18 22:52:02 阅读更多 →
AI落地三支柱:文件投喂、代码结对、对话记忆

AI落地三支柱:文件投喂、代码结对、对话记忆

1. 为什么“喂文件、写代码、聊天”这三件事,才是AI真正落地的生死线很多人把AI工具当搜索引擎用——输个问题,等个答案。结果越用越累:文档堆成山却找不到关键段落,写个脚本要反复改十遍,和AI聊着聊着就跑偏到火星。我…

2026/10/18 22:52:02 阅读更多 →
5G天车数据采集物联网解决方案:从架构到落地全指南

5G天车数据采集物联网解决方案:从架构到落地全指南

做工业无线改造这些年,给人感触最深的一个场景,不是机房里的服务器,而是抬头看到厂房顶上那台满车间跑来跑去的天车。天车,也常被叫行车或者桥式起重机,在钢厂、铝厂、造纸和汽车制造车间里负责吊运重型物料&#xff0…

2026/10/18 22:52:02 阅读更多 →

最新新闻

三则AI新闻揭示应用临界点:轻量模型、免费旗舰与团队回迁

三则AI新闻揭示应用临界点:轻量模型、免费旗舰与团队回迁

10月8日早上,我的朋友圈和几个技术群几乎同时被三则AI新闻刷屏:一家主流模型厂商发布了新的轻量快速模型H 5.5,另一家巨头把第六代旗舰模型向普通用户免费开放,还有一个此前把部分团队搬到外地的智能体产品团队,宣布要…

2026/10/18 23:39:35 阅读更多 →
语言模型中的语法伪相关:模型为何学错教训?

语言模型中的语法伪相关:模型为何学错教训?

看到标题里的“Syntactic-Domain Spurious Correlations”,我第一反应是想起自己踩过的一个坑:训练文本蕴含模型时,验证集上“矛盾”标签的准确率一路飙升到95%以上,当时我还以为模型真的学会了推理。结果我把一个用规则改写出来的…

2026/10/18 23:39:35 阅读更多 →
恒星级AI时代:AI短剧生产管线与数字分身序章

恒星级AI时代:AI短剧生产管线与数字分身序章

1. 从“恒星级AI”说起:这个标题到底在讲什么“恒星级AI时代降临”这个说法,第一次看到的时候我愣了一下。恒星级的能量量级是什么概念?太阳每秒释放的能量大约是3.8乘以10的26次方瓦,人类目前全球总发电功率大概在3乘10的12次方瓦…

2026/10/18 23:39:35 阅读更多 →
OpenSpec:规范优先开发的工程实践与CI/npm落地指南

OpenSpec:规范优先开发的工程实践与CI/npm落地指南

1. OpenSpec 是什么:一个被低估的规范优先开发实践工具链OpenSpec 不是一个 npm 包名,也不是某个具体开源项目的代号——它是一套正在快速成型的、以机器可读规范(Spec)为唯一事实源(Single Source of Truth&#xff0…

2026/10/18 23:38:35 阅读更多 →
空间复用与数据对齐实战:内存池、缓存行与SIMD优化指南

空间复用与数据对齐实战:内存池、缓存行与SIMD优化指南

空间复用和数据对齐这两件事,很多人是在踩了坑之后才回头补课的。我刚开始接触算法实现时,习惯把所有临时数据都放在堆上现申请现释放,结构体字段怎么顺手怎么排,跑起来也没觉得有什么问题——直到有一次把数据规模抬到千万级&…

2026/10/18 23:38:35 阅读更多 →
Sakurairo WordPress 主题指南:从零到一搭出你的多彩博客

Sakurairo WordPress 主题指南:从零到一搭出你的多彩博客

Sakurairo WordPress 主题指南:从零到一搭出你的多彩博客 【免费下载链接】Sakurairo A WordPress theme that is built with AI-assisted reading features, colorful, user-friendly, well-rounded, and rich in functionalities. Support Chinese, English, Japa…

2026/10/18 23:38:35 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →