Skip to content

Commit 41a278b

Browse files
committed
Candidate branch main->dev/gfdl
Note that most of these commits are from previously squashed pull requests, and this PR is restoring them. - 6360dbb Merge branch 'main' into main_to_dev - bac8031 Merge pull request mom-ocean#1566 from jiandewang/EMC-FMS-mixed-mode-20220411 - e532d86 Merge pull request #88 from marshallward/missing_attrib_with_class_bugfix - d380f1d An alternate fix to class(*) issues with FMS 2022-01 - 8ecf333 Merge pull request #87 from jiandewang/feature/update-to-main-20220317 - ba37f94 Merge remote-tracking branch 'FSU/main' into feature/update-to-main-20220317 this is corresponding to MOM6 main 20220317 commit (hash # 399a7db) - 44313d9 Merge pull request #85 from jiandewang/feature/update-to-main-20220217 - 966707f Merge remote-tracking branch 'GFDL/main' into feature/update-to-main-20220217 this is corresponding to MOM6 main branch 20220217 commit (hash # 6f6d4d6), which originally based on GFDL-candidate-20220129 - 32c0e1e Merge pull request #81 from jiandewang/feature/update-to-main-20211220 - 9642b1d delete external/OCEAN_stochastic_phyiscs directory as Phil re-coded in external/stochastic_physics directory - e7c9ada solve minor conflict in mom_cap.F90 mom_ocean_model_nuopc.F90 and MOM_energetic_PBL.F90, add two new files: src/parameterizations/stochastic/MOM_stochastics.F90 and config_src/external/stochastic_physics/stochastic_physics.F90 - 90d5961 Merge pull request #78 from jiandewang/feature/update-to-GFDL-20211019 - fd02017 Merge remote-tracking branch 'GFDL/main' into feature/update-to-GFDL-20211019 - 36f17eb Merge pull request #72 from pjpegion/ocn_stoch_july2021 - a9a957e return a more accurate error message in MOM_stochasics - 56bb41e Merge branch 'ocn_stoch_july2021' of https://github.com/pjpegion/MOM6 into ocn_stoch_july2021 - ca2ae1c update to dev/emc - 14ca4a1 Merge pull request #76 from jiandewang/feature/update-to-GFDL-20210914 - 29016c2 Merge remote-tracking branch 'GFDL/main' into feature/update-to-GFDL-20210914 merge GFDL main 20210914 commit (hash # c09e199) - a8577df Merge branch 'NOAA-EMC:dev/emc' into ocn_stoch_july2021 - f8a8e4c update to gfdl 20210806 (#74) - 16e6af0 update to dev/emc - 237a510 add comments - 1b4273d revert logic wrt increments - 5b2040e add logic to remove incrments from restart if outside IAU window - c5f2b72 add write_stoch_restart_ocn to MOM_stochastics - bdf2dc7 doxygen cleanup - 8bc4acc move stochastics to external directory - a3fa3a1 Merge remote-tracking branch 'upstream/dev/emc' into ocn_stoch_july2021 - e4bc007 stochastic physics re-write - 202cbd4 update to dev/emc - 61717ee Merge remote-tracking branch 'origin/dev/emc' into ocn_stoch - 565e0bb remove debug statements - a4c0411 Merge remote-tracking branch 'upstream/dev/emc' into ocn_stoch - 689a73f remove PE_here from mom_ocean_model_nuopc.F90 - 8afe969 clean up of mom_ocean_model_nuopc.F90 - 25ed4fc revert MOM_domains.F90 - b8d9888 place stochastic array in fluxes container and make SPPT specific arrays allocatable - d984a7e remove stochastics container - eb88219 clean up of code for MOM6 coding standards - 6e3ea1b correct coupled_driver/ocean_model_MOM.F90 and other cleanup - 0b99c1f make stochastics optional - 85023f8 Merge remote-tracking branch 'upstream/dev/emc' into ocn_stoch - 80f9f44 clean up MOM_domains - 5443f8e remove blank link in MOM_diagnostics - 1727d9a re-write of stochastic code to remove CPP directives - 600ebf9 Merge remote-tracking branch 'upstream/dev/emc' into ocn_stoch - 6bb9d0b fix non stochastic ePBL calculation - 1d7ffa3 clean up code - 040e1f1 Merge pull request #13 from NOAA-EMC/dev/emc - 2cba995 Merge branch 'dev/emc' into ocn_stoch - 1dc0f4f Merge remote-tracking branch 'upstream/dev/emc' into dev/emc - 4bd9b9e clean up debug statements - 25ed5ef additions for stochy restarts - a2a374b add stochy_restart writing to mom_cap - 0c15f4c Update MOM_diabatic_driver.F90 - 167a62e Merge pull request #12 from pjpegion/dev/emc - bd477a9 Update MOM_diabatic_driver.F90 - 7212400 Update MOM_diabatic_driver.F90 - 7de295c cleanup of code and enhancement of ePBL perts - cd06356 Merge pull request #11 from NOAA-EMC/dev/emc - 9896d61 Merge pull request #9 from pjpegion/dev/emc_merge - 0a62737 Merge branch 'ocn_stoch' into dev/emc_merge - 3cad1ba Merge pull request #8 from NOAA-EMC/dev/emc - c2aa2a8 updates from dev/emc - 182ef34 additions for stochastic physics and ePBL perts - 671c714 Merge pull request #1 from NOAA-EMC/dev/emc
2 parents 82b879e + bac8031 commit 41a278b

