gotm-model / code

Source code for the General Ocean Turbulence Model
https://gotm.net
GNU General Public License v2.0
53 stars 44 forks source link

CVMix and Stokes drift modules #5

Closed qingli411 closed 4 years ago

qingli411 commented 4 years ago

This PR adds two modules to GOTM:

The CVMix module is enabled by building GOTM with the CMake flag -DGOTM_USE_CVMIX=true and using turb_method=100. It includes an interface (do_cvmix separate from do_turbulence) to call CVMix subroutines to do KPP (Large et al., 1994) and a few variants that include the effects of Langmuir turbulence (Li et al., 2016 and Li and Fox-Kemper, 2017). The CVMix library is included as a submodule.

The Stokes drift module provides a way to include the Stokes drift information in GOTM for use in ocean surface boundary layer turbulence closure schemes. It is enabled by default with zero Stokes drift. It introduces the following variables:

qingli411 commented 4 years ago

Please don't merge yet. Still need a few more tests. Also the CVMix submodule is pointing to a branch in my CVMix repository that has CMake support (see da0a951). Will point to the CVMix repository once the CMake changes are merged to CVMix.

bolding commented 4 years ago

Hi Qing

Thanks for the PR. I'll wait with merging until you give the green light - and also considering other comments (if any :-))

I've send a mail to the GOTM mailings lists - so lets see if there is any activity.

Karsten

hburchard commented 4 years ago

Hi Qing,

thanks a lot for the well-structured documentation. Which are the test cases you want to test? The ones that I would recommend are gotland (Central Baltic Sea), nns_seasonal (Nothern North Sea), and OWS Papa. Let me know, in case that some of them do not work for you.

Cheers, Hans.

lumlauf commented 4 years ago

Hi all,

I would also suggest that we have 1-2 idealized test cases. Perhaps we could build up on our classical "entrainment" test case to see how LC modifies mixed layer entrainment in a simple, idealized environment.

Cheers,

Lars

Am 2020-06-10 um 12:46 schrieb hburchard:

Hi Qing,

thanks a lot for the well-structured documentation. Which are the test cases you want to test? The ones that I would recommend are gotland (Central Baltic Sea), nns_seasonal (Nothern North Sea), and OWS Papa. Let me know, in case that some of them do not work for you.

Cheers, Hans.

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/gotm-model/code/pull/5#issuecomment-641920180, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEVOCRJNCUQRJWWJHWAAORLRV5P6XANCNFSM4NZ5R3KQ.Web Bug from https://github.com/notifications/beacon/AEVOCRLCHNHZZFL7QQH4RPDRV5P6XA5CNFSM4NZ5R3K2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEZBOZNA.gif

[ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/gotm-model/code/pull/5#issuecomment-641920180", "url": "https://github.com/gotm-model/code/pull/5#issuecomment-641920180", "name": "View Pull Request" }, "description": "View this Pull Request on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ]

--

Lars Umlauf

Physical Oceanography and Instrumentation Leibniz-Institute for Baltic Sea Research

phone : ++49 381 5197 223 fax : ++49 381 5197 114 web : www.io-warnemuende.de/lars-umlauf-en.html

address: Leibniz-Institute for Baltic Sea Research Seestrasse 15 D-18119 Rostock-Warnemuende Germany

qingli411 commented 4 years ago

I have quickly tried the Gotland and FLEX cases using the new code and they work and the results look reasonable. I think we want a few tests to make sure:

I think a simple and classical entrainment test case is a good idea. I have similar entrainment test cases in Li et al, 2019 to compare with LES. I think I will try to reproduce Fig. 15 of that paper using the new code.

One question I have:

hburchard commented 4 years ago

Qing, I would propose that for the first we leave out the bottom boundary layer in cvmix. There are so many pitfalls and it would mean quite some more development and testing. In a later stage, someone could include this.

Cheers, Hans.

lumlauf commented 4 years ago

I agree with Hans. It is not a big step to include the bottom module because we can recycle most of the routines from the SML module. But let's wait with this until somebody really needs it.

Best,

Lars

Am 2020-06-12 um 17:35 schrieb hburchard:

Qing, I would propose that for the first we leave out the bottom boundary layer in cvmix. There are so many pitfalls and it would mean quite some more development and testing. In a later stage, someone could include this.

Cheers, Hans.

— You are receiving this because you were assigned. Reply to this email directly, view it on GitHub https://github.com/gotm-model/code/pull/5#issuecomment-643338749, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEVOCRLSVGIUNO47BL7GU2TRWJDMTANCNFSM4NZ5R3KQ.Web Bug from https://github.com/notifications/beacon/AEVOCRMB7A5RNXOKLCBYLHDRWJDMTA5CNFSM4NZ5R3K2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEZMJD7I.gif

[ { "@context": "http://schema.org", "@type": "EmailMessage", "potentialAction": { "@type": "ViewAction", "target": "https://github.com/gotm-model/code/pull/5#issuecomment-643338749", "url": "https://github.com/gotm-model/code/pull/5#issuecomment-643338749", "name": "View Pull Request" }, "description": "View this Pull Request on GitHub", "publisher": { "@type": "Organization", "name": "GitHub", "url": "https://github.com" } } ]

--

Lars Umlauf

Physical Oceanography and Instrumentation Leibniz-Institute for Baltic Sea Research

phone : ++49 381 5197 223 fax : ++49 381 5197 114 web : www.io-warnemuende.de/lars-umlauf-en.html

address: Leibniz-Institute for Baltic Sea Research Seestrasse 15 D-18119 Rostock-Warnemuende Germany

qingli411 commented 4 years ago

Sounds good. I will push a commit to clean that up.

qingli411 commented 4 years ago

Here are some updates.

I think it is ready to be merged except that the CVMix submodule is still pointing to my CVMix fork. Please let me know if there is anything else that need to be changed in this branch.

bolding commented 4 years ago

Hi Qing

The old thing missing is then the update of the official CVMix repository before we can merge.

Karsten

qingli411 commented 4 years ago

Now CVMix is pointing to the main CVMix repository.