Opened 5 years ago

Last modified 5 years ago

#812 closed defect

Updated River Runoff: Option LuvSrc — at Initial Version

Reported by: arango Owned by:
Priority: major Milestone: Release ROMS/TOMS 3.7
Component: Nonlinear Version: 3.7
Keywords: Cc:

Description

In the ROMS Forum, Julia Levin proposed some enhancements to the Point Source algorithm to model river runoff using either the standard input switches LuvSrc or LwSrc. The LuvSrc option is used to model river runoff transport by modifying the horizontal advection transport fluxes whereas the LwSrc option is used as a vertical mass volume inflow.

I only implemented the changes associated with LuvSrc. The suggested changes for LwSrc are unstable and blow-up for the TS_MPDATA advection option. It requires further work. The old algorithm implemented the vertical mass inflow by modifying the vertical advection fluxes in the tracer equations and by modifying the omega equation that is associated with the 3D continuity equation. The proposed change is to introduce a forcing term to the rate of change of tracer. At the moment, such treatment is problematic and unstable for a simple Euler forward step. There are other issues to consider like conservation and variance of the tracer.

For the LuvSrc, we now have in pre_step3d.F:

!
!  Apply tracers point sources to the horizontal advection terms,
!  if any.
!
          IF (LuvSrc(ng)) THEN
            DO is=1,Nsrc(ng)
              Isrc=SOURCES(ng)%Isrc(is)
              Jsrc=SOURCES(ng)%Jsrc(is)
              IF (((Istr.le.Isrc).and.(Isrc.le.Iend+1)).and.            &
     &            ((Jstr.le.Jsrc).and.(Jsrc.le.Jend+1))) THEN
                IF (INT(SOURCES(ng)%Dsrc(is)).eq.0) THEN
                  IF (LtracerSrc(itrc,ng)) THEN
                    FX(Isrc,Jsrc)=Huon(Isrc,Jsrc,k)*                    &
     &                            SOURCES(ng)%Tsrc(is,k,itrc)
                  ELSE
                    FX(Isrc,Jsrc)=0.0_r8
                  END IF
                ELSE
                  IF (LtracerSrc(itrc,ng)) THEN
                    FE(Isrc,Jsrc)=Hvom(Isrc,Jsrc,k)*                    &
     &                            SOURCES(ng)%Tsrc(is,k,itrc)
                  ELSE
                     FE(Isrc,Jsrc)=0.0_r8
                  END IF
                END IF
              END IF
            END DO
          END IF

Changes were made to the tangent, representer, and adjoint versions of pre_step3d.F and step3d_t.F.

Many thanks to Julia Levin, John Wilkin, and Chuning Wang (Jupiter Intelligence INC) for looking and testing the formulation of Point Sources.

Change History (0)

Note: See TracTickets for help on using tickets.