基于体积模型和约束优化算法的页岩气储层孔隙度测井解释方法研究
Study of Logging Interpretation of Porosity Based on Volume Model and Constrained Optimization Algorithm in Shale Gas Reservoir
DOI: 10.12677/OJNS.2020.81002, PDF, HTML, XML, 下载: 1,002  浏览: 1,681  科研立项经费支持
作者: 刘鸿博:四川水利职业技术学院,四川 成都
关键词: 页岩气孔隙度测井解释四参数模型九参数模型Shale Gas Porosity Logging Interpretation 4-Parameter Model 9-Parameter Model
摘要: 页岩储层与常规储层之间有显著区别,针对我国典型陆相页岩储层的特征,利用页岩储层特征参数和测井参数,建立起孔隙度解释的四参数模型和九参数模型,利用最优化算法,在合理的范围内拟合干酪根固体部分的密度、流体密度、干酪根中有机碳的质量百分数等各参数的值,预测储层孔隙度。这两种模型可以在已知或未知部分参数的情况下,精度较高地解释孔隙度。由此可见这两种方法是页岩气储层孔隙度解释较为适合的方法。
Abstract: There is a significant difference between shale reservoir and conventional reservoir. Under the characteristics of typical continental shale reservoirs in China, 4-parameter models and 9-parameter models for porosity interpretation are established by using shale reservoir parame-ters and logging parameters. Using the optimization algorithm, some important parameters are fitted in reasonable ranges. These models can explain the porosity effectively when partial pa-rameters are known or unknown, and thus are a suitable method for the interpretation of the po-rosity of shale gas reservoirs.
文章引用:刘鸿博. 基于体积模型和约束优化算法的页岩气储层孔隙度测井解释方法研究[J]. 自然科学, 2020, 8(1): 6-17. https://doi.org/10.12677/OJNS.2020.81002

1. 引言

页岩气储层相对常规储层来说,储集空间尺度更为微小、结构更为复杂。利用测井参数解释页岩气孔隙度目前已经取得了一定的成果。在岩心刻度测井条件下,利用测井资料定量评价岩性组分、有机质含量、总孔隙度、渗透率、含气性和岩石力学性质等参数已有诸多文献报道 [1] - [14]。测井参数可以用来识别地层的岩性和矿物成分 [15] [16] [17],计算储集层物性 [18]、总有机质含量(TOC) [19] 及成熟度(MI) [20],评价储层天然气地质储量(GIP) [21]。然而,有的页岩气储层对一些关键参数并未进行测试,在孔隙度解释的过程中,就无法得到需要参数的数值,因此无法进一步对孔隙度进行解释。这给页岩气储层孔隙度的解释带来了巨大的困扰。

常规解释孔隙度的模型主要是单参数和多参数模型。利用声波、密度、中子测井等参数指标,建立单参数或者多参数回归模型。利用拟合出的系数,对孔隙度进行解释和预测。这类方法明显没有考虑到页岩气储层的特殊性。同时,拟合出的系数没有物理意义。因此在解释页岩气储层孔隙度方面具有很大的局限性。因此需要寻找一种适合页岩气储层的孔隙度解释模型。本文在体积模型的基础上,建立了四参数和九参数孔隙度测井解释模型,定参数定量解释页岩气储层的孔隙度。利用带约束的最小二乘法,可以对未知参数进行预测,并在此基础上定量解释页岩气储层的孔隙度,达到了较好的效果。该方法针对页岩气储层的特殊性,能够在模型中体现出具有物理意义的各个参数。体积模型不仅能够在参数已知的情况下定量解释孔隙度,还能够在部分参数(如干酪根固体部分的密度、无机矿物基质骨架的密度等)未知的情况下定量解释孔隙度,解决了页岩气孔隙度解释的问题。

