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

Use tau_* values on params file #138

Closed
ekluzek opened this issue Dec 16, 2017 · 6 comments · Fixed by #1039
Closed

Use tau_* values on params file #138

ekluzek opened this issue Dec 16, 2017 · 6 comments · Fixed by #1039
Labels
bug something is working incorrectly

Comments

@ekluzek
Copy link
Collaborator

ekluzek commented Dec 16, 2017

Erik Kluzek < erik > - 2016-06-10 14:30:46 -0600
Bugzilla Id: 2320
Bugzilla CC: cdkoven, dlawren, rfisher,

The "tau_*" values are currently using the hardcoded values in SoilBiogeochemDecompCascadeBGCMod.F90 rather than the values on the params file. The values on the params file are read in -- but discarded. The issue seems to be that answers change when you read in from the params file, rather than doing the inverse that the code has. So if the values read in are the inverse then you can do the divide in the code and preserve answers.

  ! the belowground parameters from century
  tau_l1 = 1./18.5
  tau_l2_l3 = 1./4.9
  tau_s1 = 1./7.3
  tau_s2 = 1./0.2
  tau_s3 = 1./.0045

  ! century leaves wood decomposition rates open, within range of 0 - 0.5 yr^-1
  tau_cwd  = 1./0.3

  ! Todo:  FIX(SPM,032414) - the explicit divide gives different results than when that
  ! value is placed in the parameters netcdf file.  To get bfb, keep the 
  ! divide in source.

  !tau_l1 = params_inst%tau_l1_bgc
  !tau_l2_l3 = params_inst%tau_l2_l3_bgc
  !tau_s1 = params_inst%tau_s1_bgc
  !tau_s2 = params_inst%tau_s2_bgc
  !tau_s3 = params_inst%tau_s3_bgc

  !set turnover rate of coarse woody debris
  !tau_cwd = params_inst%tau_cwd_bgc

There are similar issues in SoilBiogeochemLittVertTranspMod.F90 and in biogeochem/ch4Mod.F90. They are documented with the following type of comment in the code...

! FIX(FIX(SPM,032414),032414) can't be read off of param file. not bfb since it is a divide

So this means there are several variables on the params file that get read in and then ignored.

@ekluzek ekluzek added this to the clm5 milestone Dec 16, 2017
@ekluzek
Copy link
Collaborator Author

ekluzek commented Dec 16, 2017

Erik Kluzek < erik > - 2016-06-10 14:48:41 -0600

The list of variables read and ignored seems to be:

