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

Feature/main ecbuild candidate 20220111 #29

Merged
merged 1,504 commits into from
Jan 25, 2022

Conversation

guillaumevernieres
Copy link

Description

closes #27

NoraLoose and others added 30 commits August 4, 2021 17:40
remove unused index bounds, and fix sum_h2 loop.
Update MOM_oda_incupd.F90
Visc_rem_[uv] multiplied momentum budget diagnostics
Bugfix: a couple of mask_depth related issues
Make use_drag_rate independent of MEKE_damping
Fix to commit 893a06e which broke the SIGMA_SHELF_ZSTAR option
Fix register_diag_field axes_grp pointer init
NoraLoose and others added 8 commits November 5, 2021 13:32
This adds four new diagnostics building on the wind stress acceleration diagnostics du_dt_str, dv_dt_str (from mom-ocean#1437)
- their thickness-weighted versions: h_du_dt_str, h_dv_dt_str (completing the set of diags from 3D thickness x momentum diagnostics mom-ocean#1398)
- their viscous remnant fraction: du_dt_str_visc_rem, dv_dt_str_visc_rem (completing the set of diags from Visc_rem_[uv] multiplied momentum budget diagnostics ocean-eddy-cpt#10)

Nora did some quick tests with the CPT NeverWorld2 setup, which confirm that online and offline multiplication by 1) h or 2) visc_rem_[uv] coincide (up to 1) interpolation error and 2) numerical noise, respectively), and illustrated this beautifully with some figures that accompanied the first of the three commits that were squashed into one.
  Cleaned up 26 falsely optional or unused arguments in the vertical
diffusivity code, and related changes.  Several descriptive comments were
also corrected, including the correction of the units of 10 variables related
to CVMix_KPP.  This commit includes:
 - Made the Kd_int arguments to set_diffusivity() and 3 subsidiary routines
   mandatory and reordered the arguments so that the non-optional arguments
   come before the grid types
 - Made the halo_TS and double_diffuse arguments to set_diffusivity_init()
   mandatory.
 - Made the Time argument to ALE_sponge() mandatory.
 - Made the Kd and Kv arguments to calculate_CVMIX_conv() mandatory.
 - Removed the unused halo argument to adjust_salt().
 - Removed the unused Kddt_convect argument to full_convection().
 - Made the halo arguments to full_convection()and smoothed_dRdT_dRdS()
   mandatory.
 - Made the useALEalgorithm argument to geothermal_init() mandatory.
 - Removed the unused initialize_all arguments to Calculate_kappa_shear() and
   Calc_kappa_shear_vertex().
 - Removed the unused I_Ld2_1d and dz_Int_1d arguments to kappa_shear_column().
 - Made 3 arguments to calculate_projected_state() mandatory and reordered the
   arguments accordingly.
 - Eliminating the unused skip_diags arguments to calculateBuoyancyFlux() and
   extractFluxes(), which are now effectively always false.
All answers are bitwise identical, and no output is changed.
  Moved the routine rotate_dyngrid() from the MOM_transcribe_grid module to
rotate_dyn_horgrid() in the MOM_dyn_horgrid module so that this routine can also
be used at some point by SIS2 to implement rotational consistency testing, and
also to reflect that this routine only works with types from its new module.
The two routines are the same apart from some added comments, and the old name
of rotate_dyngrid() is still available from MOM_transcribe_grid via a module use
statement.  All answers are bitwise identical.
  Minimized the dependence on dyn_horgrid in initialize_MOM by working directly
with the horizontal index type whereever possible and by moving the calls that
create the MOM_grid_type earlier in the routine, to limit the duration of the
dyn_horgrid_type, and to better co-locate grid-related parameters in the
parameter_doc files.  Also uses the new interface to rotate_dyn_horgrid from the
MOM_dyn_horgrid module in place of the rotate_dyngrid interface from the
MOM_transcribe_grid module.  All answers are bitwise identical, but the order of
some entries in the MOM_parameter_doc files has changed.
  Modified drivers/unit_drivers/MOM_sum_driver.F90 to compile with the latest