研究区是鄂尔多斯盆地延长组长7段,其地质特征主要表现为:长7段初期湖盆发生迅速的构造沉降作用,导致湖侵达到鼎盛、湖水迅速上升,湖岸线大幅度内外扩展,水体覆盖面积约达1000 km2以上,水体明显加深,半深湖–深湖分布于盐池北、定边、吴起、志丹、永宁、环县东、庆阳、正宁、直罗、洛川及其以东广大地区,在金锁关、宜君也有分布,发育厚度约70~120 m的灰黑色、深灰色页岩,形成了最主要的分布稳定的“张家滩”页岩。长7段泥页岩干酪根显微组分中腐泥组最发育,镜质组次之,惰质组组分最不发育,生烃潜力(S1 + S2)范围在0.43~98.23 kg/t岩石之间,氢指数(IH)偏低,主要分布在14.51~801 mg/g有机碳之间,热解峰值(Tmax)范围在374℃~474℃之间,平均为448℃。长7段泥页岩镜质体反射率Ro主要分布于0.5%~1.2%,最高可达2.11%。通过统计研究区泥页岩镜质体反射率Ro与深度关系,随着埋深增加,Ro呈逐渐增大趋势,主要为0.7%~1.35%,说明长7段泥页岩处于成熟阶段。需要进一步对孔隙度进行测井解释,以研究该区域储层物性特征。

2. 体积模型的建立

建立孔隙度解释的简化体积模型。将页岩储层等效分成两大系统:① 有机质系统( V p k );② 非有机质系统( V p m )。有机质系统包括:① 干酪根固体部分( V s k );② 干酪根孔隙空间(有机孔 ϕ p k )。非有机质系统包括:① 无机矿物基质骨架部分( V s m );② 基质孔隙空间( ϕ p m )。其中:水只存在于无机孔隙空间中,包括粘土束缚水、可动水和毛管束缚水;气体包括游离气和吸附气。游离气存在于有机孔隙和无机孔隙中;吸附气吸附在有机质干酪根的表面。总孔隙空间是有机孔隙和无机孔隙的总和(图1)。

Figure 1. Sketch map of simplified volume model of shale reservoir

图1. 页岩储层简化体积模型示意图

3. 四参数孔隙度测井解释模型(利用密度测井曲线确定孔隙度值)

建立四参数孔隙度测井解释模型,利用密度测井曲线计算孔隙度的值。四参数孔隙度测井解释模型的假设条件为:① 页岩储层中总有机碳含量(TOC)已知,在模型建立前,通过其它方式如 Δ Log R 得到;② 岩石的颗粒密度已知;③ 页岩储层中含水饱和度为常数。

模型中,将储层简化为三个部分:① 无机矿物体积( V s m );② 干酪根体积( V s k );③ 基质孔隙体积( ϕ )。其中孔隙空间体积为总孔隙体积,包括:有机孔隙体积和无机孔隙体积,其中充填了油气和水。

储层的孔隙度计算公式为:

1 = ϕ t + V s m + V s k (1)

岩石体积密度可以由下式表示:

ρ b = ρ f l ϕ t + ρ s m V s m + ρ s k V s k (2)

TOC作为已知参数,单位为重量百分比,用于模型计算时转换为体积百分比,转换公式为:

V s k = T O C C k ρ s m V s m + ρ s k V s k ρ s k (3)

由式(1)~(3)可得:

ϕ t = 1 V s k V s m (4)

其中

