forked from mom-ocean/MOM6
-
Notifications
You must be signed in to change notification settings - Fork 0
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
WIP: First attempt to add a generic tracer to OBC scheme #4
Open
nikizadehgfdl
wants to merge
147
commits into
dev/gfdl
Choose a base branch
from
nikizadehgfdl/ESMG_BGC_OBC
base: dev/gfdl
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Owner
nikizadehgfdl
commented
Jun 23, 2020
- This commit is the first attempt to add a (generic) tracer to the OBC.
- The tracer "gtr1" is added from the ocean_bgc module generic_CFC.F90
- It is to imitate "salt" as if it was a passive tracer.
- This commit is the first attempt to add a (generic) tracer to the OBC. - The tracer "gtr1" is added from the ocean_bgc module generic_CFC.F90 - It is to imitate "salt" as if it was a passive tracer.
- We always intended to use links so that we were not maintaining code that did not belong to us. `listpaths` used to not work as expected so Niki had placed copies here when adding TEOS10. Using links also avoids any license conflicts.
- Removed two git submodules and added bare interfaces to config_src/exernal/ODA_hooks/ - Added some missing documentation
- Updated Doxygen configuration to find files in config_src/external
- This version of FMS is a prerequisite to updating calls to FMS ready to try FMS2 I/O behind NOAA-GFDL/SIS2#117 and mom-ocean#1033
- The -B option forced make to make all targets. This was to ensure that everything was remade when work in a shared work space which is no longer the case. We always have a clean work space in these tests and in order to invoke make twice to handle srun errors we can't use the -B option anymore.
- Adding domain position arguments to diag_axis_init calls
Moved hooks from pkg to external
…testing Use FMS tag 2019.01.02 in .testing
Due to unpredictable conflicts with flags, the realization that flag testing would launch jobs on Slurm environment, and the fact that Slurm launchers, OpenMPI, and MPICH all appear to pass environment variables on default, we now just assume that "env=val $(MPIRUN)" will pass an environment variable to the MPI job in all cases. This may not be true on all systems, but for now we will assume this works.
…MS2019.01.02 This is the minimum required update to use 2020.01 FMS & FMScoupler
Testing: Removed environment flag checks
Corrected halo size in density derivative calculations in smoothed_dRdT_dRdS This fixes an i-parallelization problem that was recently introduced (as a part of MOM6 PR#1089) when VERTEX_SHEAR is True, and closes MOM6 issue mom-ocean#1146. All answers in the existing MOM6-examples test suite are bitwise identical, but this does change (correct) answers when VERTEX_SHEAR is true.
- FMS2020 has newer cpu affinity work. These are mostly to fix the issues with thread placing and hyperthreadng under slurm on gaea. But it also works on Orion. - The new affinity module simplifies the thread-placing calls in the component models. - The name of some functions has changed, that's the reason for crashes like: FATAL: input domain does not have an io_domain. - This update fixes those issues. - openmp runs with 1 and 2 threads gives the same answers as non-openmp - NOTE: I don't rememer why we put the thread placing calls in MOM_domains.F90 They look as unnecessary and the whole #ifndef NOT_SET_AFFINITY block can probably be removed. ocean_nthreads is either set in coupler or solo_driver.
…_halo (*)Corrected halo size in EOS call if VERTEX_SHEAR=T
The current OBC segment list includes a "segment zero" which corresponds to when the segment maps (segnum_u, segnum_v) point to OBC_NONE, which is set to zero. The purpose of this "segment zero" seems to be for avoiding invalid references, so that OBC%segment(OBC%segnum_[uv](i,j)) always returns a valid result, included when set to OBC_NONE. This results in reading and setting values which are unused or unneeded. This patch replaces these redundant accesses to segment zero with various conditional blocks for avoiding these accesses.
OBC: H-dimensionality fixes
There were a few remaining segnum_[uv] references in MOM_open_boundary which could reference segment zero. This patch fixes those references.
…into remove_obc_seg0
OBC: Removal of segment zero
Improve the handling of very thin layers in make_frazil. This does not change answers for typical values of ANGSTROM, but can avoid problems that can arise when ANGSTROM=0. All answers in the existing MOM6-examples test cases are bitwise identical.
Improved handling of massless layers in the calculation of the advective CFL numbers used in PPM tracer advection by using an Adcroft reciprocal instead of adding a small value in the denominator. Although all answers are bitwise identical in the existing MOM6-examples test cases, this can avoid problems with tracer advection when ANGSTROM is 0 or very small like those that were recently found in analogous SIS2 code.
Revised module use statements and some infrastructure calls to go via the MOM6 framework directory rather than directly calling FMS infrastructure routines. All answers are bitwise identical.
Set dSV_dT and dSV_dS if present in applyBoundaryFluxesInOut, even if boundary fluxes are not associated. With this change, setting BUOY_CONFIG='NONE' and BUOY_CONFIG='zero' both work and give similar (but not identical) answers in some test cases with an ePBL boundary layer parameterization, whereas before answers were tainted with uninitialized values when BUOY_CONFIG='NONE'. All answers in the existing MOM6-examples test suite are bitwise identical, but answers can change in other cases.
Corrected a horizontal indexing bug in int_density_dz_linear that caused the ISOMIP/layer test case to fail. This bug was first introduced with PR#732 on March 8, 2018. This bug fix will change answers with a linear equation of state and the finite volume pressure gradient force, however it does not change any of the verified answers in the MOM6-examples regression suite.
Infrastructure calls via framework directory
…_CFL (*)Improve advective CFL calculation with tiny h
(*)Fix code problems that appear in ISOMIP cases
…seg_data Move call to initialize_segment_data to MOM_state_initialization
- This update queries the obgc modules (generic_tracers) for the OBC source files and var names for each generic tracers and initializes the segment fields accoringly. - With this update the obgc tracers should NOT appear in OBC_SEGMENT_XXX_DATA in MOM parameter files (MOM_override). - The default source file name is obgc_obc.nc - The default source file var name is the generic_tracer name - These can be overriden by field_table mechanism. E.g., "namelists","ocean_mod","generic_CFC" cfc11_obc_src_field_name = salt cfc12_obc_src_field_name = salt /
- This update adds OBC reservoirs for all obgc tracers that are registered to have OBC. - This fixes restart issue with obgc tracers in test runs
nikizadehgfdl
pushed a commit
that referenced
this pull request
Apr 30, 2021
Update CPT fork of MOM6 to latest (12/10/2020) from NOAA-GFDL
nikizadehgfdl
pushed a commit
that referenced
this pull request
Apr 30, 2021
Only write checksums from root PE MCT/NUOPC caps
- These are some fixes towards understanding the restart issue for OBC models. - Also, introduce a time period for OBC_segment update
nikizadehgfdl
pushed a commit
that referenced
this pull request
Jan 7, 2022
Correct a couple of typos in hor_visc
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.