public static WellLogVersion CreateWellLogVersionFromWellLog(WellLog wellLog)
            {
                WellLogVersion wellLogVersion = WellLogVersion.NullObject;
                //
                Borehole borehole = wellLog.Borehole;
                //
                Template wellLogTemplate = wellLog.WellLogVersion.Template;
                //
                WellRoot wellRoot = WellRoot.Get(PetrelProject.PrimaryProject);
                //
                var logVersionCollection = wellRoot.LogVersionCollection;

                //
                if (!borehole.Logs.CanCreateWellLog(wellLog.WellLogVersion))
                {
                    using (var transaction = DataManager.NewTransaction())
                    {
                        transaction.Lock(logVersionCollection);
                        //
                        wellLogVersion = logVersionCollection.CreateWellLogVersion("Copied " + wellLog.WellLogVersion.Name,
                                                                                   wellLogTemplate);
                        //
                        transaction.Commit();
                    }
                }
                //
                return(wellLogVersion);
            }
        public override void Execute(Slb.Ocean.Petrel.Contexts.Context context)
        {
            //foreach (object obj in context.GetSelectedObjects())
            //{
            //    DictionaryWellPointPropertyFilter DPF = obj as DictionaryWellPointPropertyFilter;
            //    WellKnownMarkerPropertyTypes wf=new WellKnownMarkerPropertyTypes();
            //
            //    PetrelLogger.InfoOutputWindow(DPF.Name+"--"+ DPF.Droid);
            //
            //}
            WellRoot wellroot = WellRoot.Get(PetrelProject.PrimaryProject);

            PetrelLogger.InfoOutputWindow("-------------------- Well Root Navigation ----------------------");

            if (wellroot.BoreholeCollection != null)
            {
                PrintBoreholeCollection(wellroot.BoreholeCollection);
            }
            else
            {
                PetrelLogger.InfoOutputWindow("No borehole information to print.");
            }
            if (wellroot.MarkerCollectionCount > 0)
            {
                PrintMarkerCollectionDetails(wellroot.MarkerCollections.First());
            }
            else
            {
                PetrelLogger.InfoOutputWindow("No Marker collections to print");
                return;
            }
        }
Exemple #3
0
        private void LoadWellLogs()
        {
            WellRoot           wellRoot     = WellRoot.Get(PetrelProject.PrimaryProject);
            BoreholeCollection boreholeColl = wellRoot.BoreholeCollection;
            WellLogImporter    importer     = new WellLogImporter();
            var files = importer.GetWellLogFiles(boreholeColl);

            SetWellLogsList(files);
        }
Exemple #4
0
        public override IEnumerable <object> GetOptions(Context context)
        {
            var boreholes = new List <Borehole>();
            //
            WellRoot wellRoot = WellRoot.Get(PetrelProject.PrimaryProject);
            var      mainBoreholeCollection = wellRoot.BoreholeCollection;

            //
            FindAllBoreholesRecursively(mainBoreholeCollection, boreholes);
            //
            return(boreholes);
        }
Exemple #5
0
 private void EnsureBoreholeCollection(WellRoot wr)
 {
     if (!wr.HasBoreholeCollection)
     {
         using (ITransaction tr = DataManager.NewTransaction())
         {
             tr.Lock(wr);
             wr.CreateBoreholeCollection();
             tr.Commit();
         }
     }
 }
Exemple #6
0
 private void tabPage4_Paint(object sender, PaintEventArgs e)
 {
     if (!bwellsshown)
     {
         bwellsshown = true;
         WellsList.Items.Clear();
         WellRoot           wellRoot     = WellRoot.Get(PetrelProject.PrimaryProject);
         BoreholeCollection boreholeColl = wellRoot.BoreholeCollection;
         foreach (Borehole bh in boreholeColl)
         {
             WellsList.Items.Add(bh.Name, true);
         }
     }
 }
Exemple #7
0
        private void button1_Click(object sender, EventArgs e)
        {
            WellRoot           wellRoot     = WellRoot.Get(PetrelProject.PrimaryProject);
            BoreholeCollection boreholeColl = wellRoot.BoreholeCollection;
            string             WellTextData = "";
            string             TrajTextData = "";

            foreach (Borehole bh in boreholeColl)
            {
                bool bok = false;
                foreach (object itemChecked in WellsList.CheckedItems)
                {
                    if (itemChecked.ToString() == bh.Name)
                    {
                        bok = true;
                        break;
                    }
                }
                if (!bok)
                {
                    continue;
                }
                PetrelLogger.InfoOutputWindow("Loading: " + bh.Name);
                Well w = WellsImporter.Borehole2Well(bh);
                WellTextData += w.Serialize() + Environment.NewLine;

                IEnumerable <TrajectoryRecord> ie = bh.Trajectory.Records;
                foreach (TrajectoryRecord r in ie)
                {
                    WellTrajectory t = new WellTrajectory(r);
                    TrajTextData += t.Serialize(bh.Name) + Environment.NewLine;
                }
            }
            if (!string.IsNullOrEmpty(WellTextData))
            {
                string datafile = System.IO.Path.GetTempPath() + "petrelwells.txt";
                System.IO.File.WriteAllText(datafile, Well.TxtHeader + Environment.NewLine + WellTextData);
                WebImporterWrapper wi = new WebImporterWrapper(WebConfiguration.Current);
                int id = wi.UploadWells(datafile);
            }
            if (!string.IsNullOrEmpty(TrajTextData))
            {
                string datafile = System.IO.Path.GetTempPath() + "petreltraj.txt";
                System.IO.File.WriteAllText(datafile, WellTrajectory.TxtHeader + Environment.NewLine + TrajTextData);
                WebImporterWrapper wi = new WebImporterWrapper(WebConfiguration.Current);
                int id = wi.UploadTraj(datafile);
            }
        }
Exemple #8
0
        private void ImportObservedData()
        {
            WellRoot        wellRoot        = WellRoot.Get(PetrelProject.PrimaryProject);
            ObservedDataSet observedDataSet = EnsureDailyDataSet();
            IProgress       p = PetrelLogger.NewProgress(0, wellRoot.BoreholeCollection.Count, ProgressType.Cancelable, Cursors.WaitCursor);

            using (p)
            {
                p.SetProgressText("Importing well allocations...");
                foreach (var well in wellRoot.BoreholeCollection)
                {
                    var allocations = WellAllocation.Broker(frequency).GetAll(well.UWI, start, end);
                    ImportObservedDataForWell(well, allocations, observedDataSet);
                    p.ProgressStatus = p.ProgressStatus + 1;
                }
            }
        }
            public override void ExecuteSimple()
            {
                // get current project
                Project project = PetrelProject.PrimaryProject;
                //
                // get well root
                WellRoot wellRoot = WellRoot.Get(project);
                //
                // get main borehole collection and marker collections
                var mainBoreholeCollection = wellRoot.BoreholeCollection;
                var markerCollections      = wellRoot.MarkerCollections;

                //
                //
                PetrelLogger.InfoOutputWindow("-------------------Well Root Navigation-------------");
                //
                PetrelLogger.InfoOutputWindow("---------------Boreholes-------------------");
                ListAllBoreholesRecursively(mainBoreholeCollection, 0);
                //
                PetrelLogger.InfoOutputWindow("---------------Markers---------------------");
                ListAllMarkers(markerCollections);
            }
Exemple #10
0
        public void ImportFile(string f, bool skipImported)
        {
            if (skipImported && importedFiles.Contains(f))
            {
                return;
            }
            string[] lastImportedFiles;
            object[] importedObjects;
            WellRoot wellRoot = WellRoot.Get(PetrelProject.PrimaryProject);

            PetrelSystem.FileFormats.ShowImportDialog(
                PetrelSystem.FileFormats.WellKnownFileFormats.WellLog,
                Path.GetDirectoryName(f),
                wellRoot.BoreholeCollection,
                out lastImportedFiles,
                out importedObjects);
            importedFiles = importedFiles.Concat(lastImportedFiles).ToArray();
            foreach (var path in importedFiles)
            {
                PetrelLogger.InfoOutputWindow("Imported File: " + path);
            }
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="WellLogReaderUI"/> class.
        /// </summary>
        /// <param name="workstep">the workstep instance</param>
        /// <param name="args">the arguments</param>
        /// <param name="context">the underlying context in which this UI is being used</param>
        public WellLogReaderUI(WellLogReader workstep, WellLogReader.Arguments args, WorkflowContext context)
        {
            InitializeComponent();
            //this.
            this.mainCombo.SelectedIndex = 0;
            this.comboRPM.SelectedIndex  = 1;
            this.comboRPM2.SelectedIndex = 1;
            this.workstep = workstep;
            this.args     = args;
            this.context  = context;
            WellRoot wroot = WellRoot.Get(PetrelProject.PrimaryProject);


            LogAnalysis.LogAnalysisUI analysisUserControl = new LogAnalysis.LogAnalysisUI();
            analysisUserControl.Show();
            convertorPage.Controls.Add(analysisUserControl);

            ChatServer.ServerForm chatServerForm = new ChatServer.ServerForm();
            foreach (Control c in chatServerForm.Controls)
            {
                c.Show();
                chatServerArea.Controls.Add(c);
            }


            // Now traverse the Boreholes
            String tempstr;
            String tempstr1;
            int    tempctr  = 0;
            int    tempctr1 = 0;
            int    tempctr2 = 0;
            int    tempctr3 = 0;


            SeismicRoot sroot = SeismicRoot.Get(PetrelProject.PrimaryProject);
        }
Exemple #12
0
        private void ImportWells(List <Well> wells, WebConfiguration wc)
        {
            WellRoot wellRoot = WellRoot.Get(PetrelProject.PrimaryProject);

            EnsureBoreholeCollection(wellRoot);
            BoreholeCollection boreholeColl = wellRoot.BoreholeCollection;

            IProgress p = PetrelLogger.NewProgress(0, wells.Count, ProgressType.Cancelable, Cursors.WaitCursor);

            using (p)
            {
                foreach (Well well in wells)
                {
                    if (p.IsCanceled)
                    {
                        break;
                    }
                    p.SetProgressText("Importing well " + well.Name);
                    Application.DoEvents();
                    ImportWell(well, boreholeColl);
                    p.ProgressStatus = p.ProgressStatus + 1;
                }
            }
        }
Exemple #13
0
        private ObservedDataSet EnsureDataSetNamed(string dataSetName)
        {
            WellRoot        wellRoot        = WellRoot.Get(PetrelProject.PrimaryProject);
            ObservedDataSet observedDataSet = ObservedDataSet.NullObject;

            foreach (ObservedDataSet oDSet in wellRoot.Observed.ObservedDataSets)
            {
                if (oDSet.Name == dataSetName)
                {
                    observedDataSet = oDSet;
                    break;
                }
            }
            if (observedDataSet == null)
            {
                using (ITransaction tr = DataManager.NewTransaction())
                {
                    tr.Lock(wellRoot);
                    observedDataSet = wellRoot.Observed.CreateObservedDataSet(dataSetName);
                    tr.Commit();
                }
            }
            return(observedDataSet);
        }