Skip to content

Instantly share code, notes, and snippets.

@jameshahn2
Last active October 4, 2018 01:39
Show Gist options
  • Save jameshahn2/4aa63a4c58dad94f808de922d527a851 to your computer and use it in GitHub Desktop.
Save jameshahn2/4aa63a4c58dad94f808de922d527a851 to your computer and use it in GitHub Desktop.
slb_glossary
import Ember from 'ember';
export default Ember.Controller.extend({
appName: 'SLB Glossary'
});
{
"url": "https://www.glossary.oilfield.slb.com/en/Terms/c/csg.aspx",
"term": "CSG",
"definitions": [{
"idOne": "1.",
"grammarOne": "n.",
"categoryOne": "Geology",
"definitionOne": "Abbreviation for coal seam gas. Natural gas, predominantly methane [CH4], generated during coal formation and adsorbed in coal. Natural gas adsorbs to the surfaces of matrix pores within the coal and natural fractures, or cleats, as reservoir pressure increases.\nProduction of natural gas from coal requires decreasing the pore pressure below the coal\u2019s desorption pressure so that methane will desorb from surfaces, diffuse through the coal matrix and become free gas. Because the diffusivity and permeability of the coal matrix are ultralow, coal must have an extensive cleat system to ensure adequate permeability and flow of methane to wellbores at economic production rates.\nCoal seams are typically saturated with water. Consequently, the coal must be dewatered for efficient gas production. Dewatering reduces the hydrostatic pressure and promotes gas desorption from coal. As dewatering progresses, gas production often increases at a rate governed by how quickly gas desorbs from coal, the permeability of the cleat and the relative permeability of the gas-water system in the cleat. Eventually, the rate and amount of gas desorption decreases as the coal seam is depleted of its gas, and production declines.\nCoal seams with no water (dry coal) have been discovered and commercially exploited. In these reservoirs, the adsorbed gas is held in place by free gas in the cleats. Consequently, gas production consists of both free gas from the cleat system and desorbed gas from the matrix.",
"synonymsOne": [{
"synonymsOneTitle": "coalbed methane",
"synonymsOneLink": "https://www.glossary.oilfield.slb.com/en/Terms/c/coalbed_methane.aspx"
},
{
"synonymsOneTitle": "coal bed methane",
"synonymsOneLink": "https://www.glossary.oilfield.slb.com/en/Terms/c/coal_bed_methane.aspx"
},
{
"synonymsOneTitle": "CBM",
"synonymsOneLink": "https://www.glossary.oilfield.slb.com/en/Terms/c/cbm.aspx"
}
],
"seeOne": [{
"seeOneTitle": "unconventional resource",
"seeOneLink": "https://www.glossary.oilfield.slb.com/en/Terms/u/unconventional_resource.aspx"
}],
"detailsOne": [{
"detailsOneTitle": "Learning to Produce Coalbed Methane",
"detailsOneLink": "http://www.slb.com/resources/publications/industry_articles/oilfield_review/1991/or1991jan04_methane.aspx"
},
{
"detailsOneTitle": "Producing Natural Gas from Coal",
"detailsOneLink": "http://www.slb.com/resources/publications/industry_articles/oilfield_review/2003/or2003aut02_gas_from_coal.aspx"
},
{
"detailsOneTitle": "Coalbed Methane: Clean Energy for the World",
"detailsOneLink": "http://www.slb.com/resources/publications/industry_articles/oilfield_review/2009/or2009sum01_coalbed_methane.aspx"
}
],
"imageOne": {
"srcOne": "https://www.glossary.oilfield.slb.com/en/Terms/c/en/~/media/PublicMedia/geology/coalbedMethane01.ashx",
"captionOne": "Gas adsorption and desorption in coal. During coalification, the matrix shrinks, creating orthogonal fractures called cleats. Face cleats tend to be continuous; butt cleats are at right angles to face cleats. Typically, water fills the void spaces of the coal matrix. As the water is produced and the formation pressure decreases, methane\u2014adsorbed on the surfaces of the coal matrix and stored in the micropores\u2014is liberated. The gas then diffuses through the matrix (red arrows), migrates into the cleats and fractures and eventually reaches the wellbore."
}
},
{
"idTwo": "2.",
"grammarTwo": "n.",
"categoryTwo": "Geophysics",
"definitionTwo": "Abbreviation for common source gather. A display of seismic traces that share a source.",
"seeTwo": [{
"seeTwoTitle": "seismic trace",
"SeeTwoLink": "https://www.glossary.oilfield.slb.com/en/Terms/s/seismic_trace.aspx"
},
{
"SeeTwoTitle": "trace",
"seeTwoLink": "https://www.glossary.oilfield.slb.com/en/Terms/t/trace.aspx"
}
]
}
]
}
import Model from 'ember-data/model';
import attr from 'ember-data/attr';
import { belongsTo, hasMany } from 'ember-data/relationships';
export default DS.Model.extend({
url: DS.attr('string'),
term: DS.attr('string'),
grammarOne: DS.attr('string'),
categoryOne: DS.attr('string'),
definitionOne: DS.attr('string'),
seeOne: DS.attr('string'),
seeOneTitle: DS.attr('string'),
seeOneLink: DS.attr('string'),
detailsOneTitle: DS.attr('string'),
synonymsOneTitle: DS.attr('string'),
alternateOne: DS.attr('string'),
alternateTwo: DS.attr('string'),
image: DS.attr('string'),
src: DS.attr('string'),
caption: DS.attr('string')
});
<div>
<h1>{{term}}</h1>
<p class="font-bold">{{idOne}} {{grammarOne}} {{categoryOne}}</p>
<p>{{definitionOne}}</p>
<p><span class="font-bold">Synonyms:</span> <a href="{{synonymsOneLink}}" target="_blank">{{synonymsOneTitle}}</a></p>
<p><span class="font-bold">Alternate Form:</span> {{alternate}}</p>
<p><span class="font-bold">See:</span> <a href="{{seeOneLink}}" target="_blank">{{seeOneTitle}}</a></p>
<p><span class="font-bold">More Details:</span></p>
<ul>
<li><a href="{{detailsOneLink}}" target="_blank">{{detailsOneTitle}}</a></li>
<li><a href="{{detailsOneLink}}" target="_blank">{{detailsOneTitle}}</a></li>
<li><a href="{{detailsOneLink}}" target="_blank">{{detailsOneTitle}}</a></li>
<p>{{idTwo}} {{grammarTwo}} {{category}}</p>
<p>{{definition}}</p>
<p><span class="font-bold">Alternate Form:</span> {{alternate form}}</p>
<p><span class="font-bold">See:</span> <a href="{{seeTwoLink}}" target="_blank">{{seeTwoTitle}}</p>
{{outlet}}
</div>
import { run } from '@ember/runloop';
export default function destroyApp(application) {
run(application, 'destroy');
}
import Ember from 'ember';
import Application from '../../app';
import config from '../../config/environment';
const { run } = Ember;
const assign = Ember.assign || Ember.merge;
export default function startApp(attrs) {
let application;
let attributes = assign({rootElement: "#test-root"}, config.APP);
attributes.autoboot = true;
attributes = assign(attributes, attrs); // use defaults, but you can override;
run(() => {
application = Application.create(attributes);
application.setupForTesting();
application.injectTestHelpers();
});
return application;
}
import Application from '../app';
import config from '../config/environment';
import { setApplication } from '@ember/test-helpers';
import { start } from 'ember-qunit';
import { assign } from '@ember/polyfills';
let attributes = assign({ rootElement: '#main' }, config.APP);
setApplication(Application.create(attributes));
start();
{
"version": "0.15.1",
"EmberENV": {
"FEATURES": {}
},
"options": {
"use_pods": false,
"enable-testing": false
},
"dependencies": {
"jquery": "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.js",
"ember": "3.4.3",
"ember-template-compiler": "3.4.3",
"ember-testing": "3.4.3"
},
"addons": {
"ember-data": "3.4.2"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment