Skip to content

Commit d09a7a9

Browse files
Update dev/ufs-weather-model with develop from 2025-03-20 #1397
2 parents d040ccf + 5c061a1 commit d09a7a9

35 files changed

+1708
-831
lines changed

manual/eqs/output.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -311,7 +311,7 @@ \subsection{~Output parameters} \label{sub:outpars}
311311
0.5 \left[ A(k,\theta)+ A(k,\theta+\pi)\right]^2 \frac{\sigma^2}{k C_g} \:\rd \theta \: \rd \sigma \: \label{eq:qkk}
312312
\end{equation}
313313
\item \textbf{SKW} Skewness of surface elevation sampled at zero slope. This is the $\lambda_1$ parameter defined in \cite{Barrick&Lipa1985} or $\lambda_{3,0,0}$ in \cite{Srokosz1986}. It is computed from the second order correction to the surface elevation, using ECWAM code by P. Janssen.
314-
\item \textbf{EMB} this is $-\gamma/8 = -(\lambda_{1,2,0}+\lambda_{1,0,2}-2 \lambda{0,1,1} \lambda{1,1,1})/8 (1-\lambda_{0,1,1]^2)$, such that the mean sea level of points with zero slope
314+
\item \textbf{EMB} this is $-\gamma/8 = -(\lambda_{1,2,0}+\lambda_{1,0,2}-2 \lambda{0,1,1} \lambda{1,1,1})/8 (1-\lambda_{0,1,1}^2)$, such that the mean sea level of points with zero slope
315315
is EMB$\times H_s$.
316316
\item \textbf{EMC} this is hte additional tracker bias coefficient equal to $-\lambda_{3,0,0}/24$, which is specific to the choice of retracker, see the $J_z$ function in \cite{DeCarlo&Ardhuin2024}.
317317
\end{list}

model/bin/switch_meshcap

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
NCO NOGRB DIST MPI OMPG OMPH PIO PR3 UQ FLX0 SEED ST4 STAB0 NL1 BT1 DB1 MLIM FLD2 TR0 BS0 RWND WNX1 WNT1 CRX1 CRT1 O0 O1 O2 O3 O4 O5 O6 O7 O14 O15 IC0 IS0 REF0
1+
NCO NOGRB BIN2NC DIST MPI OMPG OMPH PIO PR3 UQ FLX0 SEED ST4 STAB0 NL1 BT1 DB1 MLIM FLD2 TR0 BS0 RWND WNX1 WNT1 CRX1 CRT1 O0 O1 O2 O3 O4 O5 O6 O7 O14 O15 IC0 IS0 REF0

model/bin/switch_meshcap_pdlib

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
NCO PDLIB SCOTCH NOGRB DIST MPI PIO PR3 UQ FLX0 SEED ST4 STAB0 NL1 BT1 DB1 MLIM FLD2 TR0 BS0 RWND WNX1 WNT1 CRX1 CRT1 O0 O1 O2 O3 O4 O5 O6 O7 O14 O15 IC0 IS0 REF0
1+
NCO PDLIB SCOTCH NOGRB BIN2NC DIST MPI PIO PR3 UQ FLX0 SEED ST4 STAB0 NL1 BT1 DB1 MLIM FLD2 TR0 BS0 RWND WNX1 WNT1 CRX1 CRT1 O0 O1 O2 O3 O4 O5 O6 O7 O14 O15 IC0 IS0 REF0

model/bin/switch_meshcap_pdlib_bt4

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
NCO PDLIB SCOTCH NOGRB DIST MPI PIO PR3 UQ FLX0 SEED ST4 STAB0 NL1 BT4 DB1 MLIM FLD2 TR0 BS0 RWND WNX1 WNT1 CRX1 CRT1 O0 O1 O2 O3 O4 O5 O6 O7 O14 O15 IC0 IS0 REF0
1+
NCO PDLIB SCOTCH NOGRB BIN2NC DIST MPI PIO PR3 UQ FLX0 SEED ST4 STAB0 NL1 BT4 DB1 MLIM FLD2 TR0 BS0 RWND WNX1 WNT1 CRX1 CRT1 O0 O1 O2 O3 O4 O5 O6 O7 O14 O15 IC0 IS0 REF0

model/inp/ww3_outp.inp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,10 @@ $ -------------------------------------------------------------------- $
22
$ WAVEWATCH III Point output post-processing $
33
$--------------------------------------------------------------------- $
44
$ First output time (yyyymmdd hhmmss), increment of output (s),
5-
$ and number of output times.
5+
$ and number of output times, optional per-time-step (1) or single (0)
6+
$ point output, optional point output prefix
67
$
7-
19680606 060000 3600. 7
8+
19680606 060000 3600. 7 1 gfswave
89
$
910
$ Points requested --------------------------------------------------- $
1011
$ Define points for which output is to be generated.

model/nml/ww3_shel.nml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -316,6 +316,29 @@
316316

317317

318318

319+
! -------------------------------------------------------------------- !
320+
! Define user-defined output paths via OUTPUT_PATH_NML namelist
321+
!
322+
! * user-defined paths include: raw output out_grd, out_pnt, and restart
323+
! * default path for these are set as './'
324+
! * NOTE: using user-defined path may cause post-processing fail
325+
! user-defined directroy must exist before execution
326+
!
327+
! * namelist must be terminated with /
328+
! * definitions & defaults:
329+
! PATH%GRD_OUT = './'
330+
! PATH%PNT_OUT = './'
331+
! PATH%RST_OUT = './'
332+
! -------------------------------------------------------------------- !
333+
&OUTPUT_PATH_NML
334+
PATH%GRD_OUT = './'
335+
PATH%PNT_OUT = './'
336+
PATH%RST_OUT = './'
337+
/
338+
339+
340+
341+
319342
! -------------------------------------------------------------------- !
320343
! Define homogeneous input via HOMOG_COUNT_NML and HOMOG_INPUT_NML namelist
321344
!

model/src/w3bullmd.F90

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -269,23 +269,29 @@ SUBROUTINE W3BULL &
269269
CSVBLINE = BLANK2
270270
!
271271
IPG1 = 0
272-
IF (IOUT .EQ. 1) THEN
273-
DO IP=1, NPTAB
274-
HST(IP,1) = -99.9
275-
TPT(IP,1) = -99.9
276-
DMT(IP,1) = -99.9
277-
ENDDO
278-
DO IP=1, NPMAX
279-
IYY(IP) = .FALSE.
280-
IPI(IP)=1
281-
ILEN(IP)=0
282-
ENDDO
283-
ENDIF
272+
DO IP=1, NPTAB
273+
HST(IP,1) = -99.9
274+
TPT(IP,1) = -99.9
275+
DMT(IP,1) = -99.9
276+
ENDDO
277+
DO IP=1, NPMAX
278+
IYY(IP) = .FALSE.
279+
IPI(IP)=1
280+
ILEN(IP)=0
281+
ENDDO
284282
!
285283
! 3. Get overall wave height ---------------------------------------- *
286284
!
287285
HSTOT = XPART(1,0)
288286
TP = XPART(2,0)
287+
288+
! Ensure all values are initialized before using them
289+
DO IP=1, NPMAX
290+
HSP(IP) = 0.00
291+
TPP(IP) = -999.99
292+
DMP(IP) = -999.99
293+
END DO
294+
289295
DO IP=1, NPART
290296
HSP(IP) = XPART(1,IP)
291297
TPP(IP) = XPART(2,IP)

model/src/w3gridmd.F90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -845,7 +845,7 @@ MODULE W3GRIDMD
845845
#ifdef W3_ST4
846846
INTEGER :: SWELLFPAR, SDSISO, SDSBRFDF, SINTABLE,&
847847
TAUWBUG
848-
REAL :: SDSBCHOICE
848+
REAL :: SDSBCHOICE
849849
REAL :: ZWND, ALPHA0, Z0MAX, BETAMAX, SINTHP,&
850850
ZALP, Z0RAT, TAUWSHELTER, SWELLF, &
851851
SWELLF2,SWELLF3,SWELLF4, SWELLF5, &

model/src/w3initmd.F90

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -374,7 +374,7 @@ SUBROUTINE W3INIT ( IMOD, IsMulti, FEXT, MDS, MTRACE, ODAT, FLGRD, FLGR2, FLGD,
374374
USE W3WDATMD, ONLY: W3SETW, W3DIMW
375375
USE W3ADATMD, ONLY: W3SETA, W3DIMA
376376
USE W3IDATMD, ONLY: W3SETI, W3DIMI
377-
USE W3ODATMD, ONLY: W3SETO, W3DMO5
377+
USE W3ODATMD, ONLY: W3SETO, W3DMO5, FNMRST
378378
USE W3IOGOMD, ONLY: W3FLGRDUPDT
379379
USE W3IOGRMD, ONLY: W3IOGR
380380
USE W3IORSMD, ONLY: W3IORS
@@ -667,7 +667,6 @@ SUBROUTINE W3INIT ( IMOD, IsMulti, FEXT, MDS, MTRACE, ODAT, FLGRD, FLGR2, FLGD,
667667
STOP
668668
ENDIF
669669
#endif
670-
671670
!
672671
! 1.c Open files without unpacking MDS ,,,
673672
!
@@ -970,9 +969,9 @@ SUBROUTINE W3INIT ( IMOD, IsMulti, FEXT, MDS, MTRACE, ODAT, FLGRD, FLGR2, FLGD,
970969
if (runtype == 'continue' )then
971970
call set_user_timestring(time,user_timestring)
972971
if (restart_from_binary) then
973-
fname = trim(user_restfname)//trim(user_timestring)
972+
fname = trim(FNMRST)//trim(user_restfname)//trim(user_timestring)
974973
else
975-
fname = trim(user_restfname)//trim(user_timestring)//'.nc'
974+
fname = trim(FNMRST)//trim(user_restfname)//trim(user_timestring)//'.nc'
976975
endif
977976
inquire(file=trim(fname), exist=exists)
978977
if (exists) then
@@ -987,7 +986,7 @@ SUBROUTINE W3INIT ( IMOD, IsMulti, FEXT, MDS, MTRACE, ODAT, FLGRD, FLGR2, FLGD,
987986
else
988987
if (restart_from_binary) then
989988
call set_user_timestring(time,user_timestring)
990-
fname = trim(user_restfname)//trim(user_timestring)
989+
fname = trim(FNMRST)//trim(user_restfname)//trim(user_timestring)
991990
inquire(file=trim(fname), exist=exists)
992991
if (exists) then
993992
call w3iors('READ', nds(6), sig(nk), imod, filename=trim(fname))
@@ -1292,7 +1291,11 @@ SUBROUTINE W3INIT ( IMOD, IsMulti, FEXT, MDS, MTRACE, ODAT, FLGRD, FLGR2, FLGD,
12921291
!
12931292
! 4.d Preprocessing for point output.
12941293
!
1295-
IF ( FLOUT(2) ) CALL W3IOPP ( NPT, XPT, YPT, PNAMES, IMOD )
1294+
#ifdef W3_MPI
1295+
IF ( FLOUT(2) ) CALL W3IOPP ( NPT, XPT, YPT, PNAMES, IMOD, MPI_COMM_WAVE )
1296+
#else
1297+
IF ( FLOUT(2) ) CALL W3IOPP ( NPT, XPT, YPT, PNAMES, IMOD, 1 )
1298+
#endif
12961299
#ifdef W3_PDLIB
12971300
CALL DEALLOCATE_PDLIB_GLOBAL(IMOD)
12981301
#endif

0 commit comments

Comments
 (0)