You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .github/copilot-instructions.md
+86-1Lines changed: 86 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -227,7 +227,11 @@ Before committing, run `./mvnw javadoc:javadoc` to catch JavaDoc errors early.
227
227
- **Auto-Validation for New Equipment**: When creating a new class that extends `ProcessEquipmentBaseClass`, ALWAYS generate a `validateSetup()` method that checks: (1) required input streams are connected, (2) required parameters are set and within valid ranges, (3) return `ValidationResult` with remediation hints for each issue.
228
228
- **Auto-Annotation for Public Methods**: When adding new public methods to core classes (SystemInterface, ProcessEquipmentInterface), consider adding `@AIExposable` annotation with description, category, example, and `@AIParameter` annotations documenting valid ranges/options.
229
229
- **Jupyter Notebook Examples**: When creating Jupyter notebook examples, ensure they run end-to-end and reflect the latest API changes; place them in the `notebooks/` directory and link to them from the main documentation. Follow the neqsim-python direct Java API bindings as shown at https://github.com/equinor/neqsim-python?tab=readme-ov-file#4-direct-java-access-full-control
230
-
- **Add markdown files with documentation**: When adding documentation as markdown files be sure to update REFERENCE_MANUAL_INDEX.md applyTo: **/*.md
230
+
- **Add markdown files with documentation**: When adding documentation as markdown files:
231
+
1. Update `REFERENCE_MANUAL_INDEX.md` with the new file entry
232
+
2. Update the relevant section's `index.md` (e.g., `docs/examples/index.md`)
233
+
3.VerifyALL links to other docs using `file_search` before adding them
234
+
4.See"Documentation Links (MANDATORY)" section below for link guidelines
231
235
232
236
## MarkdownDocumentationGuidelines (MANDATORY)
233
237
@@ -363,6 +367,87 @@ After adding equations, preview locally or check that:
363
367
2. Inline math renders within the text flow
364
368
3. No raw LaTeX syntax (backslashes, braces) appears in rendered output
365
369
370
+
### Documentation Links (MANDATORY)
371
+
372
+
When adding links to other documentation files, follow these rules to prevent broken links:
373
+
374
+
#### Link Verification Rules
375
+
376
+
1. **ALWAYS verify target files exist** before adding links:
377
+
- Use `file_search` to confirm the file exists in the repository
378
+
- Check the exact path and filename (case-sensitive on some systems)
379
+
380
+
2. **Use correct relative paths** based on the source file location:
381
+
- From `docs/fielddevelopment/` to `docs/process/`: use `../process/filename.md`
382
+
- From `docs/examples/` to `docs/tutorials/`: use `../tutorials/filename.md`
383
+
- Within same folder: use just `filename.md`
384
+
385
+
3. **Prefer existing documentation** over creating placeholder links:
386
+
- If a linked file doesn't exist, either create it OR link to an existing alternative
387
+
-NEVER add links to files that don't exist
388
+
389
+
#### Common Documentation Paths
390
+
391
+
| Documentation Area | Path | Example Files |
392
+
|--------------------|------|---------------|
393
+
| Process equipment | `docs/process/` | `separators.md`, `compressors.md`, `heat-exchangers.md` |
394
+
| Field development | `docs/fielddevelopment/` | `pressure_boundary_optimization.md`, `CAPACITY_CONSTRAINT_FRAMEWORK.md` |
Copy file name to clipboardExpand all lines: docs/REFERENCE_MANUAL_INDEX.md
+6-1Lines changed: 6 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -188,6 +188,7 @@ Fluid characterization handles plus fraction splitting, property estimation, and
188
188
|**Reading Fluid Properties**|[docs/thermo/reading_fluid_properties.md](thermo/reading_fluid_properties)|**Comprehensive guide to calculating and reading properties from fluids, phases, and components**|
|**H2S Distribution**|[docs/thermo/H2S_distribution_guide.md](thermo/H2S_distribution_guide)|**H2S phase distribution modeling with SRK, PR, CPA, Electrolyte-CPA**|
|**H2S Scavenger**|[docs/process/H2S_scavenger_guide.md](process/H2S_scavenger_guide)|**Chemical scavenging of H2S from gas - triazine, glyoxal, iron sponge, caustic, liquid redox**|
|**Strategy**|[docs/fielddevelopment/FIELD_DEVELOPMENT_STRATEGY.md](fielddevelopment/FIELD_DEVELOPMENT_STRATEGY)| Field development strategy and roadmap |
755
757
|**Late-Life Operations**|[docs/fielddevelopment/LATE_LIFE_OPERATIONS.md](fielddevelopment/LATE_LIFE_OPERATIONS)|**Turndown, debottlenecking, and decommissioning timing analysis**|
758
+
|**Multi-Scenario VFP Generation**|[docs/fielddevelopment/MULTI_SCENARIO_PRODUCTION_OPTIMIZATION.md](fielddevelopment/MULTI_SCENARIO_PRODUCTION_OPTIMIZATION)| VFP tables with varying GOR/water cut for reservoir simulation coupling |
756
759
| Field Planning |[docs/wiki/field_development_planning.md](wiki/field_development_planning)| Field development planning |
757
760
| Field Engine |[docs/simulation/field_development_engine.md](simulation/field_development_engine)| Field development engine |
|**ESP Pump Tutorial**|[docs/examples/ESP_Pump_Tutorial.md](examples/ESP_Pump_Tutorial)|**Electric Submersible Pump simulation and sizing**|
820
823
|**Graph-Based Simulation**|[docs/examples/GraphBasedProcessSimulation.md](examples/GraphBasedProcessSimulation)|**Graph-based process simulation tutorial**|
821
824
|**Field Development Workflow**|[docs/examples/FieldDevelopmentWorkflow.md](examples/FieldDevelopmentWorkflow)|**End-to-end field development workflow example**|
825
+
|**Multi-Scenario VFP Tutorial**|[docs/examples/MultiScenarioVFP_Tutorial.ipynb](examples/MultiScenarioVFP_Tutorial)|**VFP generation with varying GOR/water cut scenarios**|
826
+
|**Production System Bottleneck Analysis**|[docs/examples/ProductionSystem_BottleneckAnalysis.ipynb](examples/ProductionSystem_BottleneckAnalysis)|**Multi-well system optimization, bottleneck identification, and well prioritization**|
822
827
|**MPC Integration Tutorial**|[docs/examples/MPC_Integration_Tutorial.md](examples/MPC_Integration_Tutorial)|**Model Predictive Control integration example**|
0 commit comments