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

Module contents