diff --git a/columnphysics/icepack_algae.F90 b/columnphysics/icepack_algae.F90 index 3e4c13ded..0ad11e01e 100644 --- a/columnphysics/icepack_algae.F90 +++ b/columnphysics/icepack_algae.F90 @@ -1519,7 +1519,7 @@ subroutine algal_dyn (dt, & real (kind=dbl_kind), dimension(n_doc) :: & DOCin ! dissolved organic carbon concentration on volume (mmolC/m^3) - real (kind=dbl_kind), dimension(n_dic) :: & + real (kind=dbl_kind), dimension(n_dic) :: & DICin ! dissolved inorganic carbon concentration on volume (mmolC/m^3) real (kind=dbl_kind), dimension(n_don) :: & !proteins diff --git a/columnphysics/icepack_snow.F90 b/columnphysics/icepack_snow.F90 index 952d70fc1..3987d2922 100644 --- a/columnphysics/icepack_snow.F90 +++ b/columnphysics/icepack_snow.F90 @@ -677,7 +677,7 @@ subroutine snow_redist(dt, wind, ain, vin, vsn, zqsn, & zqsn(:,n)) if (icepack_warnings_aborted(subname)) return else - hsn_new(1) = hsn_new(1) + dhsn + hsn_new(n) = hsn_new(n) + dhsn endif ! nslyr > 1 endif ! |dhsn| > puny endif ! ain > puny diff --git a/columnphysics/icepack_therm_mushy.F90 b/columnphysics/icepack_therm_mushy.F90 index 7e942b0f1..00438e8de 100644 --- a/columnphysics/icepack_therm_mushy.F90 +++ b/columnphysics/icepack_therm_mushy.F90 @@ -1323,8 +1323,7 @@ subroutine picard_solver(lsnow, lcold, & ! if not converged if (.not. lconverged) then - call picard_nonconvergence(nilyr, nslyr, & - Tsf0, Tsf, & + call picard_nonconvergence(Tsf0, Tsf, & zTsn0, zTsn, & zTin0, zTin, & zSin0, zSin, & diff --git a/configuration/driver/icedrv_init_column.F90 b/configuration/driver/icedrv_init_column.F90 index 877b362c1..8e89ee7dc 100644 --- a/configuration/driver/icedrv_init_column.F90 +++ b/configuration/driver/icedrv_init_column.F90 @@ -1306,7 +1306,8 @@ subroutine init_zbgc nlt_bgc_N(:) = 0 nlt_bgc_C(:) = 0 nlt_bgc_chl(:) = 0 - nt_bgc_N(:) = 0 + ! need some valid array indices if unset + nt_bgc_N(:) = max_ntrcr - n_algae*(nblyr+3) nt_bgc_C(:) = 0 nt_bgc_chl(:) = 0 @@ -1331,7 +1332,8 @@ subroutine init_zbgc ! vectors of size icepack_max_aero nlt_zaero(:) = 0 nlt_zaero_sw(:) = 0 - nt_zaero(:) = 0 + ! need some valid array indices if unset + nt_zaero(:) = max_ntrcr - n_zaero*(nblyr+3) nt_zaero_sw(:) = 0 nlt_bgc_Nit = 0 @@ -1356,6 +1358,28 @@ subroutine init_zbgc nt_bgc_hum = 0 nt_zbgc_frac = 0 + dictype(:) = -c1 + + algaltype(1) = algaltype_diatoms + algaltype(2) = algaltype_sp + algaltype(3) = algaltype_phaeo + + doctype(1) = doctype_s + doctype(2) = doctype_l + + dontype(1) = dontype_protein + + fedtype(1) = fedtype_1 + + feptype(1) = feptype_1 + + zaerotype(1) = zaerotype_bc1 + zaerotype(2) = zaerotype_bc2 + zaerotype(3) = zaerotype_dust1 + zaerotype(4) = zaerotype_dust2 + zaerotype(5) = zaerotype_dust3 + zaerotype(6) = zaerotype_dust4 + if (skl_bgc) then nk = 1 diff --git a/configuration/scripts/icepack_in b/configuration/scripts/icepack_in index bbf7a5973..9d6795079 100644 --- a/configuration/scripts/icepack_in +++ b/configuration/scripts/icepack_in @@ -169,11 +169,11 @@ tr_bgc_DON = .false. tr_bgc_Fe = .false. grid_o = 0.006 - l_sk = 0.024 + l_sk = 20.0 grid_oS = 0.0 l_skS = 0.028 phi_snow = -0.3 - initbio_frac = 0.8 + initbio_frac = 1.0 frazil_scav = 0.8 ratio_Si2N_diatoms = 1.8 ratio_Si2N_sp = 0.0 @@ -191,29 +191,29 @@ ratio_Fe2DOC_s = 0.1 ratio_Fe2DOC_l = 0.033 fr_resp = 0.05 - tau_min = 5200.0 - tau_max = 173000.0 - algal_vel = 0.0000000111 + tau_min = 3600.0 + tau_max = 7776000.0 + algal_vel = 0.0000001 R_dFe2dust = 0.035 dustFe_sol = 0.005 chlabs_diatoms = 0.03 chlabs_sp = 0.01 chlabs_phaeo = 0.05 - alpha2max_low_diatoms = 0.8 - alpha2max_low_sp = 0.67 - alpha2max_low_phaeo = 0.67 - beta2max_diatoms = 0.018 - beta2max_sp = 0.0025 - beta2max_phaeo = 0.01 + alpha2max_low_diatoms = 0.3 + alpha2max_low_sp = 0.2 + alpha2max_low_phaeo = 0.17 + beta2max_diatoms = 0.001 + beta2max_sp = 0.001 + beta2max_phaeo = 0.04 mu_max_diatoms = 1.44 - mu_max_sp = 0.851 - mu_max_phaeo = 0.851 - grow_Tdep_diatoms = 0.06 - grow_Tdep_sp = 0.06 - grow_Tdep_phaeo = 0.06 - fr_graze_diatoms = 0.0 - fr_graze_sp = 0.1 - fr_graze_phaeo = 0.1 + mu_max_sp = 0.41 + mu_max_phaeo = 0.63 + grow_Tdep_diatoms = 0.063 + grow_Tdep_sp = 0.063 + grow_Tdep_phaeo = 0.063 + fr_graze_diatoms = 0.19 + fr_graze_sp = 0.19 + fr_graze_phaeo = 0.19 mort_pre_diatoms = 0.007 mort_pre_sp = 0.007 mort_pre_phaeo = 0.007 @@ -236,10 +236,10 @@ K_Fe_sp = 0.2 K_Fe_phaeo = 0.1 f_don_protein = 0.6 - kn_bac_protein = 0.03 - f_don_Am_protein = 0.25 - f_doc_s = 0.4 - f_doc_l = 0.4 + kn_bac_protein = 0.2 + f_don_Am_protein = 1.0 + f_doc_s = 0.5 + f_doc_l = 0.5 f_exude_s = 1.0 f_exude_l = 1.0 k_bac_s = 0.03 @@ -249,36 +249,36 @@ op_dep_min = 0.1 fr_graze_s = 0.5 fr_graze_e = 0.5 - fr_mort2min = 0.5 - fr_dFe = 0.3 - k_nitrif = 0.0 + fr_mort2min = 0.9 + fr_dFe = 0.9 + k_nitrif = 0.046 t_iron_conv = 3065.0 max_loss = 0.9 max_dfe_doc1 = 0.2 - fr_resp_s = 0.75 - y_sk_DMS = 0.5 - t_sk_conv = 3.0 - t_sk_ox = 10.0 + fr_resp_s = 0.9 + y_sk_DMS = 0.7 + t_sk_conv = 5.0 + t_sk_ox = 12.0 algaltype_diatoms = 0.0 - algaltype_sp = 0.5 + algaltype_sp = 0.0 algaltype_phaeo = 0.5 nitratetype = -1.0 - ammoniumtype = 1.0 + ammoniumtype = 0.0 silicatetype = -1.0 dmspptype = 0.5 - dmspdtype = -1.0 - humtype = 1.0 - doctype_s = 0.5 - doctype_l = 0.5 - dontype_protein = 0.5 - fedtype_1 = 0.5 + dmspdtype = 0.0 + humtype = 0.0 + doctype_s = 0.0 + doctype_l = 0.0 + dontype_protein = 0.0 + fedtype_1 = 0.0 feptype_1 = 0.5 - zaerotype_bc1 = 1.0 - zaerotype_bc2 = 1.0 - zaerotype_dust1 = 1.0 - zaerotype_dust2 = 1.0 - zaerotype_dust3 = 1.0 - zaerotype_dust4 = 1.0 + zaerotype_bc1 = 0.0 + zaerotype_bc2 = 0.0 + zaerotype_dust1 = 0.0 + zaerotype_dust2 = 0.0 + zaerotype_dust3 = 0.0 + zaerotype_dust4 = 0.0 ratio_C2N_diatoms = 7.0 ratio_C2N_sp = 7.0 ratio_C2N_phaeo = 7.0 @@ -288,6 +288,6 @@ F_abs_chl_diatoms = 2.0 F_abs_chl_sp = 4.0 F_abs_chl_phaeo = 5.0 - ratio_C2N_proteins = 7.0 + ratio_C2N_proteins = 5.0 / diff --git a/configuration/scripts/options/set_env.bgcispol b/configuration/scripts/options/set_env.bgcispol index c38635a70..1ab2fa2e6 100644 --- a/configuration/scripts/options/set_env.bgcispol +++ b/configuration/scripts/options/set_env.bgcispol @@ -1,6 +1,6 @@ ### Layers setenv NICELYR 7 # number of vertical layers in the ice -setenv NSNWLYR 1 # number of vertical layers in the snow +setenv NSNWLYR 5 # number of vertical layers in the snow setenv NICECAT 5 # number of ice thickness categories ### Tracers # match icepack_in tracer_nml to conserve memory @@ -8,7 +8,8 @@ setenv TRAGE 1 # set to 1 for ice age tracer setenv TRFY 1 # set to 1 for first-year ice area tracer setenv TRLVL 1 # set to 1 for level and deformed ice tracers setenv TRPND 1 # set to 1 for melt pond tracers -setenv NTRAERO 0 # number of aerosol tracers +setenv TRSNOW 1 # set to 1 for snow metamorphism tracers +setenv NTRAERO 1 # number of aerosol tracers # (up to max_aero in ice_domain_size.F90) # CESM uses 3 aerosol tracers setenv TRBRI 1 # set to 1 for brine height tracer @@ -23,7 +24,7 @@ setenv TRALG 3 # number of algal tracers # (up to max_algae = 3) setenv TRDOC 2 # number of dissolve organic carbon # (up to max_doc = 3) -setenv TRDIC 0 # number of dissolve inorganic carbon +setenv TRDIC 1 # number of dissolve inorganic carbon # (up to max_dic = 1) setenv TRDON 1 # number of dissolve organic nitrogen # (up to max_don = 1) diff --git a/configuration/scripts/options/set_env.bgcnice b/configuration/scripts/options/set_env.bgcnice index 1d6efc405..8d51abaaa 100644 --- a/configuration/scripts/options/set_env.bgcnice +++ b/configuration/scripts/options/set_env.bgcnice @@ -1,6 +1,6 @@ ### Layers setenv NICELYR 7 # number of vertical layers in the ice -setenv NSNWLYR 1 # number of vertical layers in the snow +setenv NSNWLYR 5 # number of vertical layers in the snow setenv NICECAT 5 # number of ice thickness categories ### Tracers # match icepack_in tracer_nml to conserve memory @@ -8,7 +8,7 @@ setenv TRAGE 1 # set to 1 for ice age tracer setenv TRFY 1 # set to 1 for first-year ice area tracer setenv TRLVL 1 # set to 1 for level and deformed ice tracers setenv TRPND 1 # set to 1 for melt pond tracers -setenv NTRAERO 0 # number of aerosol tracers +setenv NTRAERO 1 # number of aerosol tracers # (up to max_aero in ice_domain_size.F90) # CESM uses 3 aerosol tracers setenv TRBRI 1 # set to 1 for brine height tracer @@ -17,13 +17,13 @@ setenv TRBGCS 0 # set to 1 for skeletal layer tracers setenv TRBGCZ 1 # set to 1 for zbgc tracers # (needs TRBGCS = 0 and TRBRI = 1) setenv NBGCLYR 7 # number of zbgc layers -setenv TRZAERO 0 # number of z aerosol tracers +setenv TRZAERO 3 # number of z aerosol tracers # (up to max_aero = 6) setenv TRALG 3 # number of algal tracers # (up to max_algae = 3) setenv TRDOC 2 # number of dissolve organic carbon # (up to max_doc = 3) -setenv TRDIC 0 # number of dissolve inorganic carbon +setenv TRDIC 1 # number of dissolve inorganic carbon # (up to max_dic = 1) setenv TRDON 1 # number of dissolve organic nitrogen # (up to max_don = 1) diff --git a/configuration/scripts/options/set_env.bgcsklnice b/configuration/scripts/options/set_env.bgcsklnice index 985bacbf4..f51e75ab4 100644 --- a/configuration/scripts/options/set_env.bgcsklnice +++ b/configuration/scripts/options/set_env.bgcsklnice @@ -23,7 +23,7 @@ setenv TRALG 3 # number of algal tracers # (up to max_algae = 3) setenv TRDOC 2 # number of dissolve organic carbon # (up to max_doc = 3) -setenv TRDIC 0 # number of dissolve inorganic carbon +setenv TRDIC 1 # number of dissolve inorganic carbon # (up to max_dic = 1) setenv TRDON 1 # number of dissolve organic nitrogen # (up to max_don = 1) diff --git a/configuration/scripts/options/set_nml.bgcispol b/configuration/scripts/options/set_nml.bgcispol index 9f3eab1f6..27f1c66d9 100644 --- a/configuration/scripts/options/set_nml.bgcispol +++ b/configuration/scripts/options/set_nml.bgcispol @@ -23,5 +23,16 @@ tr_bgc_PON = .true. tr_bgc_hum = .true. tr_bgc_DON = .true. - tr_bgc_Fe = .false. + tr_bgc_Fe = .true. tfrz_option = 'mushy' + tr_FY = .true. + highfreq = .true. + natmiter = 10 + oceanmixed_ice = .false. + kcatbound = 0 + tr_snow = .true. + use_smliq_pnd = .true. + snwgrain = .true. + snwredist = 'ITDrdg' + rsnw_fall = 54.526 + rsnw_tmax = 2800.0 diff --git a/configuration/scripts/options/set_nml.bgcnice b/configuration/scripts/options/set_nml.bgcnice index 286b76161..022cddd40 100644 --- a/configuration/scripts/options/set_nml.bgcnice +++ b/configuration/scripts/options/set_nml.bgcnice @@ -11,7 +11,7 @@ ocn_data_file = 'oceanmixed_daily_3.txt' bgc_data_file = 'nutrients_daily_ISPOL_WOA_field3.txt' tr_brine = .true. - tr_zaero = .false. + tr_zaero = .true. z_tracers = .true. solve_zbgc = .true. bgc_flux_type = 'Jin2006' @@ -25,3 +25,14 @@ tr_bgc_DON = .true. tr_bgc_Fe = .true. tfrz_option = 'mushy' + tr_FY = .true. + highfreq = .true. + natmiter = 10 + oceanmixed_ice = .false. + kcatbound = 0 + tr_snow = .true. + use_smliq_pnd = .true. + snwgrain = .true. + snwredist = 'ITDrdg' + rsnw_fall = 54.526 + rsnw_tmax = 2800.0