Skip to content

Commit 3e32fff

Browse files
authored
Preparation for release 3.0.0-er.1.0 (#620)
1 parent d247993 commit 3e32fff

File tree

2 files changed

+180
-0
lines changed

2 files changed

+180
-0
lines changed
Lines changed: 177 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,177 @@
1+
# Sample RunConfig for use with the TROPO PGE v3.0.0-er.1.0
2+
# This RunConfig should require minimal changes in order to be used with the
3+
# OPERA PCM.
4+
5+
RunConfig:
6+
# Name for the RunCOnfig, may be any string
7+
Name: OPERA-TROPO-PGE-SAMPLE-CONFIG
8+
9+
Groups:
10+
# PGE-specific RunConfig section
11+
# This section is only used by the PGE, however, paths to inputs/outputs
12+
# should align with the similar sections of the SAS RunConfig
13+
PGE:
14+
PGENameGroup:
15+
# Name of the PGE for use with this RunConfig, should always be
16+
# TROPO_PGE when using with the TROPO PGE
17+
PGEName: TROPO_PGE
18+
19+
InputFilesGroup:
20+
# List of input files/directories
21+
# Must be a list of input netCDF files
22+
InputFilePaths:
23+
- /home/ops/input_dir/20190613/D06130600061306001.zz.nc
24+
25+
DynamicAncillaryFilesGroup:
26+
# Map of ancillary file types to paths to the file
27+
# Paths must correspond to the file system within the Docker container
28+
# For now, this is empty
29+
AncillaryFileMap: {}
30+
31+
ProductPathGroup:
32+
# Path to where output products should be stored
33+
# Must correspond to the file system within the Docker container,
34+
# and must have write permissions for the User/Group used with
35+
# the "Docker run" command
36+
OutputProductPath: /home/ops/output_dir
37+
38+
# Path to a scratch directory for the PGE and SAS to store
39+
# intermediate files that will not be needed after PGE execution
40+
# completes
41+
# Must correspond to the file system within the Docker container,
42+
# and must have write permissions for the User/Group used with
43+
# the "Docker run" command
44+
ScratchPath: /home/ops/scratch_dir
45+
46+
PrimaryExecutable:
47+
# Identifier for the PGE executable, should always be TROPO for
48+
# this PGE
49+
ProductIdentifier: TROPO
50+
51+
# Product version specific to output products
52+
ProductVersion: "0.1"
53+
54+
# Path to the executable to run, path must be reachable from
55+
# within the Docker container (i.e. findable with a "which" command)
56+
ProgramPath: opera_tropo
57+
58+
# List of command-line options to use with ProgramPath
59+
ProgramOptions:
60+
- run
61+
62+
# The Error Code base value added to the offset values to make
63+
# error codes unique per-PGE
64+
ErrorCodeBase: 800000
65+
66+
# Path to the Yamale schema used to validate the SAS portion
67+
# of the RunConfig
68+
# Path should correspond to the file system within the Docker
69+
# container, and typically should reference a schema file bundled
70+
# with the opera_pge installation directory within the container
71+
# Consult the Docker image build scripts for more info
72+
SchemaPath: /home/ops/opera/pge/tropo/schema/tropo_sas_schema.yaml
73+
74+
# Path to the Yamale schema used specifically to validate the
75+
# algorithm parameters config, which is stored within a separate
76+
# yaml file referenced within the SAS portion of this RunConfig
77+
# Currently unused by TROPO
78+
AlgorithmParametersSchemaPath: ""
79+
80+
# Path to a YAML file mapping Measured Parameter metadata names to descriptions
81+
# used to supplement the ISO xml metadata file
82+
# Path should correspond to the file system within the Docker
83+
# container, and typically should reference a template file bundled
84+
# with the opera_pge installation directory within the container
85+
# Consult the Docker image build scripts for more info
86+
# TBD for TROPO
87+
IsoMeasuredParameterDescriptions: ""
88+
89+
# Path to the Jinja2 template used to generate the ISO xml
90+
# metadata file
91+
# Path should correspond to the file system within the Docker
92+
# container, and typically should reference a template file bundled
93+
# with the opera_pge installation directory within the container
94+
# Consult the Docker image build scripts for more info
95+
# TBD for TROPO
96+
IsoTemplatePath: ""
97+
98+
QAExecutable:
99+
# Set to True to enable execution of an additional "Quality Assurance"
100+
# application after SAS execution has completed
101+
Enabled: false
102+
103+
# Path to the executable to run, path must be reachable from
104+
# within the Docker container (i.e. findable with a "which" command)
105+
ProgramPath: null
106+
107+
# List of command-line options to use with ProgramPath
108+
ProgramOptions: []
109+
110+
DebugLevelGroup:
111+
# Set to True to enable Debug mode (Note: currently a no-op for this PGE)
112+
DebugSwitch: false
113+
114+
# Set to True to have the PGE invoke the SAS/QA executables via
115+
# a shell, rather than a Python subprocess
116+
# This allows shell-style syntax to be used in ProgramPath and
117+
# ProgramOptions, which can be useful for testing
118+
ExecuteViaShell: true
119+
120+
# SAS-specific RunConfig section
121+
# Prior to SAS execution by the PGE, the section below starting at "SAS"
122+
# is isolated into its own YAML file for use with the SAS
123+
SAS:
124+
input_file:
125+
# REQUIRED: path to HRES model file.
126+
# Type: string | Path.
127+
input_file_path: /home/ops/input_dir/20190613/D06130600061306001.zz.nc
128+
primary_executable:
129+
# Product type of the PGE.
130+
# Type: string.
131+
product_type: OPERA_TROPO
132+
product_path_group:
133+
# REQUIRED: Directory where PGE will place results.
134+
# Type: string.
135+
product_path: /home/ops/output_dir
136+
# Path to the scratch directory.
137+
# Type: string.
138+
scratch_path: /home/ops/scratch_dir
139+
# Path to the SAS output directory.
140+
# Type: string.
141+
sas_output_path: /home/ops/output_dir
142+
# Version of the product, in <major>.<minor> format.
143+
# Type: string.
144+
product_version: '0.1'
145+
worker_settings:
146+
# Number of workers to run in parallel
147+
# Type: integer.
148+
n_workers: 4
149+
# Number of threads to use per worker. This sets the OMP_NUM_THREADS environment variable in
150+
# each python process.
151+
# Type: integer.
152+
threads_per_worker: 2
153+
# Max memory to use per worker in GB.
154+
# Type: integer.
155+
max_memory: 8
156+
# Dask local spill directory
157+
# Type: string.
158+
dask_temp_dir: tmp
159+
# Size (rows, columns) of blocks of data to load at a time.
160+
# Type: array.
161+
block_shape:
162+
- 128
163+
- 128
164+
output_options:
165+
# Output height levels for ZTD, if empty use default HRES 145 levels.
166+
# Type: list.
167+
output_heights: []
168+
# Level of compression applied to netcdf
169+
# Type: dict.
170+
compression_kwargs:
171+
compression_flag: true
172+
zlib: true
173+
complevel: 5
174+
shuffle: true
175+
# Path to the output log file in addition to logging to stderr.
176+
# Type: string | null.
177+
log_file: output_dir/sas_logfile.log

src/opera/pge/tropo/tropo_pge.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,9 @@ class TROPOExecutor(TROPOPreProcessorMixin, TROPOPostProcessorMixin, PgeExecutor
117117

118118
LEVEL = "L4"
119119
"""Processing Level for TROPO Products"""
120+
121+
PGE_VERSION = "3.0.0-er.1.0"
122+
"""Version of the PGE"""
120123

121124
SAS_VERSION = "0.1"
122125
"""Version of the SAS wrapped by this PGE, should be updated as needed"""

0 commit comments

Comments
 (0)