From a3589f62914b20289558a027b5ac21e2a51c31ac Mon Sep 17 00:00:00 2001 From: joeran maerz Date: Tue, 10 Sep 2024 14:56:46 +0200 Subject: [PATCH 1/2] Remain with cyanobacteria only in euphotic zone. --- cime_config/namelist_definition_blom.xml | 10 ---------- hamocc/mo_control_bgc.F90 | 1 - hamocc/mo_cyano.F90 | 4 ++-- hamocc/mo_hamocc_init.F90 | 4 ++-- hamocc/mo_param_bgc.F90 | 3 +-- 5 files changed, 5 insertions(+), 17 deletions(-) diff --git a/cime_config/namelist_definition_blom.xml b/cime_config/namelist_definition_blom.xml index 14eab238..ff56d14e 100644 --- a/cime_config/namelist_definition_blom.xml +++ b/cime_config/namelist_definition_blom.xml @@ -3809,16 +3809,6 @@ Switch for M4AGO settling scheme - - logical - bgcnml - bgcnml - - .false. - - Switch for cyano-bluefix in euphotic zone only - - logical bgcnml diff --git a/hamocc/mo_control_bgc.F90 b/hamocc/mo_control_bgc.F90 index 5bb0042a..c928e4da 100644 --- a/hamocc/mo_control_bgc.F90 +++ b/hamocc/mo_control_bgc.F90 @@ -61,7 +61,6 @@ module mo_control_bgc logical :: do_oalk = .false. ! apply ocean alkalinization logical :: with_dmsph = .false. ! apply DMS with pH dependence logical :: use_M4AGO = .false. ! run with M4AGO settling scheme - logical :: leuphotic_cya = .true. ! allow cyanobacteria to grow only in euphotic zone logical :: lkwrbioz_off = .false. ! if true, allow remin and primary prod throughout full water column integer :: sedspin_yr_s = -1 ! start year for sediment spin-up integer :: sedspin_yr_e = -1 ! end year for sediment spin-up diff --git a/hamocc/mo_cyano.F90 b/hamocc/mo_cyano.F90 index 93c72970..f3744e68 100644 --- a/hamocc/mo_cyano.F90 +++ b/hamocc/mo_cyano.F90 @@ -49,7 +49,7 @@ subroutine cyano(kpie,kpje,kpke,kbnd,pddpo,omask,ptho) use mo_param_bgc, only: bluefix,rnit,tf0,tf1,tf2,tff use mo_param1_bgc, only: ialkali,iano3,igasnit,iphosph,ioxygen,inatalkali,ianh4 use mo_biomod, only: intnfix - use mo_control_bgc, only: use_natDIC,leuphotic_cya,use_extNcycle + use mo_control_bgc, only: use_natDIC,use_extNcycle ! Arguments integer, intent(in) :: kpie ! 1st dimension of model grid. @@ -75,7 +75,7 @@ subroutine cyano(kpie,kpje,kpke,kbnd,pddpo,omask,ptho) do j=1,kpje do i=1,kpie if (omask(i,j) > 0.5) then - do k=1,merge(kwrbioz(i,j),kmle(i,j),leuphotic_cya) ! if leuphotic_cya=.true., do bluefix only in euphotic zone + do k=1,kwrbioz(i,j) ! if leuphotic_cya=.true., do bluefix only in euphotic zone if (ocetra(i,j,k,iano3) < (rnit*ocetra(i,j,k,iphosph))) then if (use_extNcycle) then ! assuming nitrate and ammonium required for cyanobacteria growth (as bulk PP) diff --git a/hamocc/mo_hamocc_init.F90 b/hamocc/mo_hamocc_init.F90 index b43d9460..d52f7b95 100644 --- a/hamocc/mo_hamocc_init.F90 +++ b/hamocc/mo_hamocc_init.F90 @@ -43,7 +43,7 @@ subroutine hamocc_init(read_rest,rstfnm_hamocc) do_sedspinup,sedspin_yr_s,sedspin_yr_e,sedspin_ncyc, & dtb,dtbgc,io_stdo_bgc,ldtbgc, & ldtrunbgc,ndtdaybgc,with_dmsph,l_3Dvarsedpor,use_M4AGO, & - do_ndep_coupled,leuphotic_cya,lkwrbioz_off,do_n2onh3_coupled, & + do_ndep_coupled,lkwrbioz_off,do_n2onh3_coupled, & ocn_co2_type, use_sedbypass, use_BOXATM, use_BROMO,use_extNcycle use mo_param1_bgc, only: ks,init_por2octra_mapping use mo_param_bgc, only: ini_parambgc @@ -81,7 +81,7 @@ subroutine hamocc_init(read_rest,rstfnm_hamocc) & do_sedspinup,sedspin_yr_s,sedspin_yr_e,sedspin_ncyc, & & inidic,inialk,inipo4,inioxy,inino3,inisil,inid13c,inid14c,swaclimfile, & & with_dmsph,pi_ph_file,l_3Dvarsedpor,sedporfile,ocn_co2_type,use_M4AGO, & - & leuphotic_cya, do_ndep_coupled,do_n2onh3_coupled,lkwrbioz_off + & do_ndep_coupled,do_n2onh3_coupled,lkwrbioz_off ! ! --- Set io units and some control parameters ! diff --git a/hamocc/mo_param_bgc.F90 b/hamocc/mo_param_bgc.F90 index 4d35798d..8deac006 100644 --- a/hamocc/mo_param_bgc.F90 +++ b/hamocc/mo_param_bgc.F90 @@ -37,7 +37,7 @@ module mo_param_bgc do_ndep,do_oalk,do_rivinpt,do_sedspinup,l_3Dvarsedpor, & use_BOXATM,use_CFC,use_PBGC_CK_TIMESTEP, & use_sedbypass,with_dmsph,use_PBGC_OCNP_TIMESTEP,ocn_co2_type,use_M4AGO,& - leuphotic_cya,do_ndep_coupled,do_n2onh3_coupled,use_extNcycle, & + do_ndep_coupled,do_n2onh3_coupled,use_extNcycle, & lkwrbioz_off use mod_xc, only: mnproc @@ -834,7 +834,6 @@ subroutine write_parambgc() call cinfo_add_entry('with_dmsph', with_dmsph) call cinfo_add_entry('do_sedspinup', do_sedspinup) call cinfo_add_entry('l_3Dvarsedpor', l_3Dvarsedpor) - call cinfo_add_entry('leuphotic_cya', leuphotic_cya) call cinfo_add_entry('lkwrbioz_off', lkwrbioz_off) call cinfo_add_entry('use_M4AGO', use_M4AGO) if (use_extNcycle) then From 0356520ed710799d5ce994b1a1e94742325f9694 Mon Sep 17 00:00:00 2001 From: joeran maerz Date: Tue, 10 Sep 2024 15:05:03 +0200 Subject: [PATCH 2/2] remove comment --- hamocc/mo_cyano.F90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hamocc/mo_cyano.F90 b/hamocc/mo_cyano.F90 index f3744e68..110b14f7 100644 --- a/hamocc/mo_cyano.F90 +++ b/hamocc/mo_cyano.F90 @@ -75,7 +75,7 @@ subroutine cyano(kpie,kpje,kpke,kbnd,pddpo,omask,ptho) do j=1,kpje do i=1,kpie if (omask(i,j) > 0.5) then - do k=1,kwrbioz(i,j) ! if leuphotic_cya=.true., do bluefix only in euphotic zone + do k=1,kwrbioz(i,j) ! bluefix only in euphotic zone if (ocetra(i,j,k,iano3) < (rnit*ocetra(i,j,k,iphosph))) then if (use_extNcycle) then ! assuming nitrate and ammonium required for cyanobacteria growth (as bulk PP)