Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bf unconforming where in coupling routines #17

Merged
merged 3 commits into from
Oct 22, 2020
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 14 additions & 14 deletions model/ftn/w3agcmmd.ftn
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@
!
USE W3OACPMD, ONLY: ID_OASIS_TIME, IL_NB_SND, SND_FLD, CPL_OASIS_SND
USE W3GDATMD, ONLY: NSEAL, NSEA
USE W3ADATMD, ONLY: NSEALM, CX, CY, CHARN, HS, FP0, TWS
USE W3ADATMD, ONLY: CX, CY, CHARN, HS, FP0, TWS
USE W3ODATMD, ONLY: UNDEF, NAPROC, IAPROC
!
!/ ------------------------------------------------------------------- /
Expand All @@ -109,7 +109,7 @@
REAL(kind=8), DIMENSION(NSEAL,1) :: RLA_OASIS_SND
INTEGER :: IB_DO
LOGICAL :: LL_ACTION
REAL(kind=8), DIMENSION(NSEALM) :: TMP
REAL(kind=8), DIMENSION(NSEAL) :: TMP
INTEGER :: JSEA, ISEA
!
!----------------------------------------------------------------------
Expand All @@ -120,7 +120,7 @@
! Ocean sea surface current (m.s-1) (u-component)
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3_WSSU') THEN
TMP(1:NSEALM) = 0.0
TMP(1:NSEAL) = 0.0
DO JSEA=1, NSEAL
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe you should also rewrite it as :
WHERE(CX(1:NSEAL) /= UNDEF) TMP(1:NSEAL)=CX(1:NSEAL)

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe you should also rewrite it as :
WHERE(CX(1:NSEAL) /= UNDEF) TMP(1:NSEAL)=CX(1:NSEAL)

I do not think a WHERE sentence will work in this case, as CX and CY are vectors of dimension 1:NSEA. The reason why the loop is done explicitly is to find the right index for this vector for a given processor:

ISEA=IAPROC+(JSEA-1)*NAPROC

Notice that the same approach is followed for the variable ICEF in w3igcmmd.f90, which also has dimensions 1:NSEA.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

right ! BTY the line 139 in w3agcmd.ftn since it force TMP to be filled by CY after the test on UNDEF

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

right ! BTY the line 139 in w3agcmd.ftn since it force TMP to be filled by CY after the test on UNDEF

Agree, that line should be deleted.

ISEA=IAPROC+(JSEA-1)*NAPROC
IF(CX(ISEA) /= UNDEF) TMP(JSEA)=CX(ISEA)
Expand All @@ -132,7 +132,7 @@
! Ocean sea surface current (m.s-1) (v-component)
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3_WSSV') THEN
TMP(1:NSEALM) = 0.0
TMP(1:NSEAL) = 0.0
DO JSEA=1, NSEAL
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

not even sure this section works well since TMP array is filled after the test on UNDEF
Maybe you should also rewrite it as :
WHERE(CY(1:NSEAL) /= UNDEF) TMP(1:NSEAL)=CY(1:NSEAL)

ISEA=IAPROC+(JSEA-1)*NAPROC
IF(CY(ISEA) /= UNDEF) TMP(JSEA)=CY(ISEA)
Expand All @@ -145,44 +145,44 @@
! Charnock Coefficient (-)
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3_ACHA') THEN
TMP(1:NSEALM) = 0.0
WHERE(CHARN /= UNDEF) TMP=CHARN
TMP(1:NSEAL) = 0.0
WHERE(CHARN(1:NSEAL) /= UNDEF) TMP(1:NSEAL)=CHARN(1:NSEAL)
RLA_OASIS_SND(:,1) = DBLE(TMP(1:NSEAL))
CALL CPL_OASIS_SND(IB_DO, ID_OASIS_TIME, RLA_OASIS_SND, LL_ACTION)
ENDIF
!
! Significant wave height (m)
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3__AHS') THEN
TMP(1:NSEALM) = 0.0
WHERE(HS /= UNDEF) TMP=HS
TMP(1:NSEAL) = 0.0
WHERE(HS(1:NSEAL) /= UNDEF) TMP(1:NSEAL)=HS(1:NSEAL)
RLA_OASIS_SND(:,1) = DBLE(TMP(1:NSEAL))
CALL CPL_OASIS_SND(IB_DO, ID_OASIS_TIME, RLA_OASIS_SND, LL_ACTION)
ENDIF
!
! Peak frequency (s-1)
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3___FP') THEN
TMP(1:NSEALM) = 0.0
WHERE(FP0 /= UNDEF) TMP=FP0
TMP(1:NSEAL) = 0.0
WHERE(FP0(1:NSEAL) /= UNDEF) TMP(1:NSEAL)=FP0(1:NSEAL)
RLA_OASIS_SND(:,1) = DBLE(TMP(1:NSEAL))
CALL CPL_OASIS_SND(IB_DO, ID_OASIS_TIME, RLA_OASIS_SND, LL_ACTION)
ENDIF
!
! Peak period (s)
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3___TP') THEN
TMP(1:NSEALM) = 0.0
WHERE(FP0 /= UNDEF) TMP=1./FP0
TMP(1:NSEAL) = 0.0
WHERE(FP0(1:NSEAL) /= UNDEF) TMP(1:NSEAL)=1./FP0(1:NSEAL)
RLA_OASIS_SND(:,1) = DBLE(TMP(1:NSEAL))
CALL CPL_OASIS_SND(IB_DO, ID_OASIS_TIME, RLA_OASIS_SND, LL_ACTION)
ENDIF
!
! Wind sea Mean period (s)
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3__FWS') THEN
TMP(1:NSEALM) = 0.0
WHERE(TWS /= UNDEF) TMP=TWS
TMP(1:NSEAL) = 0.0
WHERE(TWS(1:NSEAL) /= UNDEF) TMP(1:NSEAL)=TWS(1:NSEAL)
RLA_OASIS_SND(:,1) = DBLE(TMP(1:NSEAL))
CALL CPL_OASIS_SND(IB_DO, ID_OASIS_TIME, RLA_OASIS_SND, LL_ACTION)
ENDIF
Expand Down
14 changes: 7 additions & 7 deletions model/ftn/w3igcmmd.ftn
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@
USE W3OACPMD, ONLY: ID_OASIS_TIME, IL_NB_SND, SND_FLD, CPL_OASIS_SND
USE W3GDATMD, ONLY: NSEAL, NSEA
USE W3WDATMD, ONLY: ICEF
USE W3ADATMD, ONLY: NSEALM, TAUICE
USE W3ADATMD, ONLY: TAUICE
USE W3ODATMD, ONLY: UNDEF, NAPROC, IAPROC
!
!/ ------------------------------------------------------------------- /
Expand All @@ -107,7 +107,7 @@
REAL(kind=8), DIMENSION(NSEAL,1) :: RLA_OASIS_SND
INTEGER :: IB_DO, NDSO
LOGICAL :: LL_ACTION
REAL(kind=8), DIMENSION(NSEALM) :: TMP
REAL(kind=8), DIMENSION(NSEAL) :: TMP
INTEGER :: JSEA, ISEA
!
!----------------------------------------------------------------------
Expand All @@ -121,7 +121,7 @@
! Ice floe diameters (m)
! ---------------------------------------------------------------------
CASE ('WW3_ICEF')
TMP(1:NSEALM) = 0.0
TMP(1:NSEAL) = 0.0
DO JSEA=1, NSEAL
ISEA=IAPROC+(JSEA-1)*NAPROC
IF(ICEF(ISEA) /= UNDEF) TMP(JSEA)=ICEF(ISEA)
Expand All @@ -130,14 +130,14 @@
CALL CPL_OASIS_SND(IB_DO, ID_OASIS_TIME, RLA_OASIS_SND, LL_ACTION)

CASE ('WW3_TWIX')
TMP(1:NSEALM) = 0.0
WHERE(TAUICE(:,1) /= UNDEF) TMP(:)=TAUICE(:,1)
TMP(1:NSEAL) = 0.0
WHERE(TAUICE(1:NSEAL,1) /= UNDEF) TMP(1:NSEAL)=TAUICE(1:NSEAL,1)
RLA_OASIS_SND(:,1) = DBLE(TMP(1:NSEAL))
CALL CPL_OASIS_SND(IB_DO, ID_OASIS_TIME, RLA_OASIS_SND, LL_ACTION)

CASE ('WW3_TWIY')
TMP(1:NSEALM) = 0.0
WHERE(TAUICE(:,2) /= UNDEF) TMP(:)=TAUICE(:,2)
TMP(1:NSEAL) = 0.0
WHERE(TAUICE(1:NSEAL,2) /= UNDEF) TMP(1:NSEAL)=TAUICE(1:NSEAL,2)
RLA_OASIS_SND(:,1) = DBLE(TMP(1:NSEAL))
CALL CPL_OASIS_SND(IB_DO, ID_OASIS_TIME, RLA_OASIS_SND, LL_ACTION)

