Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Move some hardcoded parameters to the paramsfile #1039

Merged
merged 11 commits into from
Jun 18, 2020

Conversation

ekluzek
Copy link
Collaborator

@ekluzek ekluzek commented Jun 13, 2020

Description of changes

Change some hardcoded parameters to go on the parameter files. This is needed in preparation of running the Perturbed Parameter Ensemble.

Specific notes

Contributors other than yourself, if any: This is primarily work of @olyson

CTSM Issues Fixed (include github issue #): #995 #138, #206

Fixes #995
Fixes #138
Fixes #206
Some work on #290

Are answers expected to change (and if so in what way)? No, expected to be bit-for-bit

Any User Interface Changes (namelist or namelist defaults changes)? New params files
for both clm4_5 and clm5_0

Testing performed, if any: Ran test suite on cheyenne for gnu and intel

olyson and others added 7 commits May 4, 2020 12:01
BFB according to following tests:
ERP_D_Ld5.f10_f10_musgs.IHistClm50BgcCrop.cheyenne_intel.clm-allActive
ERS_Ly5_P144x1.f10_f10_musgs.IHistClm50BgcCrop.cheyenne_intel.clm-cropMonthOutput

Parameters moved:
fnps
theta_psii
theta_ip
theta_cj
theta_cj
vcmaxha
jmaxha
tpuha
lmrha
kcha
koha
cpha
vcmaxhd
jmaxhd
tpuhd
lmrhd
lmrse
denitrif_nitrateconc_coefficient
denitrif_nitrateconc_exponent
denitrif_respiration_coefficient
denitrif_respiration_exponent
k_nitr_max_perday (renamed from k_nitr_max)
BFB according to following tests:
ERP_D_Ld5.f10_f10_musgs.IHistClm50BgcCrop.cheyenne_intel.clm-allActive
ERS_Ly5_P144x1.f10_f10_musgs.IHistClm50BgcCrop.cheyenne_intel.clm-cropMonthOutput

Parameters moved:
jmaxb0
wc2wjb0
enzyme_turnover_daily
BFB according to following tests:
ERP_D_Ld5.f10_f10_musgs.IHistClm50BgcCrop.cheyenne_intel.clm-allActive
ERS_Ly5_P144x1.f10_f10_musgs.IHistClm50BgcCrop.cheyenne_intel.clm-cropMonthOutput

Parameters moved:
relhExp
minrelh
wimp
ssi
drift_gs
eta0_anderson (was eta0 in OverburdenCompactionAnderson1976)
eta0_vionnet (was eta0 in OverburdenCompactionVionnet2012)
n_baseflow
perched_baseflow_scalar (was hardcoded 1.e-5 in SoilHydrologyMod)
tkd_sand (was hardcoded 8.8 in SoilStateInitTimeConstMod)
tkd_clay (was hardcoded 2.92 in SoilStateInitTimeConstMod)
tkd_om (was om_tkd in SoilStateInitTimeConstMod)
tkm_om (was om_tkm in SoilStateInitTimeConstMod)
pd (was hardcoded 2.7e3 in SoilStateInitTimeConstMod)
csol_om (was om_csol in SoilStateInitTimeConstMod)
csol_sand (was hardcoded 2.128 in SoilStateInitTimeConstMod)
csol_clay (was hardcoded 2.385 in SoilStateInitTimeConstMod)
e_ice
I ran the CLM test suite (aux_clm) on the entire set of changes up to this
point (all commits).  All pass as expected and are BFB with the baseline (ctsm1.0.dev089).
This includes CLM4.5 tests as well. I've created a new CLM4.5 parameter file
that produces BFB results and included it in namelist_defaults_ctsm.xml

Parameters moved:
tau_l1 (now expressed as 1/year)
tau_l2_l3 (now expressed as 1/year)
tau_s1 (now expressed as 1/year)
tau_s2 (now expressed as 1/year)
tau_s3 (now expressed as 1/year)
tau_cwd (now expressed as 1/year)
cryoturb_diffusion_k
som_diffus
BFB according to the following tests:
ERS_Ly5_P144x1.f10_f10_musgs.IHistClm50BgcCrop.cheyenne_intel.clm-cropMonthOutput
ERP_D_Ld5.f10_f10_musgs.IHistClm50BgcCrop.cheyenne_intel.clm-allActive
ERS_D_Ld6.f10_f10_musgs.I1850Clm45BgcCrop.cheyenne_intel.clm-clm50CMIP6frc
clm_short test suite

Parameters moved:
prh30 (was hardcoded as 0.7 in CNFireLi2016Mod)
ignition_efficiency (was hardcoded as 0.22 in CNFireLi2016Mod)
tpu25ratio (was hardcoded as 0.167 in PhotosynthesisMod)
kp25ratio (was hardcoded as 20000 in PhotosynthesisMod)
bsw_adjustfactor (set to 1.0, did not previously exist in SoilStateInitTimeConstMod)
hksat_adjustfactor (set to 1.0, did not previously exist in SoilStateInitTimeConstMod)
sucsat_adjustfactor (set to 1.0, did not previously exist in SoilStateInitTimeConstMod)
watsat_adjustfactor (set to 1.0, did not previously exist in SoilStateInitTimeConstMod)
BFB according to the following tests:
ERS_Ly5_P144x1.f10_f10_musgs.IHistClm50BgcCrop.cheyenne_intel.clm-cropMonthOutput
ERP_D_Ld5.f10_f10_musgs.IHistClm50BgcCrop.cheyenne_intel.clm-allActive
ERS_D_Ld6.f10_f10_musgs.I1850Clm45BgcCrop.cheyenne_intel.clm-clm50CMIP6frc
clm_short test suite

Parameters moved:
wind_min (was hardcoded as 1.0 in CanopyFluxesMod.F90, LakeFluxesMod.F90, BareGroundFluxesMod.F90, UrbanFluxesMod.F90)
bsw_adjustfactor, hksat_adjustfactor, sucsat_adjustfactor, watsat_adjustfactor are now also applied to soil beneath lakes
@ekluzek ekluzek added enhancement new capability or improved behavior of existing capability priority: high High priority to fix/merge soon, e.g., because it is a problem in important configurations tag: enh - new science labels Jun 13, 2020
@ekluzek ekluzek added this to the ctsm5.1.0 milestone Jun 13, 2020
@ekluzek ekluzek self-assigned this Jun 13, 2020
@ekluzek
Copy link
Collaborator Author

ekluzek commented Jun 13, 2020

In running testing on cheyenne, these two tests show difference in answers...

ERS_Lm20_Mmpi-serial.1x1_smallvilleIA.I2000Clm50BgcCropQianGs.cheyenne_gnu.clm-monthly_noinitial
ERS_Ly5_Mmpi-serial.1x1_smallvilleIA.I2000Clm50BgcCropQianGs.cheyenne_gnu.clm-ciso_monthly

Tests of five years or more that passed...

ERS_Ly5_P144x1.f10_f10_musgs.IHistClm50BgcCrop.cheyenne_intel.clm-cropMonthOutput
ERS_Ly5_P72x1.f10_f10_musgs.IHistClm45BgcCrop.cheyenne_intel.clm-cropMonthOutput
ERS_Ly6_Mmpi-serial.1x1_smallvilleIA.IHistClm50BgcCropQianGs.cheyenne_intel.clm-cropMonthOutput
SMS_D_Ly6_Mmpi-serial.1x1_smallvilleIA.IHistClm45BgcCropQianGs.cheyenne_intel.clm-cropMonthOutput

@olyson
Copy link
Contributor

olyson commented Jun 13, 2020

That's interesting. I ran the aux_clm test suite with gnu and the only failure was an expected one. However, those two tests that failed for you don't appear to be part of the aux_clm test suite?

@ekluzek
Copy link
Collaborator Author

ekluzek commented Jun 14, 2020

@olyson this is after the update to ctsm1.0.dev100, and those two tests are part of the test suite there. They might not have been in the older ctsm1.0.dev089 version the branch came from.

…lue of 0.8, this is needed because of the update to get these two biofuels working
@ekluzek
Copy link
Collaborator Author

ekluzek commented Jun 14, 2020

OK, I looked through to figure this out. In the older baseline version ctsm1.0.dev089 these tests don't complete, but I was able to run one for 460 days. I ran that in ctsm1.0.dev089 and in a few of the olyson branch versions and they don't change answers.

I realized the problem might be due to PFT changes in the params file due to the miscanthus,switchgrass update. It made changes to the paramsfile to convert them from C3 to C4 types. When I fix the new paramsfile for this change on the newly added PFT variable of theta_cj. -- answers go back to being identical.

@olyson
Copy link
Contributor

olyson commented Jun 14, 2020

That's great Erik, thanks for solving this.

…n be used by all versions, and use ignition_efficiency in CNFireLi2014Mod as well
@ekluzek
Copy link
Collaborator Author

ekluzek commented Jun 17, 2020

OK, this has passed testing on cheyenne and izumi, and I'll update the Change files and bring it to master.

@ekluzek ekluzek merged commit 3029203 into ESCOMP:master Jun 18, 2020
@ekluzek ekluzek deleted the hardcodep branch June 18, 2020 05:52
@samsrabin samsrabin added the science Enhancement to or bug impacting science label Aug 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement new capability or improved behavior of existing capability priority: high High priority to fix/merge soon, e.g., because it is a problem in important configurations science Enhancement to or bug impacting science
Projects
None yet
3 participants