Hello everyone!
Could anybody help me to find where I can set the wide sponge layer?
I found in the file ocean.in that I can set the viscosity, but I didn't find the part of the wide.
I hope you can help me. Thanks in advance.
Scarlett Mar.Mo.
wide sponge layer
Re: wide sponge layer
The sponge is generally set in ana_sponge.h. It allows you to set the strength and the width of the sponge when ANA_SPONGE is defined. Otherwise, the sponge is read from get_grid where it looks for the 'visc_factor' and 'diff_factor' variables.
-
- Posts: 48
- Joined: Tue Aug 04, 2015 4:42 pm
- Location: Universidad del Mar (UMAR), Mexico
- Contact:
Re: wide sponge layer
Dear Kate:
Thanks for your help and quick response.
Yes I have define ANA_SPONGE and UV_VIS2, I found this in ana_sponge.h :
# if defined UV_VIS2
IF (LuvSponge(ng)) THEN
DO i=IstrT,IendT
DO j=JstrT,JendT
MIXING(ng) % visc2_r(i,j)=ABS(factor(i,j))* &
& MIXING(ng) % visc2_r(i,j)
END DO
END DO
DO j=JstrP,JendT
DO i=IstrP,IendT
MIXING(ng) % visc2_p(i,j)=0.25_r8*ABS(factor(i-1,j-1)+ & <---------Is this refers to the viscosity sponge layer?
& factor(i ,j-1)+ &
& factor(i-1,j )+ &
& factor(i ,j ))* &
& MIXING(ng) % visc2_p(i,j)
END DO
END DO
END IF
# endif
.
.
.
# if defined UV_VIS2
!
! Momentum sponge regions: sponge viscosities as in Marchesiello
! et al 2003.
!
IF (LuvSponge(ng)) THEN
innerF=visc2(ng) ! inner limit match value
outerF=100.0_r8 ! outer limit maximum value <--------- Is this refers to the wide sponge layer?
!
.
.
.
Thanks and cheers.
Scarlett.
Thanks for your help and quick response.
Yes I have define ANA_SPONGE and UV_VIS2, I found this in ana_sponge.h :
# if defined UV_VIS2
IF (LuvSponge(ng)) THEN
DO i=IstrT,IendT
DO j=JstrT,JendT
MIXING(ng) % visc2_r(i,j)=ABS(factor(i,j))* &
& MIXING(ng) % visc2_r(i,j)
END DO
END DO
DO j=JstrP,JendT
DO i=IstrP,IendT
MIXING(ng) % visc2_p(i,j)=0.25_r8*ABS(factor(i-1,j-1)+ & <---------Is this refers to the viscosity sponge layer?
& factor(i ,j-1)+ &
& factor(i-1,j )+ &
& factor(i ,j ))* &
& MIXING(ng) % visc2_p(i,j)
END DO
END DO
END IF
# endif
.
.
.
# if defined UV_VIS2
!
! Momentum sponge regions: sponge viscosities as in Marchesiello
! et al 2003.
!
IF (LuvSponge(ng)) THEN
innerF=visc2(ng) ! inner limit match value
outerF=100.0_r8 ! outer limit maximum value <--------- Is this refers to the wide sponge layer?
!
.
.
.
Thanks and cheers.
Scarlett.
Re: wide sponge layer
Please read the comments at the top of ROMS/Functionals/ana_sponge.h.
In the ROMS world, a sponge is simply a large value of lateral viscosity (visc2_r, visc2_p) and/or diffusivity (diff2) with intent to damp out problematic noise. What I use instead is what the MOM6 people also call a sponge, but it is actually a nudging to an external climatology. Either way, it is something to be done in a band at the open boundaries, since the open boundaries are a source of numerical trouble.
In the ROMS world, a sponge is simply a large value of lateral viscosity (visc2_r, visc2_p) and/or diffusivity (diff2) with intent to damp out problematic noise. What I use instead is what the MOM6 people also call a sponge, but it is actually a nudging to an external climatology. Either way, it is something to be done in a band at the open boundaries, since the open boundaries are a source of numerical trouble.