{ V s k = ρ s m T O C ( ρ b ρ f l ) ρ s k [ ( C k T O C ) ( ρ s m ρ f l ) + ρ s m T O C ] V s m = ( ρ b ρ f l ) ( C k T O C ) ( C k T O C ) ( ρ s m ρ f l ) + ρ s m T O C (5)

式中: V s m 为无机矿物体积; V s k 为干酪根体积; ϕ t 为页岩储层总孔隙体积; ρ f l 为流体密度; ρ s m 为无机矿物基质骨架的密度; ρ s k 为干酪根固体部分的密度; ρ b 为岩石体积密度; T O C 为有机碳含量(质量百分数); C k 为干酪根中有机碳的质量百分数。

其中,干酪根的密度 ρ s k 可以采用以下经验公式进行估算:

ρ s k = 1.293 R o 0.2 (7)

公式(4)和(5)即为四参数孔隙度解释模型。该模型的输入参数、输出结果和模型未知参数见表1

Table 1. Input parameters and output results of 4 parameter porosity interpretation model

表1. 四参数孔隙度解释模型输入参数与输出结果表

当储层各测井资料、岩心资料以及储层描述资料充足时,模型的输入参数和未知参数都可以根据资料直接确定。可以通过四参数孔隙度测井解释模型,即公式(4)和(5)可以得到储层孔隙度的值。当上述资料不充足时,可能造成 C k ρ s k ρ s m ρ f l 不能直接确定,此时 C k ρ s k ρ s m ρ f l 成为未知参数,因此在定量解释孔隙度的同时,根据各参数的经验范围,利用带约束最优化算法可以得到参数的估计值,进而计算出孔隙度的值。该方法可以有效的得到特定储层下参数的估计值,可以在资料有限的情况下解释孔隙度。

4. 九参数孔隙度测井解释模型(利用声波测井曲线和密度测井曲线计算孔隙度)

建立九参数孔隙度测井解释模型,利用声波测井曲线和密度测井曲线计算孔隙度的值。模型的假设条件为:① 页岩储层由两部分组成:无机质部分( V p m )和有机质部分( V p k );② 干酪根孔隙中全部充填着气体,且不含水,干酪根孔隙度 ϕ p k 是固定参数;③ 岩石的颗粒密度是已知固定参数;④ 无机质孔隙中的含水饱和度是已知固定参数。

模型中,同样将储层划分为两大部分:① 无机质部分( V p m );② 有机质部分( V p k )。其中无机质部分包含无机矿物( V s m )和无机孔;有机质部分包括干酪根( V s k )和有机孔。

此模型区别于四参数孔隙度测井解释模型的一点在于模型中分别考虑了无机孔隙体积和有机孔隙体积。模型的总孔隙体积是这两部分孔隙体积之和。利用声波测井曲线和密度测井曲线对孔隙度进行解释,模型中各部分存在以下关系。

无机质部分的体积和有机质部分的体积之和为1:

1 = V p m + V p k (6)

无机质部分的体积和有机质部分的体积又可由下面的式子表示:

V p m = V p m ϕ p m + V s m = V p m ϕ p m + V p m ( 1 ϕ p m ) (7)

V p k = V p k ϕ p k + V s k = V p k ϕ p k + V p k ( 1 ϕ p k ) (8)

密度测井曲线值可以由无机孔中流体密度、有机孔中流体密度、无机矿物基质骨架密度和干酪根固体部分密度表示:

ρ b = ρ p m f l V p m ϕ p m + ρ s m V s m + ρ s k V s k + ρ p k f l ϕ p k (9)

声波测井曲线值可以由无机孔中流体声波值、无机矿物声波值、干酪根固体部分声波时差和干酪根孔隙流体声波时差表示

D T = D T p m f l V p m ϕ p m + D T s m V s m + D T s k V s k + D T p k f l ϕ p k (10)

式(6)~(10)可以整理为:

ϕ t = V p m × ϕ p m + V p k × ϕ p k (11)

其中

{ V s k = V p k × ( 1 ϕ p k ) V s m = V p m × ϕ p m ϕ p m = ( D T D T s m ) × ( ρ p k ρ s m ) ( D T p k D T s m ) × ( ρ b ρ s m ) ( D T p m f l D T s m ) × ( ρ p k ρ b ) + ( D T p k D T ) × ( ρ s m ρ p m f l ) V p k = D T D T s m ( D T p m f l D T s m ) × ϕ p m D T p k D T s m ( D T p m f l D T s m ) × ϕ p m V p m = 1 V p k D T p k = D T s k × ( 1 ϕ p k ) + D T p k f l × ϕ p k ρ p k = ρ s k × ( 1 ϕ p k ) + ρ p k f l × ϕ p k (12)

式中: V p m 为无机质部分体积; V p k 为有机质部分体积; V s m 为无机矿物体积; V s k 为干酪根体积; ρ p m f l 为无机孔中流体密度; ρ p k f l 为有机孔中流体密度; ϕ p m 为无机基质孔隙度; ϕ p k 为有机基质孔隙度; D T 为声波测井; D T p m f l 为无机孔中流体声波值; D T s m 为无机矿物声波值; D T s k 为干酪根声波值; D T p k f l 为干酪根中流体声波值。(11)和(12)式即为九参数孔隙度测井解释模型。九参数孔隙度测井解释模型需要的模型输入参数、模型输出和模型未知参数结果见表2

同理,在九参数孔隙度测井解释模型中,当储层各测井资料、岩心资料以及储层描述资料充足时,模型的输入参数和未知参数可以根据资料直接确定。通过这些参数就可以利用模型(11)和(12)得到孔隙度的值。值得注意的是,九参数孔隙度测井解释模型中的未知参数为9个,模型计算前需要确定的输入参数比四参数孔隙度测井解释模型更多,难度更大。一般情况下, ρ s k ρ s m ρ p m f l ρ p k f l D T s m D T p m f l D T s k D T p k f l ϕ p k 不能全部直接确定,需要将这9个参数当作未知参数,利用实验室岩心测试得到的孔隙度和饱和度数值,根据各参数的经验范围,采用带约束最优化算法,确定模型中各参数的值,进而解释出孔隙度。

Table 2. Input parameters and output results of 9 parameter porosity interpretation model

表2. 九参数孔隙度解释模型的输入参数和输出结果表

5. 模型应用和对比

5.1. 模型应用

工程设计中带约束最优化问题(Optimalization Problem)的一般提法是要选择一组参数(变量),在满足一系列有关的限制条件(约束)下,使设计指标(目标)达到最优值。因此,最优化问题通常可以表示为数学规划形式的问题。进行工程优化设计时,应将工程设计问题用上述形式表示成数学问题,再用最优化的方法求解。这项工作就是建立带约束的优化设计的数学模型。

利用上述数学理论,对研究区两口典型井分别利用四参数孔隙度测井解释模型和九参数孔隙度测井解释模型和多元回归模型进行测井解释。

首先根据实测的孔隙度值,利用带约束优化算法拟合出适合该区块的未知参数值。表3表4分别是四参数和九参数孔隙度测井解释模型未知参数的预测值和经验值。从表中可以看出,四参数模型中,由于参数相对较少,利用最优化算法得到的预测值和该区块经验参数值较为接近,计算可靠程度较高。九参数模型中,由于参数较多,造成误差偏大,但参数估计值也均在合理范围内,因此也可以作为评价的依据。两个模型可以在不同的参数条件下进行使用,可以根据实际的数据选择模型,适用性强。

根据拟合出的参数值,利用各个模型对孔隙度进行解释。图2~4分别是常规多元归回归测井解释孔隙度模型、四参数孔隙度解释模型和九参数孔隙度解释模型三种方法中,预测孔隙度和岩心实测孔隙度的对比结果。解释成果与岩心数据进行对比。对比结果表明井上层段各项参数有以下特点:① 多元回归拟合测井解释结果与岩心分析数据的平均绝对误差为0.156%,平均相对误差为19.8%;② 四参数孔隙度测井解释结果与岩心分析数据的平均绝对误差为0.15%,平均相对误差为17.2%;③ 九参数孔隙度测井解释结果与岩心分析数据的平均绝对误差为0.236%,平均相对误差为26.4%。根据对比可以发现:① 由于页岩油气层是特低孔隙储层,在相同孔隙度绝对误差下,与常规储层相比,由测井解释的页岩油气层的孔隙度相对误差更大;② 利用多元归回模型进行解释时,并没有考虑各参数的物理意义,其优化过程仅仅是针对数据的最优化拟合。这种情况可能导致相关系数很高,但是参数的预测值与其实际物理意义相差很大,甚至会出现负值。因此尽管其误差小,但是缺乏鲁棒性和推广力;③ 四参数孔隙度解释模型解释精度与多元回归模型较为接近,而且能够较好的拟合出各未知参数的值,较好的解释孔隙度;④ 九参数孔隙度解释模型由于参数较多,拟合精度有所下降,在一些需要多参数解释的特定情况下,也可以用来有效的预测参数和孔隙度。

Table 3. Comparison of prediction parameters and fixed parameters of 4 parameter porosity logging interpretation model

表3. 四参数孔隙度测井解释模型未知参数预测值和固定经验值对比表

Table 4. Comparison of prediction parameters and fixed parameters of 9 parameter porosity logging interpretation model

表4. 九参数孔隙度测井解释模型未知参数预测值和经验值对比表

Figure 2. Contrast between multiple regression log interpretation porosity and core porosity

图2. 多元回归测井解释孔隙度和岩心孔隙度对比图

Figure 3. Contrast between 4 parameter logging interpretation porosity and core porosity

图3. 四参数测井解释孔隙度和岩心孔隙度对比图

Figure 4. Contrast between 4 parameter logging interpretation porosity and core porosity

图4. 九参数测井解释孔隙度和岩心孔隙度对比图

根据上述方法,对研究区内两口井长7段测井数据进行处理,得到孔隙度测井解释成果图(图5图6)。利用三个模型:多元回归模型、四参数孔隙度测井解释模型、九参数孔隙度测井解释模型,对目的层段的孔隙度结果表明:① 四参数孔隙度测井解释模型和九参数孔隙度测井解释模型得到的孔隙度值较为接近;② 四参数和九参数孔隙度测井解释模型由于考虑了页岩气储层的特殊情况,因此在解释页岩气储层孔隙度方面具有独特的优势。

5.2. 模型对比

通过模型的建立和模型的求解可以发现,回归解释孔隙度模型、四参数孔隙度测井解释模型和九参数孔隙度测井解释模型都可以用来解释页岩气储层的孔隙度,但各模型具有一定的差异性。

1) 多元回归模型主要是从测井曲线入手,利用单条测井曲线或者多条测井曲线,建立多元线性回归模型,通过拟合模型系数,进而解释储层孔隙度。该模型主要针对砂岩等孔隙度较好,孔隙成因类型较为单一的类型。不能很好的解释页岩气储层等致密储层的孔隙度。多元线性回归模型解释仅仅针对数据进行最小二乘计算,因此其鲁棒性较弱,不易推广。

Figure 5. Log interpretation section of J4 well

图5. J4井长7段测井解释剖面图(比例尺1:500)

Figure 6. Log interpretation section of J6 well

图6. J6井长7段测井解释剖面图(比例尺1:500)

2) 四参数孔隙度测井解释模型是在页岩储层中总有机碳含量(TOC)、岩石的颗粒密度和页岩储层中含水饱和度已知的情况下,利用体积模型解释孔隙度。该方法可以针对特殊的页岩气储层,根据页岩气储层的特点解释其孔隙度。值得注意的是,模型中干酪根固体部分的密度、无机矿物基质骨架的密度、流体密度、干酪根中有机碳的质量百分数参数这四个参数既可以已知,也可以未知。在已知的情况下,可以直接进行孔隙度的预测。在未知的情况下,可以根据参数的合理取值范围,利用带约束优化算法对这四个参数进行预测,对不同的页岩气储层的参数的确定也有一定的指导意义。

