Skip to content

Skamarock-Klemp Hydrostatic is broken #755

Description

@tommbendall

Unfortunately the case studies haven't been tested for a few months, and it now appears that the Skamarock-Klemp hydrostatic gravity wave test is broken. It crashes on the first timestep, having produced a ridiculous explicit forcing.

I am making a gusto issue rather than gusto_case_studies issue because this seems to be a gusto issue.

This test is a "vertical slice" but on a 3D mesh which is 1 cell wide in the y-direction, and involves the Coriolis force which should be balanced by an "extra forcing term" that we add. However, the crash seems to be caused by a stupidly large forcing in the y-direction, generating unphysically fast winds.

By process of elimination I have worked out that this wrong forcing is surprisingly coming from the pressure gradient term, and specifically this part:

jump(theta_v*w, n)*avg(exner)*dS_v_qp

I can break this into horizontal and vertical components and keep only the vertical:

        wk = dot(w, domain.k)*domain.k
        wh = w - wk

        pressure_gradient_form = ...
                + jump(theta_v*wk, n)*avg(exner)*dS_v_qp

which seems to lead to sensible behaviour.

So why is jump(theta_v*wh, n)*avg(exner)*dS_v_qp not zero? I expect n to be vertical only but it seems to have some horizontal component... Has this changed for this kind of mesh without us noticing? I can't see a Gusto change that could explain this behaviour in the last few months.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugPull requests or issues to relating to something not working correctlyexampleFor adding or updating an example

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions