[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