diff --git a/atmos_model.F90 b/atmos_model.F90 index 0425b5a03..d5231aae5 100644 --- a/atmos_model.F90 +++ b/atmos_model.F90 @@ -1787,7 +1787,7 @@ subroutine assign_importdata(jdat, rc) fldname = 'sea_surface_temperature' if (trim(impfield_name) == trim(fldname)) then findex = queryImportFields(fldname) - if (importFieldsValid(findex)) then + if (importFieldsValid(findex) .and. GFS_control%cplocn2atm) then !$omp parallel do default(shared) private(i,j,nb,ix) do j=jsc,jec do i=isc,iec diff --git a/ccpp/data/GFS_typedefs.F90 b/ccpp/data/GFS_typedefs.F90 index 17ca800cd..fb456245b 100644 --- a/ccpp/data/GFS_typedefs.F90 +++ b/ccpp/data/GFS_typedefs.F90 @@ -631,6 +631,7 @@ module GFS_typedefs !--- coupling parameters logical :: cplflx !< default no cplflx collection logical :: cplice !< default yes cplice collection (used together with cplflx) + logical :: cplocn2atm !< default yes ocn->atm coupling logical :: cplwav !< default no cplwav collection logical :: cplwav2atm !< default no wav->atm coupling logical :: cplchm !< default no cplchm collection @@ -3125,6 +3126,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & !--- coupling parameters logical :: cplflx = .false. !< default no cplflx collection logical :: cplice = .true. !< default yes cplice collection (used together with cplflx) + logical :: cplocn2atm = .true. !< default yes cplocn2atm coupling (turn on the feedback from ocn to atm) logical :: cplwav = .false. !< default no cplwav collection logical :: cplwav2atm = .false. !< default no cplwav2atm coupling logical :: cplchm = .false. !< default no cplchm collection @@ -3593,7 +3595,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & naux3d, aux2d_time_avg, aux3d_time_avg, fhcyc, & thermodyn_id, sfcpress_id, & !--- coupling parameters - cplflx, cplice, cplwav, cplwav2atm, cplchm, & + cplflx, cplice, cplocn2atm, cplwav, cplwav2atm, cplchm, & cpl_imp_mrg, cpl_imp_dbg, & use_cice_alb, lsidea, & !--- radiation parameters @@ -3873,6 +3875,7 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, & !--- coupling parameters Model%cplflx = cplflx Model%cplice = cplice + Model%cplocn2atm = cplocn2atm Model%cplwav = cplwav Model%cplwav2atm = cplwav2atm Model%cplchm = cplchm @@ -5465,6 +5468,7 @@ subroutine control_print(Model) print *, 'coupling parameters' print *, ' cplflx : ', Model%cplflx print *, ' cplice : ', Model%cplice + print *, ' cplocn2atm : ', Model%cplocn2atm print *, ' cplwav : ', Model%cplwav print *, ' cplwav2atm : ', Model%cplwav2atm print *, ' cplchm : ', Model%cplchm diff --git a/ccpp/data/GFS_typedefs.meta b/ccpp/data/GFS_typedefs.meta index dc1be40e2..d15ed56d7 100644 --- a/ccpp/data/GFS_typedefs.meta +++ b/ccpp/data/GFS_typedefs.meta @@ -2555,6 +2555,12 @@ units = flag dimensions = () type = logical +[cplocn2atm] + standard_name = flag_for_one_way_ocean_coupling_to_atmosphere + long_name = flag controlling ocean coupling to the atmosphere (default on) + units = flag + dimensions = () + type = logical [cplwav] standard_name = flag_for_ocean_wave_coupling long_name = flag controlling cplwav collection (default off)