[MITgcm-devel] Re: empmr
Jean-Michel Campin
jmc at ocean.mit.edu
Thu May 24 17:52:02 EDT 2007
Hi Dimitris,
I am a little bit confused by the "no evaporation over se-ice":
It seems that a latent heat-flux is computed in seaice_budget_ice.F
but the implied evaporation is not applied to sea-ice ?
This would certainly make the Fresh-water budget easier (just
precip & runoff).
Thanks,
Jean-Michel
On Thu, May 24, 2007 at 02:23:52PM -0700, Dimitris Menemenlis wrote:
> Alan, for pkg/seaice, the routine to understand is seaice_growth.F
>
> What is dumped into the ocean is:
>
> >C NOW GET FRESH WATER FLUX
> >#ifdef ALLOW_ATM_TEMP
> > EmPmR(I,J,bi,bj) = maskC(I,J,kSurface,bi,bj)*(
> > & ( EVAP(I,J,bi,bj)-PRECIP(I,J,bi,bj) )
> > & * ( ONE - AREA(I,J,2,bi,bj) )
> >#ifdef ALLOW_RUNOFF
> > & - RUNOFF(I,J,bi,bj)
> >#endif
> > & + frWtrIce(I,J)*ICE2WATR/SEAICE_deltaTtherm
> > & )
>
> that is, the fraction of "open-water" evaporation minus precipitation, plus
> 100% of runoff, plus a term due to sea ice melting or freezing.
>
> As far as I can see there is "no" evaporation over sea ice.
>
> precipitation is dealt in the following way:
>
> > IF(FICE(I,J).GT.ZERO) THEN
> >C freezing, add precip as snow
> > HSNOW(I,J,bi,bj) = HSNOW(I,J,bi,bj)+SEAICE_deltaTtherm*
> > & PRECIP(I,J,bi,bj)*AREA(I,J,2,bi,bj)*SDF
> > ELSE
> >C add precip as rain, water converted into equivalent m of
> >C ice by 1/ICE2WATR.
> >C Do not get confused by the sign:
> >C precip > 0 for downward flux of fresh water
> >C frWtrIce > 0 for more ice (corresponds to an upward "fresh water
> >flux"),
> >C so that here the rain is added *as if* it is melted ice (which is
> >not C true, but just a trick; physically the rain just runs as water
> >C through the ice into the ocean)
> > frWtrIce(I,J) = frWtrIce(I,J)
> > & -PRECIP(I,J,bi,bj)*AREA(I,J,2,bi,bj)*
> > & SEAICE_deltaTtherm/ICE2WATR
> > ENDIF
>
> that is, if ice is growing add all precip as snow, else dump it as
> freshwater in the ocean; this is done via the frWtrIce term above. But
> also note that "if" all the ice is melted via heat from mixed layer "and"
> there is residual snow and residual heat in mixed layer, this residual eat
> is used to melt some or all of the remaining snow:
>
> >C Now melt snow if there is residual heat left in surface level
> >C Note that units of YNEG and frWtrIce are m of ice
> >cph( very sensitive bit here by JZ
> > IF( RESID_HEAT(I,J) .GT. ZERO .AND.
> > & HSNOW(I,J,bi,bj) .GT. ZERO ) THEN
> > GHEFF(I,J) = MIN( HSNOW(I,J,bi,bj)/SDF/ICE2WATR,
> > & RESID_HEAT(I,J) )
> > 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*ICE2WATR
> > frWtrIce(I,J) = frWtrIce(I,J) -GHEFF(I,J)
> > ENDIF
> >cph)
>
> if you use SEAICEuseFlooding, which you should, there is one more step
> during which snow that is submerged is converted into sea ice:
>
> >#ifdef ALLOW_SEAICE_FLOODING
> > IF ( SEAICEuseFlooding ) THEN
> >C convert snow to ice if submerged
> > DO J=1,sNy
> > DO I=1,sNx
> > hDraft = (HSNOW(I,J,bi,bj)*330. _d 0
> > & +HEFF(I,J,1,bi,bj)*SEAICE_rhoIce)/1000. _d 0
> > hFlood = hDraft - MIN(hDraft,HEFF(I,J,1,bi,bj))
> > HEFF(I,J,1,bi,bj) = HEFF(I,J,1,bi,bj) + hFlood
> > HSNOW(I,J,bi,bj) = MAX(0. _d 0,
> > & HSNOW(I,J,bi,bj)-hFlood*ICE2SNOW)
> > ENDDO
> > ENDDO
> > ENDIF
> >#endif /* ALLOW_SEAICE_FLOODING */
>
>
>
>
> _______________________________________________
> MITgcm-devel mailing list
> MITgcm-devel at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-devel
More information about the MITgcm-devel
mailing list