[MITgcm-devel] [MITgcm-cvs] MITgcm/pkg/seaice CVS Commit
Jean-Michel Campin
jmc at ocean.mit.edu
Tue Apr 30 16:54:33 EDT 2013
Hi Martin,
May be it's just a different machine truncation, betweeen a division
(before) and now a multiplication by the reciprocal, when it's not 1/4 ?
In fact, if I change the old version to use sumNorm:
IF ( sumNorm.GT.0. _d 0 ) THEN
sumNorm = 1. _d 0 / sumNorm
ELSE
sumNorm = 1. _d 0
ENDIF
I get exactly the same output as with the new version.
Anyway, i think it's better to update the output (and if you can
add a comment in the tag-index, even better).
Cheers,
Jean-Michel
On Tue, Apr 30, 2013 at 09:00:03AM +0200, Martin Losch wrote:
> Hi Jean-Michel,
>
> thanks for catching this.
> It appears that the change that breaks this experiment is in line 166ff where etaZ ist computed. I used to do it like this:
> etaZ(I,J,bi,bj) =
> & ( eta (I,J ,bi,bj) + eta (I-1,J ,bi,bj)
> & + eta (I,J-1,bi,bj) + eta (I-1,J-1,bi,bj) )
> & / MAX(1.D0,maskC(I,J, k,bi,bj)+maskC(I-1,J, k,bi,bj)
> & + maskC(I,J-1,k,bi,bj)+maskC(I-1,J-1,k,bi,bj) )
> now it's like this:
>
> sumNorm = maskC(I,J, k,bi,bj)+maskC(I-1,J, k,bi,bj)
> & + maskC(I,J-1,k,bi,bj)+maskC(I-1,J-1,k,bi,bj)
> IF ( sumNorm.GT.0. _d 0 ) sumNorm = 1. _d 0 / sumNorm
> etaZ(I,J,bi,bj) = sumNorm *
> & ( eta (I,J ,bi,bj) + eta (I-1,J ,bi,bj)
> & + eta (I,J-1,bi,bj) + eta (I-1,J-1,bi,bj) )
> I think that this should give the same results as long as there is one wet point, but maybe, if the masking of eta is not appropriate, I can also get a non-zero result over land with the old formulation (with all maskC=0). In that case the new version give the correct answer, doesn't it? On the boundary the result should be that same, shouldn't it?
> For free slip, etaZ = 0 on the boundaries (on also on land), that's why it only shows up in the no-slip case.
>
> I think we can modify the result of the experiment. Do you agree?
>
> Martin
>
> PS. I also seem to have to forgotten to check in an updated tag-index, it's still in my files, but not in the repository.
>
>
>
>
>
> On Apr 29, 2013, at 6:46 PM, Jean-Michel Campin <jmc at ocean.mit.edu> wrote:
>
> > Hi Martin,
> >
> > It looks like the changes you made in seaice_calc_viscosities.F
> > are producing small differences for lab_sea standard experiment.
> > It used to pass with 16 digits (baudelaire, gfortran) but now we
> > are only getting 11 digits:
> > < Y Y Y Y>11<16 16 16 16 16 16 16 16 16 16 13 16 16 16 12 14 22 16 16 16 22 16 16 16 pass lab_sea
> > Might be related to the fact that this experiment is using LSR with
> > SEAICE_no_slip=T (whereas the others use the default SEAICE_no_slip=F).
> >
> > It would be usefull to check if these different results are somehow expected,
> > and if it's the case, then we should update lab_sea/results/output.txt
> >
> > Cheers,
> > Jean-Michel
> >
> > On Tue, Apr 23, 2013 at 05:53:44AM -0400, Martin Losch wrote:
> >> Update of /u/gcmpack/MITgcm/pkg/seaice
> >> In directory forge:/tmp/cvs-serv8331/pkg/seaice
> >>
> >> Modified Files:
> >> seaice_check.F seaice_calc_viscosities.F
> >> Log Message:
> >> clean up: remove/retire two options for SEAICetaZmethod (1,2),
> >> introduce area weighting for method 3
> >>
> >>
> >> _______________________________________________
> >> MITgcm-cvs mailing list
> >> MITgcm-cvs at mitgcm.org
> >> http://mitgcm.org/mailman/listinfo/mitgcm-cvs
> >
> > _______________________________________________
> > 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