[MITgcm-support] Mass flux
aslavin at mun.ca
aslavin at mun.ca
Wed Aug 25 12:12:31 EDT 2010
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.
More information about the MITgcm-support
mailing list