Skip to content

Potential Bug in Surface Plume Implementation in GOTM #73

@lonefeet

Description

@lonefeet

I am writing to report a potential bug in the surface plume implementation that I discovered during my simulations.

Problem Description
When using the surface plume configuration (plume_type = surface), the model produces abnormal results:

Bottom friction becomes zero
Turbulent kinetic energy becomes extremely small with periodic oscillations
Surface salinity becomes zero
Velocity fields show abnormal behavior
However, when I switch to bottom plume configuration (plume_type = bottom) with identical other settings, the model runs normally and produces physically reasonable results.

Configuration Details
My gotm.yaml configuration:

int_pressure:
type: plume
plume:
type: surface # Problematic
# type: bottom # Works correctly
x_slope: 0.001
y_slope: 0.00005
Technical Context
External forcing: Velocity fields from reanalysis data
Turbulence model: Standard GOTM turbulence closure
Model version: latest
Platform: windows
Evidence of the Bug
The consistent failure with surface plume and success with bottom plume suggests a specific issue in the surface plume implementation rather than general configuration problems.

Suspected Code Locations
Based on my analysis, the issue might be in:

friction.F90: Surface friction calculation for plume scenarios
internal_pressure.F90: Internal pressure gradient calculation for surface plumes
Boundary condition handling in the momentum equations
Steps to Reproduce
Configure a case with plume_type = surface
Use external velocity forcing
Compare with identical setup using plume_type = bottom
Request
Could you please investigate the surface plume implementation? I'm available to provide additional diagnostic information or test cases if needed.

Thank you for your attention to this matter.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions