[MITgcm-support] Mass flux

aslavin at mun.ca aslavin at mun.ca
Fri Aug 27 11:18:13 EDT 2010


Hello Jean-Michel,

Thank you for your response. In my case it is 1st case: the source at the first
level of the fluid (surface of the rotating tank). If you have additional
information how ALLOW_ADDFLUID works it would be interesting for me.
But today I found out how to implement it. Just rigidLid=.FALSE., and
useRealFreshWaterFlux=.TRUE., in data file. Now it is works great.

Alexander.
Memorial University of Newfoundland, Canada.


Quoting Jean-Michel Campin <jmc at ocean.mit.edu>:

> Hi Alexander,
> 
> The "standard" way to add/remove water to the system is just
> to do it at the surface. Then you just need to specify (or update)
> EmPmR (Evap - Precip - RunOff), and there are various ways to do it.
> The ALLOW_ADDFLUID and selectAddFluid have been added recently
> for the case where the source/sink of water is not entirely at the 
> surface level but inside the water column.
> Are you really in the 2nd case (not at the surface) ?
> We could provide more info/help about the 1rst case, but would like 
> to be sure it's what you want.
> 
> Cheers,
> Jean-Michel
> 
> On Wed, Aug 25, 2010 at 01:42:31PM -0230, aslavin at mun.ca wrote:
> > Dear colleagues,
> > 
> > I have a problem with implementing mass flux into my model. Question in
> general:
> > How to implement mass flux to runoff fresh water flux? I added runoff
> fresh
> > water flux by EmPmRFile='runoff.bin', in my data and I also added it by
> EXF
> > package (another way). It works fine, but it only changed salinity of the
> fluid
> > and did not implementing real mass flux. I looked through
> external_forcing.F and
> > found out this part of code:
> > #ifdef ALLOW_ADDFLUID
> >       IF ( selectAddFluid.NE.0 .AND. salt_addMass.NE.UNSET_RL ) THEN
> >        IF ( ( selectAddFluid.GE.1 .AND. nonlinFreeSurf.GT.0 )
> >      &      .OR. convertFW2Salt.EQ.-1. _d 0 ) THEN
> >          DO j=1,sNy
> >           DO i=1,sNx
> >             gS(i,j,kLev,bi,bj) = gS(i,j,kLev,bi,bj)
> >      &        + addMass(i,j,kLev,bi,bj)*mass2rUnit
> >      &          *( salt_addMass - salt(i,j,kLev,bi,bj) )
> >      &          *recip_rA(i,j,bi,bj)
> >      &          *recip_drF(kLev)*_recip_hFacC(i,j,kLev,bi,bj)
> > C    &          *recip_deepFac2C(kLev)*recip_rhoFacC(kLev)
> >           ENDDO
> >          ENDDO
> >        ELSE
> >          DO j=1,sNy
> >           DO i=1,sNx
> >             gS(i,j,kLev,bi,bj) = gS(i,j,kLev,bi,bj)
> >      &        + addMass(i,j,kLev,bi,bj)*mass2rUnit
> >      &          *( salt_addMass - sRef(kLev) )
> >      &          *recip_rA(i,j,bi,bj)
> >      &          *recip_drF(kLev)*_recip_hFacC(i,j,kLev,bi,bj)
> > C    &          *recip_deepFac2C(kLev)*recip_rhoFacC(kLev)
> >           ENDDO
> >          ENDDO
> >        ENDIF
> >       ENDIF
> > #endif /* ALLOW_ADDFLUID */
> > 
> > But I didn't understand how it is work. I added #define ALLOW_ADDFLUID into
> my
> > CPP_OPTIONS.h on pre-compile step and selectAddFluid=1, into my data file.
> I
> > also tried convertFW2Salt=-1,..
> > Maybe someone had experience with mass flux or have any idea how its
> works?
> > Thank you in advance for any kind of help.
> > 
> > Alexander.
> > Memorial University of Newfoundland, Canada. 
> > 
> > 
> > 
> > _______________________________________________
> > MITgcm-support mailing list
> > MITgcm-support at mitgcm.org
> > http://mitgcm.org/mailman/listinfo/mitgcm-support
> 
> _______________________________________________
> MITgcm-support mailing list
> MITgcm-support at mitgcm.org
> http://mitgcm.org/mailman/listinfo/mitgcm-support
> 






More information about the MITgcm-support mailing list