-
Notifications
You must be signed in to change notification settings - Fork 296
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
Modularize snow cover fraction method #769
Commits on Jul 10, 2019
-
Ensure that user doesn't try to turn on both oldfflag and subgridflag
These options are incompatible. Partially addresses ESCOMP#502
Configuration menu - View commit details
-
Copy full SHA for cde7257 - Browse repository at this point
Copy the full SHA cde7257View commit details -
Rename subgridflag to use_subgrid_fluxes
Also, fix error checks involving use_subgrid_fluxes in CLMBuildNamelist: previously, subgridflag was not set at the point when the error checks involving that value were being done; I have fixed that by always including use_subgrid_fluxes in the default namelist. Resolves ESCOMP#502
Configuration menu - View commit details
-
Copy full SHA for d8d2a2d - Browse repository at this point
Copy the full SHA d8d2a2dView commit details
Commits on Jul 22, 2019
-
Testing: SMS_D_Ld1_P4x1.f10_f10_musgs.I2000Clm50BgcCropQianRsGs.bishorn_gnu.clm-default passes and bit-for-bit
Configuration menu - View commit details
-
Copy full SHA for 18cd14a - Browse repository at this point
Copy the full SHA 18cd14aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6c34aa7 - Browse repository at this point
Copy the full SHA 6c34aa7View commit details -
This will facilitate upcoming refactoring Testing: SMS_D_Ld1_P4x1.f10_f10_musgs.I2000Clm50BgcCropQianRsGs.bishorn_gnu.clm-default passes and is bit-for-bit
Configuration menu - View commit details
-
Copy full SHA for 40abe78 - Browse repository at this point
Copy the full SHA 40abe78View commit details -
Configuration menu - View commit details
-
Copy full SHA for d198fe8 - Browse repository at this point
Copy the full SHA d198fe8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 20b6dca - Browse repository at this point
Copy the full SHA 20b6dcaView commit details
Commits on Jul 25, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 7d57070 - Browse repository at this point
Copy the full SHA 7d57070View commit details -
Make oldhyd test have diagnostic output
Make oldhyd inherit from default so that it has some output in a one-day test
Configuration menu - View commit details
-
Copy full SHA for 474ecf3 - Browse repository at this point
Copy the full SHA 474ecf3View commit details -
Add a Clm45 compset for testing
I plan to use this for testing on my laptop, specifically with the test: SMS_D_Ld1_P4x1.f10_f10_musgs.I2000Clm45BgcCropQianRsGs.bishorn_gnu.clm-oldhyd
Configuration menu - View commit details
-
Copy full SHA for 58fb33d - Browse repository at this point
Copy the full SHA 58fb33dView commit details -
Put an int_snow update in its own routine
This will be done differently for different snow cover methods, so it will be part of the snow_cover_fraction polymorphic class.
Configuration menu - View commit details
-
Copy full SHA for 2f9efe8 - Browse repository at this point
Copy the full SHA 2f9efe8View commit details -
Extract function to compute frac_sno during melt
This will be called from SnowCompaction, too
Configuration menu - View commit details
-
Copy full SHA for 8bb9ea3 - Browse repository at this point
Copy the full SHA 8bb9ea3View commit details -
Remove duplicated code by using new function from SnowCompaction
There was a minor difference between the formulation in SnowCompaction and the one in FracSnowDuringMeltClm5: the latter has an extra min statement. It looks like this shouldn't change answers (the min statement shouldn't be necessary, given the min that is already applied to smr), but it's possible that it will change answers by roundoff in rare cases.
Configuration menu - View commit details
-
Copy full SHA for 9c80612 - Browse repository at this point
Copy the full SHA 9c80612View commit details
Commits on Jul 26, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 638d636 - Browse repository at this point
Copy the full SHA 638d636View commit details -
Configuration menu - View commit details
-
Copy full SHA for 95b6212 - Browse repository at this point
Copy the full SHA 95b6212View commit details -
Configuration menu - View commit details
-
Copy full SHA for dedbb90 - Browse repository at this point
Copy the full SHA dedbb90View commit details -
Configuration menu - View commit details
-
Copy full SHA for 176c92c - Browse repository at this point
Copy the full SHA 176c92cView commit details -
Configuration menu - View commit details
-
Copy full SHA for be00046 - Browse repository at this point
Copy the full SHA be00046View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4de1302 - Browse repository at this point
Copy the full SHA 4de1302View commit details -
Add class for N&Y07 snow cover fraction method
This isn't actually used yet in the code, and the two most important methods are just stubs.
Configuration menu - View commit details
-
Copy full SHA for 7d44d44 - Browse repository at this point
Copy the full SHA 7d44d44View commit details -
I needed to move it out of SnowHydrologyMod because it will now be used in SnowCoverFractionMod. I thought about reading it in in the factory method in SnowCoverFractionMod, but I prefer having this (and other similar control flags that we might need in the future) in clm_varctl for a few reasons: - It avoids introducing a whole new namelist group and a new namelist read routine just to hold and read this one variable - It makes the interface of the factory method more clear, in that we'll pass in the method directly - I like the idea of having these big controls (determining relatively big parameterizations) all be in one namelist group for the sake of build-namelist: we can ensure that we read this namelist group first, then do some other logic based on things set there (see also ESCOMP#26 (comment))
Configuration menu - View commit details
-
Copy full SHA for e68492a - Browse repository at this point
Copy the full SHA e68492aView commit details -
Use correct snow cover fraction method
We still have to move some code from SnowHydrologyMod into SnowCoverFractionMod for the N&Y07 method
Configuration menu - View commit details
-
Copy full SHA for c2193c6 - Browse repository at this point
Copy the full SHA c2193c6View commit details -
Move n&y07 implementation into its final home
Move the code out of SnowHydrologyMod, into SnowCoverFractionMod
Configuration menu - View commit details
-
Copy full SHA for e0ef720 - Browse repository at this point
Copy the full SHA e0ef720View commit details
Commits on Jul 27, 2019
-
It's clearer to have the error check more closely associated with the relevant code.
Configuration menu - View commit details
-
Copy full SHA for c9bfca8 - Browse repository at this point
Copy the full SHA c9bfca8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0026717 - Browse repository at this point
Copy the full SHA 0026717View commit details -
I have confirmed that, in clm4_0_00, the update of snowdp looked like: dz_snowf = qflx_snow_grnd_col(c)/bifall snowdp(c) = snowdp(c) + dz_snowf*dtime
Configuration menu - View commit details
-
Copy full SHA for b53b911 - Browse repository at this point
Copy the full SHA b53b911View commit details -
Change oldfflag to a string option, snow_cover_fraction_method
Also fix build-namelist error checking of compatibility with use_subgrid_fluxes
Configuration menu - View commit details
-
Copy full SHA for bb3dc6e - Browse repository at this point
Copy the full SHA bb3dc6eView commit details -
Configuration menu - View commit details
-
Copy full SHA for fcaae88 - Browse repository at this point
Copy the full SHA fcaae88View commit details -
Configuration menu - View commit details
-
Copy full SHA for d17ba01 - Browse repository at this point
Copy the full SHA d17ba01View commit details
Commits on Jul 30, 2019
-
Add empty constructors for snow cover fraction types
This fixes the error on cheyenne_intel related to trying to allocate an array (n_melt) that is already allocated.
Configuration menu - View commit details
-
Copy full SHA for fe169f7 - Browse repository at this point
Copy the full SHA fe169f7View commit details -
This tests that adding water isotopes does not change answers This is not yet passing
Configuration menu - View commit details
-
Copy full SHA for 8a38027 - Browse repository at this point
Copy the full SHA 8a38027View commit details -
1. Make 'base' case have water isotopes on. This way the baselines include water isotopes, which is nice for having stronger baseline comparisons. 2. For now, use enable_water_tracer_consistency_checks rather than enable_water_isotopes. I hope to revert this later, but this seems needed for now in order for the test to run to completion.
Configuration menu - View commit details
-
Copy full SHA for 8cf07e8 - Browse repository at this point
Copy the full SHA 8cf07e8View commit details -
Configuration menu - View commit details
-
Copy full SHA for dbd3264 - Browse repository at this point
Copy the full SHA dbd3264View commit details
Commits on Jul 31, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 7ea3798 - Browse repository at this point
Copy the full SHA 7ea3798View commit details -
Configuration menu - View commit details
-
Copy full SHA for 54d8ed0 - Browse repository at this point
Copy the full SHA 54d8ed0View commit details -
Add test w/ new snow cover fraction method but use_subgrid_fluxes false
This covers some code that isn't covered by any existing tests (such as the oldhyd test), though the amount of additional code coverage is small, so we don't necessarily need to keep this test long-term.
Configuration menu - View commit details
-
Copy full SHA for 46e7cb7 - Browse repository at this point
Copy the full SHA 46e7cb7View commit details
Commits on Aug 4, 2019
-
Merge remote-tracking branch 'escomp/master' into oldfflag_cleanup
Resolved Conflicts: cime_config/testdefs/testlist_clm.xml src/main/controlMod.F90
Configuration menu - View commit details
-
Copy full SHA for b655a70 - Browse repository at this point
Copy the full SHA b655a70View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3daf306 - Browse repository at this point
Copy the full SHA 3daf306View commit details -
Configuration menu - View commit details
-
Copy full SHA for ebe1c1e - Browse repository at this point
Copy the full SHA ebe1c1eView commit details -
Refactor UpdateSnowDepthAndFracNY07 to remove redundancy
This has the theoretical potential to change answers under the following conditions: - Now frac_sno is being explicitly reset to 0; before, under some conditions (h2osno_total > 0, but snow_depth <= 0), frac_sno would remain at its old value. - If h2osno_total or newsnow are ever negative, we could have different answers A one-day test (SMS_D_Ld1_P4x1.f10_f10_musgs.I2000Clm45BgcCropQianRsGs.bishorn_gnu.clm-oldhyd) is still bit-for-bit; I'll run a 3-year test next.
Configuration menu - View commit details
-
Copy full SHA for 24ffe4e - Browse repository at this point
Copy the full SHA 24ffe4eView commit details -
Configuration menu - View commit details
-
Copy full SHA for eaec48a - Browse repository at this point
Copy the full SHA eaec48aView commit details
Commits on Aug 5, 2019
-
Use longer names for parameterization names
Sean Swenson and others suggested using these longer names rather than the more cryptic short abbreviations. Part of the motivation is once we have 4 separate files, this will make the science modules stand out more because of their longer names. I wanted to name the namelist group scf_SwensonLawrence2012_inparm for consistency with the namelist option, but this didn't work with the namelist generation scripts, presumably because of the capitalization; so I'm using the all-lowercase form, scf_swenson_lawrence_2012_inparm.
Configuration menu - View commit details
-
Copy full SHA for 3d0137e - Browse repository at this point
Copy the full SHA 3d0137eView commit details -
Separate each class into its own file
Based on discussion today, we want to follow this approach. (See <https://github.com/ESCOMP/ctsm/wiki/Meeting-Notes-2019-Software#august-5-2019-special-meeting-on-design-of-snowcoverfractionmod>.)
Configuration menu - View commit details
-
Copy full SHA for cb560be - Browse repository at this point
Copy the full SHA cb560beView commit details
Commits on Aug 6, 2019
-
Allow snow cover fraction types to have different init interfaces
Since the init method is only called from the factory method, it's fairly straightforward to allow the different init methods to have different interfaces, rather than having a bunch of unused arguments in some of the methods. The big motivation here is avoiding the need to change all parameterizations' Init methods if you add a new parameterization with a new input requirement. This ended up being a little non-trivial because of the need for the select type statement. I think we could have avoided that if we did all initialization in the constructor (avoiding an Init method entirely). But we have had some compilers (e.g., intel17) that don't seem to work right with function constructors, so for now we're sticking with an Init subroutine.
Configuration menu - View commit details
-
Copy full SHA for 9ca0439 - Browse repository at this point
Copy the full SHA 9ca0439View commit details -
Put science routines before infrastructure routines
Sean Swenson pointed out that it would be better to put the science up front.
Configuration menu - View commit details
-
Copy full SHA for 03cb6d4 - Browse repository at this point
Copy the full SHA 03cb6d4View commit details -
Configuration menu - View commit details
-
Copy full SHA for b3d3b1a - Browse repository at this point
Copy the full SHA b3d3b1aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6c91dff - Browse repository at this point
Copy the full SHA 6c91dffView commit details