3) 九参数孔隙度测井解释模型是在密度测井曲线、声波时差测井曲线和部分参数(干酪根孔隙度和、无机质孔隙中的含水饱和度)已知的情况下,利用体积模型解释孔隙度。该模型与四参数孔隙度测井解释模型最主要的区别是,模型中分别考虑了无机孔隙体积和有机孔隙体积。而解释参数增加到了九个,因此可能造成约束条件太多而误差较大。四参数孔隙度测井解释模型和九参数孔隙度测井解释模型主要适用于页岩气储层的孔隙度解释,不同的区域地质特征,可以得到不同的参数预测,其孔隙度解释精确度也比常规测井解释方法高,更容易在页岩气储层中进行推广。

由于孔隙度解释受到地层条件、流体特征、模型等因素的综合制约,影响孔隙度测井解释结果的关键因素主要有地层条件(如储层中有机碳含量等)、流体特征(页岩储层中含水饱和度等)以及相关测井参数(如密度测井曲线、声波时差测井曲线等)。模型的求解中,由于约束条件的制约,会产生一定的误差,约束条件越多的,相对误差越大,但其物理意义更明确。因此在使用上述模型和方法进行页岩气储层孔隙度解释的过程中,可以根据储层实际的情况选择相应的模型。

6. 结论

