-
Notifications
You must be signed in to change notification settings - Fork 232
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
Dev ncar main candidate 2021 08 31 #1491
Dev ncar main candidate 2021 08 31 #1491
Conversation
…ncar-2021-04-21 Merging the main candidate from GFDL 2021-03-26
…nthreads_nuopc Add isPresent and isSet when retrieving nthreads
These arrays were not being deallocated which was causing a memory leak problem.
De-allocate Kd_bkgnd and Kv_bkgnd
This commit fixes misplaced parentheses in the tridiagonal solvers used in subroutines tracer_vertdiff_Eulerian and tracer_vertdiff. This bug has been reported in https://github.com/NOAA-GFDL/MOM6/issues/1415 This commit also changes the mask condition used in these subroutines.
This commit adds a new module (MOM_CFC_cap) that can used to simulate chlorofluorocarbons (CFCs) tracers. It also includes the modifications needed to 1) allocate arrays in the fluxes and surface types, and 2) activate the MOM_CFC_cap module via NUOPC cap.
…mentation * Implements a module to simulate CFCs via NUOPC cap
Fix NUOPC import of fields required for the new CFC module
The export of ice fraction was previously added for the newly added CFC module.
In a previous commit, the expression tr(i,j,1) = (b1(i)*h_tr)*tr(i,j,1) + sfc_src(i,j) was change to tr(i,j,1) = b1(i)*(h_tr*tr(i,j,1) + sfc_src(i,j)) in 4 lines. This changed the order in which b1(i)*h_tr*tr(i,j,1) is evaluated, even if sfc_src(i,j) is 0.0. Because the CESM configurations use the passive tracer tridiagonal solver for T and S, the modification above changed answers in these configurations. To recover previous answers the expression must be tr(i,j,1) = (b1(i)*h_tr)*tr(i,j,1) + b1(i)*sfc_src(i,j)
Merge main from GFDL (210723)
…change_in_CFC_PR * Recover answer change from CFC PR
…solving conflicts
…uted and applied: (1) When available, pass the enhancement factor received from WW3. Otherwise, let CVmix compute the enhancement factor. (2) Instead of explicitly multiplying diffusivities and viscosities with the enhancement factor, let CVMix handle enhancement internally.
correct scale argument in get_param and chksum calls add dimension scaling terms to some expressions add some chksum calls
…tionality of prescribed constant enhancement.
Introduce the legacy CESM WW3 coupling option (VR12-MA)
…fixes dimension rescaling fixes and CFC cleanup
I am out of town now, will test this PR when return next week
On Tue, Aug 31, 2021 at 11:30 AM Gustavo Marques ***@***.***> wrote:
Incorporates the developments done in dev/ncar since in Apr 21, 2021. Main
contributions are summarized below.
This PR does not change the MOM6-examples answers (w.r.t. branch main
e794c41
<NOAA-GFDL@e794c41>)
when using Cheyenne with the intel/19.0.5 compiler.
------------------------------
Features
- NCAR#194 <NCAR#194> ***@***.***
<https://github.com/alperaltuntas> )
- NCAR#189 <NCAR#189> ***@***.***
<https://github.com/gustavo-marques> )
------------------------------
Bugfixes
- NCAR#188 <NCAR#188> ***@***.***
<https://github.com/gustavo-marques> )
- NCAR#187 <NCAR#187> ***@***.***
<https://github.com/gustavo-marques> )
- NCAR#190 <NCAR#190> ***@***.***
<https://github.com/alperaltuntas>)
- bug fix in the tridiagonal solvers used in tracer_vertdiff_Eulerian
and tracer_vertdiff, ***@***.***
<NCAR@276954f>
***@***.*** <https://github.com/klindsay28>, @gustavo-marques
<https://github.com/gustavo-marques>)
------------------------------
Improvements
- NCAR#184 <NCAR#184> ***@***.***
<https://github.com/alperaltuntas>)
- NCAR#191 <NCAR#191> ***@***.***
<https://github.com/klindsay28>, @gustavo-marques
<https://github.com/gustavo-marques>)
- NCAR#195 <NCAR#195> ***@***.***
<https://github.com/klindsay28> )
------------------------------
External
- NCAR#186 <NCAR#186> ***@***.***
<https://github.com/gustavo-marques> )
------------------------------
Review
- COAPS / FSU: @abozec <https://github.com/abozec>
- EMC: @jiandewang <https://github.com/jiandewang>
- ESMG: @kshedstrom <https://github.com/kshedstrom>
- NASA-GMAO: @sanAkel <https://github.com/sanAkel>
- GFDL: @marshallward <https://github.com/marshallward> /
@Hallberg-NOAA <https://github.com/Hallberg-NOAA> / @adcroft
<https://github.com/adcroft>
------------------------------
You can view, comment on, or merge this pull request online at:
https://github.com/NOAA-GFDL/MOM6/pull/1491
Commit Summary
- Merge pull request #186 from
gustavo-marques/main-candidate-ncar-2021-04-21
- Merge pull request #187 from
gustavo-marques/fix_retrieving_nthreads_nuopc
- Deallocate Kd_bkgnd and Kv_bkgnd
- Merge pull request #188 from gustavo-marques/fix_mem_leak_bkgnd
- introduce a new wave coupling method: VR12-MA (not fully implemented
yet)
- Fixed a misplaced parentheses
- CFCs implementation via NUOPC cap
- introduce the lamult import from ww3 in nuopc cap and add a diag
- Merge pull request #189 from gustavo-marques/ncar_cfcs_implementation
- import ifrac and u10_sqr only when CFC module is active
- Merge pull request #190 from NCAR/fix_cfc_import
- merge latest dev/ncar into ww3_coupling_vr12ma
- Enable the export of ice fraction when wave coupling is on.
- set lamult to 1 below ice
- move lamult from forces to fluxes
- Changes the order of calculation
- merge dev/ncar with main 210723
- Merge pull request #193 from NCAR/merge_main_210802
- Merge pull request #191 from
gustavo-marques/recover_answer_change_in_CFC_PR
- bringing in vr12ma ww3 coupling changes to the latest dev/ncar and
resolving conflicts
- Minor fixes for the WW3 coupling option VR12-MA
- Introduce changes needed for CVMix KPP module for the VR12-MA wave
coupling option
- fix doxygen error: add comments for wave method strings
- fix omp error in KPP module: add lamult to shared clauses
- change VR12-MA wave_method string to EFACTOR
- Refactor the way Langmuir entrainment and enhancement factor are
computed and applied: (1) When available, pass the enhancement factor
received from WW3. Otherwise, let CVmix compute the enhancement factor. (2)
Instead of explicitly multiplying diffusivities and viscosities with the
enhancement factor, let CVMix handle enhancement internally.
- Various dimension rescaling fixes
- dimension rescaling fixes for MOM_CFC_cap tracers
- let register_tracer handle flux_units for MOM_CFC_cap tracers
- correct prepending inputdir to CFC_BC_file
- Add run-time parameters CFC11_IC_VAL and CFC12_IC_VAL.
- MOM_CFC_cap cleanup
- Restore Vt2 diagnostic calculation when requested and retain the
functionality of prescribed constant enhancement.
- Merge pull request #194 from NCAR/merge_ww3_coupling_vr12ma
- Merge pull request #195 from klindsay28/dimension_rescaling_fixes
- Merge branch 'main' into dev-ncar-main-candidate-2021-08-30
File Changes
- *M* config_src/drivers/mct_cap/mom_surface_forcing_mct.F90
<https://github.com/NOAA-GFDL/MOM6/pull/1491/files#diff-b83e10b0c73dc14e959140f8669362a32bb6ea20da61a9bb7f5d908028998167>
(3)
- *M* config_src/drivers/nuopc_cap/mom_cap.F90
<https://github.com/NOAA-GFDL/MOM6/pull/1491/files#diff-68076a5015442fbab97fced84c6d2c139c715798d26b7e0fe0c542bab0b3c1d6>
(74)
- *M* config_src/drivers/nuopc_cap/mom_cap_methods.F90
<https://github.com/NOAA-GFDL/MOM6/pull/1491/files#diff-daec6b77da203950f8789b1ce9ceb53ed29d0a2aad70aaafcac4b316f7e18b6a>
(27)
- *M* config_src/drivers/nuopc_cap/mom_ocean_model_nuopc.F90
<https://github.com/NOAA-GFDL/MOM6/pull/1491/files#diff-56453ad5079d638869d5f79424c60541ab82af9b45f062d8960aaea00ceaec06>
(31)
- *M* config_src/drivers/nuopc_cap/mom_surface_forcing_nuopc.F90
<https://github.com/NOAA-GFDL/MOM6/pull/1491/files#diff-3410befea8914fc74dc1848231ac30c7c31c64354183c45859bf0ef9adfc42dc>
(95)
- *M* config_src/drivers/solo_driver/MESO_surface_forcing.F90
<https://github.com/NOAA-GFDL/MOM6/pull/1491/files#diff-053c6530ec8ac1eab10893678228fb73484fffa8abf2ec4bce3520a7839a654e>
(3)
- *M* src/core/MOM_forcing_type.F90
<https://github.com/NOAA-GFDL/MOM6/pull/1491/files#diff-ef477e15aed8261cb029c21cbf83f1ff7bbc0828f8e37ee4a84c954f1fa0c34a>
(126)
- *M* src/core/MOM_unit_tests.F90
<https://github.com/NOAA-GFDL/MOM6/pull/1491/files#diff-6f7e21e60b2ad9face7fdb6ad0ba9fe4787adb036997a64b636432be3fa4bd4a>
(4)
- *M* src/core/MOM_variables.F90
<https://github.com/NOAA-GFDL/MOM6/pull/1491/files#diff-27f83ca0f2fc7eca06e1ad353f12651c92ed24a3c2ce8d60209163b007c0b038>
(17)
- *M* src/parameterizations/lateral/MOM_MEKE.F90
<https://github.com/NOAA-GFDL/MOM6/pull/1491/files#diff-2bf6c52474ad3142c4902b0f94ed67365c19e0bc7a6a61c4dcbc4e453330d258>
(18)
- *M* src/parameterizations/lateral/MOM_lateral_mixing_coeffs.F90
<https://github.com/NOAA-GFDL/MOM6/pull/1491/files#diff-849c6686c3016f010078e4b6922c1006bfd24d6610fbe6a0099bf5d19c61328f>
(11)
- *M* src/parameterizations/lateral/MOM_thickness_diffuse.F90
<https://github.com/NOAA-GFDL/MOM6/pull/1491/files#diff-f667ab3399aff360a13eefb0797f44b5489cca3f149cfcf41936579b20d87b95>
(4)
- *M* src/parameterizations/vertical/MOM_CVMix_KPP.F90
<https://github.com/NOAA-GFDL/MOM6/pull/1491/files#diff-353ec9a1dd06eb02eb28fcaa749d2ce08f6c1d041bc1c2c4fb227608cf475a5a>
(233)
- *M* src/parameterizations/vertical/MOM_CVMix_conv.F90
<https://github.com/NOAA-GFDL/MOM6/pull/1491/files#diff-d5fd52ad92ae8529ae15d7114fb621bebd39e62e596e1c6089f2e1d5d127c855>
(4)
- *M* src/parameterizations/vertical/MOM_diabatic_driver.F90
<https://github.com/NOAA-GFDL/MOM6/pull/1491/files#diff-fd384abbba9b69756698159085ed7e3a10123889a5f3feb3ea130cf985ff9679>
(14)
- *A* src/tracer/MOM_CFC_cap.F90
<https://github.com/NOAA-GFDL/MOM6/pull/1491/files#diff-fb34acfc13ae3238e59b1421deea7c02e3291ac0598cf767d45191aabdec69b4>
(691)
- *M* src/tracer/MOM_tracer_diabatic.F90
<https://github.com/NOAA-GFDL/MOM6/pull/1491/files#diff-2c7174b7febcf4d61d30cfded31d4268bc554bbb7232010f60c7b750a47848d9>
(28)
- *M* src/tracer/MOM_tracer_flow_control.F90
<https://github.com/NOAA-GFDL/MOM6/pull/1491/files#diff-f77209ea737f3667c8aeeeb9e8934c22b5ba896509821a99d696759b644b84de>
(33)
- *M* src/user/MOM_wave_interface.F90
<https://github.com/NOAA-GFDL/MOM6/pull/1491/files#diff-07b299ff53696cd2bc6c283bcc220b755aff0a13857294d4a7e6c5bfd080ddeb>
(52)
- *M* src/user/tidal_bay_initialization.F90
<https://github.com/NOAA-GFDL/MOM6/pull/1491/files#diff-1078822a83e779f5a41787c365ad5ec10d89b3e68e435d8510ddc973164d1e34>
(2)
Patch Links:
- https://github.com/NOAA-GFDL/MOM6/pull/1491.patch
- https://github.com/NOAA-GFDL/MOM6/pull/1491.diff
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<https://github.com/NOAA-GFDL/MOM6/pull/1491>, or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ADMGAS7DGB5VLWG5PUF24OTT7T7RVANCNFSM5DEP7XYQ>
.
Triage notifications on the go with GitHub Mobile for iOS
<https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675>
or Android
<https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub>.
--
Jiande Wang
IMSG at NOAA/NWS/NCEP/EMC
cubic 2088
***@***.***
phone:3016833725
|
I approve this PR. |
The tc1 tests - and possibly others - are detecting regressions in the diagnostics, e.g.
(Not a complete list, just the header of the diff) It looks to be a last-bit difference in the If this is intentional then we can override it, but if not then it should be investigated. |
The PR description has been updated. I now mention that this PR will change answers for tracers that use either tracer_vertdiff_Eulerian or tracer_vertdiff, which is the case for ideal age in the tc1 regression test. |
…passage of lamult enhancement factor
Pr1491 fixes
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 Thanks for those comments.
@gustavo-marques: I just returned back from vacation, will test it and get back to you in 1-2 days. |
works fine in UFS. |
I approve this PR also |
I have run the MOM6-examples pipeline tests manually with this PR, and the answers are all unchanged. I approve this PR, although there are two issues that it raises that I think warrant further discussion:
|
I verified that this passed our regression test after fixing some conflicts (due to changes after the PR was submitted). There is a new (expected) parameter as well:
So I will go ahead and merge this to |
Incorporates the developments done in dev/ncar since Apr 21, 2021. The main contributions are summarized below.
This PR does not change the MOM6-examples answers (ocean.stats.nc) w.r.t. branch main e794c41 when using Cheyenne with the intel/19.0.5 compiler. However, because of a bug fix (misplaced parentheses), this PR will change answers for tracers updated using either
tracer_vertdiff_Eulerian
ortracer_vertdiff
when the optional argument,sfc_flux
, is passed.Features
Bugfixes
tracer_vertdiff_Eulerian
andtracer_vertdiff
, NCAR@276954f (@klindsay28, @gustavo-marques)Improvements
/glade/scratch/gmarques/bmom.e22.f09_t061_hycom1_N75.mct.surface_fluxes_check.007
External
Review