version of the rest of the MOM6 code by using the proper types in the various
initialization calls, and verified that it runs as intended.
@HamidehGMAO
Copy link

my build on discover with intel fails with this error

image

@guillaumevernieres
Copy link
Author

@HamidehGMAO , you need to edit the soca/bundle/CMakeLists.txt and replance the mom6 branch with this one.

@HamidehGMAO
Copy link

@HamidehGMAO , you need to edit the soca/bundle/CMakeLists.txt and replance the mom6 branch with this one.

@guillaumevernieres just did it, but got the same error

@liuxiao37k
Copy link

I was able to successfully build soca bundle on both Orion and Hera (Intel compilers) with BGC option =ON.
On Hera, all soca ctest passed except test_soca_convertstate, test_soca_dirac_soca_mask, test_soca_3dvarbump. But if I remembered correctly, these tests always failed on Hera for whatever reason that I didn't explore.
On Orion, I encountered segmentation fault error while running test_soca_gridgen so I was not able to run the rest of the ctests. I suspect it was a machine related issue instead of MOM6 updates.

4: ==== backtrace (tid: 366492) ====
4:  0 0x00000000002c6bf4 mom_mp_initialize_mom_()  /work/noaa/ng-godas/xliu/prs/pr_review/soca/bundle/mom6/src/core/MOM.F90:1776
4:  1 0x000000000023662f soca_mom6_mp_soca_mom6_init_()  ???:0
4:  2 0x000000000019b250 soca_geom_mod_mp_soca_geom_gridgen_()  ???:0
4:  3 0x00000000001ac39c soca_geo_gridgen_f90()  ???:0
4:  4 0x0000000000406c35 soca::GridGen::execute()  ???:0
4:  5 0x00000000000db68b oops::Run::execute()  ???:0
4:  6 0x0000000000406a66 main()  ???:0
4:  7 0x0000000000022495 __libc_start_main()  ???:0
4:  8 0x0000000000406929 _start()  ???:0
4: =================================
4: srun: error: Orion-01-08: tasks 0-1: Segmentation fault
4: srun: launch/slurm: _step_signal: Terminating StepId=4343877.2
4: Failed to run executable. Error code: 139 
4: 
2/2 Test #4: test_soca_gridgen ................***Failed   24.51 sec

@kbhargava
Copy link

kbhargava commented Jan 21, 2022

I have the same issue on Orion as @liuxiao37k . @guillaumevernieres My log files are at /home/kritib/work/test_repos/soca/build.intel/soca/Testing/Temporary/LastTest.log if you want to have a look.

@liuxiao37k
Copy link

FYI - I also tested with soca-science; build was successful, but cycling ctests failed due to same segmentation error during prep.soca step, so at least the error behavior was consistent.

@guillaumevernieres
Copy link
Author

guillaumevernieres commented Jan 21, 2022

Thanks for testing @liuxiao37k, @HamidehGMAO and @kbhargava , I'll have a look. What intel version are we using on Hera @liuxiao37k ?

@liuxiao37k
Copy link

Thanks for testing @liuxiao37k and @kbhargava , I'll have a look. What intel version are we using on Hera @liuxiao37k ?

@guillaumevernieres: module load jedi/intel-impi/2020.2

@guillaumevernieres
Copy link
Author

I don't know ... It seems to work for me now (it was failing earlier today):

hummmmmm

4, 45 and 52 fail in the compare step but the other tests are OK.

Copy link

@liuxiao37k liuxiao37k left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

whew! works for me now. All soca ctests passed except the three that you @guillaumevernieres identified. I also ran soca-science ctests including all BGC ones. No issues. So I am approving the PRs before something goes wrong again...

Copy link

@clouden90 clouden90 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tested it with this PR. Looks ok.

Copy link

@kbhargava kbhargava left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looks good except the 3 ctests that fail because of tolerance threshold set. Tested on orion.

@guillaumevernieres guillaumevernieres merged commit 84f4021 into main-ecbuild Jan 25, 2022
mark-a-potts pushed a commit to mark-a-potts/MOM6 that referenced this pull request Jun 28, 2022
…args

+(*)Make unit_scale_type arguments non-optional
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.

Merge with GFDL