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

Add vertical remap feature #4968

Merged
merged 22 commits into from
Jun 29, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
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
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -61,3 +61,6 @@
[submodule "components/mpas-ocean/src/FFTW"]
path = components/mpas-ocean/src/FFTW
url = https://github.com/knbarton/fftw-3.3.8.git
[submodule "components/mpas-ocean/src/ppr"]
path = components/mpas-ocean/src/ppr
url = https://github.com/dengwirda/PPR.git
9 changes: 6 additions & 3 deletions components/mpas-ocean/bld/build-namelist
Original file line number Diff line number Diff line change
Expand Up @@ -768,11 +768,14 @@ add_default($nl, 'config_land_ice_flux_jenkins_salt_transfer_coefficient');
# Namelist group: advection #
#############################

add_default($nl, 'config_vert_tracer_adv');
add_default($nl, 'config_vert_tracer_adv_order');
add_default($nl, 'config_vert_advection_method');
add_default($nl, 'config_vert_remap_order');
add_default($nl, 'config_vert_remap_interval');
add_default($nl, 'config_vert_tracer_adv_flux_order');
add_default($nl, 'config_horiz_tracer_adv_order');
add_default($nl, 'config_coef_3rd_order');
add_default($nl, 'config_monotonic');
add_default($nl, 'config_flux_limiter');
add_default($nl, 'config_remap_limiter');

###############################
# Namelist group: bottom_drag #
Expand Down
9 changes: 6 additions & 3 deletions components/mpas-ocean/bld/build-namelist-section
Original file line number Diff line number Diff line change
Expand Up @@ -301,11 +301,14 @@ add_default($nl, 'config_land_ice_flux_jenkins_salt_transfer_coefficient');
# Namelist group: advection #
#############################

add_default($nl, 'config_vert_tracer_adv');
add_default($nl, 'config_vert_tracer_adv_order');
add_default($nl, 'config_vert_advection_method');
add_default($nl, 'config_vert_remap_order');
add_default($nl, 'config_vert_remap_interval');
add_default($nl, 'config_vert_tracer_adv_flux_order');
add_default($nl, 'config_horiz_tracer_adv_order');
add_default($nl, 'config_coef_3rd_order');
add_default($nl, 'config_monotonic');
add_default($nl, 'config_flux_limiter');
add_default($nl, 'config_remap_limiter');

###############################
# Namelist group: bottom_drag #
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -342,11 +342,14 @@
<config_land_ice_flux_jenkins_salt_transfer_coefficient ocn_grid="ECwISC30to60E2r1">8.42e-5</config_land_ice_flux_jenkins_salt_transfer_coefficient>

<!-- advection -->
<config_vert_tracer_adv>'stencil'</config_vert_tracer_adv>
<config_vert_tracer_adv_order>3</config_vert_tracer_adv_order>
<config_vert_advection_method>'flux-form'</config_vert_advection_method>
<config_vert_remap_order>3</config_vert_remap_order>
<config_vert_remap_interval>0</config_vert_remap_interval>
<config_vert_tracer_adv_flux_order>3</config_vert_tracer_adv_flux_order>
<config_horiz_tracer_adv_order>3</config_horiz_tracer_adv_order>
<config_coef_3rd_order>0.25</config_coef_3rd_order>
<config_monotonic>.true.</config_monotonic>
<config_flux_limiter>'monotonic'</config_flux_limiter>
<config_remap_limiter>'monotonic'</config_remap_limiter>

<!-- bottom_drag -->
<config_use_implicit_bottom_drag>.true.</config_use_implicit_bottom_drag>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1582,17 +1582,33 @@ Default: Defined in namelist_defaults.xml

<!-- advection -->

<entry id="config_vert_tracer_adv" type="char*1024"
<entry id="config_vert_advection_method" type="char*1024"
category="advection" group="advection">
Method for interpolating tracer values from layer centers to layer edges
Method for advecting tracers, momentum, and thickness vertically.

Valid values: 'spline' and 'stencil'
Valid values: 'flux-form' and 'remap'
Default: Defined in namelist_defaults.xml
</entry>

<entry id="config_vert_tracer_adv_order" type="integer"
<entry id="config_vert_remap_order" type="integer"
category="advection" group="advection">
Order of polynomial used for tracer reconstruction at layer edges
Order of remapping method used for momentum and tracer advection

Valid values: 1, 2, 3 and 5
Default: Defined in namelist_defaults.xml
</entry>

<entry id="config_vert_remap_interval" type="integer"
category="advection" group="advection">
Number of timesteps between each remapping. If 0, remapping occurs every timestep

Valid values: Any integer greater than or equal to 0
Default: Defined in namelist_defaults.xml
</entry>

<entry id="config_vert_tracer_adv_flux_order" type="integer"
category="advection" group="advection">
Order of polynomial used for tracer reconstruction at layer edges for flux-form method

Valid values: 2, 3 and 4
Default: Defined in namelist_defaults.xml
Expand All @@ -1614,11 +1630,19 @@ Valid values: any real between 0 and 1
Default: Defined in namelist_defaults.xml
</entry>

<entry id="config_monotonic" type="logical"
<entry id="config_flux_limiter" type="char*1024"
category="advection" group="advection">
If .true. then fluxes are limited to produce a monotonic advection scheme
Slope limiter for the flux-form advection scheme.

Valid values: .true. and .false.
Valid values: 'none','monotonic'
Default: Defined in namelist_defaults.xml
</entry>

<entry id="config_remap_limiter" type="char*1024"
category="advection" group="advection">
Slope limiter for the vertical remap advection scheme.

Valid values: 'none','monotonic','weno'
Default: Defined in namelist_defaults.xml
</entry>

Expand Down Expand Up @@ -2188,7 +2212,7 @@ Default: Defined in namelist_defaults.xml

<entry id="config_check_tracer_monotonicity" type="logical"
category="debug" group="debug">
Enables a change on tracer monotonicity at the end of the monotonic advection routine. Only used if config_monotonic is set to .true.
Enables a change on tracer monotonicity at the end of the monotonic advection routine. Only used if config_flux_limiter is set to monotonic

Valid values: .true. or .false.
Default: Defined in namelist_defaults.xml
Expand Down
1 change: 1 addition & 0 deletions components/mpas-ocean/docs/design_docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@ Design document describing new capabilities added to MPAS-Ocean.

time-varying-wind
prognostic-sediment-transport
vert-lagrang-remap/vert-lagrang-remap
Loading