Skip to content

Commit

Permalink
Bf unconforming where in coupling routines (#17)
Browse files Browse the repository at this point in the history
* Fix non-conforming WHERE statements in coupled routines
* Stop comparing history lines in OASIS rmp files
  • Loading branch information
ukmo-juan-castillo authored Oct 22, 2020
1 parent 35e6831 commit e698b48
Show file tree
Hide file tree
Showing 4 changed files with 36 additions and 34 deletions.
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
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

0 comments on commit e698b48

Please sign in to comment.