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

Vertdiff test with python #1

Closed
wants to merge 17 commits into from
Closed

Conversation

nikizadehgfdl
Copy link
Owner

No description provided.

Hallberg-NOAA and others added 17 commits August 12, 2020 11:17
  This commit includes three distinct changes to the generic_tracer code to
regulate output verbosity, increase robustness, and make available for a module
use a variable size that is required to use the generic_tracer_utilities.
Specifically these changes are:

1. Added optional verbosity arguments to g_tracer_print_info, g_tracer_flux_init
   and generic_tracer_register, to allow for the run-time specification of the
   volume of diagnostic output.  Some are directly implemented in the generic
   tracer code, while others pass through to an existing optional argument in
   aof_set_coupler_flux.

2. Added a generic_tracer_register_called module variable to generic_tracer.F90.
   Because of the way generic_tracer_register is structured and allocates data,
   there will be problems if it is executed more than once.  This new module
   variable allows it to be called multiple times without the damaging effects
   of executing it more than once.  This regulation is more appropriate to occur
   in the generic_tracer module, because the coding conventions for this module
   make extensive use of module data, whereas MOM6 does not do this.

3. Make the variable fm_string_len publicly available from the g_tracer_utils
   module.  Several routines in g_tracer_utils specify that this is the required
   length of their character array arguments, so this variable should be shared
   from this module, rather than requiring calling modules to reference another
   infrastructure module.
+Optional verbosity control for generic_tracer code
- This update fixes the crashes in ESM4 in debug mode.
…_debug_runs

Fix some underflow quantities that cause crash in debug runs
- Taken from internal repository at commit ed2f242
* Flexible infrastructure for using alternate air-sea exchange
  and Schmidt number coefficients
Updates for boundary layer residence time tracer and flexible gas params
- imbalance tolerance needs to be adjustable
- This commit bit reproduces original if compiled without openACC
- To use openACC it has to be compiled with memory managed mode of NV (PGI) compiler
- Compile only COBALT with -⁠ta=tesla:managed
- Answers with GPU are different
- Timers increase and need further work to benefit from GPU
- This update tries to document the vertdiff subroutine used by generic tracers.
- It finds a conflict between derivation and implementation of sinking mechanism.
- Previous to this update the concentration of a sinking tracer sharply drops by a large factor in the first timestep.
- Fixing the conflict by setting h_minus_dsink=h_old is presumably fixing the above issue in tracer conservation.
-
- This update also utilizes a nifty Python tool to plot the tracer vertical profile as the model runs.
- This pythonic should be moved to another branch.
- This update tries to document the vertdiff subroutine used by generic tracers.
- It finds a conflict between derivation and implementation of sinking mechanism.
- Previous to this update the concentration of a sinking tracer sharply drops by a large factor in the first timestep.
- Fixing the conflict by setting h_minus_dsink=h_old is presumably fixing the above issue in tracer conservation.
-
- This update also utilizes a nifty Python tool to plot the tracer vertical profile as the model runs.
- This pythonic should be moved to another branch.
nikizadehgfdl pushed a commit that referenced this pull request Jul 30, 2022
andrew-c-ross pushed a commit to andrew-c-ross/ocean_BGC that referenced this pull request Mar 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants