[MITgcm-devel] vector invariant advection (for seaice)

Martin Losch Martin.Losch at awi.de
Fri Apr 28 04:54:09 EDT 2017


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)?

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




More information about the MITgcm-devel mailing list