Scheduled Downtime
On Tuesday 24 October 2023 @ 5pm MT the forums will be in read only mode in preparation for the downtime. On Wednesday 25 October 2023 @ 5am MT, this website will be down for maintenance and expected to return online later in the morning.
Normal Operations
The forums are back online with normal operations. If you notice any issues or errors related to the forums, please reach out to help@ucar.edu

'bounding bracket for pH solution not found' error

zhangheng

Zhang Heng
New Member
Hi, I am new to CESM and I am planning a Last Glacial Maximum experiment to test the effects of iron from aeolian dust on the marine ecosystem. However, I have run into some problems while testing the model configuration.

What version of the code are you using?
CESM version 2.2.0 with G1850ECO compset and f09_g17 resolution.
--res f09_g17 --compset G1850ECO

Describe every step you took leading up to the problem:
  • Set up run type as and atmospheric CO2.
./xmlchange RUN_TYPE=startup,GET_REFCASE=FALSE
./xmlchange CCSM_CO2_PPMV=190.0
./xmlchange NTASKS_OCN=144,ROOTPE_OCN=64

  • Set up land sea distribution due to the lowered sea level at the LGM according the tutorial at the 2024 paleoCAMP.
The boundary condition files were downloaded from zenodo.
./xmlchange ATM_DOMAIN_PATH=/work/home/dhszh/CESM2-release-2.2.0/inputdata/lgm/boundary_condition_files
./xmlchange LND_DOMAIN_PATH=/work/home/dhszh/CESM2-release-2.2.0/inputdata/lgm/boundary_condition_files
./xmlchange OCN_DOMAIN_PATH=/work/home/dhszh/CESM2-release-2.2.0/inputdata/lgm/boundary_condition_files
./xmlchange ICE_DOMAIN_PATH=/work/home/dhszh/CESM2-release-2.2.0/inputdata/lgm/boundary_condition_files
./xmlchange ATM_DOMAIN_FILE=domain.lnd.fv09_gx1v7_21ka.200623.nc
./xmlchange LND_DOMAIN_FILE=domain.lnd.fv09_gx1v7_21ka.200623.nc
./xmlchange OCN_DOMAIN_FILE=domain.ocn.fv09_gx1v7_21ka.200623.nc
./xmlchange ICE_DOMAIN_FILE=domain.ocn.fv09_gx1v7_21ka.200623.nc

./xmlchange ATM2OCN_FMAPNAME=/work/home/dhszh/CESM2-release-2.2.0/inputdata/lgm/boundary_condition_files/map_fv09_TO_gx1v7_21ka_aave.200623.nc
./xmlchange ATM2OCN_SMAPNAME=/work/home/dhszh/CESM2-release-2.2.0/inputdata/lgm/boundary_condition_files/map_fv09_TO_gx1v7_21ka_blin.200623.nc
./xmlchange ATM2OCN_VMAPNAME=/work/home/dhszh/CESM2-release-2.2.0/inputdata/lgm/boundary_condition_files/map_fv09_TO_gx1v7_21ka_patc.200623.nc
./xmlchange OCN2ATM_FMAPNAME=/work/home/dhszh/CESM2-release-2.2.0/inputdata/lgm/boundary_condition_files/map_gx1v7_21ka_TO_fv09_aave.200623.nc
./xmlchange OCN2ATM_SMAPNAME=/work/home/dhszh/CESM2-release-2.2.0/inputdata/lgm/boundary_condition_files/map_gx1v7_21ka_TO_fv09_aave.200623.nc
./xmlchange ROF2OCN_FMAPNAME=/work/home/dhszh/CESM2-release-2.2.0/inputdata/lgm/boundary_condition_files/map_r05_nomask_TO_gx1v7_21ka_aave.200623.nc
./xmlchange ROF2OCN_LIQ_RMAPNAME=/work/home/dhszh/CESM2-release-2.2.0/inputdata/lgm/boundary_condition_files/map_r05_TO_gx1v7_21ka_merged_200623.nc
./xmlchange ROF2OCN_ICE_RMAPNAME=/work/home/dhszh/CESM2-release-2.2.0/inputdata/lgm/boundary_condition_files/map_r05_TO_gx1v7_21ka_nnsm_200623.nc

  • Set up namelist changes.
