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

GFDL to main candidate branch (2022-04-04) #1563

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
56401b6
+Add MOM_check_scaling.F90 and MOM_scaling_check.F90
Hallberg-NOAA Dec 22, 2021
75bf521
+Move MOM_scaling_check.F90 to MOM_unique_scales.F90
Hallberg-NOAA Jan 24, 2022
fc5253f
(*)Correct memory declarations in MOM_regridding
Hallberg-NOAA Jan 24, 2022
c166358
Add optional argument to FMS2 version of get_field_size
MJHarrison-GFDL Feb 1, 2022
e841609
remove unnecessary optional flag
MJHarrison-GFDL Feb 2, 2022
5f56798
Merge branch 'main' into main_to_dev
marshallward Feb 18, 2022
32e1ecf
Fixes issues with the GME code and get_param calls for Leith options …
gustavo-marques Feb 20, 2022
149073f
Remove hard-wired parameter in adjustEtaToFitBathymetry (#69)
gustavo-marques Feb 20, 2022
712ff9e
Merge branch 'dev/gfdl' into main_to_dev
Hallberg-NOAA Feb 20, 2022
2e72b88
Merge pull request #71 from NOAA-GFDL/main_to_dev
Hallberg-NOAA Feb 21, 2022
d46dbc7
Report mean temperature from MOM_state_stats()
Hallberg-NOAA Dec 16, 2021
9c7bf29
+Add global_mass_int_EFP
Hallberg-NOAA Dec 16, 2021
8197cea
Use global_mass_integral in lateral_bdry_diff
Hallberg-NOAA Dec 16, 2021
1bf8220
(*)+Reproducing tracer stocks
Hallberg-NOAA Dec 16, 2021
a0d0238
(*)+Use reproducing stocks for all tracer packages
Hallberg-NOAA Feb 21, 2022
a468bee
Removed trailing white space
Hallberg-NOAA Feb 23, 2022
b3e80f7
+(*)Add tmp_scale arguments to global_area_mean
Hallberg-NOAA Feb 27, 2022
fa2832c
+(*)Rescale variables with homogenize_forcing
Hallberg-NOAA Feb 27, 2022
9caa701
(+) Refactor of MOM_file_parser
marshallward Feb 23, 2022
cf193a8
Merge pull request #74 from marshallward/file_parser_refactor
Hallberg-NOAA Feb 28, 2022
9a01cd5
+Add ALE options mimicking Hycom
Hallberg-NOAA Feb 26, 2022
4640461
(*)Avoid negative thicknesses in mixed_layer_restrat
Hallberg-NOAA Feb 24, 2022
efa503b
bugfix: static h_new shape remaining_transport_sum
marshallward Mar 8, 2022
ab50f0e
Merge pull request #82 from marshallward/offline_static_bugfix
Hallberg-NOAA Mar 10, 2022
d7b6f4f
Merge branch 'dev/gfdl' into fix_homogenize_forcing
Hallberg-NOAA Mar 10, 2022
d560169
+Stop logging NEW_SPONGES
Hallberg-NOAA Mar 12, 2022
3042942
Fix nolibs build in CI pipeline
adcroft Mar 13, 2022
92f5a98
Merge branch 'dev/gfdl' into fix_homogenize_forcing
adcroft Mar 13, 2022
6e85b23
Merge pull request #78 from Hallberg-NOAA/fix_homogenize_forcing
adcroft Mar 13, 2022
3675c21
+Add Hybgen remapping options
Hallberg-NOAA Mar 6, 2022
0f4ebf6
Merge pull request #81 from Hallberg-NOAA/add_Hybgen_remapping
adcroft Mar 14, 2022
5a8590b
+Add Laplacian diffusion of interface heights
Hallberg-NOAA Mar 8, 2022
14a28f4
Avoid copying the tracer registry in advect_tracer
Hallberg-NOAA Mar 11, 2022
a002923
(*)Fix rescaling in RGC_initialize_sponges
Hallberg-NOAA Mar 12, 2022
8c6ae0e
Corrected the license on RGC_initialization.F90
Hallberg-NOAA Mar 15, 2022
e308893
Merge branch 'main' into main_to_dev
marshallward Mar 17, 2022
41b101d
Merge pull request #92 from NOAA-GFDL/main_to_dev
marshallward Mar 17, 2022
ab4d226
+(*)MOM_hor_visc bug fix and loop size cleanup
Hallberg-NOAA Mar 10, 2022
966d50f
(*)Minor MOM_hor_visc code cleanup
Hallberg-NOAA Mar 17, 2022
11d03b1
+Add unit conversion capability for restarts
Hallberg-NOAA Mar 21, 2022
7c3f31b
+(*)Write unscaled MOM6 restart files
Hallberg-NOAA Mar 21, 2022
2993f1b
Merge branch 'dev/gfdl' into stop_logging_NEW_SPONGES
marshallward Mar 21, 2022
0ff0daa
Merge pull request #87 from Hallberg-NOAA/stop_logging_NEW_SPONGES
Hallberg-NOAA Mar 22, 2022
115d714
Ice dynamics (#80)
OlgaSergienko Mar 22, 2022
ce22d7a
add missing shared variable
raphaeldussin Mar 13, 2022
8bf9abb
reworked algebra corner spread, rotation parenthesis (#90)
raphaeldussin Mar 23, 2022
97331e7
+Better multi-line parameter specification handling
Hallberg-NOAA Mar 13, 2022
3b5d264
Support arbitrarily long parameter spec lines
Hallberg-NOAA Mar 14, 2022
4e94c5d
Reduce the populate_param_data memory footprint
Hallberg-NOAA Mar 15, 2022
2ac64b3
Set INPUT_STR_LENGTH to 1024
Hallberg-NOAA Mar 15, 2022
4c5e98e
Error handler support
marshallward Mar 17, 2022
fa55d54
Merge branch 'dev/gfdl' into unscale_restarts
Hallberg-NOAA Mar 28, 2022
eae86d6
Merge pull request #94 from Hallberg-NOAA/unscale_restarts
marshallward Mar 30, 2022
08582ee
add residual loss term for internal tides (#95)
raphaeldussin Mar 31, 2022
356671c
+Refactor writing the vertical_coordinate file
Hallberg-NOAA Mar 23, 2022
9c4363e
+Add optional conversion argument to register_diag_scalar
Hallberg-NOAA Mar 26, 2022
a6992a9
Convert global_area_mean diagnostics when writing
Hallberg-NOAA Mar 26, 2022
39206d9
Simplify diagnostics using global_area_integral
Hallberg-NOAA Mar 26, 2022
305f744
Rescale new_depth in apply_topography_edits_from_file
Hallberg-NOAA Mar 26, 2022
c626cc4
MOM_internal_tides diagnostic code simplification
Hallberg-NOAA Mar 26, 2022
6bfd073
+Avoid nonsensical units descriptions
Hallberg-NOAA Mar 26, 2022
063ef75
Minor get_param call reformatting
Hallberg-NOAA Mar 26, 2022
db59e14
MOM_neutral_diffusion code cleanup
Hallberg-NOAA Mar 26, 2022
edd3f9c
+Corrected units in dumbbell get_param calls
Hallberg-NOAA Mar 26, 2022
78c574b
Add missing h_neglect (#98)
NoraLoose Apr 4, 2022
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
4 changes: 2 additions & 2 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,14 +44,14 @@ gnu:ocean-only-nolibs:
tags:
- ncrc4
script:
- make -f tools/MRS/Makefile pipeline-build-gnu-oceanonly-nolibs
- make -f tools/MRS/Makefile MOM6_SRC=../.. pipeline-build-gnu-oceanonly-nolibs

gnu:ice-ocean-nolibs:
stage: builds
tags:
- ncrc4
script:
- make -f tools/MRS/Makefile pipeline-build-gnu-iceocean-nolibs
- make -f tools/MRS/Makefile MOM6_SRC=../.. pipeline-build-gnu-iceocean-nolibs

intel:repro:
stage: builds
Expand Down
6 changes: 6 additions & 0 deletions config_src/drivers/solo_driver/MOM_driver.F90
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ program MOM_main

use MOM_cpu_clock, only : cpu_clock_id, cpu_clock_begin, cpu_clock_end
use MOM_cpu_clock, only : CLOCK_COMPONENT
use MOM_data_override, only : data_override_init
use MOM_diag_mediator, only : enable_averaging, disable_averaging, diag_mediator_end
use MOM_diag_mediator, only : diag_ctrl, diag_mediator_close_registration
use MOM, only : initialize_MOM, step_MOM, MOM_control_struct, MOM_end
Expand All @@ -47,6 +48,7 @@ program MOM_main
use MOM_ice_shelf, only : initialize_ice_shelf, ice_shelf_end, ice_shelf_CS
use MOM_ice_shelf, only : shelf_calc_flux, add_shelf_forces, ice_shelf_save_restart
use MOM_ice_shelf, only : initialize_ice_shelf_fluxes, initialize_ice_shelf_forces
use MOM_ice_shelf, only : ice_shelf_query
use MOM_interpolate, only : time_interp_external_init
use MOM_io, only : file_exists, open_ASCII_file, close_file
use MOM_io, only : check_nml_error, io_infra_init, io_infra_end
Expand Down Expand Up @@ -176,6 +178,8 @@ program MOM_main
type(surface_forcing_CS), pointer :: surface_forcing_CSp => NULL()
type(write_cputime_CS), pointer :: write_CPU_CSp => NULL()
type(ice_shelf_CS), pointer :: ice_shelf_CSp => NULL()
logical :: override_shelf_fluxes !< If true, and shelf dynamics are active,
!! the data_override feature is enabled (only for MOSAIC grid types)
type(wave_parameters_cs), pointer :: waves_CSp => NULL()
type(MOM_restart_CS), pointer :: &
restart_CSp => NULL() !< A pointer to the restart control structure
Expand Down Expand Up @@ -302,6 +306,8 @@ program MOM_main
! when using an ice shelf
call initialize_ice_shelf_fluxes(ice_shelf_CSp, grid, US, fluxes)
call initialize_ice_shelf_forces(ice_shelf_CSp, grid, US, forces)
call ice_shelf_query(ice_shelf_CSp, grid, data_override_shelf_fluxes=override_shelf_fluxes)
if (override_shelf_fluxes) call data_override_init(Ocean_Domain_in=grid%domain%mpp_domain)
endif


Expand Down
31 changes: 31 additions & 0 deletions config_src/infra/FMS1/MOM_coms_infra.F90
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ module MOM_coms_infra

public :: PE_here, root_PE, num_PEs, set_rootPE, Set_PElist, Get_PElist
public :: broadcast, sum_across_PEs, min_across_PEs, max_across_PEs
public :: any_across_PEs, all_across_PEs
public :: field_chksum, MOM_infra_init, MOM_infra_end

! This module provides interfaces to the non-domain-oriented communication
Expand Down Expand Up @@ -438,6 +439,36 @@ subroutine min_across_PEs_real_1d(field, length, pelist)
call mpp_min(field, length, pelist)
end subroutine min_across_PEs_real_1d

!> Implementation of any() intrinsic across PEs
function any_across_PEs(field, pelist)
logical, intent(in) :: field !< Local PE value
integer, optional, intent(in) :: pelist(:) !< List of PEs to work with
logical :: any_across_PEs

integer :: field_flag

! FMS1 does not support logical collectives, so integer flags are used.
field_flag = 0
if (field) field_flag = 1
call max_across_PEs(field_flag, pelist)
any_across_PEs = (field_flag > 0)
end function any_across_PEs

!> Implementation of all() intrinsic across PEs
function all_across_PEs(field, pelist)
logical, intent(in) :: field !< Local PE value
integer, optional, intent(in) :: pelist(:) !< List of PEs to work with
logical :: all_across_PEs

integer :: field_flag

! FMS1 does not support logical collectives, so integer flags are used.
field_flag = 0
if (field) field_flag = 1
call min_across_PEs(field_flag, pelist)
all_across_PEs = (field_flag > 0)
end function all_across_PEs

!> Initialize the model framework, including PE communication over a designated communicator.
!! If no communicator ID is provided, the framework's default communicator is used.
subroutine MOM_infra_init(localcomm)
Expand Down
31 changes: 31 additions & 0 deletions config_src/infra/FMS2/MOM_coms_infra.F90
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ module MOM_coms_infra

public :: PE_here, root_PE, num_PEs, set_rootPE, Set_PElist, Get_PElist
public :: broadcast, sum_across_PEs, min_across_PEs, max_across_PEs
public :: any_across_PEs, all_across_PEs
public :: field_chksum, MOM_infra_init, MOM_infra_end

! This module provides interfaces to the non-domain-oriented communication
Expand Down Expand Up @@ -438,6 +439,36 @@ subroutine min_across_PEs_real_1d(field, length, pelist)
call mpp_min(field, length, pelist)
end subroutine min_across_PEs_real_1d

!> Implementation of any() intrinsic across PEs
function any_across_PEs(field, pelist)
logical, intent(in) :: field !< Local PE value
integer, optional, intent(in) :: pelist(:) !< List of PEs to work with
logical :: any_across_PEs

integer :: field_flag

! FMS1 does not support logical collectives, so integer flags are used.
field_flag = 0
if (field) field_flag = 1
call max_across_PEs(field_flag, pelist)
any_across_PEs = (field_flag > 0)
end function any_across_PEs

!> Implementation of all() intrinsic across PEs
function all_across_PEs(field, pelist)
logical, intent(in) :: field !< Local PE value
integer, optional, intent(in) :: pelist(:) !< List of PEs to work with
logical :: all_across_PEs

integer :: field_flag

! FMS1 does not support logical collectives, so integer flags are used.
field_flag = 0
if (field) field_flag = 1
call min_across_PEs(field_flag, pelist)
all_across_PEs = (field_flag > 0)
end function all_across_PEs

!> Initialize the model framework, including PE communication over a designated communicator.
!! If no communicator ID is provided, the framework's default communicator is used.
subroutine MOM_infra_init(localcomm)
Expand Down
8 changes: 7 additions & 1 deletion config_src/infra/FMS2/MOM_io_infra.F90
Original file line number Diff line number Diff line change
Expand Up @@ -607,14 +607,14 @@ subroutine get_field_size(filename, fieldname, sizes, field_found, no_domain)
!! is a fatal error if the field is not found.
logical, optional, intent(in) :: no_domain !< If present and true, do not check for file
!! names with an appended tile number

! Local variables
type(FmsNetcdfFile_t) :: fileobj_read ! A handle to a non-domain-decomposed file for obtaining information
! about the exiting time axis entries in append mode.
logical :: success ! If true, the file was opened successfully
logical :: field_exists ! True if filename exists and field_name is in filename
integer :: i, ndims


if (FMS2_reads) then
field_exists = .false.
if (file_exists(filename)) then
Expand All @@ -627,6 +627,12 @@ subroutine get_field_size(filename, fieldname, sizes, field_found, no_domain)
"get_field_size called with too few sizes for "//trim(fieldname)//" in "//trim(filename))
call get_variable_size(fileobj_read, fieldname, sizes(1:ndims))
do i=ndims+1,size(sizes) ; sizes(i) = 0 ; enddo
! This preserves previous behavior when reading time-varying data without
! a vertical extent.
if (size(sizes)==ndims+1) then
sizes(ndims+1)=sizes(ndims)
sizes(ndims)=1
endif
endif
endif
endif
Expand Down
Loading