I set up my boundary conditions in a "channel" configuration, with a flow going from the northern boundary to the southern boundary. Here is the boundary conditions definition in my ocean*.in file:
Code: Select all
! W S E N
! e o a o
! s u s r
! t t t t
! h h
!
! 1 2 3 4
LBC(isFsur) == Clo Rad Clo Cla ! free-surface
LBC(isUbar) == Clo Rad Clo Cla ! 2D U-momentum
LBC(isVbar) == Clo Rad Clo Cla ! 2D V-momentum
LBC(isUvel) == Clo Rad Clo Cla ! 3D U-momentum
LBC(isVvel) == Clo Rad Clo Cla ! 3D V-momentum
LBC(isMtke) == Clo Rad Clo Cla ! mixing TKE
LBC(isTvar) == Clo Rad Clo Cla \ ! temperature
Clo Rad Clo Cla ! salinity
! Adjoint-based algorithms can have different lateral boundary
! conditions keywords.
ad_LBC(isFsur) == Clo Rad Clo Cla ! free-surface
ad_LBC(isUbar) == Clo Rad Clo Cla ! 2D U-momentum
ad_LBC(isVbar) == Clo Rad Clo Cla ! 2D U-momentum
ad_LBC(isUvel) == Clo Rad Clo Cla ! 3D U-momentum
ad_LBC(isVvel) == Clo Rad Clo Cla ! 3D V-momentum
ad_LBC(isMtke) == Clo Rad Clo Cla ! mixing TKE
ad_LBC(isTvar) == Clo Rad Clo Cla \ ! temperature
Clo Rad Clo Cla ! salinity
I specify the value at the "Clamped" boundary using the analytical files
Code: Select all
#define ANA_FSOBC
#define ANA_M2OBC
#define ANA_M3OBC
#define ANA_TOBC
Code: Select all
cd /Users/dever_mathieu/ROMS/Projects/coastal_current/Build; /usr/local/bin/gfortran -c -frepack-arrays -O3 -ffree-form -ffree-line-length-none analytical.f90
analytical.f90:1278.19:
IF (LBC(ieast,isUvel,ng)%acquire.and. &
1
Error: Symbol 'ieast' at (1) has no IMPLICIT type
analytical.f90:1317.20:
IF (LBC(inorth,isUvel,ng)%acquire.and. &
1
Error: Symbol 'inorth' at (1) has no IMPLICIT type
analytical.f90:1304.20:
IF (LBC(isouth,isUvel,ng)%acquire.and. &
1
Error: Symbol 'isouth' at (1) has no IMPLICIT type
analytical.f90:1291.19:
IF (LBC(iwest,isUvel,ng)%acquire.and. &
1
Error: Symbol 'iwest' at (1) has no IMPLICIT type
make: *** [/Users/dever_mathieu/ROMS/Projects/coastal_current/Build/analytical.o] Error 1
Code: Select all
# elif defined COASTAL_CURRENT
IF (LBC(ieast,isUvel,ng)%acquire.and. &
& LBC(ieast,isVvel,ng)%acquire.and. &
& DOMAIN(ng)%Eastern_Edge(tile)) THEN
DO k=1,N(ng)
DO j=JstrR,JendR
BOUNDARY(ng)%u_east(j,k)=0.0_r8
END DO
DO j=Jstr,JendR
BOUNDARY(ng)%v_east(j,k)=0.0_r8
END DO
END DO
END IF
Can someone has an idea what is going on?
Thank you!
Mat.