user_nl_cpl:
orb_iyear = -19050
orb_mode = 'fixed_year'
user_nl_pop:
topography_file = '/work/home/dhszh/CESM2-release-2.2.0/inputdata/lgm/boundary_condition_files/topography_21ka_200623.ieeei4'
region_mask_file = '/work/home/dhszh/CESM2-release-2.2.0/inputdata/lgm/boundary_condition_files/region_mask_21ka_200623.ieeei4'
ebm_param_option = 'internal'

init_ts_file = '/work/home/dhszh/CESM2-release-2.2.0/inputdata/lgm/rest/b.e12.B1850C5.f19_g16.i21ka.03.pop.h.0801-0900.climo.nc'
init_ts_file_fmt = 'nc'
init_ts_option = 'file'
init_iage_init_file = '/work/home/dhszh/CESM2-release-2.2.0/inputdata/lgm/rest/b.e12.B1850C5.f19_g16.i21ka.03.pop.h.0801-0900.climo.nc'
init_iage_init_file_fmt = 'nc'
init_iage_option = 'file'
overflows_restfile = '$casename.pop.ro'
The initial condition is the history output from a previous experiment and was downloaded from Globus. And i have changed the variable names for potential temperature and salinity as TEMPERATURE and SALINITY respectively according to the other thread Using history files as initial conditions in cesm1.
user_nl_cice:
kmt_file = '/work/home/dhszh/CESM2-release-2.2.0/inputdata/lgm/boundary_condition_files/topography_21ka_200623.ieeei4'
ice_ic = 'default'
user_drof.streams.txt.rof.diatren_ann_rx1:
The modern runoff data 'runoff.daitren.annual.20190226.nc ' has been regrided according to the ROF2OCN mapping files.

  • Keep the restoring files as the modern ocean:
restore_data_filenames = '/work/home/dhszh/CESM2-release-2.2.0/inputdata/ocn/pop/gx1v6/forcing/ecosys_restore_POP_gx1v6_20170113.nc'
restore_inv_tau_input%filename = '/work/home/dhszh/CESM2-release-2.2.0/inputdata/ocn/pop/gx1v6/forcing/ecosys_restore_inv_tau_POP_gx1v6_20170125.nc'
  • Keep the modern riverine nutrient inputs:
riv_flux_shr_stream_file = '/inputdata/ocn/pop/gx1v7/forcing/riv_nut.gnews_gnm.rx1_to_gx1v7_nn_open_ocean_nnsm_e1000r300_marginal_sea_170413.20190602.nc'
  • Keep the modern ecosystem initial conditions:
