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 all commits
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
11 changes: 5 additions & 6 deletions model/ftn/w3agcmmd.ftn
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,6 @@
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)
TMP(JSEA)=CY(ISEA)
END DO
RLA_OASIS_SND(:,1) = DBLE(TMP(1:NSEAL))
CALL CPL_OASIS_SND(IB_DO, ID_OASIS_TIME, RLA_OASIS_SND, LL_ACTION)
Expand All @@ -146,7 +145,7 @@
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3_ACHA') THEN
TMP(1:NSEAL) = 0.0
WHERE(CHARN /= UNDEF) TMP=CHARN
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
Expand All @@ -155,7 +154,7 @@
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3__AHS') THEN
TMP(1:NSEAL) = 0.0
WHERE(HS /= UNDEF) TMP=HS
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
Expand All @@ -164,7 +163,7 @@
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3___FP') THEN
TMP(1:NSEAL) = 0.0
WHERE(FP0 /= UNDEF) TMP=FP0
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
Expand All @@ -173,7 +172,7 @@
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3___TP') THEN
TMP(1:NSEAL) = 0.0
WHERE(FP0 /= UNDEF) TMP=1./FP0
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
Expand All @@ -182,7 +181,7 @@
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3__FWS') THEN
TMP(1:NSEAL) = 0.0
WHERE(TWS /= UNDEF) TMP=TWS
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
4 changes: 2 additions & 2 deletions model/ftn/w3igcmmd.ftn
Original file line number Diff line number Diff line change
Expand Up @@ -131,13 +131,13 @@

