Problems with the 2010_control use-case for BgcCrop
Brief summary of bug
The 2010_control use-case has been needed because CAM does some testing with 2010 compsets. We don't have 2010 surface datasets (and have decided to continue not having them). So the use-case sets
sim_year=2000
to get the closest surface dataset. But, then any namelist logic that depends on sim_year being correct uses 2000 rather than 2010.
So the only way to get around that is to explicitly set the namelist settings in the 2010_control.xml file, rather than rely on sim_year in the namelist_defaults. So the cases that rely on just sim_year in the namelist_defaults file won't function correctly.
General bug information
**CTSM version you are using:**ctsm5.3.085
Does this bug cause significantly incorrect results in the model's science? Yes, inconsistent settings
Configurations affected:
2010 compsets with BgcCrop (Sp is tested and fine).
Details of bug
Some of the crop stream settings are set to 2000 rather than 2010
grepping for 2000 in the CaseDocs namelists we see these problems:
model_year_align_cropcal_cultivar_gdds = 2000
model_year_align_cropcal_swindows = 2000
stream_fldfilename_swindow_end = '/glade/campaign/cesm/cesmdata/inputdata/lnd/clm2/cropdata/calendars/processed/swindow_ends_ggcmi_crop_calendar_phase3_v1.01.2000-2000.20231005_145103.tweaked_latlons.nc'
stream_fldfilename_swindow_start = '/glade/campaign/cesm/cesmdata/inputdata/lnd/clm2/cropdata/calendars/processed/swindow_starts_ggcmi_crop_calendar_phase3_v1.01.2000-2000.20231005_145103.tweaked_latlons.nc'
stream_year_first_cropcal_cultivar_gdds = 2000
stream_year_first_cropcal_swindows = 2000
stream_year_last_cropcal_cultivar_gdds = 2000
stream_year_last_cropcal_swindows = 2000
Important details of your setup / configuration so we can reproduce the bug
I saw this in other cases I was testing and then figured this reproducer:
./create_test SMS_D_Ld1_PS.f19_f19_mt232.2010_DATM%GSWP3v1_CLM60%BGC-CROP_SICE_SOCN_SROF_SGLC_SWAV.derecho_intel.clm-clm60cam7LndTuningMode -r . --no-build
The only 2010 test we have is with Sp on, so it works fine:
SMS_D_Ld1_PS.f19_f19_mg17.I2010Clm50Sp.derecho_intel.clm-clm50cam6LndTuningMode--clm-nofireemis
I think this is NOT important to fix, unless CAM starts testing more 2010 cases especially with BGC on, and for clm6_0 and cam7.0.
The thing that might be important to think about though is this issue where sim_year isn't set to what the use-case says it's about. Because that will come up.
#3614 adds to this problem since, it can't add settings for stream_atm_*_atm_c1? at this point since use_c13/use_c14 isn't normally set until later.