[MITgcm-devel] another bug in growth.F ?

Dimitris Menemenlis menemenlis at sbcglobal.net
Wed Nov 15 19:43:11 EST 2006


> It is actual thickness, so it is AREA*HSNOW.

Arghh!!!  There is (at least) 3 places in code where HSNOW is used as effective 
snow thickness:

1. in growth.F, when FREEZING PRECIP is added as snow:
>            HSNOW(I,J,bi,bj)=HSNOW(I,J,bi,bj)+SEAICE_deltaTtherm*
>      &            PRECIP(I,J,bi,bj)*AR(I,J,bi,bj)*SDF

2. in growth.F, the latest HSNOW fix:
>           IF(RESID_HEAT(I,J,bi,bj).GT.ZERO.AND.
>      &         HSNOW(I,J,bi,bj).GT.ZERO) THEN
>            GHEFF(I,J)=MIN(HSNOW(I,J,bi,bj)/SDF/ICE_DENS,
>      &         RESID_HEAT(I,J,bi,bj))
>            YNEG(I,J,bi,bj)=YNEG(I,J,bi,bj)+GHEFF(I,J)
>            HSNOW(I,J,bi,bj)=HSNOW(I,J,bi,bj)-GHEFF(I,J)*SDF*ICE_DENS
>            SEAICE_SALT(I,J,bi,bj)=SEAICE_SALT(I,J,bi,bj)-GHEFF(I,J)
>           ENDIF

3. in seaice_advdiff.F, the advection of snow:
>         DO j=1-Oly,sNy+Oly
>          DO i=1-Olx,sNx+Olx
>           iceFld(i,j) = HSNOW(i,j,bi,bj)
>          ENDDO
>         ENDDO
>         CALL SEAICE_ADVECTION(
>      I       GAD_SNOW, SEAICEadvSchSnow, .TRUE.,
>      I       uc(1-OLx,1-OLy,bi,bj), vc(1-OLx,1-OLy,bi,bj),
>      I       uTrans, vTrans, iceFld, recip_heff,
>      O       gFld, afx, afy,
>      I       bi, bj, myTime, myIter, myThid )

Item number 2 above, is very likely responsible for the high tangent linear 
sensitivities that Patrick reported.  I will try to rewrite everything in terms 
of effective snow thickness ... I think it's path of least resistance at this 
point.  D.



More information about the MITgcm-devel mailing list