vmax_ch4_oxid (divide by seconds per hour)
k_m (don't see why this one is a problem) *
k_m_o2 (don't see why this one is a problem) *
k_m_unsat (divide by 10?) *
vmax_oxid_unsat (divide by seconds per hour divided by 10) *
unsat_aere_ratio (divide by 0.3? -- it's 0.05_r8 / 0.3_r8) *
tau_l1_bgc (do inverse)
tau_l2_l3_bgc (do inverse)
tau_s1_bgc (do inverse)
tau_s2_bgc (do inverse)
tau_s3_bgc (do inverse)
tau_cwd_bgc (do inverse)
som_diffus (divide by seconds per year)
cryoturb_diffusion_k (divide by seconds per year)

some of these may just need to be set to a higher precision in the params file. Making sure the value put on the file is double precision, may resolve the bit-for-bit issues.

@ekluzek
Copy link
Collaborator Author

ekluzek commented Dec 16, 2017

Erik Kluzek < erik > - 2017-09-11 16:21:00 -0600

Looking at the variables in double precision I see there are a few bits left off the params file for example...

tau_l1 = 0.05405405405406
tau_l2_l3 = 0.2040816326530612
ta_s3 = 222.2222222222222
tau_cwd = 3.333333333333333

other variables have the same issue, but show up in very low significant digits. So this should be able to be made exact.

@ekluzek
Copy link
Collaborator Author

ekluzek commented Dec 16, 2017

Erik Kluzek < erik > - 2017-09-14 14:42:38 -0600

Using the params files:
lnd/clm2/paramdata/clm5_params.c170913.nc and lnd/clm2/paramdata/clm_params.c170913.nc

I get bit-for-bit results when using the values on the params files above. I have this on a branch and will bring it to the trunk.

@ekluzek ekluzek removed this from the clm5 milestone Jul 7, 2019
@ekluzek
Copy link
Collaborator Author

ekluzek commented Jul 7, 2019

This is still a problem. It's an issue for anyone who is working with the params file and doing parameter estimation. Possibly they could find that changing these variables on the params file doesn't cause any changes and not realize it's because the values from the file are overwritten.

@billsacks billsacks added the bug something is working incorrectly label Jul 8, 2019
@billsacks
Copy link
Member

@ekluzek you said you have the fix for this on a branch; is that correct? (I'm reviewing some old bugs.)

ekluzek added a commit to ekluzek/CTSM that referenced this issue Mar 26, 2020
fde04e4d Merge pull request ESCOMP#138 from billsacks/add_python38_tests
37e4c4a5 Do not update dictionary in-place in loop
7e8474bb Remove testing on mac os
7f41c563 Fix pylint issue
3065b0d6 Add travis-ci tests with python3.7 and python3.8
34fbf556 Add support for git sparse checkout
6c6ef9fe Fix pylint errors
6a659ad3 Added test for sparse checkout and updated documentation
14432439 Support for git sparsecheckout via read-tree.
a48558d8 Merge pull request ESCOMP#119 from gold2718/submodules
f72ffe7f Do not try git submodule update if no .gitmodules file (git bug)
804e0afb Fix a pylint error
45aef95e Addressed review concerns
7da50314 New capability to use git submodule information to checkout externals
1926530f Merge pull request ESCOMP#118 from mnlevy1981/svn_switch
b1b028d9 Updates after testing
9ea73e66 Add --svn-ignore-ancestry argument

git-subtree-dir: manage_externals
git-subtree-split: fde04e4d9a758b3aa277aa5fa44a59f5153f2958
ekluzek added a commit to ekluzek/CTSM that referenced this issue Apr 27, 2020
fde04e4d Merge pull request ESCOMP#138 from billsacks/add_python38_tests
37e4c4a5 Do not update dictionary in-place in loop
7e8474bb Remove testing on mac os
7f41c563 Fix pylint issue
3065b0d6 Add travis-ci tests with python3.7 and python3.8
34fbf556 Add support for git sparse checkout
6c6ef9fe Fix pylint errors
6a659ad3 Added test for sparse checkout and updated documentation
14432439 Support for git sparsecheckout via read-tree.
a48558d8 Merge pull request ESCOMP#119 from gold2718/submodules
f72ffe7f Do not try git submodule update if no .gitmodules file (git bug)
804e0afb Fix a pylint error
45aef95e Addressed review concerns
7da50314 New capability to use git submodule information to checkout externals
1926530f Merge pull request ESCOMP#118 from mnlevy1981/svn_switch
b1b028d9 Updates after testing
9ea73e66 Add --svn-ignore-ancestry argument

git-subtree-dir: manage_externals
git-subtree-split: fde04e4d9a758b3aa277aa5fa44a59f5153f2958
@ekluzek
Copy link
Collaborator Author

ekluzek commented Jun 11, 2020

It looks like @olyson tackled this problem and has a fix for it on the hardcodep branch that will be coming to master.

slevis-lmwg pushed a commit to slevis-lmwg/ctsm that referenced this issue Dec 22, 2022
fde04e4 Merge pull request ESCOMP#138 from billsacks/add_python38_tests
37e4c4a Do not update dictionary in-place in loop
7e8474b Remove testing on mac os
7f41c56 Fix pylint issue
3065b0d Add travis-ci tests with python3.7 and python3.8
34fbf55 Add support for git sparse checkout
6c6ef9f Fix pylint errors
6a659ad Added test for sparse checkout and updated documentation
1443243 Support for git sparsecheckout via read-tree.
a48558d Merge pull request ESCOMP#119 from gold2718/submodules
f72ffe7 Do not try git submodule update if no .gitmodules file (git bug)
804e0af Fix a pylint error
45aef95 Addressed review concerns
7da5031 New capability to use git submodule information to checkout externals
1926530 Merge pull request ESCOMP#118 from mnlevy1981/svn_switch
b1b028d Updates after testing
9ea73e6 Add --svn-ignore-ancestry argument
fc5acda Merge pull request ESCOMP#114 from billsacks/fix_large_output_hang
aa2eb71 Try getting travis-ci working on MacOS
96842b4 Fix pylint errors
813fe3c pylint: disable useless-object-inheritance
c49d878 Rework execute_subprocess timeout handling
8fc0e5f Cleanup from 'make style'
b0b23a6 Merge pull request ESCOMP#110 from gold2718/help_fix
3cbcd16 Fixed and clarified help documentation
025e6cb Merge pull request ESCOMP#107 from jedwards4b/ignore_empty_git_dir
489842b if you encounter an empty directory clone into it
0c5a2f6 Merge pull request ESCOMP#106 from billsacks/remove_logfile_message
7799e99 Remove message about checking the log file for more details
0427305 Merge pull request ESCOMP#103 from billsacks/no_logging
9bb46aa Make no-logging be the default
9af6b02 Merge pull request ESCOMP#102 from billsacks/explain_qmark
7f973ae Run through make style
d077a57 Add message describing meaning of '?'
60fc03b Merge pull request ESCOMP#101 from ESMCI/catch_svn_error
28073ec add exception class
4fb7e47 catch errors from svn status --xml
bfa4831 Merge pull request ESCOMP#98 from billsacks/quieter
7d12650 make style
afb4f11 Make more git and svn commands quieter
a465b4f add --quiet argument to improve performance
b2f3ae8 Merge pull request ESCOMP#83 from jedwards4b/jedwards/components_arg
3f4c88f fix comment
c1b5b09 remove unneeded logic
4fdf180 one more test
f78d60f another test
bf52ac6 add a test
91d4851 fix pylint issue
987df5a only use components if populated
98a810d add a components arg to checkout only select components
6923119 Merge pull request ESCOMP#90 from ESMCI/issue-86-detached-sync-status
b11ad61 Merge branch 'master' into issue-86-detached-sync-status
3b624cf Merge pull request ESCOMP#93 from billsacks/work_on_coverage
2562830 Run a single coverage command rather than two separate commands
d1de5f8 Return to starting directory after each test
144f7d9 Merge pull request ESCOMP#92 from billsacks/point_to_esmci
58b8d3e Point to location of repository
0b46d81 Point to correct location for build/coverage status
a385070 fix pylint problems
dcf17b6 make style cleanup
92d342c Rewrite _current_ref to use plumbing rather than parsing porcelain
ca0a5d3 Rework some git repository functions, and major rework of unit tests
719383e Remove commented-out pdb.set_trace() call
376c780 Bugfix: detect and report 'detached from' correctly
21813e9 Add system test demonstrating failure to detect out of sync status.
1a7c59d Merge documentation update into master.
f1e9e99 Merge schema support for git hashes into master.
247fee1 Document return values of checkout.py: main
195c1d0 Implement explicit use of a hash for git repositories.
12dd743 Refactor: schema validation output
fdbc720 Bugfix: incorrect order of operations validing user input
d6423c6 Bugfix: timeout limit for subprocesses
7998f60 Update readme and help output
00b6fb2 Bugfix: add explicit schema version checking
0527869 Update readme
1ae8c84 Merge bugfix branch for stale subexternals into master.
b0c16d7 Bugfix: stale sub-externals after checkout.
30a4e44 Finish implementing system test for mixed-use externals
ac7ff96 Update mixed-use test repo.
bfda7b9 Bugfix: regexp for determining git tracking branches

git-subtree-dir: manage_externals
git-subtree-split: fde04e4d9a758b3aa277aa5fa44a59f5153f2958
samsrabin pushed a commit to samsrabin/CTSM that referenced this issue Apr 19, 2024
Allow none mapalgo. For single-point runs of CTSM, we need to be able to set `foo:mapalgo=none` , where `foo` is the stream name.  `none` as an option to `cime_config/stream_cdeps.py`
AGonzalezNicolas pushed a commit to HPSCTerrSys/clm5_0 that referenced this issue Jun 27, 2024
fde04e4d Merge pull request ESCOMP#138 from billsacks/add_python38_tests
37e4c4a5 Do not update dictionary in-place in loop
7e8474bb Remove testing on mac os
7f41c563 Fix pylint issue
3065b0d6 Add travis-ci tests with python3.7 and python3.8
34fbf556 Add support for git sparse checkout
6c6ef9fe Fix pylint errors
6a659ad3 Added test for sparse checkout and updated documentation
14432439 Support for git sparsecheckout via read-tree.
a48558d8 Merge pull request ESCOMP#119 from gold2718/submodules
f72ffe7f Do not try git submodule update if no .gitmodules file (git bug)
804e0afb Fix a pylint error
45aef95e Addressed review concerns
7da50314 New capability to use git submodule information to checkout externals
1926530f Merge pull request ESCOMP#118 from mnlevy1981/svn_switch
b1b028d9 Updates after testing
9ea73e66 Add --svn-ignore-ancestry argument

git-subtree-dir: manage_externals
git-subtree-split: fde04e4d9a758b3aa277aa5fa44a59f5153f2958
AGonzalezNicolas pushed a commit to HPSCTerrSys/clm5_0 that referenced this issue Jul 5, 2024
fde04e4d Merge pull request ESCOMP#138 from billsacks/add_python38_tests
37e4c4a5 Do not update dictionary in-place in loop
7e8474bb Remove testing on mac os
7f41c563 Fix pylint issue
3065b0d6 Add travis-ci tests with python3.7 and python3.8
34fbf556 Add support for git sparse checkout
6c6ef9fe Fix pylint errors
6a659ad3 Added test for sparse checkout and updated documentation
14432439 Support for git sparsecheckout via read-tree.
a48558d8 Merge pull request ESCOMP#119 from gold2718/submodules
f72ffe7f Do not try git submodule update if no .gitmodules file (git bug)
804e0afb Fix a pylint error
45aef95e Addressed review concerns
7da50314 New capability to use git submodule information to checkout externals
1926530f Merge pull request ESCOMP#118 from mnlevy1981/svn_switch
b1b028d9 Updates after testing
9ea73e66 Add --svn-ignore-ancestry argument

git-subtree-dir: manage_externals
git-subtree-split: fde04e4d9a758b3aa277aa5fa44a59f5153f2958
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug something is working incorrectly
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants