IOSS 2.0
Loading...
Searching...
No Matches
shell_interface.h
Go to the documentation of this file.
1/*
2 * Copyright(C) 1999-2024 National Technology & Engineering Solutions
3 * of Sandia, LLC (NTESS). Under the terms of Contract DE-NA0003525 with
4 * NTESS, the U.S. Government retains certain rights in this software.
5 *
6 * See packages/seacas/LICENSE for details
7 */
8#pragma once
9
10#include <iosfwd>
11#include <limits>
12#include <string>
13#include <vector>
14
15#include "Ioss_GetLongOpt.h"
16
17/** \brief A special namespace for the io_shell demonstration program interFace.
18 */
19namespace IOShell {
21 {
22 public:
23 explicit Interface(std::string app_version);
24
25 bool parse_options(int argc, char **argv, int my_processor);
26
27 //! Dumps representation of data in this class to cerr
28
29 void enroll_options();
30
32
33 std::vector<std::string> inputFile;
34 std::string version{};
35 std::string outputFile;
36 std::string inFiletype{"unknown"};
37 std::string outFiletype{"unknown"};
38 std::string groupName;
39 std::string decomp_method;
40 std::string decomp_extra{"processor_id"};
41 std::string compose_output{"default"};
42 std::string customField{};
43 double maximum_time{std::numeric_limits<double>::max()};
44 double minimum_time{-std::numeric_limits<double>::max()};
45 double append_time{std::numeric_limits<double>::max()};
46 double time_scale{1.0};
47 double time_offset{0.0};
48 double timestep_delay{0.0};
49 double rel_tolerance{0.0};
50 double abs_tolerance{0.0};
51 double tol_floor{0.0};
52 int append_step{std::numeric_limits<int>::max()};
58
59 //! If non-empty, then it is a list of times that should be transferred to the output file.
60 std::vector<double> selected_times{};
61
62 //! If non-zero, then put `split_times` timesteps in each file. Then close file and start new
63 //! file.
64 // If `split_cyclic == 0`, then filenames will be
65 // filename.e-s000X; if `split_cyclic > 0`, then filenames will be
66 // filename.e.{A|B|C...}
68 //! If non-zero, then the `split_times` timesteps will be put into
69 // `split_cyclic` files and then recycle filenames. For example:
70 // `split_times=1` and `split_cyclic=3`, t=1 ->file.A, t=2
71 // ->file.B, t=3 -> file.C, t=4 -> file.A If `split_times=2` and
72 // `split_cyclic=2`, then t=1,2 -> file.A, t=3,4 -> file.B, t=5,6
73 // -> file.A, t=7,8 -> file.B
75 bool shuffle{false};
76 bool zlib{true};
77 bool szip{false};
78 bool debug{false};
79 bool detect_nans{false};
80 bool statistics{false};
81 bool memory_statistics{false};
83 bool ints_64_bit{false};
84 bool ints_32_bit{false};
85 bool reals_32_bit{false};
86 bool netcdf3{false};
87 bool netcdf4{false};
88 bool netcdf5{false};
89 bool quiet{false};
90 bool in_memory_read{false};
91 bool in_memory_write{false};
93 bool delete_timesteps{false};
97 // Put transient data for each timestep in separate file (EXPERIMENTAL)
98 bool file_per_state{false};
99 // Testing CGNS - defines zones in reverse order from input file.
100 bool reverse{false};
102 bool boundary_sideset{false};
103 bool compare{false};
104 bool ignore_qa_info{false};
105 bool ignore_node_map{false};
106 bool ignore_elem_map{false};
107 bool ignore_edge_map{false};
108 bool ignore_face_map{false};
109 bool delete_qa{false};
110 bool delete_info{false};
112 };
113} // namespace IOShell
Definition shell_interface.h:21
bool quiet
Definition shell_interface.h:89
int split_times
Definition shell_interface.h:67
std::string compose_output
Definition shell_interface.h:41
char fieldSuffixSeparator
Definition shell_interface.h:111
bool ignore_edge_map
Definition shell_interface.h:107
bool delete_timesteps
Definition shell_interface.h:93
double time_offset
Definition shell_interface.h:47
std::string outFiletype
Definition shell_interface.h:37
bool memory_statistics
Definition shell_interface.h:81
double rel_tolerance
Definition shell_interface.h:49
bool ignore_qa_info
Definition shell_interface.h:104
bool minimize_open_files
Definition shell_interface.h:94
bool reverse
Definition shell_interface.h:100
std::string groupName
Definition shell_interface.h:38
bool ints_64_bit
Definition shell_interface.h:83
bool netcdf4
Definition shell_interface.h:87
bool zlib
Definition shell_interface.h:76
bool ignore_elem_map
Definition shell_interface.h:106
bool boundary_sideset
Definition shell_interface.h:102
int flush_interval
Definition shell_interface.h:57
bool statistics
Definition shell_interface.h:80
double minimum_time
Definition shell_interface.h:44
double time_scale
Definition shell_interface.h:46
int surface_split_type
Definition shell_interface.h:53
int split_cyclic
If non-zero, then the split_times timesteps will be put into.
Definition shell_interface.h:74
bool delete_info
Definition shell_interface.h:110
bool in_memory_read
Definition shell_interface.h:90
std::string version
Definition shell_interface.h:34
std::string inFiletype
Definition shell_interface.h:36
bool szip
Definition shell_interface.h:77
std::string decomp_method
Definition shell_interface.h:39
double maximum_time
Definition shell_interface.h:43
bool ints_32_bit
Definition shell_interface.h:84
int compression_level
Definition shell_interface.h:55
Ioss::GetLongOption options_
Definition shell_interface.h:31
bool parse_options(int argc, char **argv, int my_processor)
Definition shell_interface.C:360
std::vector< std::string > inputFile
Definition shell_interface.h:33
bool do_transform_fields
Definition shell_interface.h:82
bool delete_qa
Definition shell_interface.h:109
double abs_tolerance
Definition shell_interface.h:50
bool retain_empty_blocks
Definition shell_interface.h:96
bool ignore_face_map
Definition shell_interface.h:108
std::string customField
Definition shell_interface.h:42
Interface(std::string app_version)
Definition shell_interface.C:22
double tol_floor
Definition shell_interface.h:51
bool netcdf5
Definition shell_interface.h:88
double timestep_delay
Definition shell_interface.h:48
double append_time
Definition shell_interface.h:45
void enroll_options()
Dumps representation of data in this class to cerr.
Definition shell_interface.C:27
bool debug
Definition shell_interface.h:78
std::vector< double > selected_times
If non-empty, then it is a list of times that should be transferred to the output file.
Definition shell_interface.h:60
int data_storage_type
Definition shell_interface.h:54
std::string decomp_extra
Definition shell_interface.h:40
bool ignore_node_map
Definition shell_interface.h:105
bool in_memory_write
Definition shell_interface.h:91
bool reals_32_bit
Definition shell_interface.h:85
bool lower_case_variable_names
Definition shell_interface.h:92
bool detect_nans
Definition shell_interface.h:79
bool add_processor_id_field
Definition shell_interface.h:101
bool shuffle
Definition shell_interface.h:75
bool netcdf3
Definition shell_interface.h:86
bool disable_field_recognition
Definition shell_interface.h:95
bool compare
Definition shell_interface.h:103
int serialize_io_size
Definition shell_interface.h:56
std::string outputFile
Definition shell_interface.h:35
bool file_per_state
Definition shell_interface.h:98
int append_step
Definition shell_interface.h:52
A database of program command line and environment variable options and methods for manipulating them...
Definition Ioss_GetLongOpt.h:25
A special namespace for the io_shell demonstration program interFace.
Definition shell_interface.h:19