Skip to content

Commit

Permalink
Merge remote-tracking branch 'EMC/develop' into bug/runcmaketest
Browse files Browse the repository at this point in the history
 Conflicts:
	regtests/bin/run_cmake_test
  • Loading branch information
JessicaMeixner-NOAA committed Mar 11, 2024
2 parents fddbd93 + 156a46d commit 09c39ee
Show file tree
Hide file tree
Showing 4 changed files with 54 additions and 17 deletions.
26 changes: 18 additions & 8 deletions model/src/w3gridmd.F90
Original file line number Diff line number Diff line change
Expand Up @@ -678,6 +678,7 @@ MODULE W3GRIDMD
#endif
!
#ifdef W3_SMC
REAL :: DVSMC
REAL :: TRNMX, TRNMY
INTEGER, ALLOCATABLE :: NLvCelsk(:), NLvUFcsk(:), NLvVFcsk(:)
INTEGER, ALLOCATABLE :: IJKCelin(:,:),IJKUFcin(:,:),IJKVFcin(:,:)
Expand Down Expand Up @@ -3944,6 +3945,12 @@ SUBROUTINE W3GRID()
IF (IDFM.EQ.2) WRITE (NDSO,973) TRIM(RFORM)
IF (FROM.EQ.'NAME' .AND. NDSG.NE.NDSI) &
WRITE (NDSO,974) TRIM(FNAME)

#ifdef W3_SMC
!Li Save the depth conversion factor for SMC grid use. JGLi03Nov2023
DVSMC = VSC
#endif

!
! 7.e Read bottom depths
!
Expand Down Expand Up @@ -5065,14 +5072,17 @@ SUBROUTINE W3GRID()
CALL EXTCDE(65)
END IF

!Li Minimum DMIN depth is used as well for SMC.
ZB(ISEA)= - MAX( DMIN, FLOAT( IJKDep(ISEA) ) )
MAPFS(IY:IY+JS-1,IX:IX+IK-1) = ISEA
MAPSTA(IY:IY+JS-1,IX:IX+IK-1) = 1
MAPST2(IY:IY+JS-1,IX:IX+IK-1) = 0
MAPSF(ISEA,1) = IX
MAPSF(ISEA,2) = IY
MAPSF(ISEA,3) = IY + (IX -1)*NY
!Li Allow land cell to be defined by ZLIM value and only reset
!Li MAPST* land values for sea points. JGLi03Nov2023
ZB(ISEA) = DVSMC * FLOAT(IJKDep(ISEA))
IF( ZB(ISEA) .LT. ZLIM ) THEN
MAPSTA(IY:IY+JS-1,IX:IX+IK-1) = 1
MAPST2(IY:IY+JS-1,IX:IX+IK-1) = 0
ENDIF
MAPFS(IY:IY+JS-1,IX:IX+IK-1) = ISEA
MAPSF(ISEA,1) = IX
MAPSF(ISEA,2) = IY
MAPSF(ISEA,3) = IY + (IX-1) * NY

!Li New variable CLATS to hold cosine latitude at cell centre.
!Li Also added CLATIS and CTHG0S for version 4.08.
Expand Down
13 changes: 13 additions & 0 deletions model/src/ww3_multi.F90
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,9 @@ PROGRAM W3MLTI
!/
USE WMMDATMD, ONLY: MDSI, MDSO, MDSS, MDST, MDSE, &
NMPROC, IMPROC, NMPSCR, NRGRD, ETIME
#ifdef W3_OMPG
USE OMP_LIB
#endif
!/
IMPLICIT NONE
!
Expand Down Expand Up @@ -144,6 +147,12 @@ PROGRAM W3MLTI
#ifdef W3_OMPH
IF ( IMPROC .EQ. NMPSCR ) WRITE (*,905) &
MPI_THREAD_FUNNELED, THRLEV
#endif
!
#ifdef W3_OMPG
IF( IMPROC .EQ. NMPSCR ) THEN
WRITE(*,906) omp_get_max_threads()
ENDIF
#endif
!
!/ ------------------------------------------------------------------- /
Expand Down Expand Up @@ -210,6 +219,10 @@ PROGRAM W3MLTI
905 FORMAT ( ' Hybrid MPI/OMP thread support level:'/ &
' Requested: ', I2/ &
' Provided: ', I2/ )
#endif
!
#ifdef W3_OMPG
906 FORMAT ( ' OMP threading enabled. Number of threads: ', I3 / )
#endif
!
999 FORMAT(//' End of program '/ &
Expand Down
14 changes: 14 additions & 0 deletions model/src/ww3_shel.F90
Original file line number Diff line number Diff line change
Expand Up @@ -304,6 +304,10 @@ PROGRAM W3SHEL
#endif
!
USE W3NMLSHELMD

#ifdef W3_OMPG
USE OMP_LIB
#endif
IMPLICIT NONE
!
#ifdef W3_MPI
Expand Down Expand Up @@ -481,6 +485,7 @@ PROGRAM W3SHEL
#ifdef W3_OMPH
ENDIF
#endif

#ifdef W3_MPI
MPI_COMM = MPI_COMM_WORLD
#endif
Expand Down Expand Up @@ -583,6 +588,11 @@ PROGRAM W3SHEL
MPI_THREAD_FUNNELED, THRLEV
#endif
!
#ifdef W3_OMPG
IF(IAPROC .EQ. NAPOUT) THEN
WRITE(NDSO, 906) omp_get_max_threads()
ENDIF
#endif

!
! 1.b For WAVEWATCH III (See W3INIT)
Expand Down Expand Up @@ -2737,6 +2747,10 @@ PROGRAM W3SHEL
905 FORMAT ( ' Hybrid MPI/OMP thread support level:'/ &
' Requested: ', I2/ &
' Provided: ', I2/ )
#endif
!
#ifdef W3_OMPG
906 FORMAT ( ' OMP threading enabled. Number of threads: ', I3 / )
#endif
920 FORMAT (/' Input fields : '/ &
' --------------------------------------------------')
Expand Down
18 changes: 9 additions & 9 deletions regtests/bin/run_cmake_test
Original file line number Diff line number Diff line change
Expand Up @@ -435,21 +435,21 @@ then

echo "Switch file is $path_build/switch with switches:" >> $ofile
cat $path_build/switch >> $ofile
cmake $path_cmake ${CMAKE_OPTIONS} -DSWITCH=$path_build/switch -DCMAKE_INSTALL_PREFIX=install > $ofile 2>&1
cmake $path_cmake ${CMAKE_OPTIONS} -DSWITCH=$path_build/switch -DCMAKE_INSTALL_PREFIX=install >> $ofile 2>&1
rc=$?
if (( rc != 0 )); then
echo "Fatal error in cmake."
echo "The build log is in ${ofile}"
exit ${rc}
fi
make -j 8 > $ofile 2>&1
make -j 8 VERBOSE=1 >> $ofile 2>&1
rc=$?
if (( rc != 0 )); then
echo "Fatal error in make."
echo "The build log is in ${ofile}"
exit ${rc}
fi
make install > $ofile 2>&1
make install >> $ofile 2>&1
rc=$?
if (( rc != 0 )); then
echo "Fatal error in make install."
Expand All @@ -469,21 +469,21 @@ then
\cp -f $file_c $path_build/switch
echo "Switch file is $path_build/switch with switches:" >> $ofile
cat $path_build/switch >> $ofile
cmake $path_cmake ${CMAKE_OPTIONS} -DSWITCH=$path_build/switch -DCMAKE_INSTALL_PREFIX=install > $ofile 2>&1
cmake $path_cmake ${CMAKE_OPTIONS} -DSWITCH=$path_build/switch -DCMAKE_INSTALL_PREFIX=install >> $ofile 2>&1
rc=$?
if (( rc != 0 )); then
echo "Fatal error in cmake."
echo "The build log is in ${ofile}"
exit ${rc}
fi
make -j 8 > $ofile 2>&1
make -j 8 VERBOSE=1 >> $ofile 2>&1
rc=$?
if (( rc != 0 )); then
echo "Fatal error in make."
echo "The build log is in ${ofile}"
exit ${rc}
fi
make install > $ofile 2>&1
make install >> $ofile 2>&1
rc=$?
if (( rc != 0 )); then
echo "Fatal error in make install."
Expand All @@ -510,21 +510,21 @@ else
fi
echo "Switch file is $path_build/switch with switches:" >> $ofile
cat $path_build/switch >> $ofile
cmake $path_cmake ${CMAKE_OPTIONS} -DSWITCH=$path_build/switch -DCMAKE_INSTALL_PREFIX=install > $ofile 2>&1
cmake $path_cmake ${CMAKE_OPTIONS} -DSWITCH=$path_build/switch -DCMAKE_INSTALL_PREFIX=install >> $ofile 2>&1
rc=$?
if (( rc != 0 )); then
echo "Fatal error in cmake."
echo "The build log is in ${ofile}"
exit ${rc}
fi
make -j 8 > $ofile 2>&1
make -j 8 VERBOSE=1 >> $ofile 2>&1
rc=$?
if (( rc != 0 )); then
echo "Fatal error in make."
echo "The build log is in ${ofile}"
exit ${rc}
fi
make install > $ofile 2>&1
make install >> $ofile 2>&1
rc=$?
if (( rc != 0 )); then
echo "Fatal error in make."
Expand Down

0 comments on commit 09c39ee

Please sign in to comment.