[MITgcm-devel] vector invariant advection (for seaice)
Jean-Michel Campin
jmc at mit.edu
Fri Apr 28 10:20:17 EDT 2017
Hi Martin,
See comment below.
On Fri, Apr 28, 2017 at 10:54:09AM +0200, Martin Losch wrote:
> Hi Jean-Michel and others,
>
> I am trying to figure out a convenient way of including momentum advection into the seaice-pkg, and I would like some advice. Because I want it to work with all coordinate systems, I think it???s best to use the vector invariant form and not bother about any flux-form with multiple metric terms. My plan is to make a copy of mom_vecinv.F and strip down the code so that only the momentum advection remains:
>
> call mom_calc_hfacz
> call mom_calc_ke
> call mom_calc_relvort3
> call mom_vi_u/v_coriolis(_c4) (called with vort3 only, so no coriolis included for now, left for later)
> call mom_vi_u/v_grad_ke
>
> The idea is to reuse as much code as possible. This looks OK to me, but there are a few flags (selectVortScheme, useJamartWetPoints, useJamartMomAdv, highOrderVorticity, and maybe some more), that are not passed explicitly to these subroutines, but taken from the common blocks in PARAMS.h. This is OK as long as I want to use the same parameters for seaice as for the ocean, but maybe I don???t want to do this in all possible cases (especially for test cases). Is it OK with you, if I move these parameters into the formal parameter list of these subroutines (as done for KEscheme for mom_calc_ke) so that I can have seaice-specific values for these parameters? or is there any reason that I don???t see, why this is not a good idea (or not even possible)?
This sounds like a good idea.
Just one thing: if you need to pass a model variable (e.g., hFacW),
might be better (if possible) to drop the bi,bj indices for the argument array
inside the called routine and to call this routine with hFacW(1-Olx,1-Oly,1,bi,bj)
> Also, based on the recent discussion about the vector invariant momentum, would it be good to install some defaults (for seaice) that are stable, e.g. selectVortScheme=3, highOrderVorticity=?, useJamartWetPoint=?
>
> Martin
The issue was more about hFac, so I don't know if/how it translates to seaice.
But I agree that picking a better/neutral default for seaice make sense:
highOrderVorticity=F, useJamartWetPoint=F <-- seems good to me but
selectVortScheme=2, (= simple & clean KE conserving scheme) might be better
(and certainly better than selectVortScheme=0 or 1).
Cheers,
Jean-Michel
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel
More information about the MITgcm-devel
mailing list