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

Ww3 wise merge develop #888

Merged
merged 178 commits into from
Mar 22, 2023
Merged
Show file tree
Hide file tree
Changes from 176 commits
Commits
Show all changes
178 commits
Select commit Hold shift + click to select a range
09164b5
ww3_wise: add my comp and link
aronroland May 19, 2022
59638f6
ww3_wise: add my comp and link
aronroland May 21, 2022
9fd1a47
ww3_wise: comp and link datarmo
aronroland May 22, 2022
bb00127
ww3_wise: group velocities and new limiter ...
aronroland May 22, 2022
e5d2d9d
ww3_wise: improve speed of computation
aronroland May 26, 2022
826ab06
ww3_wise: further optimization level
aronroland May 26, 2022
d843168
ww3_wise: some more cleaning
aronroland May 26, 2022
29139ac
ww3_wise: more on performance
aronroland May 26, 2022
ff51b11
Merge branch 'ww3_wise' of https://github.com/erdc/WW3 into ww3_wise
aronroland May 26, 2022
a586cc9
ww3_wise: more on performance
aronroland May 27, 2022
89e2a1c
ww3_wise: ... memory ...
aronroland May 27, 2022
78ee80f
ww3_wise: fix more memcheck issues
aronroland May 27, 2022
4931557
ww3_wise: and more on memcheck
aronroland May 27, 2022
54b301a
ww3_wise: more on memcheck and others
aronroland May 28, 2022
193496b
ww3_wise: more on debugging ...
aronroland May 28, 2022
1b1c04c
ww3_wise: more on limiters ...
aronroland May 29, 2022
7924004
Merge branch 'develop' into ww3_wise
aronroland Jun 11, 2022
ed82af9
ww3_wise: merge from WISE
aronroland Jun 13, 2022
6b22bca
ww3_wise: fix typo and syntax error
aronroland Jun 16, 2022
a9c17c4
ww3_wise: testing load imbalance
aronroland Sep 16, 2022
e388055
ww3_wise: update wave reflection and extend for implicit
aronroland Sep 17, 2022
b6ed65c
ww3_wise: commit missing use part for reflection
aronroland Sep 28, 2022
5dcf76d
Merge branch 'develop' into ww3_wise
aronroland Sep 29, 2022
bb1ffd0
ww3_wise: conflicts
aronroland Sep 29, 2022
a6d7dfe
finished merge with develop
aronroland Sep 29, 2022
fba00ba
ww3_wise: more on the merge ...
aronroland Sep 29, 2022
8f9ba92
ww3_wise: next part of consolodiation
aronroland Sep 30, 2022
b60e6cc
ww3_wise: merge wave_setup
aronroland Sep 30, 2022
e79c3aa
ww3_wise: more on setup
aronroland Sep 30, 2022
70277b9
ww3_wise: 2nd part
aronroland Sep 30, 2022
fb2ba68
ww3_wise: debug stage 1 ...
aronroland Oct 1, 2022
e27966a
ww3_wise: update wave setup part
aronroland Oct 14, 2022
a850572
ww3_wise: add hycom modification for SHOM
aronroland Oct 14, 2022
a47ec3e
ww3_wise: Some bug fix for the HYCOM part
aronroland Oct 14, 2022
9dcbb74
ww3_wise: add proper link line in link.itedev
aronroland Oct 17, 2022
bb20505
ww3_wise: interfacing c ...
aronroland Oct 17, 2022
933fbc7
ww3_wise: type conversion in the solver
aronroland Oct 23, 2022
1c0db66
ww3_wise: add DD to OASIS ... 1st part ...now debugging
aronroland Oct 23, 2022
32a4b2b
ww3_wise: fix oasis coupling syntax error
aronroland Oct 24, 2022
98b7a8c
ww3_wise: more fix for oasis dd treatment
aronroland Oct 24, 2022
0edb71d
ww3_wise: more on the oasis part with respect to dd
aronroland Oct 26, 2022
a28560e
Merge branch 'develop' into ww3_wise
aronroland Oct 26, 2022
bcdf642
ww3_wise: more oasis stuff
aronroland Oct 26, 2022
425e450
Merge branch 'ww3_wise' of https://github.com/erdc/WW3 into ww3_wise
aronroland Oct 26, 2022
a62a0b5
ww3_wise: fix typo for oasis dd
aronroland Oct 27, 2022
e2efe78
ww3_wise: working on the debug flags ...
aronroland Oct 27, 2022
d05ad6b
ww3_wise: add some debug for oasis
aronroland Oct 27, 2022
f3b76af
ww3_wise: add more oasis input
aronroland Oct 27, 2022
5d1cea5
ww3_wise: add missing oasis part for unstructured now trying ORANGE p…
aronroland Oct 28, 2022
aa3380e
ww3_wise: add also for POINT partition ...
aronroland Oct 28, 2022
f903372
ww3_wise: add switch files ...
aronroland Oct 29, 2022
7314010
Merge branch 'develop' into ww3_wise_merge_develop
aronroland Nov 6, 2022
14cf5ee
ww3_wise_merge_develop: fixing merge errors ...
aronroland Nov 6, 2022
08d307a
ww3_wise_merge_develop: more merge errors ...
aronroland Nov 6, 2022
c8f7e8b
ww3_wise_merge_develop: more merge errors ...
aronroland Nov 6, 2022
8c9cc80
ww3_wise_merge_develop: more fixed for merge
aronroland Nov 6, 2022
3e5c1aa
ww3_wise_merge_develop: more on the merging ...
aronroland Nov 6, 2022
1c033a6
ww3_wise_merge_develop: more merging fun ...
aronroland Nov 6, 2022
2ac2531
Merge branch 'ww3_wise_merge_develop' of https://github.com/erdc/WW3 …
aronroland Nov 6, 2022
ff5dbb9
ww3_wise_merge_develop: more merging ...
aronroland Nov 6, 2022
0ea1334
ww3_wise_merge_develop: now it is compiling ...
aronroland Nov 6, 2022
82647a4
ww3_wise_merge_develop: more merge of setup work
aronroland Nov 23, 2022
e930d09
Merge branch 'ww3_wise_merge_develop' of https://github.com/erdc/WW3 …
aronroland Nov 23, 2022
508ee91
ww3_wise_merge_develop: consolidation of reflection part for ugtype
aronroland Nov 26, 2022
cf1464b
ww3_wise_merge_develop: more on setup and reflection ...
aronroland Nov 26, 2022
86b3f25
ww3_wise_merge_develop: cleaning
aronroland Nov 28, 2022
b2ac283
ww3_wise_merge_develop: testing output ..
aronroland Nov 28, 2022
2170617
ww3_wise_merge_develop: cleaning the refleciton part
aronroland Nov 28, 2022
284e175
ww3_wise_merge_develop: cleaning implicit reflection ...
aronroland Nov 29, 2022
ac163db
ww3_wise_merge_develop: more cleaning on reflection
aronroland Nov 30, 2022
d2bf8eb
ww3_wise_merge_develop: working on higher order scheme
aronroland Dec 2, 2022
390de6e
ww3_wise_merge_develop: fix bug in 2nd order explicit scheme and add …
aronroland Dec 2, 2022
fe8753e
ww3_wise_merge_develop: merge also my triad code
aronroland Dec 2, 2022
bbdc540
ww3_wise_merge_develop: merge last oasis work
aronroland Dec 6, 2022
b29df46
ww3_wise_merge_develop: more on oasis
aronroland Dec 8, 2022
df4d23f
ww3_wise_merge_develop: more on oasis
aronroland Dec 8, 2022
b4825a3
ww3_wise_merge_develop: now check for the wise version with OASIS, th…
aronroland Dec 8, 2022
8a17ae9
Revert "ww3_wise_merge_develop: now check for the wise version with O…
aronroland Dec 8, 2022
5dabcdb
ww3_wise_merge_develop: more on the oasis coupler ...
aronroland Dec 11, 2022
e3f9094
ww3_wise_merge_develop: fix compilation without pdlib
aronroland Dec 15, 2022
9b34518
ww3_wise_merge_develop: more on oasis and cleaning
aronroland Dec 16, 2022
8cd9af3
ww3_wise_merge_develop: next steps on oasis coupler ...
aronroland Dec 21, 2022
ca24457
ww3_wise_merge_develop: remove debug statements
aronroland Jan 3, 2023
203e3ff
ww3_wise_merge_develop: add ndr
aronroland Jan 10, 2023
d408adc
Merge branch 'develop' into ww3_wise_merge_develop
aronroland Jan 11, 2023
30ae20a
Merge branch 'develop' into ww3_wise_merge_develop
aronroland Jan 11, 2023
28476b6
ww3_wise_merge_develop: do missing locality in block explicit scheme
aronroland Jan 11, 2023
5694026
ww3_wise_merge_develop: rewrite block explicit scheme ...
aronroland Jan 12, 2023
756c105
ww3_wise_merge_develop: fix some small bugs ..
aronroland Jan 13, 2023
0f6c0ae
ww3_wise_merge_develop: add more testoutput
aronroland Jan 15, 2023
5e65ffc
ww3_wise_merge_develop: add missing reflection part
aronroland Jan 15, 2023
ddcd86b
ww3_wise_merge_develop: sync with mathieu's latest work for setup + t…
aronroland Jan 18, 2023
98d8ef3
ww3_wise_merge_develop: clean leftovers of setup computations ...
aronroland Jan 18, 2023
897cc81
Merge branch 'ww3_wise_merge_develop' of https://github.com/erdc/WW3 …
aronroland Jan 18, 2023
1b15ddc
ww3_wise_merge_develop: cleaning of the oasis part and more work on t…
aronroland Jan 23, 2023
9315406
ww3_wise_merge_develop: add stdout about the unst schemes used
aronroland Jan 23, 2023
f686842
ww3_wise_merge_develop: getting rid of more barriers for oasis debugging
aronroland Jan 23, 2023
701dbb6
ww3_wise_merge_develop: more on oasis
aronroland Jan 23, 2023
748d7b0
ww3_wise_merge_develop: cleaning, consolidation, default variables, o…
aronroland Jan 27, 2023
c27a637
Merge branch 'ww3_wise_merge_develop' of https://github.com/erdc/WW3 …
aronroland Jan 27, 2023
acd34c7
ww3_wise_merge_develop: do intermediate fix for exchange of the block…
aronroland Jan 27, 2023
e4fd5c1
ww3_wise_merge_develop: fix for block explicit
aronroland Jan 27, 2023
2678302
ww3_wise_merge_develop: missing part of last merge ...
aronroland Jan 29, 2023
2083e06
ww3_wise_merge_develop: cleaning ..
aronroland Jan 29, 2023
4e080fb
ww3_wise_merge_develop: turn of new limiter
aronroland Jan 29, 2023
500f104
ww3_wise_merge_develop: quick fix for implicit scheme without sources…
aronroland Feb 1, 2023
ceefdee
Merge branch 'ww3_wise_merge_develop' of https://github.com/erdc/WW3 …
aronroland Feb 1, 2023
6abc55a
ww3_wise_merge_develop: code consolidation
aronroland Feb 2, 2023
54fee19
ww3_wise_merge_develop: fix for oasis
aronroland Feb 3, 2023
7c2f6ee
ww3_wise_merge_develop: add swicthes for SHOM
aronroland Feb 3, 2023
0a0c905
ww3_wise_merge_develop: fix logics in switches
aronroland Feb 3, 2023
eb04676
ww3_wise_merge_develop: cleaning
aronroland Feb 3, 2023
cf7c31e
ww3_wise_merge_develop: SOLVED THE CURRENT BUG!
aronroland Feb 5, 2023
f8005a0
fix conflict
Feb 8, 2023
3cb2ff3
two bug fixes for nonpdlib regtests
Feb 8, 2023
192b8ea
move CPUTIME to MPI swtich ifdef
Feb 8, 2023
fd450c3
fix for non-pdlib cases
Feb 8, 2023
a901e7b
update ncep matrix module versions
Feb 8, 2023
7a80232
additonal fixes for regtests
Feb 9, 2023
a32b4c5
add regtests for global_unstr
Feb 9, 2023
8f1ebea
revert model/bin
Feb 9, 2023
880f159
revert model/src/CMakeLists.txt
Feb 9, 2023
c68cfb3
revert regtests/ww3_tp2.6
Feb 9, 2023
03c3197
ww3_wise_merge_develop: comment in wave setup computation .ww3_wise_m…
aronroland Feb 10, 2023
aafb0d4
ww3_wise_merge_develop: some little test before final freeze
aronroland Feb 11, 2023
06bf389
ww3_wise_merge_develop: revert
aronroland Feb 12, 2023
3c51988
merge upstream dev
Feb 16, 2023
ca76d1c
ww3_wise_merge_develop: 1st round of cleaning debug statements
aronroland Feb 17, 2023
3d68cd6
ww3_wise_merge_develop: cleaned all cluter, debug and other leftovers…
aronroland Feb 17, 2023
f682540
ww3_wise_merge_develop: move to point partition for OASIS
aronroland Feb 18, 2023
d7a3938
Merge branch 'ww3_wise_merge_develop' of https://github.com/erdc/WW3 …
aronroland Feb 18, 2023
d3d4981
ww3_wise_merge_develop: fix ifdef/endif issue
aronroland Feb 20, 2023
3a60217
ww3_wise_merge_develop: fix bug in triads
aronroland Feb 22, 2023
b984b26
ww3_wise_merge_develop: add back doxygen
aronroland Feb 22, 2023
5547572
ww3_wise_merge_develop: more on the comments
aronroland Feb 22, 2023
ec13e94
ww3_wise_merge_develop: order of declaration
aronroland Feb 22, 2023
df6cc07
ww3_wise_merge_develop: more cleaning
aronroland Feb 22, 2023
30574c3
ww3_wise_merge_develop: more cleaning ...
aronroland Feb 22, 2023
d33791d
Merge branch 'ww3_wise_merge_develop' of https://github.com/erdc/WW3 …
aronroland Feb 22, 2023
4bda7c6
ww3_wise_merge_develop: work on headers
aronroland Feb 24, 2023
bee8db5
ww3_wise_merge_develop: doing some more checks ...
aronroland Feb 24, 2023
21f32d0
ww3_wise_merge_develop: extend for car-deck approach
aronroland Feb 25, 2023
58585dc
ww3_wise_merge_develop: more cleanup and consolidation
aronroland Feb 27, 2023
539907f
ww3_wise_merge_develop: delete cluter and dbg msg
aronroland Feb 27, 2023
c40694d
ww3_wise_merge_develop: more cleaning of stdout
aronroland Feb 27, 2023
596a34d
ww3_wise_merge_develop: more cleaning
aronroland Feb 27, 2023
0f4ed02
ww3_wise_merge_develop: add more namelist comments, not finished yet
aronroland Feb 27, 2023
a32ca06
ww3_wise_merge_develop: edit namelist based on jessica input
aronroland Feb 27, 2023
e29a9c0
ww3_wise_merge_develop: fix issues following tyler
aronroland Feb 27, 2023
d8ada73
ww3_wise_merge_develop: some more work on the namelist comments
aronroland Feb 27, 2023
533ac5f
ww3_wise_merge_develop: working on the namelist
aronroland Feb 28, 2023
8643a93
Merge branch 'NOAA-EMC:develop' into ww3_wise_merge_develop
aliabdolali Feb 28, 2023
04b4451
ww3_wise_merge_develop: clean and add missing pragma
aronroland Feb 28, 2023
1b6c95e
Merge branch 'ww3_wise_merge_develop' of https://github.com/erdc/WW3 …
aronroland Feb 28, 2023
f40ef82
ww3_wise_merge_develop: cleaning and namelist
aronroland Feb 28, 2023
ef22a77
Merge branch 'ww3_wise_merge_develop' of https://github.com/erdc/WW3 …
aronroland Feb 28, 2023
d9a5737
Merge branch 'ww3_wise_merge_develop' of https://github.com/erdc/WW3 …
aronroland Feb 28, 2023
dd60dcb
adding boers case regtest ww3_tp2.19
thesser1 Mar 1, 2023
3cd9ca2
ww3_wise_merge_develop: add explanation of unst namelist in the inp f…
aronroland Mar 1, 2023
962900a
cleaning up regtest 2.19
thesser1 Mar 1, 2023
0ccb4e9
merge develop
Mar 1, 2023
2fa2b76
Update switch_PDLIB
aliabdolali Mar 1, 2023
3757cd7
Merge branch 'ww3_wise_merge_develop' of https://github.com/erdc/WW3 …
aronroland Mar 2, 2023
c97791c
ww3_wise_merge_develop: some more work on oasis ...
aronroland Mar 2, 2023
32a57df
update ftp retrieval routine and remove mesh from block explicit test
Mar 2, 2023
0cf7c74
ww3_wise_merge_develop: clean cpp pragma of pdlib based on jessicas i…
aronroland Mar 2, 2023
ffd8c0a
Merge branch 'ww3_wise_merge_develop' of https://github.com/erdc/WW3 …
aronroland Mar 2, 2023
535bc12
update tp2.19 ounp.inp to include real option in spectra
thesser1 Mar 3, 2023
1eaff5f
updating ounp.inp for other cases on tp2.19
thesser1 Mar 3, 2023
f22835a
ww3_wise_merge_develop: clean and solver another oasis issue
aronroland Mar 3, 2023
35aeea2
cleaning up tp2.19 for consistancy between nml and inp tests
thesser1 Mar 3, 2023
6cc8fc4
Merge branch 'ww3_wise_merge_develop' of github.com:erdc/WW3 into ww3…
thesser1 Mar 3, 2023
4713c4e
ww3_wise_merge_develop: revert some changes wrt to OASIS back to deve…
aronroland Mar 7, 2023
6ef948b
ww3_wise_merge_develop: OASIS revert
aronroland Mar 8, 2023
9c3c613
Merge remote-tracking branch 'upstream/develop' into ww3_wise_merge_d…
Mar 14, 2023
5ac0bfd
ww3_wise_merge_develop: following reviewer comments on memcheck issues
aronroland Mar 20, 2023
2bbeaa7
Merge remote-tracking branch 'EMC/develop' into feature/mergedevforpr888
JessicaMeixner-NOAA Mar 21, 2023
3469b6e
Merge pull request #11 from JessicaMeixner-NOAA/feature/mergedevforpr888
thesser1 Mar 21, 2023
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
2 changes: 2 additions & 0 deletions model/bin/ww3_from_ftp.sh
Original file line number Diff line number Diff line change
Expand Up @@ -102,9 +102,11 @@ cp -r data_regtests/ww3_tp2.14/input/toy/toy_coupled_field.nc.OASACM regtests/ww
cp -r data_regtests/ww3_tp2.14/input/toy/toy_coupled_field.nc.OASACM regtests/ww3_tp2.14/input/toy/toy_coupled_field.nc.OASACM6
cp -r data_regtests/ww3_tp2.14/input/toy/*.nc regtests/ww3_tp2.14/input/toy/
cp -r data_regtests/ww3_tp2.17/input/* regtests/ww3_tp2.17/input/
cp -r data_regtests/ww3_tp2.19/input/* regtests/ww3_tp2.19/input/
cp -r data_regtests/ww3_tp2.21/input/* regtests/ww3_tp2.21/input/
cp -r data_regtests/mww3_test_09/input/* regtests/mww3_test_09/input/
cp -r data_regtests/ww3_ufs1.1/input/* regtests/ww3_ufs1.1/input/
cp -r data_regtests/ww3_ufs1.1/input_unstr/* regtests/ww3_ufs1.1/input_unstr/
cp -r data_regtests/ww3_ufs1.1/input/*.nc regtests/ww3_ufs1.2/input/
cp -r data_regtests/ww3_ufs1.2/input/* regtests/ww3_ufs1.2/input/
cp -r data_regtests/ww3_ufs1.3/input/*nc regtests/ww3_ufs1.3/input/
Expand Down
26 changes: 15 additions & 11 deletions model/inp/ww3_grid.inp
Original file line number Diff line number Diff line change
Expand Up @@ -305,30 +305,34 @@ $ limitation and the GSE alleviation.
$
$ Unstructured grids ------------------------------------------------ $
$ UNST parameters : Namelist UNST
$ UGOBCAUTO : TRUE: OBC points are taken from type 15 elements
$ UGOBCAUTO : TRUE: OBC points are taken from type 15 elements
$ FALSE: OBC points must be listed in ww3_grid.inp
$ UGOBCDEPTH: Threshold ( < 0) depth for OBC points if UGOBCAUTO is TRUE
$ EXPFSN : Activation of N scheme
$ UGOBCDEPTH : Threshold ( < 0) depth for OBC points if UGOBCAUTO is TRUE
$ UGOBCFILE : Reading boundary files from a file
$ EXPFSN : Activation of N scheme (only one of the below 4, True - Active, False - not active)
$ EXPFSPSI : Activation of PSI scheme
$ EXPFSFCT : Activation of FCT scheme
$ IMPFSN : Activation of N implicit scheme
$ IMPFSN : Activation of N implicit scheme
$ EXPTOTAL : Activation of the Block explicit N scheme solver
$ IMPTOTAL : Activation of fully implicit scheme | Non splitting
$ EXPTOTAL : Turn on implicit refraction (only with imptotal)
$ IMPREFRACTION : Turn on implicit freq. shift (only with imptotal)
$ IMPREFRACTION : Turn on implicit freq. shift (only with imptotal)
$ IMPFREQSHIFT : Turn on implicit freq. shift terms (only with imptotal)
$ IMPSOURCE : Turn on implicit source terms (only with imptotal)
$ IMPSOURCE : Turn on implicit source terms (only with imptotal)
$ JGS_TERMINATE_MAXITER : max. Number of iterations
$ JGS_TERMINATE_DIFFERENCE : terminate based on the total change of wave action
$ JGS_TERMINATE_NORM : terminate based on the norm of the solution
$ JGS_USE_JACOBI : Use Jacobi solver for imptotal
$ JGS_BLOCK_GAUSS_SEIDEL : Use Block Gauss Seidel method for imptotal
$ JGS_TERMINATE_DIFFERENCE : Terminate based on the total change of the unweightet sum of wave action
$ JGS_TERMINATE_NORM : Terminate based on the norm of the solution
$ JGS_USE_JACOBI : Use Jacobi solver family
$ JGS_BLOCK_GAUSS_SEIDEL : Use Block Gauss Seidel method for imptotal instead of the conservative jacobi iterator.
$ JGS_MAXITER : max. Number of solver iterations
$ JGS_PMIN : % of grid points that do not need to converge during solver iteration.
$ JGS_DIFF_THR : implicit solver threshold for JGS_TERMINATE_DIFFERENCE
$ JGS_NORM_THR : terminate based on the norm of the solution
$ JGS_LIMITER : use total (quasi-steady: limits whole equation) instead of local limiter (un-steady: limits only source terms)
$ JGS_LIMITER_FUNC : 1 - old limiter; 2 - alternatnive limiter
$ SETUP_APPLY_WLV : Compute wave setup (experimental)
$ SOLVERTHR_SETUP : Solver threshold for setup computations
$ CRIT_DEP_SETUP : Critical depths for setup computations

$
$ SMC grid propagation : Namelist PSMC and default values
$ CFLSM : Maximum CFL no. for propagation, 0.7
Expand Down
27 changes: 15 additions & 12 deletions model/nml/namelists.nml
Original file line number Diff line number Diff line change
Expand Up @@ -224,7 +224,7 @@ $ w3sic4md.ftn
$
$ Triad nonlinear interactions - - - - - - - - - - - - - - - - - - - -
$ Lumped Triad Interaction (LTA) : Namelist STR1 (To be implemented)
$ PTRIAD1 : Proportionality coefficient (default 0.05)
$ PTRIAD1 : Proportionality coefficient (default 1.)
$ PTRIAD2 : Multiple of Tm01 up to which interaction
$ is computed (2.5)
$ PTRIAD3 : Ursell upper limit for computing
Expand Down Expand Up @@ -284,27 +284,30 @@ $ limitation and the GSE alleviation.
$
$ Unstructured grids ------------------------------------------------ $
$ UNST parameters : Namelist UNST
$ UGOBCAUTO : TRUE: OBC points are taken from type 15 elements
$ UGOBCAUTO : TRUE: OBC points are taken from type 15 elements
$ FALSE: OBC points must be listed in ww3_grid.inp
$ UGOBCDEPTH: Threshold ( < 0) depth for OBC points if UGOBCAUTO is TRUE
$ EXPFSN : Activation of N scheme
$ UGOBCDEPTH : Threshold ( < 0) depth for OBC points if UGOBCAUTO is TRUE
$ UGOBCFILE : Reading boundary files from a file
$ EXPFSN : Activation of N scheme (only one of the below 4, True - Active, False - not active)
$ EXPFSPSI : Activation of PSI scheme
$ EXPFSFCT : Activation of FCT scheme
$ IMPFSN : Activation of N implicit scheme
$ IMPFSN : Activation of N implicit scheme
$ EXPTOTAL : Activation of the Block explicit N scheme solver
$ IMPTOTAL : Activation of fully implicit scheme | Non splitting
$ EXPTOTAL : Turn on implicit refraction (only with imptotal)
$ IMPREFRACTION : Turn on implicit freq. shift (only with imptotal)
$ IMPREFRACTION : Turn on implicit freq. shift (only with imptotal)
$ IMPFREQSHIFT : Turn on implicit freq. shift terms (only with imptotal)
$ IMPSOURCE : Turn on implicit source terms (only with imptotal)
$ IMPSOURCE : Turn on implicit source terms (only with imptotal)
$ JGS_TERMINATE_MAXITER : max. Number of iterations
$ JGS_TERMINATE_DIFFERENCE : terminate based on the total change of wave action
$ JGS_TERMINATE_NORM : terminate based on the norm of the solution
$ JGS_USE_JACOBI : Use Jacobi solver for imptotal
$ JGS_BLOCK_GAUSS_SEIDEL : Use Block Gauss Seidel method for imptotal
$ JGS_TERMINATE_DIFFERENCE : Terminate based on the total change of the unweightet sum of wave action
$ JGS_TERMINATE_NORM : Terminate based on the norm of the solution
$ JGS_USE_JACOBI : Use Jacobi solver family
$ JGS_BLOCK_GAUSS_SEIDEL : Use Block Gauss Seidel method for imptotal instead of the conservative jacobi iterator.
$ JGS_MAXITER : max. Number of solver iterations
$ JGS_PMIN : % of grid points that do not need to converge during solver iteration.
$ JGS_DIFF_THR : implicit solver threshold for JGS_TERMINATE_DIFFERENCE
$ JGS_NORM_THR : terminate based on the norm of the solution
$ JGS_LIMITER : use total (quasi-steady: limits whole equation) instead of local limiter (un-steady: limits only source terms)
$ JGS_LIMITER_FUNC : 1 - old limiter; 2 - alternatnive limiter
$ SETUP_APPLY_WLV : Compute wave setup (experimental)
$ SOLVERTHR_SETUP : Solver threshold for setup computations
$ CRIT_DEP_SETUP : Critical depths for setup computations
Expand Down
3 changes: 3 additions & 0 deletions model/src/PDLIB/yowexchangeModule.F90
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,9 @@ module yowExchangeModule
!> number of the second dimension for exchange
integer, public :: n2ndDim = 1

!> number of the second dimension for exchange (nth only for wave model)
integer, public :: nnthDim = 1


contains

Expand Down
6 changes: 3 additions & 3 deletions model/src/PDLIB/yowpdlibmain.F90
Original file line number Diff line number Diff line change
Expand Up @@ -1309,8 +1309,8 @@ subroutine ComputeTRIA_IEN_SI_CCON
use yowNodepool, only: x, y, z, PDLIB_SI, PDLIB_IEN, PDLIB_TRIA, PDLIB_CCON, PDLIB_TRIA03

integer I1, I2, I3, stat, IE, NI(3)
real(rkind) :: DXP1, DXP2, DXP3, DYP1, DYP2, DYP3, DBLTMP, TRIA03
logical :: CROSSES_DATELINE
real :: DXP1, DXP2, DXP3, DYP1, DYP2, DYP3, DBLTMP, TRIA03
logical :: CROSSES_DATELINE

allocate(PDLIB_SI(npa), PDLIB_CCON(npa), PDLIB_IEN(6,ne), PDLIB_TRIA(ne), PDLIB_TRIA03(ne), stat=stat)
if(stat/=0) call parallel_abort('SI allocation failure')
Expand Down Expand Up @@ -1354,7 +1354,7 @@ subroutine ComputeTRIA_IEN_SI_CCON
PDLIB_CCON(I1) = PDLIB_CCON(I1) + 1
PDLIB_CCON(I2) = PDLIB_CCON(I2) + 1
PDLIB_CCON(I3) = PDLIB_CCON(I3) + 1
TRIA03 = PDLIB_TRIA(IE)/3.d0
TRIA03 = PDLIB_TRIA(IE)/3.d0
PDLIB_SI(I1) = PDLIB_SI(I1) + TRIA03
PDLIB_SI(I2) = PDLIB_SI(I2) + TRIA03
PDLIB_SI(I3) = PDLIB_SI(I3) + TRIA03
Expand Down
3 changes: 3 additions & 0 deletions model/src/w3gdatmd.F90
Original file line number Diff line number Diff line change
Expand Up @@ -1034,6 +1034,7 @@ MODULE W3GDATMD
LOGICAL :: B_JGS_USE_JACOBI
LOGICAL :: B_JGS_BLOCK_GAUSS_SEIDEL
INTEGER :: B_JGS_MAXITER
INTEGER :: B_JGS_LIMITER_FUNC
REAL*8 :: B_JGS_PMIN
REAL*8 :: B_JGS_DIFF_THR
REAL*8 :: B_JGS_NORM_THR
Expand Down Expand Up @@ -1388,6 +1389,7 @@ MODULE W3GDATMD
LOGICAL, POINTER :: B_JGS_USE_JACOBI
LOGICAL, POINTER :: B_JGS_BLOCK_GAUSS_SEIDEL
INTEGER, POINTER :: B_JGS_MAXITER
INTEGER, POINTER :: B_JGS_LIMITER_FUNC
REAL(8), POINTER :: B_JGS_PMIN
REAL(8), POINTER :: B_JGS_DIFF_THR
REAL(8), POINTER :: B_JGS_NORM_THR
Expand Down Expand Up @@ -2805,6 +2807,7 @@ SUBROUTINE W3SETG ( IMOD, NDSE, NDST )
B_JGS_USE_JACOBI => MPARS(IMOD)%SCHMS%B_JGS_USE_JACOBI
B_JGS_BLOCK_GAUSS_SEIDEL => MPARS(IMOD)%SCHMS%B_JGS_BLOCK_GAUSS_SEIDEL
B_JGS_MAXITER => MPARS(IMOD)%SCHMS%B_JGS_MAXITER
B_JGS_LIMITER_FUNC => MPARS(IMOD)%SCHMS%B_JGS_LIMITER_FUNC
B_JGS_PMIN => MPARS(IMOD)%SCHMS%B_JGS_PMIN
B_JGS_DIFF_THR => MPARS(IMOD)%SCHMS%B_JGS_DIFF_THR
B_JGS_NORM_THR => MPARS(IMOD)%SCHMS%B_JGS_NORM_THR
Expand Down
16 changes: 13 additions & 3 deletions model/src/w3gridmd.F90
Original file line number Diff line number Diff line change
Expand Up @@ -901,6 +901,7 @@ MODULE W3GRIDMD
LOGICAL :: JGS_TERMINATE_DIFFERENCE = .TRUE.
LOGICAL :: JGS_TERMINATE_NORM = .TRUE.
LOGICAL :: JGS_LIMITER = .FALSE.
INTEGER :: JGS_LIMITER_FUNC = 1
LOGICAL :: JGS_BLOCK_GAUSS_SEIDEL = .TRUE.
LOGICAL :: JGS_USE_JACOBI = .TRUE.
LOGICAL :: JGS_SOURCE_NONLINEAR = .FALSE.
Expand Down Expand Up @@ -1078,6 +1079,7 @@ MODULE W3GRIDMD
JGS_TERMINATE_DIFFERENCE, &
JGS_TERMINATE_NORM, &
JGS_LIMITER, &
JGS_LIMITER_FUNC, &
JGS_USE_JACOBI, &
JGS_BLOCK_GAUSS_SEIDEL, &
JGS_MAXITER, &
Expand Down Expand Up @@ -2390,13 +2392,14 @@ SUBROUTINE W3GRID()
IMPREFRACTION = .FALSE.
IMPFREQSHIFT = .FALSE.
IMPSOURCE = .FALSE.
SETUP_APPLY_WLV = .FALSE.
SOLVERTHR_SETUP=1E-14
SETUP_APPLY_WLV = .TRUE.
SOLVERTHR_SETUP=1E-6
CRIT_DEP_SETUP=0.1
JGS_TERMINATE_MAXITER = .TRUE.
JGS_TERMINATE_DIFFERENCE = .TRUE.
JGS_TERMINATE_NORM = .FALSE.
JGS_LIMITER = .FALSE.
JGS_LIMITER_FUNC = 1
JGS_BLOCK_GAUSS_SEIDEL = .TRUE.
JGS_USE_JACOBI = .TRUE.
JGS_MAXITER=100
Expand All @@ -2413,6 +2416,7 @@ SUBROUTINE W3GRID()
B_JGS_TERMINATE_DIFFERENCE = JGS_TERMINATE_DIFFERENCE
B_JGS_TERMINATE_NORM = JGS_TERMINATE_NORM
B_JGS_LIMITER = JGS_LIMITER
B_JGS_LIMITER_FUNC = JGS_LIMITER_FUNC
B_JGS_BLOCK_GAUSS_SEIDEL = JGS_BLOCK_GAUSS_SEIDEL
B_JGS_MAXITER = JGS_MAXITER
B_JGS_PMIN = JGS_PMIN
Expand Down Expand Up @@ -3266,6 +3270,7 @@ SUBROUTINE W3GRID()
JGS_TERMINATE_DIFFERENCE, &
JGS_TERMINATE_NORM, &
JGS_LIMITER, &
JGS_LIMITER_FUNC, &
JGS_USE_JACOBI, &
JGS_BLOCK_GAUSS_SEIDEL, &
JGS_MAXITER, &
Expand Down Expand Up @@ -3600,6 +3605,10 @@ SUBROUTINE W3GRID()
FSTOTALEXP = EXPTOTAL
PNAME2 = 'N Explicit (Fluctuation Splitting) for one exchange explicit DC HPCF '
END SELECT

IF (FSTOTALIMP .or. FSTOTALEXP) THEN
LPDLIB = .TRUE.
ENDIF
!
IF (SUM(UNSTSCHEMES).GT.1) WRITE(NDSO,1035)
WRITE (NDSO,2951) PNAME2
Expand Down Expand Up @@ -3628,7 +3637,7 @@ SUBROUTINE W3GRID()
END IF
IF (SETUP_APPLY_WLV) THEN
DO_CHANGE_WLV = SETUP_APPLY_WLV
PNAME2 = ' we change WLV'
PNAME2 = 'Wave setup is added to the WLV'
WRITE (NDSO,2952) PNAME2
END IF
SOLVERTHR_STP = SOLVERTHR_SETUP
Expand Down Expand Up @@ -6571,6 +6580,7 @@ SUBROUTINE W3GRID()
', JGS_TERMINATE_DIFFERENCE=', L3, &
', JGS_TERMINATE_NORM=', L3, &
', JGS_LIMITER=', L3, &
', JGS_LIMITER_FUNC=', I3, &
', JGS_USE_JACOBI=', L3, &
', JGS_BLOCK_GAUSS_SEIDEL=', L3, &
', JGS_MAXITER=', I5, &
Expand Down
58 changes: 45 additions & 13 deletions model/src/w3initmd.F90
Original file line number Diff line number Diff line change
Expand Up @@ -388,7 +388,7 @@ SUBROUTINE W3INIT ( IMOD, IsMulti, FEXT, MDS, MTRACE, ODAT, FLGRD, FLGR2, FLGD,
ICLOSE, ZB, TRNX, TRNY, DMIN, DTCFL, DTMAX, &
FLCK, NK, NTH, NSPEC, SIG, GNAME
#ifdef W3_PDLIB
USE W3GDATMD, ONLY : FLCTH
USE W3GDATMD, ONLY : FLCTH, B_JGS_BLOCK_GAUSS_SEIDEL, B_JGS_USE_JACOBI
#endif
USE W3WDATMD, ONLY: TIME, TLEV, TICE, TRHO, WLV, UST, USTDIR, VA
USE W3ODATMD, ONLY: NDSO, NDSE, NDST, SCREEN, NDS, NTPROC, &
Expand Down Expand Up @@ -421,7 +421,7 @@ SUBROUTINE W3INIT ( IMOD, IsMulti, FEXT, MDS, MTRACE, ODAT, FLGRD, FLGR2, FLGD,
USE W3GDATMD, ONLY: GTYPE, UNGTYPE
#ifdef W3_PDLIB
USE PDLIB_W3PROFSMD, ONLY : PDLIB_MAPSTA_INIT, SET_IOBDP_PDLIB, PDLIB_IOBP_INIT, SET_IOBPA_PDLIB
USE PDLIB_W3PROFSMD, ONLY : BLOCK_SOLVER_INIT, PDLIB_INIT, DEALLOCATE_PDLIB_GLOBAL
USE PDLIB_W3PROFSMD, ONLY : BLOCK_SOLVER_INIT, BLOCK_SOLVER_EXPLICIT_INIT, PDLIB_INIT, DEALLOCATE_PDLIB_GLOBAL
use yowDatapool, only: istatus
#endif
#ifdef W3_SETUP
Expand Down Expand Up @@ -639,12 +639,23 @@ SUBROUTINE W3INIT ( IMOD, IsMulti, FEXT, MDS, MTRACE, ODAT, FLGRD, FLGR2, FLGD,
IF (FSTOTALIMP .and. .NOT. LPDLIB) THEN
WRITE(NDSE,*) 'IMPTOTAL is selected'
WRITE(NDSE,*) 'But PDLIB is not'
STOP 'Stop, case 1'
CALL FLUSH(NDSE)
STOP
ELSE IF (FSTOTALEXP .and. .NOT. LPDLIB) THEN
WRITE(NDSE,*) 'EXPTOTAL is selected'
WRITE(NDSE,*) 'But PDLIB is not'
STOP 'Stop, case 1'
CALL FLUSH(NDSE)
STOP
END IF
#ifdef W3_PDLIB
IF (B_JGS_BLOCK_GAUSS_SEIDEL .AND. .NOT. B_JGS_USE_JACOBI) THEN
WRITE(NDSE,*) 'B_JGS_BLOCK_GAUSS_SEIDEL is used but the Jacobi solver is not choosen'
WRITE(NDSE,*) 'Please set JGS_USE_JACOBI .eqv. .true.'
CALL FLUSH(NDSE)
STOP
ENDIF
#endif

!
! 1.c Open files without unpacking MDS ,,,
!
Expand Down Expand Up @@ -792,17 +803,12 @@ SUBROUTINE W3INIT ( IMOD, IsMulti, FEXT, MDS, MTRACE, ODAT, FLGRD, FLGR2, FLGD,

#ifdef W3_PDLIB
IF ((IAPROC .LE. NAPROC).and.(GTYPE .eq. UNGTYPE)) THEN
#endif

#ifdef W3_PDLIB
CALL BLOCK_SOLVER_INIT(IMOD)
CALL PDLIB_IOBP_INIT(IMOD)
CALL SET_IOBPA_PDLIB
#endif

#ifdef W3_PDLIB
ELSE IF (FSTOTALEXP) THEN
!AR: To do here the blocksolver ...
IF (FSTOTALEXP) THEN
CALL BLOCK_SOLVER_EXPLICIT_INIT()
ENDIF
ENDIF
#endif

Expand Down Expand Up @@ -1264,6 +1270,10 @@ SUBROUTINE W3INIT ( IMOD, IsMulti, FEXT, MDS, MTRACE, ODAT, FLGRD, FLGR2, FLGD,
!Li DO IY=1, NY
!Li DO IX=1, NX
!Li ISEA = MAPFS(IY,IX)
#ifdef W3_DEBUGSTP
max_val = 0
min_val = 0
#endif
DO ISEA=1, NSEA
IX = MAPSF(ISEA,1)
IY = MAPSF(ISEA,2)
Expand All @@ -1276,6 +1286,10 @@ SUBROUTINE W3INIT ( IMOD, IsMulti, FEXT, MDS, MTRACE, ODAT, FLGRD, FLGR2, FLGD,
IF (DO_CHANGE_WLV) THEN
WLVeff=WLVeff + ZETA_SETUP(ISEA)
END IF
#endif
#ifdef W3_DEBUGSTP
max_val = MAX(max_val, WLVeff)
min_val = MIN(min_val, WLVeff)
#endif
DW(ISEA) = MAX ( 0. , WLVeff-ZB(ISEA) )
#ifdef W3_T
Expand All @@ -1288,19 +1302,33 @@ SUBROUTINE W3INIT ( IMOD, IsMulti, FEXT, MDS, MTRACE, ODAT, FLGRD, FLGR2, FLGD,
!Li END IF
END DO
!Li END DO
#ifdef W3_DEBUGSTP
WRITE(740+IAPROC,*) 'w3initmd 1: max/min(WLVeff)=', max_val, min_val
FLUSH(740+IAPROC)
max_val = 0
min_val = 0
#endif
DO JSEA=1, NSEAL
CALL INIT_GET_ISEA(ISEA, JSEA)
WLVeff=WLV(ISEA)
#ifdef W3_SETUP
IF (DO_CHANGE_WLV) THEN
WLVeff=WLVeff + ZETA_SETUP(ISEA)
END IF
#endif
#ifdef W3_DEBUGSTP
max_val = MAX(max_val, WLVeff)
min_val = MIN(min_val, WLVeff)
#endif
DW(ISEA) = MAX ( 0. , WLVeff-ZB(ISEA) )
IF ( WLVeff-ZB(ISEA) .LE.0. ) THEN
VA(:,JSEA) = 0.
END IF
END DO
#ifdef W3_DEBUGSTP
WRITE(740+IAPROC,*) 'w3initmd 2: max/min(WLVeff)=', max_val, min_val
FLUSH(740+IAPROC)
#endif
!
#ifdef W3_PDLIB
IF ( IAPROC .LE. NAPROC ) THEN
Expand Down Expand Up @@ -1353,8 +1381,12 @@ SUBROUTINE W3INIT ( IMOD, IsMulti, FEXT, MDS, MTRACE, ODAT, FLGRD, FLGR2, FLGD,
!
DO IK=0, NK+1
!
! Calculate wavenumbers and group velocities.
! Calculate wavenumbers and group velocities.
#ifdef W3_PDLIB
CALL WAVNU3(SIG(IK),DEPTH,WN(IK,IS),CG(IK,IS))
#else
CALL WAVNU1(SIG(IK),DEPTH,WN(IK,IS),CG(IK,IS))
#endif
!
#ifdef W3_T1
WRITE (NDST,9052) IK, TPI/SIG(IK), WN(IK,IS), CG(IK,IS)
Expand Down
2 changes: 1 addition & 1 deletion model/src/w3iogomd.F90
Original file line number Diff line number Diff line change
Expand Up @@ -1533,7 +1533,7 @@ SUBROUTINE W3OUTG ( A, FLPART, FLOUTG, FLOUTG2 )
CALL INIT_GET_ISEA(ISEA, JSEA)
FACTOR = DDEN(IK) / CG(IK,ISEA)
EBD(IK,JSEA) = AB(JSEA) * FACTOR
ET (JSEA) = ET (JSEA) + EBD(IK,JSEA)
ET(JSEA) = ET(JSEA) + EBD(IK,JSEA)
#ifdef W3_IG1
IF (IK.EQ.NINT(IGPARS(5))) HSIG(JSEA) = 4*SQRT(ET(JSEA))
#endif
Expand Down
3 changes: 2 additions & 1 deletion model/src/w3iorsmd.F90
Original file line number Diff line number Diff line change
Expand Up @@ -769,7 +769,8 @@ SUBROUTINE W3IORS ( INXOUT, NDSR, DUMFPI, IMOD, FLRSTRT )
! Include remainder values (switch to record format) ---- *
JSEA = NSEAL_MIN + 1
IF ( JSEA.EQ.NSEAL ) THEN
ISEA = IAPROC + (JSEA - 1) * NAPROC
!ISEA = IAPROC + (JSEA - 1) * NAPROC
CALL INIT_GET_ISEA(ISEA, JSEA)
NREC = ISEA + 2
RPOS = 1_8 + LRECL*(NREC-1_8)
READ (NDSR, POS=RPOS, ERR=802, IOSTAT=IERR) &
Expand Down
Loading