2 files changed

Lines changed: 74 additions & 12 deletions

File tree

config_src/infra/FMS1/MOM_diag_manager_infra.F90

Lines changed: 37 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -236,9 +236,15 @@ integer function register_static_field_infra(module_name, field_name, axes, long
236236
integer, optional, intent(in) :: area !< Diagnostic ID of the field containing the area attribute
237237
integer, optional, intent(in) :: volume !< Diagnostic ID of the field containing the volume attribute
238238

239-
register_static_field_infra = register_static_field_fms(module_name, field_name, axes, long_name, units,&
240-
& missing_value, range, mask_variant, standard_name, dynamic=.false.,do_not_log=do_not_log, &
239+
if(present(missing_value) .or. present(range)) then
240+
register_static_field_infra = register_static_field_fms(module_name, field_name, axes, long_name, units,&
241+
& missing_value, range, mask_variant=mask_variant, standard_name=standard_name, dynamic=.false.,&
242+
do_not_log=do_not_log, interp_method=interp_method,tile_count=tile_count, area=area, volume=volume)
243+
else
244+
register_static_field_infra = register_static_field_fms(module_name, field_name, axes, long_name, units,&
245+
& mask_variant=mask_variant, standard_name=standard_name, dynamic=.false.,do_not_log=do_not_log, &
241246
interp_method=interp_method,tile_count=tile_count, area=area, volume=volume)
247+
endif
242248
end function register_static_field_infra
243249

244250
!> Returns true if the argument data are successfully passed to a diagnostic manager
@@ -267,7 +273,20 @@ logical function send_data_infra_1d(diag_field_id, field, is_in, ie_in, time, ma
267273
character(len=*), optional, intent(out) :: err_msg !< A log indicating the status of the post upon
268274
!! returning to the calling routine
269275

270-
send_data_infra_1d = send_data_fms(diag_field_id, field, time, is_in, mask, rmask, ie_in, weight, err_msg)
276+
if(present(rmask) .or. present(weight)) then
277+
if(present(rmask) .and. present(weight)) then
278+
send_data_infra_1d = send_data_fms(diag_field_id, field, time=time, is_in=is_in, mask=mask, rmask=rmask, ie_in=ie_in,&
279+
weight=weight, err_msg=err_msg)
280+
elseif(present(rmask)) then
281+
send_data_infra_1d = send_data_fms(diag_field_id, field, time=time, is_in=is_in, mask=mask, rmask=rmask, ie_in=ie_in,&
282+
err_msg=err_msg)
283+
elseif(present(weight)) then
284+
send_data_infra_1d = send_data_fms(diag_field_id, field, time=time, is_in=is_in, ie_in=ie_in, weight=weight,&
285+
err_msg=err_msg)
286+
endif
287+
else
288+
send_data_infra_1d = send_data_fms(diag_field_id, field, time=time, is_in=is_in, ie_in=ie_in, err_msg=err_msg)
289+
endif
271290

272291
end function send_data_infra_1d
273292

@@ -289,9 +308,21 @@ logical function send_data_infra_2d(diag_field_id, field, is_in, ie_in, js_in, j
289308
character(len=*), optional, intent(out) :: err_msg !< A log indicating the status of the post upon
290309
!! returning to the calling routine
291310

292-
send_data_infra_2d = send_data_fms(diag_field_id, field, time, is_in, js_in, mask, &
293-
rmask, ie_in, je_in, weight, err_msg)
294-
311+
if(present(rmask) .or. present(weight)) then
312+
if(present(rmask) .and. present(weight)) then
313+
send_data_infra_2d = send_data_fms(diag_field_id, field, time=time, is_in=is_in, js_in=js_in, mask=mask, &
314+
rmask=rmask, ie_in=ie_in, je_in=je_in, weight=weight, err_msg=err_msg)
315+
elseif(present(rmask)) then
316+
send_data_infra_2d = send_data_fms(diag_field_id, field, time=time, is_in=is_in, js_in=js_in, mask=mask, &
317+
rmask=rmask, ie_in=ie_in, je_in=je_in, err_msg=err_msg)
318+
elseif(present(weight)) then
319+
send_data_infra_2d = send_data_fms(diag_field_id, field, time=time, is_in=is_in, js_in=js_in, mask=mask, &
320+
ie_in=ie_in, je_in=je_in, weight=weight, err_msg=err_msg)
321+
endif
322+
else
323+
send_data_infra_2d = send_data_fms(diag_field_id, field, time=time, is_in=is_in, js_in=js_in, mask=mask, &
324+
ie_in=ie_in, je_in=je_in, err_msg=err_msg)
325+
endif
295326
end function send_data_infra_2d
296327

297328
!> Returns true if the argument data are successfully passed to a diagnostic manager

config_src/infra/FMS2/MOM_diag_manager_infra.F90

Lines changed: 37 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -236,9 +236,15 @@ integer function register_static_field_infra(module_name, field_name, axes, long
236236
integer, optional, intent(in) :: area !< Diagnostic ID of the field containing the area attribute
237237
integer, optional, intent(in) :: volume !< Diagnostic ID of the field containing the volume attribute
238238

239-
register_static_field_infra = register_static_field_fms(module_name, field_name, axes, long_name, units,&
240-
& missing_value, range, mask_variant, standard_name, dynamic=.false.,do_not_log=do_not_log, &
239+
if(present(missing_value) .or. present(range)) then
240+
register_static_field_infra = register_static_field_fms(module_name, field_name, axes, long_name, units,&
241+
& missing_value, range, mask_variant=mask_variant, standard_name=standard_name, dynamic=.false.,&
242+
do_not_log=do_not_log, interp_method=interp_method,tile_count=tile_count, area=area, volume=volume)
243+
else
244+
register_static_field_infra = register_static_field_fms(module_name, field_name, axes, long_name, units,&
245+
& mask_variant=mask_variant, standard_name=standard_name, dynamic=.false.,do_not_log=do_not_log, &
241246
interp_method=interp_method,tile_count=tile_count, area=area, volume=volume)
247+
endif
242248
end function register_static_field_infra
243249

244250
!> Returns true if the argument data are successfully passed to a diagnostic manager
@@ -267,7 +273,20 @@ logical function send_data_infra_1d(diag_field_id, field, is_in, ie_in, time, ma
267273
character(len=*), optional, intent(out) :: err_msg !< A log indicating the status of the post upon
268274
!! returning to the calling routine
269275

270-
send_data_infra_1d = send_data_fms(diag_field_id, field, time, is_in, mask, rmask, ie_in, weight, err_msg)
276+
if(present(rmask) .or. present(weight)) then
277+
if(present(rmask) .and. present(weight)) then
278+
send_data_infra_1d = send_data_fms(diag_field_id, field, time=time, is_in=is_in, mask=mask, rmask=rmask, ie_in=ie_in,&
279+
weight=weight, err_msg=err_msg)
280+
elseif(present(rmask)) then
281+
send_data_infra_1d = send_data_fms(diag_field_id, field, time=time, is_in=is_in, mask=mask, rmask=rmask, ie_in=ie_in,&
282+
err_msg=err_msg)
283+
elseif(present(weight)) then
284+
send_data_infra_1d = send_data_fms(diag_field_id, field, time=time, is_in=is_in, ie_in=ie_in, weight=weight,&
285+
err_msg=err_msg)
286+
endif
287+
else
288+
send_data_infra_1d = send_data_fms(diag_field_id, field, time=time, is_in=is_in, ie_in=ie_in, err_msg=err_msg)
289+
endif
271290

272291
end function send_data_infra_1d
273292

@@ -289,9 +308,21 @@ logical function send_data_infra_2d(diag_field_id, field, is_in, ie_in, js_in, j
289308
character(len=*), optional, intent(out) :: err_msg !< A log indicating the status of the post upon
290309
!! returning to the calling routine
291310

292-
send_data_infra_2d = send_data_fms(diag_field_id, field, time, is_in, js_in, mask, &
293-
rmask, ie_in, je_in, weight, err_msg)
294-
311+
if(present(rmask) .or. present(weight)) then
312+
if(present(rmask) .and. present(weight)) then
313+
send_data_infra_2d = send_data_fms(diag_field_id, field, time=time, is_in=is_in, js_in=js_in, mask=mask, &
314+
rmask=rmask, ie_in=ie_in, je_in=je_in, weight=weight, err_msg=err_msg)
315+
elseif(present(rmask)) then
316+
send_data_infra_2d = send_data_fms(diag_field_id, field, time=time, is_in=is_in, js_in=js_in, mask=mask, &
317+
rmask=rmask, ie_in=ie_in, je_in=je_in, err_msg=err_msg)
318+
elseif(present(weight)) then
319+
send_data_infra_2d = send_data_fms(diag_field_id, field, time=time, is_in=is_in, js_in=js_in, mask=mask, &
320+
ie_in=ie_in, je_in=je_in, weight=weight, err_msg=err_msg)
321+
endif
322+
else
323+
send_data_infra_2d = send_data_fms(diag_field_id, field, time=time, is_in=is_in, js_in=js_in, mask=mask, &
324+
ie_in=ie_in, je_in=je_in, err_msg=err_msg)
325+
endif
295326
end function send_data_infra_2d
296327

297328
!> Returns true if the argument data are successfully passed to a diagnostic manager

0 commit comments

Comments
 (0)