Макрос для создания Sch-файлов

Последнее сообщение
oilman007 38 11
Янв 11

Здравствуйте!
Как то мне пришлось создавать прогнозный Schedule для месторождения на котором было 300 новых скв. и на каждую делался ГРП, причем не однократно, причем на нагнетательные одно количество раз на добывающие - другое. С последующим убиранием эффекта в течении года.
Можно представить как было легко ошибиться. Благо скв много и ошибка не так заметна. smile.gif
Так вот после этого пришла мысль создать макрос в Excel в котором имея список скважин, их дату ввода, их статус(доб/нагн/нагн в отработке) создавать автоматически sch.
Но создавать бывает не достаточно. Как правило с первого раза ни чего хорошего не получается. Поэтому нужен такой макрос который умеет не только создавать но и считывать готовый и добавлять/удалять данные.
Да и вообще часто создание sch сводится к простому расставлению WCONPROD/WCONINJE по датам. Что с успехом может делать макрос.

Я попытался создать такой файл.
Его вы можете скачать здесь -> mac1.zip
В файле на есть описание макросов. Попытался учесть все ситуации которые могут сложиться в процессе использования.

Буду очень рад видеть любую критику, пожелания, советы, впечатления и отношение к затеянному и созданному.

Спасибо! smile.gif

P.s.: макрос для файлов slb ecl sch

Dorzhi 965 14
Янв 11 #1

compdat тож сам пишешь? connection factor'ы как считаешь?

oilman007 38 11
Янв 11 #2

Dorzhi пишет:

compdat тож сам пишешь? connection factor'ы как считаешь?

нет. Они подгружаются через макрос Input.
Если их рассчитывать нужно так же подключать .EGRID .INIT .cnt/.ctl .ev- с этим прекрасно справляется приложение Schedule...
так же это приложение, на мой взгляд, хорошо справляется с созданием исторического sch. Но прогнозный через нее создавать не удобно.
Для этого макрос.

Dorzhi 965 14
Янв 11 #3

wconprod и wconinje натыкать то без проблем можно. такой макрос написать минут 10.

oilman007 38 11
Янв 11 #4

Dorzhi пишет:

wconprod и wconinje натыкать то без проблем можно. такой макрос написать минут 10.

Мой макрос в принципе любое слово может расставить на любую дату и в любом количестве. Что бывает проблематично сделать вручную.
Более: т.к. количество Листов для Outputa не ограничено, можно для каждого ключевого слова использовать свой лист, что позволяет легко в дальнейшем править даты ввода, добавлять и удалять ключевые слова.
Возможность загрузки уже готового файла позволяет добавить в уже готовый файл различные изменения (например ГРП с последующим снятием эффекта), что так же делать вручную проблематично(если речь не идет о паре-тройке скважин).

ProMan 532 11
Янв 11 #5

oilman007 пишет:

Мой макрос в принципе любое слово может расставить на любую дату и в любом количестве. Что бывает проблематично сделать вручную.
Более: т.к. количество Листов для Outputa не ограничено, можно для каждого ключевого слова использовать свой лист, что позволяет легко в дальнейшем править даты ввода, добавлять и удалять ключевые слова.
Возможность загрузки уже готового файла позволяет добавить в уже готовый файл различные изменения (например ГРП с последующим снятием эффекта), что так же делать вручную проблематично(если речь не идет о паре-тройке скважин).

oilman007 зачетная прога, все грамотно и понятно и главное нужная вещь.
Я в свое время тоже хотел написать макрос что бы разбрасывал скважины по групповым, то есть чтобы менял группу скважин с списка.
Вообщем запарился и решил по проще в awk, коряво, извращенно, но на временно пойдет.
Сейчас думаю по группам задать дебиты и управлять (боюсь без макросов не обойтись), вообщем твой макрос будет вполне удобный если чуть чуть еще поработать.

П.С.: по идее эта штука может пригодиться и в истории, для задания пассивного трейсера.

