From 02228ad41a31e3b065c32cfd00e15b2de0a58bef Mon Sep 17 00:00:00 2001 From: Niki Zadeh Date: Mon, 23 Mar 2020 14:58:00 -0400 Subject: [PATCH 1/2] This is the minimum required update to use 2020.01 FMS & FMScoupler - Adding domain position arguments to diag_axis_init calls --- src/framework/MOM_diag_mediator.F90 | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/framework/MOM_diag_mediator.F90 b/src/framework/MOM_diag_mediator.F90 index fb84d4d48d..a82da2d6e0 100644 --- a/src/framework/MOM_diag_mediator.F90 +++ b/src/framework/MOM_diag_mediator.F90 @@ -30,7 +30,7 @@ module MOM_diag_mediator use diag_axis_mod, only : get_diag_axis_name use diag_data_mod, only : null_axis_id use diag_manager_mod, only : diag_manager_init, diag_manager_end -use diag_manager_mod, only : send_data, diag_axis_init, diag_field_add_attribute +use diag_manager_mod, only : send_data, diag_axis_init, EAST, NORTH, diag_field_add_attribute ! The following module is needed for PGI since the following line does not compile with PGI 6.5.0 ! was: use diag_manager_mod, only : register_diag_field_fms=>register_diag_field use MOM_diag_manager_wrapper, only : register_diag_field_fms @@ -257,14 +257,14 @@ subroutine set_axes_info(G, GV, param_file, diag_cs, set_vertical) if (G%symmetric) then id_xq = diag_axis_init('xq', G%gridLonB(G%isgB:G%iegB), G%x_axis_units, 'x', & - 'q point nominal longitude', Domain2=G%Domain%mpp_domain) + 'q point nominal longitude', Domain2=G%Domain%mpp_domain, domain_position=EAST) id_yq = diag_axis_init('yq', G%gridLatB(G%jsgB:G%jegB), G%y_axis_units, 'y', & - 'q point nominal latitude', Domain2=G%Domain%mpp_domain) + 'q point nominal latitude', Domain2=G%Domain%mpp_domain, domain_position=NORTH) else id_xq = diag_axis_init('xq', G%gridLonB(G%isg:G%ieg), G%x_axis_units, 'x', & - 'q point nominal longitude', Domain2=G%Domain%mpp_domain) + 'q point nominal longitude', Domain2=G%Domain%mpp_domain, domain_position=EAST) id_yq = diag_axis_init('yq', G%gridLatB(G%jsg:G%jeg), G%y_axis_units, 'y', & - 'q point nominal latitude', Domain2=G%Domain%mpp_domain) + 'q point nominal latitude', Domain2=G%Domain%mpp_domain, domain_position=NORTH) endif id_xh = diag_axis_init('xh', G%gridLonT(G%isg:G%ieg), G%x_axis_units, 'x', & 'h point nominal longitude', Domain2=G%Domain%mpp_domain) From 8791525bc6518743403fbc9813d514aaf1a8f40e Mon Sep 17 00:00:00 2001 From: Niki Zadeh Date: Wed, 31 Mar 2021 12:32:11 -0400 Subject: [PATCH 2/2] Work with FMS2021.02 - mpp_io_domain is required for the models to run --- config_src/coupled_driver/ocean_model_MOM.F90 | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config_src/coupled_driver/ocean_model_MOM.F90 b/config_src/coupled_driver/ocean_model_MOM.F90 index 70437d0e4c..c8819d5774 100644 --- a/config_src/coupled_driver/ocean_model_MOM.F90 +++ b/config_src/coupled_driver/ocean_model_MOM.F90 @@ -53,6 +53,7 @@ module ocean_model_mod use coupler_types_mod, only : coupler_type_set_diags, coupler_type_send_data use mpp_domains_mod, only : domain2d, mpp_get_layout, mpp_get_global_domain use mpp_domains_mod, only : mpp_define_domains, mpp_get_compute_domain, mpp_get_data_domain +use mpp_domains_mod, only : mpp_define_io_domain use atmos_ocean_fluxes_mod, only : aof_set_coupler_flux use fms_mod, only : stdout use mpp_mod, only : mpp_chksum @@ -759,6 +760,7 @@ subroutine initialize_ocean_public_type(input_domain, Ocean_sfc, diag, maskmap, else call mpp_define_domains((/1,xsz,1,ysz/),layout,Ocean_sfc%Domain) endif + call mpp_define_io_domain(Ocean_sfc%Domain, (/1, 1/)) call mpp_get_compute_domain(Ocean_sfc%Domain, isc, iec, jsc, jec) allocate ( Ocean_sfc%t_surf (isc:iec,jsc:jec), &