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

OM4_025 has quite a few memory errors #305

Closed
nichannah opened this issue May 23, 2016 · 1 comment
Closed

OM4_025 has quite a few memory errors #305

nichannah opened this issue May 23, 2016 · 1 comment

Comments

@nichannah
Copy link
Collaborator

Example error output:

==20795== Conditional jump or move depends on uninitialised value(s)
==20795== at 0x2A05773: sis_tracer_advect_mp_advect_scalar_y_ (SIS_tracer_advect.F90:1216)
==20795== by 0x299E7E3: sis_tracer_advect_mp_advect_scalar_ (SIS_tracer_advect.F90:608)
==20795== by 0x2F67BBA: ice_transport_mod_mp_ice_transport_ (ice_transport.F90:326)
==20795== by 0x1894B79: ice_model_mod_mp_update_ice_model_slow_ (in /short/v45/nah599/jenkins/workspace/mom-ocean.org/MOM6_pretest_run/MOM6-examples/build/intel/ice_ocean_SIS2/DEBUG/dynamic/MOM6)
==20795== by 0x1687FF9: ice_model_mod_mp_update_ice_model_slow_dn_ (ice_model.F90:139)
==20795== by 0x1DB0E8D: MAIN__ (coupler_main.F90:875)

Full run output:

https://climate-cms.nci.org.au/jenkins/job/mom-ocean.org/job/MOM6_runtime_analyzer/analyzer=valgrind,build=DEBUG,compiler=intel,experiment=ice_ocean_SIS2-OM4_025,memory_type=dynamic/37/consoleFull

@Hallberg-NOAA
Copy link
Collaborator

This is actually a SIS2 error, but a curious one in that it does not matter to the solutions whether the logical array in question is initalized to true or false! This issue is addressed by SIS2 commit NOAA-GFDL/SIS2@947eca6

MJHarrison-GFDL pushed a commit to MJHarrison-GFDL/MOM6 that referenced this issue Jun 15, 2021
  Added code to explicitly initialize the entire arrays of domore_u and domore_v
to .false.   Curiously, the value used for the initialization of these logical
arrays does not matter to the solutions, because if .false. they are reevaluated
after the first halo update (and always on the first iteration, and if .true. a
number of fluxes are exactly 0 anyway.  Of the two choices, .false. is more
efficient in that it avoids extra calculations of 0 fluxes.  However, if they
are not explicitly initialized, this can be detected by performance analysis
software like valgrid, so this change is primarly to avoid generating warnings.
All answers are bitwise identical, and this should address both MOM6 issue mom-ocean#304
and MOM6 issue mom-ocean#305.
Hallberg-NOAA pushed a commit to Hallberg-NOAA/MOM6 that referenced this issue Jan 23, 2023
* Add KE_visc_gl90 diagnostic

KE_visc_gl90 is an alternative to the diagnostic GLwork. Both diagnostics describe
the energetics of the GL90 parameterization, as part of the kinetic energy budget.

* KE_visc_gl90 is consistent with KE_visc, and the remaining KE diagnostics. In particular,
  it is true that KE_visc_gl90 is exactly contained in KE_visc, i.e., we have that
  KE_visc - KE_visc_gl90 represents exactly the energetics of all viscosity contributions
  except the GL90 viscosity.

* GLwork is not directly compatible with KE_visc, but is guaranteed to be sign-definite if
  summed in the vertical.
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

No branches or pull requests

2 participants