oilman007 38 11
Янв 11 #6

ProMan пишет:

Сейчас думаю по группам задать дебиты и управлять (боюсь без макросов не обойтись), вообщем твой макрос будет вполне удобный если чуть чуть еще поработать.

Что то я не понял для чего нужно скв по группам разбивать. Объясните. Я доработаю! wink.gif

ProMan 532 11
Янв 11 #7

oilman007 пишет:

Что то я не понял для чего нужно скв по группам разбивать. Объясните. Я доработаю! wink.gif

Для оперативности и более коректной модели приходиться прибегать к таким приемам.
Дело в том что на групповой дебиты известны, их потом разбрасывают по скважинам. Что бы не сидеть над каждой скважиной, а оптом брать групповую и матчить групповую (также для ППД). Вообщем получается типа материальный баланс по сообщающимся блокам, при наших данных и для нужной оперативности действий в полне сойдет. Вообщем не для ГКЗ а то сидели бы до скончаний веков мудохаясь над каждой скважиной как ботаники.

oilman007 38 11
Янв 11 #8

ProMan пишет:

читай тут
То что в WELSPECS и GRUPTREE.
Для оперативности и более коректной модели приходиться прибегать к таким приемам.
Дело в том что на групповой дебиты известны, их потом разбрасывают по скважинам. Что бы не сидеть над каждой скважиной, а оптом брать групповую и матчить групповую (также для ППД). Вообщем получается типа материальный баланс по сообщающимся блокам, при наших данных и для нужной оперативности действий в полне сойдет. Вообщем не для ГКЗ а то сидели бы до скончаний веков мудохаясь над каждой скважиной как ботаники.

я понял. Но это можно сделать имея список в EXCEL через функцию VLOOKUP (ВПР - в русском excel) ...а потом мой макрос
или при создании исторического sch в .net файл вносить группы для каждой скв. - что проще

ProMan 532 11
Янв 11 #9

oilman007 пишет:

я понял. Но это можно сделать имея список в EXCEL через функцию VLOOKUP (ВПР - в русском excel) ...а потом мой макрос
или при создании исторического sch в .net файл вносить группы для каждой скв. - что проще

Не совсем все так тривиально, но в любом случае спасибо за подсказку (.net файл может сработать).

П.С.: обращаюсь к EXCEL только в крайних случаях.

sigiz 118 12
Мар 11 #10

А скажите пожалуйста как расчитывается COMPDAT? по какому алгоритму?

Temr 140 14
Фев 12 #11

oilman007 пишет:
Dorzhi пишет:

compdat тож сам пишешь? connection factor'ы как считаешь?

нет. Они подгружаются через макрос Input.Если их рассчитывать нужно так же подключать .EGRID .INIT .cnt/.ctl .ev- с этим прекрасно справляется приложение Schedule...так же это приложение, на мой взгляд, хорошо справляется с созданием исторического sch. Но прогнозный через нее создавать не удобно.Для этого макрос.

Помучавшись с шедулем у тоже написал макросы для создания секции истории и секции прогноза 

проблему с подключением решил разобрав файл trj который выгружается из петрела , что и советую автору

Baton 18 12
Апр 12 #12

Всем привет, ссылка первого сообщения недоступна, кто нибудь может дать ссылку на скачку шедул файла?

Temr 140 14
Июл 12 #13

Когда то давно создал прогу

потом ее усовершенствовал пользуюсь сейчас

То что ксовершенствовал мое

Здесь выкладываю то что сделал сначала 

http://depositfiles.com/files/r3vnyj9in

Макрос, читает trj файлы ( выгрузить из петрела с перечисленными свойствами на листе макро) 

рассчитывает характер и длинну подключения к ячейке и выгружает секцию

Пароль стоит , ща ищу его 

intangible 96 12
Авг 12 #14

Зачем заново придумывать колесо?

СШедул специально же для этого и написан шлюмом. тем более что компдаты все равно нужно в нем делать..

Go to top