CASE ('WW3_TWIX')
TMP(1:NSEAL) = 0.0
WHERE(TAUICE(:,1) /= UNDEF) TMP(:)=TAUICE(:,1)
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:NSEAL) = 0.0
WHERE(TAUICE(:,2) /= UNDEF) TMP(:)=TAUICE(:,2)
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
52 changes: 26 additions & 26 deletions model/ftn/w3ogcmmd.ftn
Original file line number Diff line number Diff line change
Expand Up @@ -108,9 +108,9 @@
!
USE W3OACPMD, ONLY: ID_OASIS_TIME, IL_NB_SND, SND_FLD, CPL_OASIS_SND
USE W3GDATMD, ONLY: NSEAL, MAPSTA, MAPSF
USE W3ADATMD, ONLY: HS, T0M1, THM, BHD, TAUOX, TAUOY, PHIOC, UBA, UBD, &
TAUWIX, TAUWIY, TUSX, TUSY, USSX, USSY, WLM, &
PHIBBL,TAUBBL, CHARN
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 @@ -121,12 +121,12 @@
!/ ------------------------------------------------------------------- /
!/ Local parameters
!/
INTEGER :: I, ISEA, IX, IY
INTEGER, DIMENSION(NSEAL) :: MASK
INTEGER :: I, ISEA, IX, IY
INTEGER, DIMENSION(NSEAL) :: MASK
REAL(kind=8), DIMENSION(NSEAL,1) :: RLA_OASIS_SND
INTEGER :: IB_DO
LOGICAL :: LL_ACTION
REAL(kind=8), DIMENSION(NSEAL) :: TMP
INTEGER :: IB_DO
LOGICAL :: LL_ACTION
REAL(kind=8), DIMENSION(NSEAL) :: TMP
!
!----------------------------------------------------------------------
! * Executable part
Expand All @@ -152,7 +152,7 @@
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3_T0M1') THEN
TMP(1:NSEAL) = 0.0
WHERE(T0M1 /= UNDEF) TMP=T0M1
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 @@ -177,7 +177,7 @@
! theta : trigonometric convention ( 0 at East, 90 at North)
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3_CDIR') THEN
TMP(1:NSEAL) = 0.0
WHERE(THM /= UNDEF) TMP=COS(THM)
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 @@ -188,7 +188,7 @@
! theta : trigonometric convention ( 0 at East, 90 at North)
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3_SDIR') THEN
TMP(1:NSEAL) = 0.0
WHERE(THM /= UNDEF) TMP=SIN(THM)
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 @@ -204,7 +204,7 @@
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3_TWOX') THEN
TMP(1:NSEAL) = 0.0
WHERE(TAUOX /= UNDEF) TMP(:)=TAUOX(:)
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
Expand All @@ -213,7 +213,7 @@
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3_TWOY') THEN
TMP(1:NSEAL) = 0.0
WHERE(TAUOY /= UNDEF) TMP(:)=TAUOY (:)
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
Expand All @@ -222,7 +222,7 @@
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3__FOC') THEN
TMP(1:NSEAL) = 0.0
WHERE(PHIOC /= UNDEF) TMP(:)=PHIOC(:)
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
Expand All @@ -231,7 +231,7 @@
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3_TBBX') THEN
TMP(1:NSEAL) = 0.0
WHERE(TAUOX /= UNDEF) TMP(:)=TAUBBL(:,1)
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
Expand All @@ -240,7 +240,7 @@
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3_TBBY') THEN
TMP(1:NSEAL) = 0.0
WHERE(TAUOY /= UNDEF) TMP(:)=TAUBBL(:,2)
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
Expand All @@ -249,7 +249,7 @@
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3__FBB') THEN
TMP(1:NSEAL) = 0.0
WHERE(PHIOC /= UNDEF) TMP(:)=PHIBBL(:)
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 @@ -265,7 +265,7 @@
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3_UBRX') THEN
TMP(1:NSEAL) = 0.0
WHERE(UBA(:) /= UNDEF) TMP=UBA(:)*COS(UBD(:))
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
Expand All @@ -274,7 +274,7 @@
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3_UBRY') THEN
TMP(1:NSEAL) = 0.0
WHERE(UBA(:) /= UNDEF) TMP=UBA(:)*SIN(UBD(:))
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
Expand All @@ -283,7 +283,7 @@
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3_TAWX') THEN
TMP(1:NSEAL) = 0.0
WHERE(TAUWIX /= UNDEF) TMP(:)=TAUWIX(:)
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
Expand All @@ -292,7 +292,7 @@
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3_TAWY') THEN
TMP(1:NSEAL) = 0.0
WHERE(TAUWIY /= UNDEF) TMP(:)=TAUWIY(:)
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
Expand All @@ -301,7 +301,7 @@
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3_TUSX') THEN
TMP(1:NSEAL) = 0.0
WHERE(TUSX /= UNDEF) TMP(:)=TUSX(:)
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
Expand All @@ -310,7 +310,7 @@
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3_TUSY') THEN
TMP(1:NSEAL) = 0.0
WHERE(TUSY /= UNDEF) TMP(:)=TUSY(:)
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
Expand All @@ -319,7 +319,7 @@
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3_USSX') THEN
TMP(1:NSEAL) = 0.0
WHERE(USSX /= UNDEF) TMP(:)=USSX(:)
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
Expand All @@ -328,7 +328,7 @@
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3_USSY') THEN
TMP(1:NSEAL) = 0.0
WHERE(USSY /= UNDEF) TMP(:)=USSY(:)
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
Expand All @@ -337,7 +337,7 @@
! ---------------------------------------------------------------------
IF (SND_FLD(IB_DO)%CL_FIELD_NAME == 'WW3___LM') THEN
TMP(1:NSEAL) = 0.0
WHERE(WLM /= UNDEF) TMP(:)=WLM(:)
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
3 changes: 3 additions & 0 deletions regtests/bin/matrix.comp
Original file line number Diff line number Diff line change
Expand Up @@ -279,6 +279,9 @@
ncdump $file > $output/${basename}_base.txt
ncdump $return_comp/$run/$file > $output/${basename}_comp.txt
diff $output/${basename}_base.txt $output/${basename}_comp.txt > $output/${basename}_diff.txt
if [[ $basename == rmp_* ]]; then
grep -v "history" $output/${basename}_diff.txt > $output/${basename}_diff.txt
fi
size_1=`wc -l $output/${basename}_diff.txt | awk '{ print $1}'`
if [ "$size_1" = '0' ]
then
Expand Down