页岩气储层孔隙度测井解释可以通过建立体积模型,考虑有机质系统和非有机质系统两部分进行建模,主要有以下特征:

1) 页岩气储层由于有其特殊的储层特征,使得孔隙度测井解释难度增加,在体积模型的基础上,建立四参数和九参数孔隙度测井解释模型,在拟合重要未知参数的同时,对孔隙度进行解释,达到较好的解释效果。

2) 四参数孔隙度测井解释模型,由于其参数少,拟合精度较高;九参数孔隙度测井解释模型,由于其参数多,拟合精度较低。两种模型均适合解释页岩气储层孔隙度解释。

3) 对两种模型的求解可以看出:建立的孔隙度测井解释模型不仅可以解释孔隙度,同时还可以对参数进行拟合,这是多元回归方法无法达到的。

基金项目

2018年四川省教育厅基金《页岩气储层参数测井解释方法研究及软件设计与实现》(项目编号18ZB0499)和《岩石方向渗透率测试方法研究》(项目编号18ZB0501)支助。

参考文献

[1] 郝建飞, 周灿灿, 李霞, 等. 页岩气地球物理测井评价综述[J]. 地球物理学进展, 2012, 27(4): 1624-1632.
[2] 万金彬, 李庆华, 白松涛. 页岩气储层测井评价及进展[J]. 测井技术, 2012, 36(5): 441-446.
[3] 莫修文, 李舟波, 潘保芝. 页岩气测井地层评价的方法与进展[J]. 地质通报, 2011, 30(2): 400-405.
[4] 刘双莲, 陆黄生. 页岩气测井评价技术特点及评价方法探讨[J]. 测井技术, 2011, 35(2): 112-116.
[5] 史鹏, 姜呈馥, 陈义国, 等. 鄂尔多斯盆地延长组页岩含气量测井评价[J]. 特种油气藏, 2016, 23(3): 61-65.
[6] 赵培强, 毛志强. 页岩气储层Ramirez体积物理模型的改进[J]. 石油学报, 2014, 35(3): 480-485.
[7] 陈扬, 夏雪飞, 魏远眀, 等. 页岩气储层常规测井解释模型与应用实例[J]. 江汉石油职工大学学报, 2014, 27(1): 20-24.
[8] 吴庆红, 李晓波, 刘洪林, 等. 页岩气测井解释和岩心测试技术——以四川盆地页岩气勘探开发为例[J]. 石油学报, 2011, 32(3): 484-488.
[9] 罗蓉, 李青. 页岩气测井评价及地震预测、监测技术探讨[J]. 天然气工业, 2011, 31(4): 34-39.
[10] 张作清, 孙建梦. 页岩气测井评价进展[J]. 石油天然气学报, 2013, 35(3): 90-95.
[11] 王濡岳, 丁文龙, 王哲. 页岩气储层地球物理测井评价研究现状[J]. 地球物理学进展, 2015, 30(1): 229-241.
[12] 李宝华. 页岩气储层测井评价有关问题的探讨[J]. 中国煤炭地质, 2013, 25(4): 68-71.
[13] 杨小兵, 杨争发, 谢冰, 等. 页岩气储层测井解释评价技术[J]. 天然气工业, 2012, 32(9): 33-36.
[14] 李军, 路菁, 李争, 等. 页岩气储层“四孔隙”模型建立及测井定量表征方法[J]. 石油与天然气地质, 2014, 35(2): 267-271.
[15] 肖昆, 邹长春, 黄兆辉, 等. 页岩气储层测井响应特征及识别方法研究[J]. 科技导报, 2012, 30(18): 73-79.
[16] Luffel, D.L., Guidry, F.K. and Curtis, J.B. (1992) Evaluation of Devo-nian Shale with New Core and Log Analysis Methods. Journal of Petroleum Technology, 44, 1192-1197.
https://doi.org/10.2118/21297-PA
[17] Flower, J.G. (1983) Use of Sonic-Shear-Wave/Resistivity Overlay as a Quick-Look Method for Identifying Potential Pay Zones in the Ohio (Devonian) Shale. Journal of Petroleum Technology, 35, 638-642.
https://doi.org/10.2118/10368-PA
[18] Soeder, D.J. (1988) Porosity and Permeability of Eastern Devonian Gas Shale. SPE Formation Evaluation, 3, 116-124.
https://doi.org/10.2118/15213-PA
[19] Schmoker, J.W. (1981) Determination of Organic-Matter Content of Ap-palachian Devonian Shales from Gamma-Ray Logs. AAPG Bulletin, 65, 1285-1298.
https://doi.org/10.1306/03B5949A-16D1-11D7-8645000102C1865D
[20] Zhao, H., Givens, N.B. and Curtis, B. (2007) Thermal Maturity of the Barnett Shale Determined from Well-Log Analysis. AAPG Bulletin, 91, 535-549.
https://doi.org/10.1306/10270606060
[21] Cluff, B. (2006) Barnett Shale-Woodford Shale Play of the Delaware Basin: Is It Another Giant Shale Gas Field in Texas. The Discovery Group, Inc., Denver.