bluemath_tk.wrappers.swan package
Submodules
bluemath_tk.wrappers.swan.swan_example module
bluemath_tk.wrappers.swan.swan_wrapper module
- class bluemath_tk.wrappers.swan.swan_wrapper.SwanModelWrapper(templates_dir: str, metamodel_parameters: dict, fixed_parameters: dict, output_dir: str, templates_name: dict = 'all', depth_array: ndarray = None, debug: bool = True)[source]
Bases:
BaseModelWrapper
Wrapper for the SWAN model. https://swanmodel.sourceforge.io/online_doc/swanuse/swanuse.html
- default_parameters
The default parameters type for the wrapper.
- Type:
dict
- available_launchers
The available launchers for the wrapper.
- Type:
dict
- output_variables
The output variables for the wrapper.
- Type:
dict
- available_launchers = {'docker_serial': 'docker run --rm -v .:/case_dir -w /case_dir geoocean/rocky8 swan_serial.exe', 'geoocean-cluster': 'launchSwan.sh', 'serial': 'swan_serial.exe'}
- build_case(case_context: dict, case_dir: str) None [source]
Build the input files for a case.
- Parameters:
case_context (dict) – The case context.
case_dir (str) – The case directory.
- default_parameters = {'Dir': {'description': 'Wave direction.', 'type': <class 'float'>, 'value': None}, 'Hs': {'description': 'Significant wave height.', 'type': <class 'float'>, 'value': None}, 'Spr': {'description': 'Directional spread.', 'type': <class 'float'>, 'value': None}, 'Tp': {'description': 'Wave peak period.', 'type': <class 'float'>, 'value': None}, 'fhigh': {'description': 'High value for frequency.', 'type': <class 'float'>, 'value': 0.5}, 'flow': {'description': 'Low values for frequency.', 'type': <class 'float'>, 'value': 0.03}, 'mdc': {'description': 'Spectral directional discretization.', 'type': <class 'int'>, 'value': 24}}
- get_case_percentage_from_file(output_log_file: str) str [source]
Get the case percentage from the output log file.
- Parameters:
output_log_file (str) – The output log file.
- Returns:
The case percentage.
- Return type:
str
- join_postprocessed_files(postprocessed_files: List[Dataset]) Dataset [source]
Join postprocessed files in a single Dataset.
- Parameters:
postprocessed_files (list) – The postprocessed files.
- Returns:
The joined Dataset.
- Return type:
xr.Dataset
- list_available_output_variables() List[str] [source]
List available output variables.
- Returns:
The available output variables.
- Return type:
List[str]
- monitor_cases() DataFrame [source]
Monitor the cases and log relevant information.
- Returns:
The cases percentage.
- Return type:
pd.DataFrame
- output_variables = {'Depth': {'long_name': 'Water depth at the point', 'units': 'm'}, 'Dir': {'long_name': 'Wave direction', 'units': 'degrees'}, 'Dspr': {'long_name': 'Directional spread', 'units': 'degrees'}, 'Hsig': {'long_name': 'Significant wave height', 'units': 'm'}, 'PkDir': {'long_name': 'Peak wave direction', 'units': 'degrees'}, 'TPsmoo': {'long_name': 'Peak wave period', 'units': 's'}, 'Tm02': {'long_name': 'Mean wave period', 'units': 's'}}
- postprocess_case(case_num: int, case_dir: str, output_vars: List[str] = ['Hsig', 'Tm02', 'Dir']) Dataset [source]
Convert mat ouput files to netCDF file.
- Parameters:
case_num (int) – The case number.
case_dir (str) – The case directory.
output_vars (list, optional) – The output variables to postprocess. Default is None.
- Returns:
The postprocessed Dataset.
- Return type:
xr.Dataset