Expand Down
78 changes: 39 additions & 39 deletions model/ftn/w3ogcmmd.ftn
Original file line number Diff line number Diff line change
Expand Up @@ -108,8 +108,8 @@
!
USE W3OACPMD, ONLY: ID_OASIS_TIME, IL_NB_SND, SND_FLD, CPL_OASIS_SND
USE W3GDATMD, ONLY: NSEAL, MAPSTA, MAPSF
USE W3ADATMD, ONLY: NSEALM, HS, T0M1, THM, BHD, TAUOX, TAUOY, &
PHIOC, UBA, UBD, TAUWIX, TAUWIY, TUSX, TUSY, &
USE W3ADATMD, ONLY: HS, T0M1, THM, BHD, TAUOX, TAUOY, PHIOC, &
UBA, UBD, TAUWIX, TAUWIY, TUSX, TUSY, &
USSX, USSY, WLM, PHIBBL,TAUBBL, CHARN
USE W3ODATMD, ONLY: NAPROC, IAPROC, UNDEF
USE CONSTANTS, ONLY: PI, DERA
Expand All @@ -126,7 +126,7 @@
REAL(kind=8), DIMENSION(NSEAL,1) :: RLA_OASIS_SND
INTEGER :: IB_DO
LOGICAL :: LL_ACTION
REAL(kind=8), DIMENSION(NSEALM) :: TMP
REAL(kind=8), DIMENSION(NSEAL) :: TMP
!
!----------------------------------------------------------------------
! * Executable part
Expand All @@ -151,8 +151,8 @@
! Mean wave period (tmn in s) (m0,-1)
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3_T0M1') THEN
TMP(1:NSEALM) = 0.0
WHERE(T0M1 /= UNDEF) TMP=T0M1
TMP(1:NSEAL) = 0.0
WHERE(T0M1(1:NSEAL) /= UNDEF) TMP(1:NSEAL)=T0M1(1:NSEAL)
RLA_OASIS_SND(:,1) = DBLE(TMP(1:NSEAL))
CALL CPL_OASIS_SND(IB_DO, ID_OASIS_TIME, RLA_OASIS_SND, LL_ACTION)
ENDIF
Expand All @@ -176,8 +176,8 @@
! dir : oceanographic convention (GRIDDED files) - 0 degree from north, 90 from east
! theta : trigonometric convention ( 0 at East, 90 at North)
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3_CDIR') THEN
TMP(1:NSEALM) = 0.0
WHERE(THM /= UNDEF) TMP=COS(THM)
TMP(1:NSEAL) = 0.0
WHERE(THM(1:NSEAL) /= UNDEF) TMP(1:NSEAL)=COS(THM(1:NSEAL))
RLA_OASIS_SND(:,1) = TMP(1:NSEAL)
CALL CPL_OASIS_SND(IB_DO, ID_OASIS_TIME, RLA_OASIS_SND, LL_ACTION)
ENDIF
Expand All @@ -187,8 +187,8 @@
! dir : oceanographic convention (GRIDDED files) - 0 degree from north, 90 from east
! theta : trigonometric convention ( 0 at East, 90 at North)
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3_SDIR') THEN
TMP(1:NSEALM) = 0.0
WHERE(THM /= UNDEF) TMP=SIN(THM)
TMP(1:NSEAL) = 0.0
WHERE(THM(1:NSEAL) /= UNDEF) TMP(1:NSEAL)=SIN(THM(1:NSEAL))
RLA_OASIS_SND(:,1) = TMP(1:NSEAL)
CALL CPL_OASIS_SND(IB_DO, ID_OASIS_TIME, RLA_OASIS_SND, LL_ACTION)
ENDIF
Expand All @@ -203,53 +203,53 @@
! Wave-ocean momentum flux (tauox in m2.s-2)
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3_TWOX') THEN
TMP(1:NSEALM) = 0.0
WHERE(TAUOX /= UNDEF) TMP=TAUOX
TMP(1:NSEAL) = 0.0
WHERE(TAUOX(1:NSEAL) /= UNDEF) TMP(1:NSEAL)=TAUOX(1:NSEAL)
RLA_OASIS_SND(:,1) = DBLE(TMP(1:NSEAL))
CALL CPL_OASIS_SND(IB_DO, ID_OASIS_TIME, RLA_OASIS_SND, LL_ACTION)
ENDIF
!
! Wave-ocean momentum flux (tauoy in m2.s-2)
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3_TWOY') THEN
TMP(1:NSEALM) = 0.0
WHERE(TAUOY /= UNDEF) TMP=TAUOY
TMP(1:NSEAL) = 0.0
WHERE(TAUOY(1:NSEAL) /= UNDEF) TMP(1:NSEAL)=TAUOY(1:NSEAL)
RLA_OASIS_SND(:,1) = DBLE(TMP(1:NSEAL))
CALL CPL_OASIS_SND(IB_DO, ID_OASIS_TIME, RLA_OASIS_SND, LL_ACTION)
ENDIF
!
! Wave-to-ocean TKE flux (phioc in W.m-2)
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3__FOC') THEN
TMP(1:NSEALM) = 0.0
WHERE(PHIOC /= UNDEF) TMP=PHIOC
TMP(1:NSEAL) = 0.0
WHERE(PHIOC(1:NSEAL) /= UNDEF) TMP(1:NSEAL)=PHIOC(1:NSEAL)
RLA_OASIS_SND(:,1) = DBLE(TMP(1:NSEAL))
CALL CPL_OASIS_SND(IB_DO, ID_OASIS_TIME, RLA_OASIS_SND, LL_ACTION)
ENDIF
!
! Momentum flux due to bottom friction (taubblx in m2.s-2)
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3_TBBX') THEN
TMP(1:NSEALM) = 0.0
WHERE(TAUBBL(:,1) /= UNDEF) TMP(:)=TAUBBL(:,1)
TMP(1:NSEAL) = 0.0
WHERE(TAUBBL(1:NSEAL,1) /= UNDEF) TMP(1:NSEAL)=TAUBBL(1:NSEAL,1)
RLA_OASIS_SND(:,1) = DBLE(TMP(1:NSEAL))
CALL CPL_OASIS_SND(IB_DO, ID_OASIS_TIME, RLA_OASIS_SND, LL_ACTION)
ENDIF
!
! Momentum flux due to bottom friction (taubbly in m2.s-2)
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3_TBBY') THEN
TMP(1:NSEALM) = 0.0
WHERE(TAUBBL(:,2) /= UNDEF) TMP(:)=TAUBBL(:,2)
TMP(1:NSEAL) = 0.0
WHERE(TAUBBL(1:NSEAL,2) /= UNDEF) TMP(1:NSEAL)=TAUBBL(1:NSEAL,2)
RLA_OASIS_SND(:,1) = DBLE(TMP(1:NSEAL))
CALL CPL_OASIS_SND(IB_DO, ID_OASIS_TIME, RLA_OASIS_SND, LL_ACTION)
ENDIF
!
! Energy flux due to bottom friction (phibbl in W.m-2)
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3__FBB') THEN
TMP(1:NSEALM) = 0.0
WHERE(PHIBBL /= UNDEF) TMP=PHIBBL
TMP(1:NSEAL) = 0.0
WHERE(PHIBBL(1:NSEAL) /= UNDEF) TMP(1:NSEAL)=PHIBBL(1:NSEAL)
RLA_OASIS_SND(:,1) = DBLE(TMP(1:NSEAL))
CALL CPL_OASIS_SND(IB_DO, ID_OASIS_TIME, RLA_OASIS_SND, LL_ACTION)
ENDIF
Expand All @@ -264,80 +264,80 @@
! x component of the near-bottom rms wave velocity (in m.s-1)
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3_UBRX') THEN
TMP(1:NSEALM) = 0.0
WHERE(UBA /= UNDEF) TMP=UBA*COS(UBD)
TMP(1:NSEAL) = 0.0
WHERE(UBA(1:NSEAL) /= UNDEF) TMP(1:NSEAL)=UBA(1:NSEAL)*COS(UBD(1:NSEAL))
RLA_OASIS_SND(:,1) = TMP(1:NSEAL)
CALL CPL_OASIS_SND(IB_DO, ID_OASIS_TIME, RLA_OASIS_SND, LL_ACTION)
ENDIF
!
! y component of the near-bottom rms wave velocity (in m.s-1)
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3_UBRY') THEN
TMP(1:NSEALM) = 0.0
WHERE(UBA /= UNDEF) TMP=UBA*SIN(UBD)
TMP(1:NSEAL) = 0.0
WHERE(UBA(1:NSEAL) /= UNDEF) TMP(1:NSEAL)=UBA(1:NSEAL)*SIN(UBD(1:NSEAL))
RLA_OASIS_SND(:,1) = TMP(1:NSEAL)
CALL CPL_OASIS_SND(IB_DO, ID_OASIS_TIME, RLA_OASIS_SND, LL_ACTION)
ENDIF
!
! Net wave-supported stress, u component (tauwix in m2.s-2)
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3_TAWX') THEN
TMP(1:NSEALM) = 0.0
WHERE(TAUWIX /= UNDEF) TMP=TAUWIX
TMP(1:NSEAL) = 0.0
WHERE(TAUWIX(1:NSEAL) /= UNDEF) TMP(1:NSEAL)=TAUWIX(1:NSEAL)
RLA_OASIS_SND(:,1) = DBLE(TMP(1:NSEAL))
CALL CPL_OASIS_SND(IB_DO, ID_OASIS_TIME, RLA_OASIS_SND, LL_ACTION)
ENDIF
!
! Net wave-supported stress, v component (tauwix in m2.s-2)
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3_TAWY') THEN
TMP(1:NSEALM) = 0.0
WHERE(TAUWIY /= UNDEF) TMP=TAUWIY
TMP(1:NSEAL) = 0.0
WHERE(TAUWIY(1:NSEAL) /= UNDEF) TMP(1:NSEAL)=TAUWIY(1:NSEAL)
RLA_OASIS_SND(:,1) = DBLE(TMP(1:NSEAL))
CALL CPL_OASIS_SND(IB_DO, ID_OASIS_TIME, RLA_OASIS_SND, LL_ACTION)
ENDIF
!
! Volume transport associated to Stokes drift, u component (tusx in m2.s-1)
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3_TUSX') THEN
TMP(1:NSEALM) = 0.0
WHERE(TUSX /= UNDEF) TMP=TUSX
TMP(1:NSEAL) = 0.0
WHERE(TUSX(1:NSEAL) /= UNDEF) TMP(1:NSEAL)=TUSX(1:NSEAL)
RLA_OASIS_SND(:,1) = DBLE(TMP(1:NSEAL))
CALL CPL_OASIS_SND(IB_DO, ID_OASIS_TIME, RLA_OASIS_SND, LL_ACTION)
ENDIF
!
! Volume transport associated to Stokes drift, v component (tusy in m2.s-1)
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3_TUSY') THEN
TMP(1:NSEALM) = 0.0
WHERE(TUSY /= UNDEF) TMP=TUSY
TMP(1:NSEAL) = 0.0
WHERE(TUSY(1:NSEAL) /= UNDEF) TMP(1:NSEAL)=TUSY(1:NSEAL)
RLA_OASIS_SND(:,1) = DBLE(TMP(1:NSEAL))
CALL CPL_OASIS_SND(IB_DO, ID_OASIS_TIME, RLA_OASIS_SND, LL_ACTION)
ENDIF
!
! Surface Stokes drift, u component (ussx in m.s-1)
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3_USSX') THEN
TMP(1:NSEALM) = 0.0
WHERE(USSX /= UNDEF) TMP=USSX
TMP(1:NSEAL) = 0.0
WHERE(USSX(1:NSEAL) /= UNDEF) TMP(1:NSEAL)=USSX(1:NSEAL)
RLA_OASIS_SND(:,1) = DBLE(TMP(1:NSEAL))
CALL CPL_OASIS_SND(IB_DO, ID_OASIS_TIME, RLA_OASIS_SND, LL_ACTION)
ENDIF
!
! Surface Stokes drift, v component (ussy in m.s-1)
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3_USSY') THEN
TMP(1:NSEALM) = 0.0
WHERE(USSY /= UNDEF) TMP=USSY
TMP(1:NSEAL) = 0.0
WHERE(USSY(1:NSEAL) /= UNDEF) TMP(1:NSEAL)=USSY(1:NSEAL)
RLA_OASIS_SND(:,1) = DBLE(TMP(1:NSEAL))
CALL CPL_OASIS_SND(IB_DO, ID_OASIS_TIME, RLA_OASIS_SND, LL_ACTION)
ENDIF
!
! Mean wave length (wlm in m)
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3___LM') THEN
TMP(1:NSEALM) = 0.0
WHERE(WLM /= UNDEF) TMP=WLM
TMP(1:NSEAL) = 0.0
WHERE(WLM(1:NSEAL) /= UNDEF) TMP(1:NSEAL)=WLM(1:NSEAL)
RLA_OASIS_SND(:,1) = DBLE(TMP(1:NSEAL))
CALL CPL_OASIS_SND(IB_DO, ID_OASIS_TIME, RLA_OASIS_SND, LL_ACTION)
ENDIF
Expand Down