[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