[MITgcm-devel] sea ice clean up this week
Jean-Michel Campin
jmc at ocean.mit.edu
Mon Feb 13 10:24:10 EST 2012
Gael,
I would like to see (ASAP):
- update of doc/tag-index (Friday modif, ce n'est que le 2nd email que j'envoi)
- fixing this bug first (and not buried into an other set of changes)
And after, if you want, you can continue with other changes.
If you keep mixing bug-fixing and other unrelated things (cleaning,
re-aranging etc ...) it's very hard for users to check why results are
changing.
Jean-Michel
On Mon, Feb 13, 2012 at 07:50:15AM -0500, Gael Forget wrote:
> Martin,
>
> you are right I messed up the untested case. Thanks for catching it early.
>
> The correct code (in the current state of affairs) would be
> elseif ( (SEAICEturbFluxFormula.EQ.4).AND.
> & (AREApreTH(I,J) .GT. 0. _d 0) ) then
> MixedLayerTurbulenceFactor = ONE/MCPHEE_TAPER_FAC
> Correct. May be now that we can switch on this case through a run time parameter
> we should have the second mcphee case tested in a sub-exp of Ian's 1D exp.
>
> Also I went half way there. My intention was to ultimately have the MCPHEE_TAPER_FAC param
> become 11.5/12.5 (in readparms or initfixed normally) and not be 12.5. In growth this would give
> if ( (SEAICEturbFluxFormula.EQ.3).AND.
> & (AREApreTH(I,J) .GT. 0. _d 0) ) then
> MixedLayerTurbulenceFactor = ONE - MCPHEE_TAPER_FAC*AREApreTH(I,J)
> elseif ( (SEAICEturbFluxFormula.EQ.4).AND.
> & (AREApreTH(I,J) .GT. 0. _d 0) ) then
> MixedLayerTurbulenceFactor = ONE - MCPHEE_TAPER_FAC
> Correct? This makes the tapering strategy clearer and has no division in it.
>
> I have a check-in planned today mostly for diags, checks and summary.
> I can do the above at the same time if this works for you. Does it?
>
> Cheers,
> Gael
>
> ps : I still need to send you guys a summary+guidelines regarding fridays' changes...
>
>
> On Feb 13, 2012, at 6:03 AM, Martin Losch wrote:
>
> > Gael,
> >
> > I have not been able to understand the new MCPHEE+GRADIENT_MIXED_LAYER_* logic.
> >
> > - MCPHEE_TAPER_FAC = 12.5
> > - seaice_init_fixed for SEAICEturbFluxFormula.EQ.3 or 4
> > SEAICE_availHeatFrac= MCPHEE_TAPER_FAC * more constants
> > SEAICE_availHeatFracFrz=ZERO
> > - seaice_growth:
> > elseif ( (SEAICEturbFluxFormula.EQ.4).AND.(AREApreTH(I,J) .LE. 0. _d 0) ) then
> > MixedLayerTurbulenceFactor = MCPHEE_TAPER_FAC
> > else
> > [ ... ]
> >
> > This looks to me as if you have MCPHEE_TAPER_FAC^2. It should be MixedLayerTurbulenceFactor=1 in the above case as the default (the final else) 1/MCPHEE_TAPER_FAC. So I suggest that we remove MCPHEE_TAPER_FAC in seaice_init_fixed:
> > SEAICE_availHeatFrac= STANTON_NUMBER *
> > & USTAR_BASE / dRf(kSurface) * SEAICE_deltaTtherm
> > and adjust seaice_growth accordingly. This also avoids a division in a loop. If you don't object. I'll do it. (This options is not tested, because these changes do not change any results).
> >
> > M.
> >
> >
> > On Feb 9, 2012, at 8:16 PM, Gael Forget wrote:
> >
> >> Dear all,
> >>
> >> below is (A) a summary of the last two day clean-up steps (cosmetic changes)
> >> and (B) what it means for known users (based on Patrick's table; attached).
> >> In case you follow testreport, you already know that the modifs have not
> >> changed anything to results. Notice : there is more clean-up coming in the
> >> next couple days, so you may want to wait until doing an update, up to you.
> >>
> >> Cheers,
> >> Gael
> >>
> >> (A)
> >>
> >> retired CPPs :
> >> MCPHEE_OCEAN_ICE_HEAT_FLUX
> >> GRADIENT_MIXED_LAYER_TURBULENCE_FACTOR
> >> SEAICE_OCN_MELT_ACT_ON_AREA, SEAICE_DO_OPEN_WATER_GROWTH
> >> SEAICE_DO_OPEN_WATER_MELT, FENTY_AREA_EXPANSION_CONTRACTION
> >>
> >> added run time params. I include a copy of the doc in SEAICE_PARAMS.h and
> >> tried to trace back where the various options came from (text in parentheses).
> >> SEAICE_doOpenWaterGrowth, SEAICE_doOpenWaterMelt
> >> T/F just like the old CPP versions
> >> T use open water heat flux directly to grow ice (Ian way)
> >> F cool ocean, and grow later if needed (Zhang way)
> >> SEAICEturbFluxFormula :: selects formula for ocean-ice turbulent flux
> >> 1=direct spec. of SEAICE_availHeatFrac/Frz (Dimitri/Ian way)
> >> 2=spec. via SEAICE_gamma_t/_frz (Martin/Ian way)
> >> 3=McPhee with linear tapering (Ian latest way)
> >> 4=McPhee with step function (Ian other latest way)
> >> SEAICE_areaLossFormula :: selects formula for ice cover loss from melt
> >> 1=from all but only melt conributions by ATM and OCN (Ian way)
> >> 2=from net melt-growth>0 by ATM and OCN (Gael/Ian way)
> >> 3=from predicted melt by ATM (Zhang way)
> >> SEAICE_areaGainFormula :: selects formula for ice cover gain from open water growth
> >> 1=from growth by ATM (Ian way)
> >> 2=from predicted growth by ATM (Zhang way)
> >>
> >> as a side note, I put stops in seaice_check.F for combinaisons
> >> that are obviously problematic. Tyipically, if you do NOT use
> >> SEAICE_doOpenWaterGrowth you need to use the Zhang way
> >> for SEAICE_areaLossFormula (3) and SEAICE_areaGainFormula (2),
> >> and this is the only case allowed with SEAICE_GROWTH_LEGACY.
> >>
> >> (B)
> >>
> >> You should double check, but based on Patrick's table,
> >> here is what you will need to add to your namelists :
> >>
> >> Martin : in SEAICE_GROWTH_LEGACY case you should be all set. Otherwise
> >> if TRUE SEAICE_doOpenWaterGrowth then SEAICE_areaLossFormula = 2
> >> if FALSE SEAICE_doOpenWaterGrowth then SEAICE_areaLossFormula = 3, SEAICE_areaGainFormula=2
> >>
> >> Ian et al: SEAICE_doOpenWaterMelt=.TRUE.
> >> SEAICEturbFluxFormula=3
> >> ps: def/undef SEAICE_OCN_MELT_ACT_ON_AREA was doing nothing
> >> since FENTY_AREA_EXPANSION_CONTRACTION was def.
> >>
> >> Me : TBD.
> >>
> >>
> >> <seaice_whodoeswhat_3.pptx>
> >>
> >> _______________________________________________
> >> MITgcm-devel mailing list
> >> MITgcm-devel at mitgcm.org
> >> http://mitgcm.org/mailman/listinfo/mitgcm-devel
> >
> >
> > _______________________________________________
> > MITgcm-devel mailing list
> > MITgcm-devel at mitgcm.org
> > http://mitgcm.org/mailman/listinfo/mitgcm-devel
>
>
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel
More information about the MITgcm-devel
mailing list