init_ecosys_init_file = '/work/home/dhszh/CESM2-release-2.2.0/inputdata/ocn/pop/gx1v6/ic/ecosys_jan_IC_omip_POP_gx1v7_c200323.nc'
Describe your problem or question:
It seems like that the tracers DIC, TA, and Salinity are going very wrong and the MARBL module crashes.
(Task 11, block 1) Message from (lon, lat) ( 316.063, -74.947), which is global (i,j) (317, 9). Level: 2
(Task 11, block 1) MARBL WARNING (marbl_co2calc_mod:drtsafe): (marbl_co2calc_mod:drtsafe) it = 3
(Task 11, block 1) MARBL WARNING (marbl_co2calc_mod:drtsafe): (marbl_co2calc_mod:drtsafe) x1,f = 0.6634890E-009-0.2279325E-001
(Task 11, block 1) MARBL WARNING (marbl_co2calc_mod:drtsafe): (marbl_co2calc_mod:drtsafe) x2,f = 0.2641397E-007-0.2280033E-001
(Task 11, block 1) MARBL WARNING (marbl_co2calc_mod:drtsafe): (marbl_co2calc_mod:drtsafe) it = 4
(Task 11, block 1) MARBL WARNING (marbl_co2calc_mod:drtsafe): (marbl_co2calc_mod:drtsafe) x1,f = 0.1051559E-009-0.2276270E-001
(Task 11, block 1) MARBL WARNING (marbl_co2calc_mod:drtsafe): (marbl_co2calc_mod:drtsafe) x2,f = 0.1666609E-006-0.2280063E-001
(Task 11, block 1) MARBL ERROR (marbl_co2calc_mod:drtsafe): bounding bracket for pH solution not found
(Task 11, block 1) MARBL ERROR (marbl_co2calc_mod:drtsafe): (marbl_co2calc_mod:drtsafe) dic = 0.2025425E+005
(Task 11, block 1) MARBL ERROR (marbl_co2calc_mod:drtsafe): (marbl_co2calc_mod:drtsafe) ta = 0.2339330E+005
(Task 11, block 1) MARBL ERROR (marbl_co2calc_mod:drtsafe): (marbl_co2calc_mod:drtsafe) pt = 0.1716070E+001
(Task 11, block 1) MARBL ERROR (marbl_co2calc_mod:drtsafe): (marbl_co2calc_mod:drtsafe) sit = 0.5994380E+002
(Task 11, block 1) MARBL ERROR (marbl_co2calc_mod:drtsafe): (marbl_co2calc_mod:drtsafe) temp = -0.1698629E+001
(Task 11, block 1) MARBL ERROR (marbl_co2calc_mod:drtsafe): (marbl_co2calc_mod:drtsafe) salt = 0.3549355E+003
(Task 11, block 1) MARBL ERROR (marbl_co2calc_mod:comp_htotal): Error reported from drtsafe
(Task 11, block 1) MARBL ERROR (marbl_co2calc_mod:marbl_co2calc_interior): Error reported from comp_htotal()
(Task 11, block 1) MARBL ERROR (marbl_interior_tendency_mod:compute_carbonate_chemistry): Error reported from marbl_co2calc_interior() with dic
(Task 11, block 1) MARBL ERROR (marbl_interior_tendency_mod:marbl_interior_tendency_compute): Error reported from compute_carbonate_chemistry()
(Task 11, block 1) MARBL ERROR (marbl_interface:interior_tendency_compute): Error reported from marbl_interior_tendency_compute()
(Task 11, block 1) MARBL ERROR (ecosys_driver:ecosys_driver_set_interior): Error reported from marbl_instances(1)%set_interior_forcing()
ERROR reported from MARBL library
------------------------------------------------------------------------

POP aborting...
Stopping in ecosys_driver:print_marbl_log

My solution:
1. Increasing the dt_count (It doesn't work);
user_nl_pop:
dt_count=72
2. Unenabled tracer restoring (It doesn't work);
user_nl_marbl:
tracer_restore_vars(1) = ""
tracer_restore_vars(2) = ""
tracer_restore_vars(3) = ""
tracer_restore_vars(4) = ""
tracer_restore_vars(5) = ""
3. Turns off the runoff input (It does work,the model has been running successfully for a year).
user_nl_drof:
datamode = "NULL"

So, my question is:
  • Would turning off the runoff have a significant impact on the model results?
  • Should I set the burial coefficient to zero when i turn off the runoff? (Just like this thread). However, it seems that the riverine nutrients are provided by a separate file.
riv_flux_shr_stream_file = '/inputdata/ocn/pop/gx1v7/forcing/riv_nut.gnews_gnm.rx1_to_gx1v7_nn_open_ocean_nnsm_e1000r300_marginal_sea_170413.20190602.nc'
  • How can I appropriately set the burial coefficient to zero?
! general parameters (bury coeffs)
POM_bury_frac_max = 0.8
PON_bury_coeff = 0.5
bSi_bury_frac_max = 1.0
parm_init_POC_bury_coeff = 1.1
parm_init_POP_bury_coeff = 1.1
parm_init_bSi_bury_coeff = 1.0
 
Top