[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