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

NCEP GFSv16/GEFSv12 #140

Merged
merged 66 commits into from
Jan 13, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
66 commits
Select commit Hold shift + click to select a range
c471cda
Updating to latest upstream (NOAA-EMC/WW3).
ajhenrique Jun 10, 2019
5acd9d2
Revert "Updating to latest upstream (NOAA-EMC/WW3)."
ajhenrique Jun 10, 2019
a939155
Merge remote-tracking branch 'upstream/develop' into develop
ajhenrique Jun 10, 2019
a6cf904
Merge remote-tracking branch 'upstream/develop' into develop. 20190625
ajhenrique Jun 25, 2019
818a52f
Merge remote-tracking branch 'upstream/develop' commit 4bacd02 into a…
ajhenrique Oct 10, 2019
951aafa
Merge remote-tracking branch 'upstream/develop' into develop
ajhenrique Oct 22, 2019
723913a
Fb gefsv12 (#115)
ajhenrique Oct 26, 2019
9a5f433
Fixing indices nx/ny for exporting ESMF grid in module /model/ftn/wme…
JessicaMeixner-NOAA Oct 26, 2019
25e7c42
Correcting the ABX2/ABY2 computation in w3iogomd.ftn
nacbrother Oct 26, 2019
da0942c
Replacing single for double quotes to correct comp/link.wcoss_dell_p3…
ajhenrique Oct 27, 2019
bb8c07d
Added output for fields in separated files every delta t for output
Oct 28, 2019
fcd5a6d
Moving profiling flag -p to optional block. Removing -p improves perf…
ajhenrique Oct 29, 2019
9c44742
Merge branch 'develop' into GEFS_v12
ajhenrique Oct 30, 2019
91bf936
working for field ouputs
Oct 31, 2019
ebdea19
multi and shel are working for inline field ouputs
Nov 1, 2019
1f03713
progressing in inline point ouputs
Nov 2, 2019
dddb378
Adding lower bound for frequency value equal to lowest discrete frequ…
ajhenrique Nov 2, 2019
f7acb17
Adding to w3iogomd and ww3_grib lower bound for frequency value equal…
ajhenrique Nov 2, 2019
0a220ff
InlinePost ready for namelist as well
Nov 2, 2019
6c4c82f
Working for shel and multi
Nov 5, 2019
7136168
inline posproc ready for namelist as well
Nov 6, 2019
1b9c448
Cleaning the code
Nov 6, 2019
a5f4807
Inline postproc working w/o the parameter
Nov 19, 2019
5586598
merging to upstream, solving conflic on w3iogomd.ftn
Nov 22, 2019
65aca01
Changing the output file names
Nov 25, 2019
e41efa0
changing the naming of output files
Dec 2, 2019
76bb054
Merge remote-tracking branch 'upstream/develop' into develop
ajhenrique Dec 3, 2019
956c940
Merge remote-tracking branch 'RP/InLinePosproc' into FB_checkpoint: s…
ajhenrique Dec 3, 2019
5a37118
Merge remote-tracking branch 'origin/develop' into GEFS_v12
ajhenrique Dec 3, 2019
d499cee
Reverting changes adding FCSTTIME counter for optional gridded and po…
ajhenrique Dec 4, 2019
efe7f68
Starting work to add restart files on separate stride for checkpointing
ajhenrique Dec 4, 2019
a4a4b4f
Adding single-file output per output time step. Merge remote-tracking…
ajhenrique Dec 4, 2019
ca7f680
Correcting bug in unified output that prevented writing single files …
ajhenrique Dec 5, 2019
c529975
Correcting bug the prevented single file per output time step being c…
ajhenrique Dec 5, 2019
f8603ea
Updating ww3_grib to most recent WMO grib2 tables, adding option to e…
ajhenrique Dec 17, 2019
c0559ba
Checkpoint for multi completed
Dec 20, 2019
0471b83
Checkpoint in Shell with traditional input is working
Dec 20, 2019
1a282f8
Changed wmesmfmd to update the WW3 start time stime to the ESMF currT…
ajhenrique Dec 22, 2019
de7b983
nml for checkout for multi is ready
Dec 23, 2019
d1a2a12
Checkoutpoint for WW3 is ready
Dec 23, 2019
106449b
Checkoutpoint for WW3 clean and ready
Dec 23, 2019
ccee827
Merge remote-tracking branch 'origin/develop' into GEFS_v12
ajhenrique Jan 2, 2020
8382865
adding in the regtest mww3_test_06 the set _r for checkpoint
Jan 2, 2020
af36248
adding info for mww3_test_06 the set _r for checkpoint
Jan 2, 2020
f107ef6
Merge branch 'develop' into FB_Checkpoint
Jan 2, 2020
e3feb56
Merge branch 'GEFS_v12' into FB_Checkpoint
ajhenrique Jan 3, 2020
d77fae9
Fb checkpoint (#137)
RobertoPadilla-NOAA Jan 3, 2020
45d1e49
Corrected MPI bug for second restart file cycling: expanded size of F…
ajhenrique Jan 5, 2020
1895f14
Eliminating leftover NRQRS2, IRQRS2
ajhenrique Jan 5, 2020
e7f9bb2
Adding FLOUT(8) to MPI array allocation: this additional output is no…
ajhenrique Jan 6, 2020
d214296
Merge branch 'GEFS_v12' of github.com:NOAA-EMC/WW3 into GEFS_v12
ajhenrique Jan 8, 2020
e651159
Changes to comp/link flags to attempt b4b replicating results from cm…
ajhenrique Jan 8, 2020
5b0057c
Changing back ODAT size to 35 as this was mistakenly changed to 40 an…
ajhenrique Jan 8, 2020
ba922c3
Bugfix to second restart file generation
RobertoPadilla-NOAA Jan 9, 2020
f2b739c
Changing shel.inp to previous version: testing of new inline output s…
ajhenrique Jan 9, 2020
d6bc44b
Changing optimization level to avoid memalloc crash in coupled system…
ajhenrique Jan 10, 2020
5242ff0
Merge branch 'GEFS_v12' of https://github.com/NOAA-EMC/WW3 into GEFS_v12
ajhenrique Jan 10, 2020
97dd0e3
Cleaning up unnecessary messages, removing lower FP bound constraint,…
ajhenrique Jan 10, 2020
7d3c550
Merge branch 'GEFS_v12' of github.com:NOAA-EMC/WW3 into GEFS_v12
ajhenrique Jan 10, 2020
1b18c42
Update switch_NCEP_gwm
ajhenrique Jan 10, 2020
027aba2
Update w3initmd.ftn
ajhenrique Jan 10, 2020
56f889f
Update w3iogomd.ftn
ajhenrique Jan 10, 2020
3e600b4
Update w3wavemd.ftn
ajhenrique Jan 10, 2020
dfcf146
Update wmesmfmd.ftn
ajhenrique Jan 10, 2020
b1d780b
Uploading changes to wmesmfmd and updating comp/link options for Dell
ajhenrique Jan 12, 2020
081a8c7
Expanding info file to provide examples on how to run regtests with n…
ajhenrique Jan 13, 2020
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
10 changes: 1 addition & 9 deletions model/bin/comp.wcoss_dell_p3
Original file line number Diff line number Diff line change
Expand Up @@ -80,17 +80,9 @@

# opt="-c $list -O3 -assume byterecl -ip -module $path_m"

opt="-c $list -module $path_m -no-fma -ip -g -i4 -real-size 32 -fp-model precise -assume byterecl -convert big_endian -fno-alias -fno-fnalias -sox"
opt="$opt -xHOST -qno-opt-dynamic-align -auto -nowarn -align array64byte -Wp,-w"
opt="-c $list -module $path_m -no-fma -ip -g -i4 -real-size 32 -fp-model precise -assume byterecl -convert big_endian -fno-alias -sox -xhost -O2"
# Add profiling
# opt="$opt -p"
### opt="-c $list -O2 -Wp,-w -fno-alias -auto -ftz -assume byterecl -nowarn -sox -align array64byte"
### opt="$opt -xHOST -qno-opt-dynamic-align -fp-model source -ip -module $path_m"
## opt="$opt -nowarn -sox -align array64byte -real-size 32 -xHOST -qno-opt-dynamic-align"
## opt="$opt -debug minimal -fp-model source -qoverride-limits -qopt-prefetch=3"
# opt="-c $list -O3 -assume byterecl -xSSE4.2 -ip -module $path_m"
# opt="-c $list -O3 -assume byterecl -prec-div -prec-sqrt -xHost -align array128byte -ip -module $path_m"
# opt="-c $list -O0 -assume byterecl -g -traceback -check all -fpe0 -ftrapuv -module $path_m"

if [ "$name" != 'ww3_gspl' ]
then
Expand Down
11 changes: 3 additions & 8 deletions model/bin/link.wcoss_dell_p3
Original file line number Diff line number Diff line change
Expand Up @@ -86,17 +86,12 @@

# linking options
libs=""
# opt="-O2 -ip -o $prog"
opt="-o $prog -g"
opt="$opt -xhost"

opt="-o $prog -g -xhost -O2"

# Add profiling
# opt="$opt -p"

# opt="-O3 -ip -o $prog"
# opt="-O3 -xSSE4.2 -ip -o $prog"
# opt="-O3 -prec-div -prec-sqrt -xHost -align array128byte -ip -o $prog"
# opt="-O0 -g -traceback -check all -fpe0 -ftrapuv -o $prog"

# mpi implementation
if [ "$mpi_mod" = 'yes' ]
then
Expand Down
2 changes: 1 addition & 1 deletion model/bin/switch_NCEP_gwm
Original file line number Diff line number Diff line change
@@ -1 +1 @@
F90 NCO NOPA LRB4 NOGRB DIST MPI OMPH OMPG SCRIP SCRIPNC NC4 PR3 UQ ST4 STAB0 FLX0 LN1 NL1 BT1 DB1 IC4 IS0 REF0 TR0 BS0 XX0 WNX1 WNT1 CRX1 CRT1 RWND O0 O1 O2 O4 O5 O6 O7 O14 O15
F90 NCO NOPA NOGRB SHRD SCRIP SCRIPNC NC4 PR3 UQ ST4 STAB0 FLX0 LN1 NL1 BT1 DB1 IC0 IS0 REF0 TR0 BS0 XX0 WNX1 WNT1 CRX1 CRT1 RWND O0 O1 O2 O4 O5 O6 O7 O14 O15
79 changes: 74 additions & 5 deletions model/ftn/w3initmd.ftn
Original file line number Diff line number Diff line change
Expand Up @@ -117,9 +117,11 @@
!/
CONTAINS
!/ ------------------------------------------------------------------- /
SUBROUTINE W3INIT ( IMOD, IsMulti, FEXT, MDS, MTRACE, ODAT,FLGRD, &
SUBROUTINE W3INIT ( IMOD, IsMulti, FEXT, MDS, MTRACE, ODAT &
, FLGRD, &
FLGR2, FLGD, FLG2, NPT, XPT, YPT, PNAMES, &
IPRT, PRTFRM, MPI_COMM, FLAGSTIDEIN )
IPRT, PRTFRM, MPI_COMM, FLAGSTIDEIN)

!/
!/ +-----------------------------------+
!/ | WAVEWATCH III NOAA/NCEP |
Expand Down Expand Up @@ -213,6 +215,7 @@
! 16-20 Id. for OTYPE = 4; restart files.
! 21-25 Id. for OTYPE = 5; boundary data.
! 31-35 Id. for OTYPE = 7; coupling data.
! 36-40 Id. for OTYPE = 8; second restart file
! FLGRD L.A. I Flags for gridded output.
! FLGR2 L.A. I Flags for coupling output.
! NPT Int. I Number of output points
Expand Down Expand Up @@ -388,7 +391,8 @@
!/ Parameter list
!/
INTEGER, INTENT(IN) :: IMOD, MDS(13), MTRACE(2), &
ODAT(35), NPT, IPRT(6), MPI_COMM
ODAT(40),NPT, IPRT(6),&
MPI_COMM
LOGICAL, INTENT(IN) :: IsMulti
REAL, INTENT(INOUT) :: XPT(NPT), YPT(NPT)
LOGICAL, INTENT(INOUT) :: FLGRD(NOGRP,NGRPP), FLGD(NOGRP),&
Expand Down Expand Up @@ -851,7 +855,7 @@
!/DEBUGINIT WRITE(740+IAPROC,*) ' After ALL_VA_INTEGRAL_PRINT'
!/DEBUGINIT FLUSH(740+IAPROC)
!/TIMINGS CALL PRINT_MY_TIME("Before W3IORS")
CALL W3IORS ( 'READ', NDS(6), SIG(NK), INTYPE, IMOD )
CALL W3IORS ( 'READ', NDS(6), SIG(NK), INTYPE, IMOD)
!/TIMINGS CALL PRINT_MY_TIME("After W3IORS")
!/MEMCHECK WRITE(740+IAPROC,*) 'memcheck_____:', 'WW3_INIT SECTION 3a'
!/MEMCHECK call getMallocInfo(mallinfos)
Expand Down Expand Up @@ -954,6 +958,20 @@
TOLAST(2,J) = ODAT(J0+5)
END DO
!
! J=8, second stream of restart files
J=8
J0 = (J-1)*5
IF(ODAT(J0+1) .NE. 0) THEN
TONEXT(1,J) = ODAT(J0+1)
TONEXT(2,J) = ODAT(J0+2)
DTOUT ( J) = REAL ( ODAT(J0+3) )
TOLAST(1,J) = ODAT(J0+4)
TOLAST(2,J) = ODAT(J0+5)
FLOUT(8) = .TRUE.
ELSE
FLOUT(8) = .FALSE.
END IF
!
! 4.b Check if output available
!
FLOUT(1) = .FALSE.
Expand Down Expand Up @@ -1060,6 +1078,57 @@
!
END DO
!
! J=8, second stream of restart files
!
J=8
!
! ... check time step
!
DTOUT(J) = MAX ( 0. , DTOUT(J) )
FLOUT(J) = FLOUT(J) .AND. ( DTOUT(J) .GT. 0.5 )
!
! ... get first time
!
IF ( FLOUT(J) ) THEN
TOUT = TONEXT(:,J)
TLST = TOLAST(:,J)
!
DO
DTTST = DSEC21 ( TIME , TOUT )
IF ( ( J.NE.4 .AND. DTTST.LT.0. ) .OR. &
( J.EQ.4 .AND. DTTST.LE.0. ) ) THEN
CALL TICK21 ( TOUT, DTOUT(J) )
ELSE
EXIT
END IF
END DO
!
! ... reset first time
!
TONEXT(:,J) = TOUT
!
! ... check last time
!
DTTST = DSEC21 ( TOUT , TLST )
IF ( DTTST.LT.0.) FLOUT(J) = .FALSE.
!
! ... check overall first time
!
IF ( FLOUT(J) ) THEN
IF ( TOFRST(1).EQ.-1 ) THEN
TOFRST = TOUT
ELSE
DTTST = DSEC21 ( TOUT , TOFRST )
IF ( DTTST.GT.0.) THEN
TOFRST = TOUT
END IF
END IF
END IF
!
END IF
! END J=8
!
!
!/MEMCHECK WRITE(740+IAPROC,*) 'memcheck_____:', 'WW3_INIT SECTION 5'
!/MEMCHECK call getMallocInfo(mallinfos)
!/MEMCHECK call printMallInfo(IAPROC,mallInfos)
Expand Down Expand Up @@ -3591,7 +3660,7 @@
!/MPI IH = 0
!/MPI IROOT = NAPRST - 1
!
!/MPI IF ( FLOUT(4) ) THEN
!/MPI IF ( FLOUT(4) .OR. FLOUT(8) ) THEN
!/MPI ALLOCATE ( OUTPTS(IMOD)%OUT4%IRQRS(3*NAPROC) )
!/MPI IRQRS => OUTPTS(IMOD)%OUT4%IRQRS
!
Expand Down
86 changes: 82 additions & 4 deletions model/ftn/w3iogomd.ftn
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,8 @@
!/ 22-Aug-2018 : Add WBT output parameter ( version 6.06 )
!/ 25-Sep-2019 : Corrected th2m and sth2m ( version 6.07 )
!/ calculations. (J Dykes, NRL)
!/ 04-Oct-2019 : Optional one file per output stride ( version 7.00 )
!/ (Roberto Padilla-Hernandez & J.H. Alves)
!/
!/ Copyright 2009-2014 National Weather Service (NWS),
!/ National Oceanic and Atmospheric Administration. All rights
Expand Down Expand Up @@ -2343,6 +2345,7 @@
!/
END SUBROUTINE W3OUTG
!/ ------------------------------------------------------------------- /
!/
SUBROUTINE W3IOGO ( INXOUT, NDSOG, IOTST, IMOD )
!/
!/ +-----------------------------------+
Expand Down Expand Up @@ -2483,6 +2486,7 @@
!/
USE W3SERVMD, ONLY: EXTCDE
USE W3ODATMD, only : IAPROC
USE W3ODATMD, ONLY : OFILES
!/SETUP USE W3WDATMD, ONLY: ZETA_SETUP
!/S USE W3SERVMD, ONLY: STRACE
!
Expand All @@ -2495,12 +2499,14 @@
INTEGER, INTENT(IN) :: NDSOG
INTEGER, INTENT(IN), OPTIONAL :: IMOD
CHARACTER, INTENT(IN) :: INXOUT*(*)
CHARACTER(LEN=15) :: TIMETAG
!/
!/ ------------------------------------------------------------------- /
!/ Local parameters
!/
INTEGER :: IGRD, IERR, I, J, IX, IY, MOGRP, &
MGRPP, ISEA, MOSWLL, IK, IFI, IFJ
MGRPP, ISEA, MOSWLL, IK, IFI, IFJ &
,IFILOUT
INTEGER, ALLOCATABLE :: MAPTMP(:,:)
!/S INTEGER, SAVE :: IENT = 0
REAL :: AUX1(NSEA), AUX2(NSEA), &
Expand Down Expand Up @@ -2535,7 +2541,7 @@
CALL EXTCDE ( 1 )
END IF
!
IF ( IPASS.EQ.1 ) THEN
IF ( IPASS.EQ.1 .AND. OFILES(1) .EQ. 0) THEN
WRITE = INXOUT.EQ.'WRITE'
ELSE
IF ( WRITE .AND. INXOUT.EQ.'READ' ) THEN
Expand All @@ -2546,11 +2552,11 @@
!
!/T WRITE (NDST,9000) IPASS, INXOUT, WRITE, NDSOG, IGRD, FILEXT
!
!
! open file ---------------------------------------------------------- *
! ( IPASS = 1 )
!
IF ( IPASS.EQ.1 ) THEN
!
IF ( IPASS.EQ.1 .AND. OFILES(1) .EQ. 0) THEN
I = LEN_TRIM(FILEXT)
J = LEN_TRIM(FNMPRE)
!
Expand Down Expand Up @@ -2604,6 +2610,76 @@
!
END IF
!
! IN CASE OF GENERATION OF A NEW FILE OUTPUT EVERY DELTA OUTPUT
! open file ---------------------------------------------------------- *
! ( IPASS = 1 )
!
IF ( IPASS.GE.1 .AND. OFILES(1) .EQ. 1) THEN
WRITE = INXOUT.EQ.'WRITE'
ELSE
IF ( WRITE .AND. INXOUT.EQ.'READ' ) THEN
WRITE (NDSE,901) INXOUT
CALL EXTCDE ( 2 )
END IF
END IF

!
IF ( IPASS.GE.1 .AND. OFILES(1) .EQ. 1) THEN
I = LEN_TRIM(FILEXT)
J = LEN_TRIM(FNMPRE)
!
! Create TIMETAG for file name using YYYYMMDD.HHMMS prefix
WRITE(TIMETAG,"(i8.8,'.'i6.6)")TIME(1),TIME(2)
!/T WRITE (NDST,9001) FNMPRE(:J)//TIMETAG//'.out_grd.'//FILEXT(:I)
IF ( WRITE ) THEN
OPEN (NDSOG,FILE=FNMPRE(:J)//TIMETAG//'.out_grd.' &
//FILEXT(:I),FORM='UNFORMATTED',ERR=800,IOSTAT=IERR)
ELSE
OPEN (NDSOG,FILE=FNMPRE(:J)//'out_grd.'//FILEXT(:I), &
FORM='UNFORMATTED',ERR=800,IOSTAT=IERR,STATUS='OLD')
END IF
!
REWIND ( NDSOG )
!
! test info --------------------------------------------------------- *
! ( IPASS >= 1 & OFILES(1) = 1)
!
IF ( WRITE ) THEN
WRITE (NDSOG) &
IDSTR, VEROGR, GNAME, NOGRP, NGRPP, NSEA, NX, NY, &
UNDEF, NOSWLL
ELSE
READ (NDSOG,END=801,ERR=802,IOSTAT=IERR) &
IDTST, VERTST, TNAME, MOGRP, MGRPP, NSEA, NX, NY, &
UNDEF, MOSWLL
!
IF ( IDTST .NE. IDSTR ) THEN
WRITE (NDSE,902) IDTST, IDSTR
CALL EXTCDE ( 20 )
END IF
IF ( VERTST .NE. VEROGR ) THEN
WRITE (NDSE,903) VERTST, VEROGR
CALL EXTCDE ( 21 )
END IF
IF ( NOGRP .NE. MOGRP .OR. NGRPP .NE. MGRPP ) THEN
WRITE (NDSE,904) MOGRP, MGRPP, NOGRP, NGRPP
CALL EXTCDE ( 22 )
END IF
IF ( TNAME .NE. GNAME ) THEN
WRITE (NDSE,905) TNAME, GNAME
END IF
IF ( NOSWLL .NE. MOSWLL ) THEN
WRITE (NDSE,906) MOSWLL, NOSWLL
CALL EXTCDE ( 24 )
END IF
!
END IF
!
!/T WRITE (NDST,9002) IDSTR, VEROGR, GNAME, NSEA, NX, NY, &
!/T UNDEF
!
END IF
!
! TIME and flags ----------------------------------------------------- *
!
IF ( WRITE ) THEN
Expand Down Expand Up @@ -3417,6 +3493,8 @@
! Flush the buffers for write
!
IF ( WRITE ) CALL FLUSH ( NDSOG )
!
IF(OFILES(1) .EQ. 1) CLOSE(NDSOG)
!
!/MPI CALL W3SETA ( IGRD, NDSE, NDST )
!
Expand Down
Loading