ras-commander 0.51.0__py3-none-any.whl → 0.53.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -449,29 +449,47 @@ class RasUnsteady:
449
449
  """
450
450
  data = []
451
451
  for line in lines[start:end]:
452
- # Split the line into 8-character columns
453
- values = [line[i:i+8].strip() for i in range(0, len(line), 8)]
454
- # Convert to float and handle cases where values are run together
455
- parsed_values = []
456
- for value in values:
457
- try:
458
- if len(value) > 8: # If values are run together
459
- parts = re.findall(r'-?\d+\.?\d*', value)
460
- parsed_values.extend([float(p) for p in parts])
461
- elif value: # Only add non-empty values
462
- parsed_values.append(float(value))
463
- except ValueError as e:
464
- logger.warning(f"Could not parse value '{value}': {e}")
465
- continue
466
- data.extend(parsed_values)
452
+ # Skip empty lines or lines that don't contain numeric data
453
+ if not line.strip() or not any(c.isdigit() for c in line):
454
+ continue
455
+
456
+ # Split the line into 8-character columns and process each value
457
+ values = []
458
+ for i in range(0, len(line.rstrip()), 8):
459
+ value_str = line[i:i+8].strip()
460
+ if value_str: # Only process non-empty strings
461
+ try:
462
+ # Handle special cases where numbers are run together
463
+ if len(value_str) > 8:
464
+ # Use regex to find all numbers in the string
465
+ parts = re.findall(r'-?\d+\.?\d*', value_str)
466
+ values.extend([float(p) for p in parts])
467
+ else:
468
+ values.append(float(value_str))
469
+ except ValueError:
470
+ # If conversion fails, try to extract any valid numbers from the string
471
+ parts = re.findall(r'-?\d+\.?\d*', value_str)
472
+ if parts:
473
+ values.extend([float(p) for p in parts])
474
+ else:
475
+ logger.debug(f"Skipping non-numeric value: {value_str}")
476
+ continue
477
+
478
+ # Only add to data if we found valid numeric values
479
+ if values:
480
+ data.extend(values)
467
481
 
482
+ if not data:
483
+ logger.warning("No numeric data found in table section")
484
+ return pd.DataFrame(columns=['Value'])
485
+
468
486
  return pd.DataFrame(data, columns=['Value'])
469
-
487
+
470
488
  @staticmethod
471
489
  @log_call
472
490
  def extract_tables(unsteady_file: str, ras_object: Optional[Any] = None) -> Dict[str, pd.DataFrame]:
473
491
  """
474
- Extract all tables from the unsteady file and return them as DataFrames.
492
+ Extract all tables from the unsteady flow file and return them as DataFrames.
475
493
 
476
494
  Parameters:
477
495
  unsteady_file (str): Path to the unsteady flow file
@@ -495,11 +513,12 @@ class RasUnsteady:
495
513
  logger.error(f"Permission denied when reading unsteady flow file: {unsteady_path}")
496
514
  raise
497
515
 
498
- tables = RasBndry.identify_tables(lines)
516
+ # Fix: Use RasUnsteady.identify_tables
517
+ tables = RasUnsteady.identify_tables(lines)
499
518
  extracted_tables = {}
500
519
 
501
520
  for table_name, start, end in tables:
502
- df = RasBndry.parse_fixed_width_table(lines, start, end)
521
+ df = RasUnsteady.parse_fixed_width_table(lines, start, end)
503
522
  extracted_tables[table_name] = df
504
523
  logger.debug(f"Extracted table '{table_name}' with {len(df)} values")
505
524
 
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: ras-commander
3
- Version: 0.51.0
3
+ Version: 0.53.0
4
4
  Summary: A Python library for automating HEC-RAS operations
5
5
  Home-page: https://github.com/billk-FM/ras-commander
6
6
  Author: William M. Katzenmeyer
@@ -8,10 +8,17 @@ Author-email: billk@fenstermaker.com
8
8
  Requires-Python: >=3.10
9
9
  Description-Content-Type: text/markdown
10
10
  License-File: LICENSE
11
+ Dynamic: author
12
+ Dynamic: author-email
13
+ Dynamic: description
14
+ Dynamic: description-content-type
15
+ Dynamic: home-page
16
+ Dynamic: requires-python
17
+ Dynamic: summary
11
18
 
12
19
  # RAS Commander (ras-commander)
13
20
 
14
- RAS Commander is a Python library for automating HEC-RAS operations, providing a set of tools to interact with HEC-RAS project files, execute simulations, and manage project data. This library is an evolution of the RASCommander 1.0 Python Notebook Application previously released under the [HEC-Commander tools repository](https://github.com/billk-FM/HEC-Commander).
21
+ RAS Commander is a Python library for automating HEC-RAS operations, providing a set of tools to interact with HEC-RAS project files, execute simulations, and manage project data. This library was initially conceptualized in the Australian Water School course "AI Tools for Modelling Innovation", and subsequently expanded to cover the basic functionality of the HECRASController COM32 interface using open-source python libraries. This library uses a Test Driven Development strategy, leveraging the publicly-available HEC-RAS Example projects to create repeatable demonstration examples. The "Commmander" moniker is inspired by the "Command Line is All You Need" approach to HEC-RAS automation that was first implemented in the HEC-Commander Tools repository.
15
22
 
16
23
  ## Contributors:
17
24
  William Katzenmeyer, P.E., C.F.M.
@@ -22,79 +29,108 @@ Aaron Nichols, P.E., C.F.M.
22
29
 
23
30
  (Additional Contributors Here)
24
31
 
25
- ## Don't Ask Me, Ask ChatGPT!
32
+ ## Don't Ask Me, Ask ChatGPT!
26
33
 
27
- Before you read any further, you can [chat directly with ChatGPT on this topic.](https://chatgpt.com/g/g-TZRPR3oAO-ras-commander-library-assistant) Ask it anything, and it will use its tools to answer your questions and help you learn. You can even upload your own plan, unsteady and HDF files to inspect and help determine how to automate your workflows or visualize your results.
34
+ This repository has several methods of interaction with Large Language Models and LLM-Assisted Coding built right in:
28
35
 
29
- There are also [AI Assistant Knowledge Bases](https://github.com/billk-FM/ras-commander/tree/main/ai_tools/assistant_knowledge_bases) with various versions available to directly use with large context LLM models such as Anthropic's Claude, Google Gemini and OpenAI's GPT4o and o1 models.
36
+ 1. **[RAS Commander Library Assistant GPT](https://chatgpt.com/g/g-TZRPR3oAO-ras-commander-library-assistant)**: A specialized GPT model with access to the ras-commander codebase and library, available for answering queries and providing code suggestions. You can even upload your own plan, unsteady and HDF files to inspect and help determine how to automate your workflows or visualize your results, although this ability is still limited by OpenAI's GPT frameworks and may not be useful for long conversations.
37
+
38
+ 2. **[Purpose-Built Knowledge Base Summaries](https://github.com/billk-FM/ras-commander/tree/main/ai_tools/assistant_knowledge_bases)**: Up-to-date compilations of the documentation and codebase for use with large language models like Claude or GPT-4. Look in 'ai_tools/assistant_knowledge_bases/' in the repo. The repo's codebase (without documentation and examples) has been curated to stay within the current ~200k context window limitations of frontier models, and for tasks that do not need an understanding of the underlying code, the Comprehensive Library Guide and any relevant examples from the example folder should be adequate context for leveraging the ras-commander API to complete tasks.
39
+
40
+ 3. **[Cursor IDE Integration](https://github.com/billk-FM/ras-commander/blob/main/.cursorrules)**: Custom rules(.cursorrules) for the Cursor IDE to provide context-aware suggestions and documentation. Just open the repository folder in Cursor to recognize these instructions. You can create your own folders "/workspace/, "/projects/", or "my_projects/" as these are already in the .gitignore, and place your custom scripts there for your projects. This will allow easy referencing of the ras-commander documents and individual repo files, the automatic loading of the .cursorrules file. Alternatvely, download the github repo into your projects folder to easily load documents and use cursor rules files.
41
+
42
+ 5. **[RAS-Commander Library Assistant](https://github.com/billk-FM/ras-commander/blob/main/library_assistant)**: A full-featured interface for multi-turn conversations, using your own API keys and the ras-commander library for context. The library assistant allows you to load your own scripts and chat with specific examples and/or function classes in the RAS-Commander library to effectively utilize the library's functions in your workflow. To reduce hallucinations, a file browser is included which adds full files to the conversation to ensure grounded responses. A dashboard shows you the total context and estimated cost of each request. **Now with support for OpenAI's o1 and o3-mini, and Deepseek V3 and R1 models using US-based Together.ai**
30
43
 
31
- FUTURE: TEMPLATES are available to use with AI Assistant Notebooks to build your own automation tools. When used with large context models, these templates allow you to ask GPT to build a workflow from scratch to automate your projects.
32
44
 
33
45
  ## Background
34
46
  The ras-commander library emerged from the initial test-bed of AI-driven coding represented by the HEC-Commander tools Python notebooks. These notebooks served as a proof of concept, demonstrating the value proposition of automating HEC-RAS operations. The transition from notebooks to a structured library aims to provide a more robust, maintainable, and extensible solution for water resources engineers.
35
47
 
36
48
  ## Features
37
49
 
38
- - Automate HEC-RAS project management and simulations
39
- - Support for both single and multiple project instances
40
- - Parallel execution of HEC-RAS plans
41
- - Utilities for managing geometry, plan, and unsteady flow files
42
- - Example project management for testing and development
43
- - Two primary operation modes: "Run Missing" and "Build from DSS"
50
+ If you've ever read the book "Breaking the HEC-RAS Code" by Chris Goodell, this library is intended to be an AI-coded, pythonic library that provides a modern alternative to the HECRASController API. By leveraginging modern python features libraries such as pandas, geopandas and H5Py (favoring HDF data sources wherever practicable) this library builds functionality around HEC-RAS 6.2+ while maintaining as much forward compatibilty as possible with HEC-RAS 2025.
44
51
 
45
- ## AI-Driven Coding Experience
52
+ HEC-RAS Project Management & Execution
53
+ - Multi-project handling with parallel and sequential execution
54
+ - Command-line execution integration
55
+ - Project folder management and organization
56
+ - Multi-core processing optimization
57
+ - Progress tracking and logging
58
+ - Execution error handling and recovery
46
59
 
47
- ras-commander provides several AI-powered tools to enhance the coding experience:
48
60
 
49
- 1. **ChatGPT Assistant: [RAS Commander Library Assistant](https://chatgpt.com/g/g-TZRPR3oAO-ras-commander-library-assistant)**: A specialized GPT model trained on the ras-commander codebase, available for answering queries and providing code suggestions.
61
+
62
+ HDF Data Access & Analysis
63
+ - 2D mesh results processing (depths, velocities, WSE)
64
+ - Cross-section data extraction
65
+ - Boundary condition analysis
66
+ - Structure data (bridges, culverts, gates)
67
+ - Pipe network and pump station analysis
68
+ - Fluvial-pluvial boundary calculations
69
+ - Infiltration and precipitation data handling
50
70
 
51
- 2. **[Purpose-Built Knowledge Base Summaries](https://github.com/billk-FM/ras-commander/tree/main/ai_tools/assistant_knowledge_bases)**: Up-to-date compilations of the documentation and codebase for use with large language models like Claude or GPT-4. Look in 'ai_tools/assistant_knowledge_bases/' in the repo.
71
+
72
+ RAS ASCII File Operations
73
+ - Plan file creation and modification
74
+ - Geometry file parsing examples
75
+ - Unsteady flow file management
76
+ - Project file updates and validation
52
77
 
53
- 3. **[Cursor IDE Integration](https://github.com/billk-FM/ras-commander/blob/main/.cursorrules)**: Custom rules for the Cursor IDE to provide context-aware suggestions and documentation. Just open the repository folder in Cursor. You can create your own folders "/workspace/, "/projects/", or "my_projects/" as these are already in the .gitignore, and place your custom scripts there for your projects. This will allow easy referencing of the ras-commander documents and individual repo files, the automatic loading of the .cursorrules file. Alternatvely, download the github repo into your projects folder to easily load documents and use cursor rules files.
54
- 4. **[AI Assistant Notebook](https://github.com/billk-FM/ras-commander/blob/main/ai_tools/rascommander_code_assistant.ipynb)**: A notebook for dynamic code summarization and API interaction (bring your own API Key). Currently, this only does a single-shot message on the Claude Sonnet 3.5 API, which can be up to 50 cents per request. Future revisions will include the ability to select which knowledge base file to include, a choice of SOTA models + multi turn conversations to build automation notebooks interactively.
55
-
56
- These tools aim to streamline development and provide intelligent assistance when modeling with, and working with and revising the ras-commander library.
78
+ Note about support for Pipe Networks: As a relatively new feature, only read access to Pipe Network geometry and results data has been included. Users will need to code their own methods to modify/add pipe network data, and pull requests are always welcome to incorporate this capability. Please note that the library has not been tested with versions prior to HEC-RAS 6.2.
57
79
 
58
80
  ## Installation
59
81
 
60
- Create a virtual environment with conda or venv (ask ChatGPT if you need help)
82
+ First, create a virtual environment with conda or venv (ask ChatGPT if you need help).
83
+
84
+ #### Install via Pip
61
85
 
62
86
  In your virtual environment, install ras-commander using pip:
63
87
  ```
64
88
  pip install h5py numpy pandas requests tqdm scipy xarray geopandas matplotlib ras-commander ipython tqdm psutil shapely fiona pathlib rtree rasterstats
65
89
  pip install --upgrade ras-commander
66
90
  ```
67
-
68
- **Tested with Python 3.11**
69
-
70
-
71
91
  If you have dependency issues with pip (especially if you have errors with numpy), try clearing your local pip packages 'C:\Users\your_username\AppData\Roaming\Python\' and then creating a new virtual environment.
72
92
 
93
+ #### Work in a Local Copy
73
94
 
74
- ## Requirements
95
+ If you want to make revisions and work actively in your local version of ras-commander, just skip the pip install rascommander step above and clone a fork of the repo to your local machine using Git (ask ChatGPT if you need help). Most of the notebooks and examples in this repo have a code segment similar to the one below, that works as long as the script is located in a first-level subfolder of the ras-commander repository:
96
+ ```
97
+ # Flexible imports to allow for development without installation
98
+ try:
99
+ # Try to import from the installed package
100
+ from ras_commander import init_ras_project, RasExamples, RasCmdr, RasPlan, RasGeo, RasUnsteady, RasUtils, ras
101
+ except ImportError:
102
+ # If the import fails, add the parent directory to the Python path
103
+ current_file = Path(__file__).resolve()
104
+ parent_directory = current_file.parent.parent
105
+ sys.path.append(str(parent_directory))
106
+ # Alternately, you can just define a path sys.path.append(r"c:/path/to/rascommander/rascommander)")
107
+
108
+ # Now try to import again
109
+ from ras_commander import init_ras_project, RasExamples, RasCmdr, RasPlan, RasGeo, RasUnsteady, RasUtils, ras
110
+ ```
111
+ It is highly suggested to fork this repository before going this route, and using Git to manage your changes! This allows any revisions to the ras-commander classes and functions to be actively edited and developed by end users. The folders "/workspace/, "/projects/", or "my_projects/" are included in the .gitignore, so users can place you custom scripts there for any project data they don't want to be tracked by git.
75
112
 
76
- - Tested with Python 3.11
77
- - HEC-RAS 6.2 or later (other versions may work, all testing was done with version 6.2 and above)
78
- - Detailed project workflows and/or existing libraries and code where ras-commander can be integrated.
79
113
 
80
- For a full list of dependencies, see the `requirements.txt` file.
81
114
 
82
- ## Quick Start
115
+
116
+
117
+ ## Quick Start Guide
118
+
83
119
  ```
84
120
  from ras_commander import init_ras_project, RasCmdr, RasPlan
85
121
  ```
86
122
 
87
- # Initialize a project
123
+ ### Initialize a project
88
124
  ```
89
125
  init_ras_project(r"/path/to/project", "6.5")
90
126
  ```
91
127
 
92
- # Execute a single plan
128
+ ### Execute a single plan
93
129
  ```
94
130
  RasCmdr.compute_plan("01", dest_folder=r"/path/to/results", overwrite_dest=True)
95
131
  ```
96
132
 
97
- # Execute plans in parallel
133
+ ### Execute plans in parallel
98
134
  ```
99
135
  results = RasCmdr.compute_parallel(
100
136
  plan_numbers=["01", "02"],
@@ -105,14 +141,14 @@ results = RasCmdr.compute_parallel(
105
141
  )
106
142
  ```
107
143
 
108
- # Modify a plan
144
+ ### Modify a plan
109
145
  ```
110
146
  RasPlan.set_geom("01", "02")
111
147
  ```
112
148
 
113
149
  Certainly! I'll provide you with an updated Key Components section and Project Organization diagram based on the current structure of the ras-commander library.
114
150
 
115
- ## Key Components
151
+ #### Key Components
116
152
 
117
153
  - `RasPrj`: Manages HEC-RAS projects, handling initialization and data loading
118
154
  - `RasCmdr`: Handles execution of HEC-RAS simulations
@@ -122,7 +158,7 @@ Certainly! I'll provide you with an updated Key Components section and Project O
122
158
  - `RasUtils`: Contains utility functions for file operations and data management
123
159
  - `RasExamples`: Manages and loads HEC-RAS example projects
124
160
 
125
- ### New Components:
161
+ #### New Components:
126
162
  - `HdfBase`: Core functionality for HDF file operations
127
163
  - `HdfBndry`: Enhanced boundary condition handling
128
164
  - `HdfMesh`: Comprehensive mesh data management
@@ -138,9 +174,9 @@ Certainly! I'll provide you with an updated Key Components section and Project O
138
174
  - `RasToGo`: Go-Consequences integration
139
175
  - `HdfPlot` & `HdfResultsPlot`: Specialized plotting utilities
140
176
 
141
- ## Project Organization Diagram
177
+ ### Project Organization Diagram
142
178
 
143
- ## Project Organization Diagram
179
+ ### Project Organization Diagram
144
180
 
145
181
  ```
146
182
  ras_commander
@@ -203,7 +239,7 @@ ras_commander
203
239
  └── requirements.txt
204
240
  ```
205
241
 
206
- ## Accessing HEC Examples through RasExamples
242
+ ### Accessing HEC Examples through RasExamples
207
243
 
208
244
  The `RasExamples` class provides functionality for quickly loading and managing HEC-RAS example projects. This is particularly useful for testing and development purposes.
209
245
 
@@ -224,7 +260,7 @@ projects = ras_examples.list_projects("Steady Flow")
224
260
  extracted_paths = ras_examples.extract_project(["Bald Eagle Creek", "Muncie"])
225
261
  ```
226
262
 
227
- ## RasPrj
263
+ ### RasPrj
228
264
 
229
265
  The `RasPrj` class is central to managing HEC-RAS projects within the ras-commander library. It handles project initialization, data loading, and provides access to project components.
230
266
 
@@ -240,18 +276,18 @@ Example usage:
240
276
  from ras_commander import RasPrj, init_ras_project
241
277
  ```
242
278
 
243
- ### Using the global ras object
279
+ #### Using the global ras object
244
280
  ```
245
281
  init_ras_project("/path/to/project", "6.5")
246
282
  ```
247
283
 
248
- ### Creating a custom RasPrj instance
284
+ #### Creating a custom RasPrj instance
249
285
  ```
250
286
  custom_project = RasPrj()
251
287
  init_ras_project("/path/to/another_project", "6.5", ras_instance=custom_project)
252
288
  ```
253
289
 
254
- ## RasHdf
290
+ ### RasHdf
255
291
 
256
292
  The `RasHdf` class provides utilities for working with HDF files in HEC-RAS projects, enabling easy access to simulation results and model data.
257
293
 
@@ -272,7 +308,7 @@ print(runtime_data)
272
308
  This class simplifies the process of extracting and analyzing data from HEC-RAS HDF output files, supporting tasks such as post-processing and result visualization.
273
309
 
274
310
 
275
- ### Infrastructure Analysis
311
+ #### Infrastructure Analysis
276
312
  ```python
277
313
  from ras_commander import HdfPipe, HdfPump
278
314
 
@@ -285,7 +321,7 @@ pump_stations = HdfPump.get_pump_stations(hdf_path)
285
321
  pump_performance = HdfPump.get_pump_station_summary(hdf_path)
286
322
  ```
287
323
 
288
- ### Advanced Results Analysis
324
+ #### Advanced Results Analysis
289
325
  ```python
290
326
  from ras_commander import HdfResultsMesh
291
327
 
@@ -298,7 +334,7 @@ from ras_commander import HdfResultsPlot
298
334
  HdfResultsPlot.plot_results_max_wsel(max_ws)
299
335
  ```
300
336
 
301
- ### Fluvial-Pluvial Analysis
337
+ #### Fluvial-Pluvial Analysis
302
338
  ```python
303
339
  from ras_commander import HdfFluvialPluvial
304
340
 
@@ -306,7 +342,7 @@ boundary = HdfFluvialPluvial.calculate_fluvial_pluvial_boundary(
306
342
  hdf_path,
307
343
  delta_t=12 # Time threshold in hours
308
344
  )
309
-
345
+ ```
310
346
 
311
347
  ## Documentation
312
348
 
@@ -321,7 +357,6 @@ Check out the `examples/` directory for sample scripts demonstrating various fea
321
357
  The ras-commander library is an ongoing project. Future plans include:
322
358
  - Integration of more advanced AI-driven features
323
359
  - Expansion of HMS and DSS functionalities
324
- - Enhanced GPU support for computational tasks
325
360
  - Community-driven development of new modules and features
326
361
 
327
362
  ## Related Resources
@@ -360,11 +395,13 @@ Additionally, we would like to acknowledge the following notable contributions a
360
395
  Xiaofeng Liu, Ph.D., P.E., Associate Professor, Department of Civil and Environmental Engineering
361
396
  Institute of Computational and Data Sciences, Penn State University
362
397
 
398
+ 3. Attribution: The[ffrd\rashdf'](https://github.com/fema-ffrd/rashdf) project by FEMA-FFRD (FEMA Future of Flood Risk Data) was incorporated, revised, adapted and extended in rascommander's RasHDF libaries (where noted).
399
+
363
400
  These acknowledgments recognize the contributions and inspirations that have helped shape RAS Commander, ensuring proper attribution for the ideas and code that have influenced its development.
364
401
 
365
- 3. Chris Goodell, "Breaking the HEC-RAS Code" - Studied and used as a reference for understanding the inner workings of HEC-RAS, providing valuable insights into the software's functionality and structure.
402
+ 4. Chris Goodell, "Breaking the HEC-RAS Code" - Studied and used as a reference for understanding the inner workings of HEC-RAS, providing valuable insights into the software's functionality and structure.
366
403
 
367
- 4. [HEC-Commander Tools](https://github.com/billk-FM/HEC-Commander) - Inspiration and initial code base for the development of RAS Commander.
404
+ 5. [HEC-Commander Tools](https://github.com/billk-FM/HEC-Commander) - Inspiration and initial code base for the development of RAS Commander.
368
405
 
369
406
 
370
407
  ## Official RAS Commander AI-Generated Songs:
@@ -373,8 +410,17 @@ These acknowledgments recognize the contributions and inspirations that have hel
373
410
 
374
411
  [No More Wait and See (Cajun Zydeco)](https://suno.com/song/4441c45d-f6cd-47b9-8fbc-1f7b277ee8ed)
375
412
 
413
+ ## Other Resources
414
+
415
+ Notebook version of RAS-Commander: [RAS-Commander Notebook in the HEC-Commander Tools Repository](https://github.com/billk-FM/HEC-Commander/tree/main/RAS-Commander)
416
+ Youtube Tutorials for HEC-Commander Tools and RAS-Commander: [GPT-Commander on YouTube](https://www.youtube.com/@GPT_Commander/videos)
417
+
418
+ ## LICENSE
419
+
420
+ This software is released under the MIT license.
421
+
376
422
 
377
423
  ## Contact
378
424
 
379
425
  For questions, suggestions, or support, please contact:
380
- William Katzenmeyer, P.E., C.F.M. - billk@fenstermaker.com
426
+ William Katzenmeyer, P.E., C.F.M. - heccommander@gmail.com
@@ -0,0 +1,34 @@
1
+ ras_commander/Decorators.py,sha256=v0xPvIs3LbPlRJXvSHNtMFhygWEBo7f-0j_fCp7lXnQ,6030
2
+ ras_commander/HdfBase.py,sha256=Jws6Y8JFkharuiM6Br5ivp6MS64X2fL6y87FOpe3FQw,14219
3
+ ras_commander/HdfBndry.py,sha256=m81NdCu_ER-AAZpEkQPQka7pYv3sm7vEZevq3SIt2pw,12545
4
+ ras_commander/HdfFluvialPluvial.py,sha256=dlqoFX5i7uSA2BvuRNrV-Fg-z2JaeUxY86_fbZAdGqI,25933
5
+ ras_commander/HdfInfiltration.py,sha256=QVigQJjYeQNutbazGHhbTmEuIVCb9gIb2f4yM-wyUtQ,15269
6
+ ras_commander/HdfMesh.py,sha256=zI_4AqxDxb2_31G9RUmWibyld6KDMGhDpI3F8qwzVAw,19139
7
+ ras_commander/HdfPipe.py,sha256=m-yvPL2GIP23NKt2tcwzOlS7khvgcDPGAshlTPMUAeI,32154
8
+ ras_commander/HdfPlan.py,sha256=NW6g2kS74y44Ci1P9iMo7IKUfR0eYOaJn1QbzsRM1co,10415
9
+ ras_commander/HdfPlot.py,sha256=7MNI5T9qIz-Ava1RdlnB6O9oJElE5BEB29QVF5Y2Xuc,3401
10
+ ras_commander/HdfPump.py,sha256=Vc2ff16kRISR7jwtnaAqxI0p-gfBSuZKzR3rQbBLQoE,12951
11
+ ras_commander/HdfResultsMesh.py,sha256=T1afgFsJ1NaqmOJEJfMUBm1ZZ5pwbd82aAqeEkHNaLk,30959
12
+ ras_commander/HdfResultsPlan.py,sha256=3FMaVrN_Bj3EZOJn7WZQ83e9en2LUwZ2sq5e6O03XOM,15823
13
+ ras_commander/HdfResultsPlot.py,sha256=ylzfT78CfgoDO0XAlRwlgMNRzvNQYBMn9eyXyBfjv_w,7660
14
+ ras_commander/HdfResultsXsec.py,sha256=-P7nXnbjOLAeUnrdSC_lJQSfzrlWKmDF9Z5gEjmxbJY,13031
15
+ ras_commander/HdfStruc.py,sha256=-Nyb9IhxTB1HdNLpn5lIRQ4j9_gZZc_ekNp_YOFe7Ik,12711
16
+ ras_commander/HdfUtils.py,sha256=VkIKAXBrLwTlk2VtXSO-W3RU-NHpfHbE1QcZUZgl-t8,15248
17
+ ras_commander/HdfXsec.py,sha256=flREnFFrIZu4SSKGRQeX9w3SS49q0UWPJnq4zO7DbUM,27342
18
+ ras_commander/LoggingConfig.py,sha256=gWe5K5XTmMQpSczsTysAqpC9my24i_IyM8dvD85fxYg,2704
19
+ ras_commander/RasCmdr.py,sha256=2i9gR5koFfBLwvhYAbNgQFNKKUKqxD1Hf6T9SN9sx-s,26558
20
+ ras_commander/RasExamples.py,sha256=eYlRKryCG88FN5p23TnA1-E2Bxuaz3OxjdHPHJSqdB8,17006
21
+ ras_commander/RasGeo.py,sha256=M0sVNKlWmmbve8iMXLWq25WgbxqLWBo7_1oDg_rALzU,5607
22
+ ras_commander/RasGpt.py,sha256=N_7p2nucWrBBXdB2k2ZKvOeOdXNmFD9dIY3W7_5i5nw,1206
23
+ ras_commander/RasMapper.py,sha256=A7xupixCmgXFiSfQs3oWBMBstrO8XcxieMeZWKTcbPQ,3271
24
+ ras_commander/RasPlan.py,sha256=1HAn31oyz0hGv2r7GVNCLWcAZFcRjYTBNdL19mabvmw,53651
25
+ ras_commander/RasPrj.py,sha256=9F0UVQZ2RfjhDf5717aJcEChL6z5BD8agGWAlUvqe0E,37472
26
+ ras_commander/RasToGo.py,sha256=TKujfaV1xQhFaOddF4g2ogGy6ky-CLlfelSMPD2J3Nk,1223
27
+ ras_commander/RasUnsteady.py,sha256=KfCXAag-_bPwwS3JbPZH-s4hbaoHACO0mlRnGrzbFgA,32092
28
+ ras_commander/RasUtils.py,sha256=P2-aBL61kdRINsjnBpstZVD6VVc7hI_D3RUXqr6ldmc,34863
29
+ ras_commander/__init__.py,sha256=vhnZQaejmyFVFP5fcYxAc4A562o8KFcnZNkcY6J5xwY,2068
30
+ ras_commander-0.53.0.dist-info/LICENSE,sha256=_pbd6qHnlsz1iQ-ozDW_49r86BZT6CRwO2iBtw0iN6M,457
31
+ ras_commander-0.53.0.dist-info/METADATA,sha256=0r9UChQy1b-gbu-pVBvX8cTixyQ7qAznGjCsrUu1hpg,21975
32
+ ras_commander-0.53.0.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
33
+ ras_commander-0.53.0.dist-info/top_level.txt,sha256=i76S7eKLFC8doKcXDl3aiOr9RwT06G8adI6YuKbQDaA,14
34
+ ras_commander-0.53.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.6.0)
2
+ Generator: setuptools (76.0.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,34 +0,0 @@
1
- ras_commander/Decorators.py,sha256=M5r5cHz_yy9YTHNEoytO9uwWbv_S-YYUk2QHNamJJJs,5848
2
- ras_commander/HdfBase.py,sha256=bJtSWdDUP4MYJ8QgkcixBEDFMSlslUdmVFHZxWMGMDM,11603
3
- ras_commander/HdfBndry.py,sha256=m81NdCu_ER-AAZpEkQPQka7pYv3sm7vEZevq3SIt2pw,12545
4
- ras_commander/HdfFluvialPluvial.py,sha256=Bscvv0KBGnl05U7hH9RmsGqtPANDdTxgLwo7kXbTmTU,14281
5
- ras_commander/HdfInfiltration.py,sha256=QVigQJjYeQNutbazGHhbTmEuIVCb9gIb2f4yM-wyUtQ,15269
6
- ras_commander/HdfMesh.py,sha256=R_O8tMsQvzbepa3hy1psO9t7TmYyMndnyZSh3602rFY,18683
7
- ras_commander/HdfPipe.py,sha256=m-yvPL2GIP23NKt2tcwzOlS7khvgcDPGAshlTPMUAeI,32154
8
- ras_commander/HdfPlan.py,sha256=NW6g2kS74y44Ci1P9iMo7IKUfR0eYOaJn1QbzsRM1co,10415
9
- ras_commander/HdfPlot.py,sha256=7MNI5T9qIz-Ava1RdlnB6O9oJElE5BEB29QVF5Y2Xuc,3401
10
- ras_commander/HdfPump.py,sha256=Vc2ff16kRISR7jwtnaAqxI0p-gfBSuZKzR3rQbBLQoE,12951
11
- ras_commander/HdfResultsMesh.py,sha256=T1afgFsJ1NaqmOJEJfMUBm1ZZ5pwbd82aAqeEkHNaLk,30959
12
- ras_commander/HdfResultsPlan.py,sha256=HoN3wvhj1wtkW-M20UHH9skntDqEvJEgeYeO_QBLF2w,11974
13
- ras_commander/HdfResultsPlot.py,sha256=ylzfT78CfgoDO0XAlRwlgMNRzvNQYBMn9eyXyBfjv_w,7660
14
- ras_commander/HdfResultsXsec.py,sha256=-P7nXnbjOLAeUnrdSC_lJQSfzrlWKmDF9Z5gEjmxbJY,13031
15
- ras_commander/HdfStruc.py,sha256=yzD4_eZLgwZDS3GdYVWqd85jRpdlRdVdbHHfPYTmwjA,12703
16
- ras_commander/HdfUtils.py,sha256=AbfV5RwbFyNR1SFGKO_izmVtRnDx68u_4wep5FK14xU,14814
17
- ras_commander/HdfXsec.py,sha256=uuogrJjRFytNHxmluQVuB57X1lILo1Y15wtc_VaHMX8,26809
18
- ras_commander/LoggingConfig.py,sha256=p1OJkQj5dsDdyBQqF0HWsvbsU88n9cYOc3YB2MMBYiw,2666
19
- ras_commander/RasCmdr.py,sha256=N2PI5n0P3ClLUPOPNcONJHGJYF-fIU5o0GXwHv4VATE,25271
20
- ras_commander/RasExamples.py,sha256=eYlRKryCG88FN5p23TnA1-E2Bxuaz3OxjdHPHJSqdB8,17006
21
- ras_commander/RasGeo.py,sha256=M0sVNKlWmmbve8iMXLWq25WgbxqLWBo7_1oDg_rALzU,5607
22
- ras_commander/RasGpt.py,sha256=N_7p2nucWrBBXdB2k2ZKvOeOdXNmFD9dIY3W7_5i5nw,1206
23
- ras_commander/RasMapper.py,sha256=A7xupixCmgXFiSfQs3oWBMBstrO8XcxieMeZWKTcbPQ,3271
24
- ras_commander/RasPlan.py,sha256=jt0adLtwGjrKC90uuBXYgHpVyV3cKgD1Q_zkKiI04fc,52742
25
- ras_commander/RasPrj.py,sha256=QLt8f__M0jguzva7C2J0uNFLR7v8t_MIeZpIXcCN4Tw,36851
26
- ras_commander/RasToGo.py,sha256=TKujfaV1xQhFaOddF4g2ogGy6ky-CLlfelSMPD2J3Nk,1223
27
- ras_commander/RasUnsteady.py,sha256=NWZbmB3-HT0W00K4-zxFN9OF8H_HlOY64nM72sHicWg,31154
28
- ras_commander/RasUtils.py,sha256=P2-aBL61kdRINsjnBpstZVD6VVc7hI_D3RUXqr6ldmc,34863
29
- ras_commander/__init__.py,sha256=vhnZQaejmyFVFP5fcYxAc4A562o8KFcnZNkcY6J5xwY,2068
30
- ras_commander-0.51.0.dist-info/LICENSE,sha256=_pbd6qHnlsz1iQ-ozDW_49r86BZT6CRwO2iBtw0iN6M,457
31
- ras_commander-0.51.0.dist-info/METADATA,sha256=LpWxjhvwKUGXtd6poHqNFyiIcLKPTb4NjtwY3dBFvuk,18328
32
- ras_commander-0.51.0.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
33
- ras_commander-0.51.0.dist-info/top_level.txt,sha256=i76S7eKLFC8doKcXDl3aiOr9RwT06G8adI6YuKbQDaA,14
34
- ras_commander-0.51.0.dist-info/RECORD,,