[MITgcm-devel] seaice*_if
Jean-Michel Campin
jmc at ocean.mit.edu
Wed Jul 21 19:51:17 EDT 2010
Hi Martin and Ian,
To Martin first:
I think I understand a little bit your question: Are you coupling
with an atmospheric component ? In this case, the latent heat flux
is part of the net atmospheric surface flux, but does not contribute
to the warming (if evaporation/sublimation) of the air temperature,
whereas the sensible heat flux does.
Merging issue:
- when did the divergence started ?
seaice_growth_if.F was 1rst checked in on 2008-03-27
but modifications in seaice_growth.F from 2007-10-03 (adding diagnostics)
and from 2007-12-05 (remove some unused halo)
are not included in the *_if version.
And regarding seaice_budget_ice.F, changes from April 2007 are missing
in the *_if version.
- the *_if version should incorporate all the changes that have been
made (since that time) to the std version (from cvs, it's something like 32
sets of changes for seaice_growth.F)
- it should follow the standard coding rules:
I notice many missing "_d 0", missing argument "myThid".
should check also that it passes the different test (1+1=2, multi-threaded ...)
- some flux sign are not very well documented (e.g.: seems that F_mi is >0
downward but F_ia is >0 upward): could "positive upward" or
"positive downward" be added to the comments ?
Cheers,
Jean-Michel
On Wed, Jul 21, 2010 at 03:56:14PM -0400, Ian G. Fenty wrote:
> Hey Martin,
>
>> are the *_if routines, that are presently in pkg/seaice, up to> date? I.e. is this the code that you used for you thesis work and afterwards?
>
> They actually are up to date and to a very good approximation they are what I used for the thesis. By the end of the week they will be completely up to date. I'm making two verification experiments for it now.
>
>> 2. mass conservation in general: I found a few places in seaice_growth_if.F where HEFF/AREA/HSNOW/PRECIP are just reset, and rightly so, I would not expect negative precipitation, etc. either (this is also the case in seaice_growth), but this will have implications for the mass balance, that may be a problem in long coupled runs.
>
> I think it is good to be ensure mass and energy conservation. They way I wrote seaice_growth_if, I consider the actual change of HEFF and actual loss of HSNOW (from melt) within the routine when computing EmPmR. Obviously, when ice/snow mass tendencies are negative, one can't use a tendency * time_step * conversion_factor to calculate the contribution to EmPmR because more ice/snow mass loss may be implied than is actually present. I calculate QNET using a similar logic. Thus, zeroing out HEFF/AREA etc. before QNET and EmPmR are calculated does not lead to mass/energy imbalances.
>
> Of course, I'm excluding the routine's initial sanity check for physical AREA and HEFF values after seaice_dynamics (e.g., dealing with a positive HEFF and zero or negative AREA). Unless this issue has been fixed (or maxima-preserving advection schemes are being used) and I missed it, the ice dynamics routines regularly generate such conditions. I think dealing with the imbalances associated with creation/destruction of ice/snow mass should be handled *before* seaice_growth. I don't think seaice_growth is the place where we mop up problems in seiace_dynamics!
>
>> (I got an unstable adjoint, but that may be my fault).
>
> I have a nice 1D setup where one can easily compare how the adjoints of the default branch and seaice_growth_if behave. If you want, I'll add it to a contrib directory and you can verify a working (or broken!) adjoint.
>
>
> With respect to latent heat flux/sublimation questions, you are right that the models represent heat fluxes associated with sublimation/adsorption while not actually exchanging water between the ice/snow surface and the atmosphere. In other words, we don't add frost to the ice/snow surface out of "thin air" during adsorption nor do we remove snow/ice during sublimation. Ergo, the water budget is closed.
>
> However, with respect to distributing mass between the atmosphere and ice/snow surface, we're definitely missing a process.
>
> Sublimation never causes melting of snow/ice while adsorption can in a narrow condition. Consider the following. When qhice_mm> AQH, sublimating ice/snow removes heat from the ice/snow surface - so no melting. When qhice_mm< AQH, water vapor adsorption transfers heat to the ice/snow surface. However, under freezing conditions (F_ia> 0, F_ia_net = 0, T_surf< 0 deg C) the energy convergence associated with adsorption only reduces the flux of heat from the ice/snow surface flux to the atmosphere. So again, no melting.
>
> Heat gained from adsorption can contribute to surface melt only when 1) AQH> qhice_mm (water vapor condensing on the ice/snow surface) and 2) there is a net energy flux convergence at the surface (implying T_surf = 0 deg C). Whether the new (imaginary) frost melts or the existing snow or snow seems unimportant. It seems physical to me that water vapor can condense on an icy surface at its melting point and by doing so, cause the icy surface to warm a bit thereby triggering melting.
>
> I think it makes sense to extract water vapor from the atmosphere and add it as frost (snow) to the ice/snow surface
> during adsorption and to remove snow or ice from the ice/snow surface and add it as water vapor to the atmosphere during sublimation. But, unless I'm missing something, I don't see a problem with the way we are calculating the heat fluxes. Please enlighten me if you see a problem with the above!
>
> -Ian
>
>
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel
More information about the MITgcm-devel
mailing list