-
Notifications
You must be signed in to change notification settings - Fork 340
Add out-of-the-box NWP configuration #685
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
Conversation
…s is consistent with the Noah and Noah-MP soil in WRF and other operational systems
Replace itmax = 40 in subroutine hybrid with namelist-controlled itmax_hybrid.
This is not completely functional yet: Changes are still needed in CLMBuildNamelist, and some of the referenced namelist options do not yet exist in the code.
This is needed because currently we need to have nlevurb <= nlevgrnd, and we're using nlevurb = 5: see ESCOMP#674
…' into nwp_configuration
I simply took the count of the actual number of tests run, and used that for the new counts.
I have two questions about possible additional settings, for @barlage , @dlawrenncar and/or @ekluzek
|
My sense would be that calc_human_stress_indices='NONE" would be for structure="fast". The only reason to do it for NWP is for speed. But, there's nothing about NWP itself that says you couldn't run human stress indices, as a matter of fact it makes sense that you would. Turning off BVOC's means turning off MEGAN, which is a namelist option to build-namelist (-no-megan which would be done as part of CLM_BLDNML_OPTS). Or you could change the namelist defaults file where megan is either set to 0 or 1. |
Something else to consider for the NWM configuration: nlevsno set to 3 or similar. I'm curious to know how this works with what looks like some hard-coded snow layer thicknesses. We can discuss this. |
This is wanted for performance reasons. I debated doing this via the nwp configuration or via the -no-megan flag that could be set by the compset. I opted for the former because it will be easier to remember what differs between an nwp vs. clm configuration (it's easier to remember that two things differ (configuration and structure) than three (configuration, structure and the -no-megan flag).
Noah-MP uses 3, but its top two layers are thicker than CTSM's. 5 seemed like a good compromise, particularly since that's what was used prior to CLM5. However, in contrast to CLM4.5, Mike Barlage requested h2osno_max = 5000, because for high-resolution grids, this higher h2osno_max is sometimes needed to avoid snow capping fluxes. This could lead to a very thick bottom snow layer, but Mike is okay with that. I am using glc_snow_persistence_max_days=0, which seems right for this relatively high h2osno_max.
@ekluzek @barlage this is ready for final review. Note that this PR just contains the changes for the nwp configuration - not for the nldas grid. I'll combine the two for my final testing. Here are lnd_in diffs between a case set up with compset 5c5
< collapse_urban = .false.
---
> collapse_urban = .true.
16c16
< h2osno_max = 10000.0
---
> h2osno_max = 5000.0
21,22c21,22
< n_dom_landunits = 0
< n_dom_pfts = 0
---
> n_dom_landunits = 1
> n_dom_pfts = 1
24c24
< nlevsno = 12
---
> nlevsno = 5
28c28
< soil_layerstruct = '20SL_8.5m'
---
> soil_layerstruct = '5SL_3m'
45c45
< use_hydrstress = .true.
---
> use_hydrstress = .false.
143c143
< itmax_canopy_fluxes = 40
---
> itmax_canopy_fluxes = 3
203c203
< stomatalcond_method = 'Medlyn2011'
---
> stomatalcond_method = 'Ball-Berry1987' |
@billsacks these initial lnd_in diffs look good to me. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have two small things to suggest that I have inline comments about. I think the perl suggestion should be done, but not horrible if it doesn't happen. The lining up of xml variable columns is more a general question for us to talk about being in sync on.
Awesome. Looks good. |
Description of changes
Adds out-of-the-box NWP configuration.
The new NWP compset triggers two new XML variables:
CLM_CONFIGURATION
and
CLM_STRUCTURE
. (These can be modified independently, as well. Notethat they will eventually be renamed to
CTSM_CONFIGURATION
andCTSM_STRUCTURE
.) These, in turn, control the default values for anumber of namelist settings:
@barlage)
@slevisconsulting)
This follows from the initial implementation and discussion in
#677.
Specific notes
Contributors other than yourself, if any:
CTSM Issues Fixed (include github issue #):
Are answers expected to change (and if so in what way)? NO
Any User Interface Changes (namelist or namelist defaults changes)?
Testing performed, if any: So far, just:
SMS_Ld1_D.f10_f10_musgs.I2000Ctsm50NwpSpGswpGs.cheyenne_intel.clm-default
a similar, non-NWP compset.