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 diffraction #1144

Draft
wants to merge 221 commits into
base: develop
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
221 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
6408cf5
ww3_diffraction: implementation of wave diffraction approximation
aronroland Mar 5, 2023
8821638
ww3_diffraction: finish implementation of wave diffraction, now it ne…
aronroland Mar 5, 2023
d62dab8
ww3_diffraction: add missing pragma
aronroland Mar 5, 2023
5926077
ww3_diffraction: work more on diffraction approximation ...
aronroland Jun 27, 2023
8d4ad7e
ww3_diffraction: more work on the higher order diffraction approximat…
aronroland Aug 21, 2023
f3a647f
ww3_gr3: initial commit ... still testing with issues at the wave bou…
aronroland Sep 20, 2023
2c5947b
ww3_gr3: done and tested ...
aronroland Sep 27, 2023
10195a4
ww3_gr3: consolidate input for limon and work on the source terms flags
aronroland Oct 23, 2023
40f71c7
ww3_gr3: towards init_bugs branch
aronroland Oct 23, 2023
b51d11e
ww3_gr3: fix boundary issue for the neumann conditio
aronroland Oct 23, 2023
a3e143c
init_bugs2: solve neuman on boundary
aronroland Oct 23, 2023
e5efc45
Merge branch 'develop' into ww3_diffraction
aronroland Nov 7, 2023
f6110f5
ww3_diffraction: merge develop and fix conflicts
aronroland Nov 7, 2023
d99f8cd
Merge branch 'develop' into ww3_diffraction
aronroland Dec 2, 2023
803192c
Merge branch 'develop' into ww3_2dm
aronroland Dec 2, 2023
799e787
ww3_2dm: finished and tested implementation. Added needed files for t…
aronroland Dec 3, 2023
57ba5f8
Merge branch 'develop' into init_bugs2
aronroland Dec 14, 2023
2f62ff7
ww3_2dm: fix active wave boundary ...
aronroland Dec 18, 2023
9e0a031
ww3_diffraction: chasing some bugs ...
aronroland Dec 18, 2023
9164b16
ww3_2dm: some more debugging
aronroland Dec 18, 2023
4cbe073
ug_imp_nmb_acc: Those changes to the number accuracy of the implicit …
aronroland Dec 19, 2023
288366a
Merge branch 'ug_imp_nmb_acc' into ww3_2dm
aronroland Dec 19, 2023
3030524
ww3_diffraction: work on testcase ...
aronroland Dec 19, 2023
bbee78e
Merge remote-tracking branch 'remotes/origin/ug_imp_nmb_acc' into ww3…
aronroland Dec 19, 2023
a43b8b0
ww3_diffraction: more on regtests ..
aronroland Dec 19, 2023
e0bea58
ug_imp_nmb_acc: add proper settings to limon
aronroland Dec 19, 2023
e60a45e
ug_imp_nmb_acc: add another input file
aronroland Dec 19, 2023
542bd3b
ww3_2dm: add polygons for prescribing boundary conditions
aronroland Dec 20, 2023
a94054e
ww3_2dm: add meshbnd.2dm and script for meshtools to use polygons to …
aronroland Dec 20, 2023
d9bef70
ww3_2dm: update inputfiles ...
aronroland Dec 20, 2023
e6cd3a5
Merge branch 'init_bugs2' into ww3_diffraction
aronroland Dec 28, 2023
81ad5dd
ww3_diffraction: work on the extended diffraction part ...
aronroland Dec 28, 2023
87d24b7
Merge branch 'ug_imp_nmb_acc' into ww3_diffraction
aronroland Dec 28, 2023
d7157b7
ww3_diffraction: work on spherical transformation of the higher order…
aronroland Dec 29, 2023
d1d452f
ww3_diffraction: restructure the dd part of the ugrid and fix a bug
aronroland Dec 30, 2023
af05be6
ww3_diffraction: remove some warning in tria
aronroland Dec 31, 2023
2c6b316
Merge branch 'ww3_2dm' into ww3_diffraction
aronroland Dec 31, 2023
baf3f7e
ww3_diffraction: more on diffraction ...
aronroland Jan 5, 2024
a3b88d0
ww3_diffraction: code cleaning, moved variables to w3gdat and added s…
aronroland Jan 6, 2024
1af1777
ww3_diffraction: some more fixing
aronroland Jan 7, 2024
60816a5
ww3_diffraction: finish smoothing implementation for the explicit sch…
aronroland Jan 8, 2024
b71b9b0
ww3_diffraction: more work on the diffraction based on the EMSE
aronroland Jan 9, 2024
099591c
ww3_diffraction: more on refraction ...
aronroland Jan 15, 2024
01d43df
ww3_diffraction: more on ww3_unst
aronroland Jan 16, 2024
b820c16
ug_imp_nmb_acc: revert changes to 2.6
aronroland Jan 16, 2024
a596f3d
ww3_diffraction: fix bug on boundary
aronroland Feb 2, 2024
5004d4c
ww3_diffraction: cleaning and sec1
aronroland Feb 2, 2024
0635f93
Merge branch 'ug_imp_nmb_acc' into ww3_diffraction
aronroland Feb 6, 2024
07d4f6c
ww3_diffraction: add regression tests for semi-inifnite breakwater an…
aronroland Feb 7, 2024
305153c
Merge branch 'develop' into ww3_diffraction
aronroland Feb 7, 2024
b837c0b
ww3_diffraction: minor edits ...
aronroland Feb 9, 2024
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
529 changes: 0 additions & 529 deletions model/bin/ww3_gspl.sh

This file was deleted.

57 changes: 21 additions & 36 deletions model/inp/ww3_grid.inp
Original file line number Diff line number Diff line change
Expand Up @@ -317,45 +317,30 @@ $ limitation and the GSE alleviation.
$
$ Unstructured grids ------------------------------------------------ $
$ UNST parameters : Namelist UNST
$ UGBCCFL : Turns on/off (TRUE/FALSE) the computation of the CFL number on the physical domain boundary.
$ If FALSE the explicit scheme can be much faster though stability is not guaranteed
$ (default TRUE)
$ UGOBCAUTO : TRUE: OBC points are taken from type 15 elements (default)
$ FALSE: OBC points must be listed in ww3_grid.inp
$ UGOBCDEPTH : Threshold ( < 0) depth (default -10) for OBC points if UGOBCAUTO is TRUE
$ UGOBCFILE : File name of file for reading boudary (default 'unset')
$
$ The following are TRUE/FALSE variables and only one can be TRUE.
$ By default, EXPFSN is TRUE and must be set to false to activate another option
$ EXPFSN : Activation of N scheme (default option)
$ UGOBCAUTO : TRUE: OBC points are taken from type 15 elements
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure if the changes here are intentional. It looks like this is removing descriptions of variables that should have descriptions, plus from below it seems like we should have a few additional variables added here.

$ 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
$ EXPFSPSI : Activation of PSI scheme
$ EXPFSFCT : Activation of FCT scheme
$ IMPFSN : Activation of N implicit scheme
$ EXPTOTAL : Activation of Block explicit N scheme solver
$ IMPTOTAL : Activation of fully implicit scheme, non splitting
$
$ The following TRUE/FALSE variables are only for IMPTOTAL=TRUE
$ IMPREFRACTION : Turn on implicit freq. shift (default FALSE)
$ IMPFREQSHIFT : Turn on implicit freq. shift terms (default FALSE)
$ IMPSOURCE : Turn on implicit source terms (default FALSE)
$
$ JGS_TERMINATE_MAXITER : Terminate based on max number of iterations (TRUE/FALSE, default TRUE)
$ JGS_TERMINATE_DIFFERENCE : Terminate based on the total change of the unweightet sum of wave action (TRUE/FALSE, default TRUE)
$ JGS_TERMINATE_NORM : Terminate based on the norm of the solution (TRUE/FALSE, default FALSE)
$ JGS_USE_JACOBI : Use Jacobi solver family (TRUE/FALSE, default TRUE)
$ JGS_BLOCK_GAUSS_SEIDEL : Use Block Gauss Seidel method for imptotal instead of the conservative jacobi iterator. (TRUE/FALSE, default TRUE)
$ JGS_MAXITER : Max. Number of solver iterations for JGS_TERMINATE_MAXITER (integer, default 100)
$ JGS_PMIN : % of grid points that do not need to converge during solver iteration (real, default 1)
$ JGS_DIFF_THR : Implicit solver threshold for JGS_TERMINATE_DIFFERENCE (real, default 1.0e-10)
$ JGS_NORM_THR : Norm of the solution for JGS_TERMINATE_NORM (real, default 1.0e-20)
$ JGS_LIMITER : TRUE: Use total (quasi-steady: limits whole equation) instead of local limiter (un-steady: limits only source terms)
$ FALSE: default
$ JGS_LIMITER_FUNC : 1 - old limiter (default)
$ 2 - alternatnive limiter
$ SETUP_APPLY_WLV : Compute wave setup (TRUE/FALSE, default TRUE)
$ SOLVERTHR_SETUP : Solver threshold for setup computations (default 1E-6)
$ CRIT_DEP_SETUP : Critical depth for setup computations (default 0.1)

$ 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)
$ IMPFREQSHIFT : Turn on implicit freq. shift 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_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
$ 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
7 changes: 3 additions & 4 deletions model/src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -47,16 +47,15 @@ target_include_directories(ww3_lib

# Set compiler flags.
if(CMAKE_Fortran_COMPILER_ID MATCHES "^(Intel)$")
set(compile_flags -no-fma -ip -g -traceback -i4 -real-size 32 -fp-model precise
-assume byterecl -fno-alias -fno-fnalias)
set(compile_flags)
# -sox only works on Linux
if(LINUX)
list(APPEND compile_flags -sox)
endif()
set(compile_flags_release -O3)
set(compile_flags_release)
# SHELL: prefix fixes CMake attempting to de-duplicate the repeated uses of 'all' in -warn, -debug, -check
# See https://cmake.org/cmake/help/latest/command/target_compile_options.html#option-de-duplication
set(compile_flags_debug -O0 "SHELL:-debug all" "SHELL:-warn all" "SHELL:-check all" -check noarg_temp_created -fp-stack-check -heap-arrays -traceback -fpe0)
set(compile_flags_debug)

if(APPLE)
# The linker on macOS does not include `common symbols` (usually module variables without a default value) by default
Expand Down
9 changes: 5 additions & 4 deletions model/src/w3dispmd.F90
Original file line number Diff line number Diff line change
Expand Up @@ -343,7 +343,7 @@ SUBROUTINE WAVNU2 (W,H,K,CG,EPS,NMAX,ICON)
!/
END SUBROUTINE WAVNU2
!/
PURE SUBROUTINE WAVNU3 (SI,H,K,CG)
PURE SUBROUTINE WAVNU3 (SI,H,K,CG,C)
!/
!/ +-----------------------------------+
!/ | WAVEWATCH III NOAA/NCEP |
Expand Down Expand Up @@ -420,7 +420,7 @@ PURE SUBROUTINE WAVNU3 (SI,H,K,CG)
!/ Parameter list
!/
REAL, INTENT(IN) :: SI, H
REAL, INTENT(OUT) :: K, CG
REAL, INTENT(OUT) :: K, CG, C
!/
!/ ------------------------------------------------------------------- /
!/ Local parameters
Expand All @@ -445,6 +445,7 @@ PURE SUBROUTINE WAVNU3 (SI,H,K,CG)
KH = KH0 * (1 + KH0**1.09 * 1./EXP(MIN(KDMAX,TMP))) / SQRT(TANH(MIN(KDMAX,KH0)))
K = KH/H
CG = 0.5*(1+(2*KH/SINH(MIN(KDMAX,2*KH))))*SI/K
C = CG/K
!
RETURN
!/
Expand Down Expand Up @@ -533,15 +534,15 @@ PURE SUBROUTINE WAVNU_LOCAL (SIG,DW,WNL,CGL)
!/
!/ ------------------------------------------------------------------- /
!/ Local parameters
REAL :: DEPTH
REAL :: DEPTH, CP
!
!/
!/ End of WAVNU_LOCAL------------------------------------------------- /
!/

DEPTH = MAX ( DMIN , DW)
!
CALL WAVNU3(SIG,DEPTH,WNL,CGL)
CALL WAVNU3(SIG,DEPTH,WNL,CGL,CP)

END SUBROUTINE WAVNU_LOCAL
!/
Expand Down
15 changes: 15 additions & 0 deletions model/src/w3gdatmd.F90
Original file line number Diff line number Diff line change
Expand Up @@ -758,6 +758,9 @@ MODULE W3GDATMD
INTEGER*2, POINTER :: IOBP_LOC(:)
INTEGER*1, POINTER :: IOBDP_LOC(:)
INTEGER*1, POINTER :: IOBPA_LOC(:)
REAL, POINTER :: DIFRM(:)
REAL, POINTER :: DIFRX(:)
REAL, POINTER :: DIFRY(:)
#endif

REAL(8), POINTER :: LEN(:,:),SI(:), IEN(:,:)
Expand Down Expand Up @@ -1043,6 +1046,7 @@ MODULE W3GDATMD
LOGICAL :: FSFREQSHIFT = .FALSE.
LOGICAL :: FSSOURCE = .FALSE.
LOGICAL :: FSBCCFL = .FALSE.
LOGICAL :: L2DM = .TRUE.
LOGICAL :: DO_CHANGE_WLV
REAL(8) :: SOLVERTHR_STP
REAL(8) :: CRIT_DEP_STP
Expand All @@ -1058,6 +1062,8 @@ MODULE W3GDATMD
REAL*8 :: B_JGS_DIFF_THR
REAL*8 :: B_JGS_NORM_THR
INTEGER :: B_JGS_NLEVEL
LOGICAL :: B_JGS_LDIFR
INTEGER :: B_JGS_IDIFR
LOGICAL :: B_JGS_SOURCE_NONLINEAR
END TYPE SCHM
!
Expand Down Expand Up @@ -1116,6 +1122,9 @@ MODULE W3GDATMD
INTEGER*2, POINTER :: IOBP_LOC(:)
INTEGER*1, POINTER :: IOBDP_LOC(:)
INTEGER*1, POINTER :: IOBPA_LOC(:)
REAL, POINTER :: DIFRM(:)
REAL, POINTER :: DIFRX(:)
REAL, POINTER :: DIFRY(:)
#endif

REAL(8), POINTER :: IEN(:,:), LEN(:,:), SI(:)
Expand Down Expand Up @@ -1403,6 +1412,7 @@ MODULE W3GDATMD
LOGICAL, POINTER :: FSN,FSPSI,FSFCT,FSNIMP,FSTOTALIMP,FSTOTALEXP
LOGICAL, POINTER :: FSREFRACTION, FSFREQSHIFT, FSSOURCE, FSBCCFL
LOGICAL, POINTER :: DO_CHANGE_WLV
LOGICAL, POINTER :: L2DM
REAL(8), POINTER :: SOLVERTHR_STP
REAL(8), POINTER :: CRIT_DEP_STP
LOGICAL, POINTER :: B_JGS_TERMINATE_MAXITER
Expand All @@ -1417,6 +1427,8 @@ MODULE W3GDATMD
REAL(8), POINTER :: B_JGS_DIFF_THR
REAL(8), POINTER :: B_JGS_NORM_THR
INTEGER, POINTER :: B_JGS_NLEVEL
LOGICAL, POINTER :: B_JGS_LDIFR
INTEGER, POINTER :: B_JGS_IDIFR
LOGICAL, POINTER :: B_JGS_SOURCE_NONLINEAR
!/
!/ Data aliasing for structure SICP(S)
Expand Down Expand Up @@ -2840,6 +2852,7 @@ SUBROUTINE W3SETG ( IMOD, NDSE, NDST )
FSREFRACTION => MPARS(IMOD)%SCHMS%FSREFRACTION
FSFREQSHIFT => MPARS(IMOD)%SCHMS%FSFREQSHIFT
FSSOURCE => MPARS(IMOD)%SCHMS%FSSOURCE
L2DM => MPARS(IMOD)%SCHMS%L2DM
DO_CHANGE_WLV => MPARS(IMOD)%SCHMS%DO_CHANGE_WLV
SOLVERTHR_STP => MPARS(IMOD)%SCHMS%SOLVERTHR_STP
CRIT_DEP_STP => MPARS(IMOD)%SCHMS%CRIT_DEP_STP
Expand All @@ -2851,6 +2864,8 @@ SUBROUTINE W3SETG ( IMOD, NDSE, NDST )
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_LDIFR => MPARS(IMOD)%SCHMS%B_JGS_LDIFR
B_JGS_IDIFR => MPARS(IMOD)%SCHMS%B_JGS_IDIFR
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
27 changes: 22 additions & 5 deletions model/src/w3gridmd.F90
Original file line number Diff line number Diff line change
Expand Up @@ -926,12 +926,15 @@ MODULE W3GRIDMD
LOGICAL :: IMPREFRACTION
LOGICAL :: IMPFREQSHIFT
LOGICAL :: IMPSOURCE
LOGICAL :: LREAD2DM
LOGICAL :: SETUP_APPLY_WLV
INTEGER :: JGS_MAXITER
INTEGER :: nbSel
INTEGER :: UNSTSCHEMES(6)
INTEGER :: UNSTSCHEME
INTEGER :: JGS_NLEVEL
LOGICAL :: JGS_LDIFR
INTEGER :: JGS_IDIFR
REAL*8 :: JGS_PMIN
REAL*8 :: JGS_DIFF_THR
REAL*8 :: JGS_NORM_THR
Expand Down Expand Up @@ -1087,7 +1090,7 @@ MODULE W3GRIDMD
UGBCCFL, EXPFSN, EXPFSPSI, EXPFSFCT, &
IMPFSN, IMPTOTAL, EXPTOTAL, &
IMPREFRACTION, IMPFREQSHIFT, &
IMPSOURCE, &
IMPSOURCE, LREAD2DM, &
JGS_TERMINATE_MAXITER, &
JGS_TERMINATE_DIFFERENCE, &
JGS_TERMINATE_NORM, &
Expand All @@ -1102,7 +1105,8 @@ MODULE W3GRIDMD
JGS_NLEVEL, &
JGS_SOURCE_NONLINEAR, &
SETUP_APPLY_WLV, SOLVERTHR_SETUP, &
CRIT_DEP_SETUP
CRIT_DEP_SETUP, JGS_LDIFR, JGS_IDIFR

NAMELIST /MISC/ CICE0, CICEN, LICE, XSEED, FLAGTR, XP, XR, &
XFILT, PMOVE, IHM, HSPM, WSM, WSC, FLC, FMICHE, &
RWNDC, FACBERG, NOSW, GSHIFT, WCOR1, WCOR2, &
Expand Down Expand Up @@ -2441,6 +2445,7 @@ SUBROUTINE W3GRID()
IMPREFRACTION = .FALSE.
IMPFREQSHIFT = .FALSE.
IMPSOURCE = .FALSE.
LREAD2DM = .FALSE.
SETUP_APPLY_WLV = .TRUE.
SOLVERTHR_SETUP=1E-6
CRIT_DEP_SETUP=0.1
Expand All @@ -2457,9 +2462,12 @@ SUBROUTINE W3GRID()
JGS_NORM_THR = 1.E-20
JGS_NLEVEL = 0
JGS_SOURCE_NONLINEAR = .FALSE.
JGS_LDIFR = .FALSE.
JGS_IDIFR = 1
! read data from the unstructured devoted namelist
CALL READNL ( NDSS, 'UNST', STATUS )

L2DM = LREAD2DM
B_JGS_USE_JACOBI = JGS_USE_JACOBI
B_JGS_TERMINATE_MAXITER = JGS_TERMINATE_MAXITER
B_JGS_TERMINATE_DIFFERENCE = JGS_TERMINATE_DIFFERENCE
Expand All @@ -2472,6 +2480,8 @@ SUBROUTINE W3GRID()
B_JGS_DIFF_THR = JGS_DIFF_THR
B_JGS_NORM_THR = JGS_NORM_THR
B_JGS_NLEVEL = JGS_NLEVEL
B_JGS_LDIFR = JGS_LDIFR
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add descriptions in model/inp/ww3_grid.inp of new variables.

B_JGS_IDIFR = JGS_IDIFR
B_JGS_SOURCE_NONLINEAR = JGS_SOURCE_NONLINEAR

nbSel=0
Expand Down Expand Up @@ -3318,10 +3328,10 @@ SUBROUTINE W3GRID()
WRITE (NDSO,2953) CFLTM, WDTHCG, WDTHTH
#endif
!
WRITE (NDSO,2956) UGBCCFL, UGOBCAUTO, UGOBCDEPTH,TRIM(UGOBCFILE), &
WRITE (NDSO,*) UGBCCFL, UGOBCAUTO, UGOBCDEPTH,TRIM(UGOBCFILE), &
EXPFSN, EXPFSPSI, EXPFSFCT, IMPFSN, EXPTOTAL,&
IMPTOTAL, IMPREFRACTION, IMPFREQSHIFT, &
IMPSOURCE, SETUP_APPLY_WLV, &
IMPSOURCE, LREAD2DM, SETUP_APPLY_WLV, &
JGS_TERMINATE_MAXITER, &
JGS_TERMINATE_DIFFERENCE, &
JGS_TERMINATE_NORM, &
Expand Down Expand Up @@ -4000,7 +4010,11 @@ SUBROUTINE W3GRID()
!
! Reading depths on unstructured grid (this also sets number of mesh points, NX)
!
CALL READMSH(NDSG,FNAME)
IF (L2DM) THEN
CALL READ2DM(NDSG,FNAME)
ELSE
CALL READMSH(NDSG,FNAME)
ENDIF
ALLOCATE(ZBIN(NX, NY),OBSX(NX,NY),OBSY(NX,NY))
ZBIN(:,1) = VSC * ZB(:)
!
Expand Down Expand Up @@ -4440,6 +4454,9 @@ SUBROUTINE W3GRID()
CALL READMSHOBC(NDSG,UGOBCFILE,TMPSTA,UGOBCOK)
IF ((GTYPE.EQ.UNGTYPE).AND.UGOBCAUTO.AND.(.NOT.UGOBCOK)) &
CALL UG_GETOPENBOUNDARY(TMPSTA,ZBIN,UGOBCDEPTH)
IF ((GTYPE.EQ.UNGTYPE).AND.L2DM.AND.(.NOT.UGOBCOK)) &
CALL READ2DM_TMPSTA(23956,trim("meshbnd.2dm"),TMPSTA)

!
! 8.b Determine where to get the data
!
Expand Down
7 changes: 4 additions & 3 deletions model/src/w3initmd.F90
Original file line number Diff line number Diff line change
Expand Up @@ -421,7 +421,7 @@ SUBROUTINE W3INIT ( IMOD, IsMulti, FEXT, MDS, MTRACE, ODAT, FLGRD, FLGR2, FLGD,
use yowNodepool, only: npa
use yowRankModule, only : rank
#endif
USE W3GDATMD, ONLY: GTYPE, UNGTYPE
USE W3GDATMD, ONLY: GTYPE, UNGTYPE, IOBDP_LOC
#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, BLOCK_SOLVER_EXPLICIT_INIT, PDLIB_INIT, DEALLOCATE_PDLIB_GLOBAL
Expand Down Expand Up @@ -499,7 +499,7 @@ SUBROUTINE W3INIT ( IMOD, IsMulti, FEXT, MDS, MTRACE, ODAT, FLGRD, FLGR2, FLGD,
#endif
REAL :: DTTST, DEPTH, FRACOS
REAL :: FACTOR
REAL :: WLVeff
REAL :: WLVeff, CTMP
#ifdef W3_T
REAL, ALLOCATABLE :: XOUT(:,:)
#endif
Expand Down Expand Up @@ -1336,6 +1336,7 @@ SUBROUTINE W3INIT ( IMOD, IsMulti, FEXT, MDS, MTRACE, ODAT, FLGRD, FLGR2, FLGD,
#ifdef W3_PDLIB
IF ( IAPROC .LE. NAPROC ) THEN
CALL SET_IOBDP_PDLIB
WRITE(*,*) MAXVAL(IOBDP_LOC), MINVAL(IOBDP_LOC)
ENDIF
#endif

Expand Down Expand Up @@ -1386,7 +1387,7 @@ SUBROUTINE W3INIT ( IMOD, IsMulti, FEXT, MDS, MTRACE, ODAT, FLGRD, FLGR2, FLGD,
!
! Calculate wavenumbers and group velocities.
#ifdef W3_PDLIB
CALL WAVNU3(SIG(IK),DEPTH,WN(IK,IS),CG(IK,IS))
CALL WAVNU3(SIG(IK),DEPTH,WN(IK,IS),CG(IK,IS), CTMP)
#else
CALL WAVNU1(SIG(IK),DEPTH,WN(IK,IS),CG(IK,IS))
#endif
Expand Down
4 changes: 4 additions & 0 deletions model/src/w3iogrmd.F90
Original file line number Diff line number Diff line change
Expand Up @@ -796,6 +796,8 @@ SUBROUTINE W3IOGR ( INXOUT, NDSM, IMOD, FEXT &
B_JGS_DIFF_THR, &
B_JGS_NORM_THR, &
B_JGS_NLEVEL, &
B_JGS_LDIFR, &
B_JGS_IDIFR, &
B_JGS_SOURCE_NONLINEAR
#ifdef W3_ASCII
WRITE (NDSA,*) &
Expand Down Expand Up @@ -995,6 +997,8 @@ SUBROUTINE W3IOGR ( INXOUT, NDSM, IMOD, FEXT &
B_JGS_DIFF_THR, &
B_JGS_NORM_THR, &
B_JGS_NLEVEL, &
B_JGS_LDIFR, &
B_JGS_IDIFR, &
B_JGS_SOURCE_NONLINEAR
IF (.NOT. GUGINIT) THEN
CALL W3DIMUG ( IGRD, NTRI, NX, COUNTOT, NNZ, NDSE, NDST )
Expand Down
Loading
Loading