Building TOUGH2/Waiwera models from layers of conceptual models
Project description
# Example
Creates BMStats that can be used later, from Leapfrog Geology:
# (ONLY ONCE) geo used to get geology from Leapfrog geological model cmgeo = mulgrid(‘g_very_fine.dat’)
# CSV file created by Leapfrog using cmgeo above leapfrog = LeapfrogGM() leapfrog.import_leapfrog_csv(‘grid_gtmp_ay2017_03_6_fit.csv’)
cm_geology = CM_Blocky(cmgeo, leapfrog)
# whatever active model we are working on bmgeo = mulgrid(‘gwaixx_yy.dat’)
bms_geology = cm_geology.populate_model(bm_geo) bms_geology.save(‘a.json’)
A BMStats object can be reused (very fast) to eg.
bms_geology = BMStats(‘a.json’)
# get a cell’s stats cs = bms_geology.cellstats[‘abc12’]
# rock that occupies most in cell ‘abc12’ rock_name = bms_geology.zones[np.argmax(cs)]
# how many rock in cell ‘abc12’ n_rock = len(np.nonzero(cs))
# list all rocks in cell ‘abc12’ rocks = [bm_geology.zones[i] for i in np.nonzero(cs)]
# BMStats
This is the object that we keep for later use. It is associated to a certain “geometry” file. So each cell has information on zones. Usually this is generated by cm.populate_model(), which can be expensive.
? should I call it CMStats?
? TODO, .cellstats access by cell index
? TODO, .
.stats, numpy array (n * m), n number of geometry cells, m number of zones .zones, a list of zone name, eg. geology rock names, fault names etc .zonestats, a dict keyed by zone name, an array of size number of cells, each cell is between .cellstats, a dict of stats by cell name
.save() .load() .add_stats() add another bmstat, merge stats .add_cm() calls cm.populate_model, and merge stats
# CM # CM_Blocky # CM_Prism # CM_Faults
These are the objects that can be created in order to create the final BMStats objects. The common method .populate_model(bm_geo) is called to create BMStats objects. It means the conceptual model is “applied” onto the bm_geo.
TODO, .populate_model() should return BMStats instead
? TODO, .populate_model() should be called something else?
.populate_model(bm_geo) takes a target geometry, and return/creates BMStats
# LeapfrogGM
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for cmflow-0.1.1.dev8-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e4f4bd83554b62c24cec09356df075b6f8cea6a8ba36fe2b2c02a97e36af25b |
|
MD5 | ef4f89093bb19213a973e30d853c68bd |
|
BLAKE2b-256 | 388fbaf1a37b033887fd4b8d756f862e6e50f8cc906f1cc82d3f6f46c334aed0 |