[MITgcm-devel] selectP_inEOS_Zc
Jean-Michel Campin
jmc at mit.edu
Tue Jan 16 21:17:25 EST 2018
Hi Martin,
I have a modified version of ini_psurf.F that should fix this initialisation
problem. I tested with TAF and seems OK. I will check-in this fix tomorrow.
Cheers,
Jean-Michel
On Tue, Jan 16, 2018 at 12:14:55PM -0500, Jean-Michel Campin wrote:
> Hi Martin,
>
> Adding this in ini_linear_phisurf.F is an option, but I would prefer in ini_psurf.F
> since it fit better in initialise_varia section (rather than in initialise_fixed).
>
> An other thing I was going to check is how this goes through TAF.
>
> And regarding this point:
> > What I still do not understand: Why is the loadAnomaly in phi0Surf for selectP_inEOS_Zc=0 but not for selectP_inEOS_Zc=2?
> It's not very clear to me what you exactly mean: with selectP_inEOS_Zc=0 the
> pressure that enter EOS is very simple (-g*rhoConst*z) and is the same
> formula everywhere, i.e., inside the ice-tongue or below it or in open ocean.
> So it does not matter (for p in EOS) if loadAnomaly is (correctly) added to phi0Surf or not.
> But when we compute the hydrostatic pressure (for the momentum), then loadAnomaly
> is correctly added to phi0Surf (from external_forcing_surf.F -> CALL SHELFICE_FORCING_SURF)
> and accounted for in calc_grad_phi_hyd.F (and in diags_phi_hyd.F, relevant also
> for selectP_inEOS_Zc=2).
>
> Cheers,
> Jean-Michel
>
> On Tue, Jan 16, 2018 at 05:39:16PM +0100, Martin Losch wrote:
> > Hi Jean-Michel,
> >
> > wouldn???t it be better to add this in ini_linear_psurf.F where phi0surf is initialized (to zero)?
> > Just because in ini_psurf.F, there is no mention of phi0surf.
> >
> > Martin
> >
> >
> > > On 16. Jan 2018, at 09:55, Martin Losch <Martin.Losch at awi.de> wrote:
> > >
> > > Hi Jean-Michel,
> > >
> > > I agree that it would be best to add the shelficeLoadAnomaly to phi0surf already in ini_psurf.F
> > > Would you like me to do that? It???s not going to change any verification results, because we don???t use any nonlinear pressure (selectP_inEOS_Zc) with the shelfice-tests (in isomip).
> > >
> > > What I still do not understand: Why is the loadAnomaly in phi0Surf for selectP_inEOS_Zc=0 but not for selectP_inEOS_Zc=2?
> > >
> > > Martin
> > >
> > >> On 16. Jan 2018, at 03:25, Jean-Michel Campin <jmc at mit.edu> wrote:
> > >>
> > >> Hi Martin,
> > >>
> > >> It seems that you found the problem with S/R INI_PRESSURE & selectP_inEOS_Zc=2,
> > >> and I have the impression that this problem was there very early on (when
> > >> pkg/shelfice was added); I thought about this (e.g. in this commit message:
> > >> http://mailman.mitgcm.org/pipermail/mitgcm-cvs/2013-April/027805.html )
> > >> but never fixed it.
> > >>
> > >> I don't think it would be nice to add a call to shelfice_forcing_surf in the
> > >> initialisation part, but may be we could just copy the relevant part, lines 124-131
> > >> of shelfice_forcing_surf.F at the bottom of ini_psurf.F (with proper #ifdef and
> > >> IF ( useShelfIce ) THEN ...), which is called just before INI_PRESSURE ?
> > >> Since there is already some pkg/cd_code pieces in ini_psurf.F, would not be
> > >> too bad to have also few pkg/shelfice bits there.
> > >>
> > >> Cheers,
> > >> Jean-Michel
> > >>
> > >> On Fri, Jan 12, 2018 at 12:27:04PM +0100, Martin Losch wrote:
> > >>> Hi Jean-Michel,
> > >>>
> > >>> I still don???t quite understand why phiHyd.00000000.t001.nc are different for different selectP_inEOS_Zc, but I think it has to do with ini_pressure.F where totPhiHyd=0 initially and phi0surf does not yet contain the contribution from SHELFICEloadAnomaly. This contribution is only added in shelfice_forcing_surf, which is called from external_forcing_surf after the initialisation (not why this contribution is actually there, when selectP_inEOS_Zc=0) . Anyway, when I include a call shelfice_forcing_surf at the beginning of ini_pressure, I get the appropriate value of totPhiHyd in the ice shelf (and not zero) already in ini_pressure (which is probably necessary to compute the correct pressure).
> > >>>
> > >>> I now think, that the different totPhiHyd???s in phiHyd.*.nc are not very relevant to the balance problem, because the diagnostics PHIHYD (which are filled in dynamics where the gradients of phi0surf matter) are actually independent of selectP_inEOS_Zc.
> > >>>
> > >>> The balancing problem remains to be solved. It has very likely to do with the vertical integration of phiHyd in the code and in the ???gendata??? script.
> > >>>
> > >>> Martin
> > >>>
> > >>>> On 11. Jan 2018, at 19:42, Jean-Michel Campin <jmc at mit.edu> wrote:
> > >>>>
> > >>>> Hi Martin,
> > >>>>
> > >>>> I will take a look at this soon, and will let you know.
> > >>>>
> > >>>> Cheers,
> > >>>> Jean-Michel
> > >>>>
> > >>>> On Thu, Jan 11, 2018 at 05:20:34PM +0100, Martin Losch wrote:
> > >>>>> Hi Jean-Michel,
> > >>>>>
> > >>>>> Dustin and I are trying to debug his configuration with the shelfice package. We are struggling to make the initial conditions ???balance??? (i.e. not have large initial adjustments).
> > >>>>> I can do it for eosType=???JMD95z???, but not for JMD95p and MDJWF. The latter two use selectP_inEOS_Zc = 2 and the former uses 0 (very simple pressure = g*rho*zc)
> > >>>>> When I look at the results of phiHyd (i.e. totPhiHyd as stored in phiHyd.*.nc), then I see that for selectP_inEOS_Zc = 2, phiHyd = 0 within the ice shelf, but for selectP_inEOS_Zc = 0 is corresponds to the value that is prescribed in SHELFICEloadAnomalyFile. I am afraid, that as a consequence, the phiHyd at the bottom of the ice shelf is not correct for selectP_inEOS_Zc = 2 (at least it looks like that in timestep 0: there???s a lateral gradient that I want to avoid with prescribing SHELFICEloadAnomaly).
> > >>>>>
> > >>>>> Can you remember, why there is this different behavior for the different selectP_inEOS_Zc?
> > >>>>> I would expect the totPhiHyd to have the contribution of SHELFICEloadAnomalyFile (in the end it???s added as phi0surf in diags_phiHyd) in all cases.
> > >>>>>
> > >>>>> Martin
> > >>>>>
> > >>>>> _______________________________________________
> > >>>>> MITgcm-devel mailing list
> > >>>>> MITgcm-devel at mitgcm.org
> > >>>>> http://mailman.mitgcm.org/mailman/listinfo/mitgcm-devel
> > >>>> _______________________________________________
> > >>>> MITgcm-devel mailing list
> > >>>> MITgcm-devel at mitgcm.org
> > >>>> http://mailman.mitgcm.org/mailman/listinfo/mitgcm-devel
> > >>>
> > >>> _______________________________________________
> > >>> MITgcm-devel mailing list
> > >>> MITgcm-devel at mitgcm.org
> > >>> http://mailman.mitgcm.org/mailman/listinfo/mitgcm-devel
> > >> _______________________________________________
> > >> MITgcm-devel mailing list
> > >> MITgcm-devel at mitgcm.org
> > >> http://mailman.mitgcm.org/mailman/listinfo/mitgcm-devel
> > >
> > > _______________________________________________
> > > MITgcm-devel mailing list
> > > MITgcm-devel at mitgcm.org
> > > http://mailman.mitgcm.org/mailman/listinfo/mitgcm-devel
> >
> > _______________________________________________
> > MITgcm-devel mailing list
> > MITgcm-devel at mitgcm.org
> > http://mailman.mitgcm.org/mailman/listinfo/mitgcm-devel
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mailman.mitgcm.org/mailman/listinfo/mitgcm-devel
More information about the MITgcm-devel
mailing list