Skip to content

Conversation

billsacks
Copy link
Member

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. Note
that they will eventually be renamed to CTSM_CONFIGURATION and
CTSM_STRUCTURE.) These, in turn, control the default values for a
number of namelist settings:

  • soil_layerstruct (using a new soil layer structure implemented by
    @barlage)
  • itmax_canopy_fluxes (a new namelist flag implemented by
    @slevisconsulting)
  • use_hydrstress
  • collapse_urban
  • n_dom_landunits
  • n_dom_pfts

This follows from the initial implementation and discussion in
#677.

Specific notes

Contributors other than yourself, if any:

  • Mike Barlage (@barlage)
  • Sam Levis (@slevisconsulting)

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)?

  • New compset (I2000Ctsm50NwpSpGswpGs)
  • New XML variables (CLM_CONFIGURATION, CLM_STRUCTURE)
  • New namelist variable (itmax_canopy_fluxes)

Testing performed, if any: So far, just:

  • SMS_Ld1_D.f10_f10_musgs.I2000Ctsm50NwpSpGswpGs.cheyenne_intel.clm-default
  • Compared namelists in a case with the new NWP compset vs. a case with
    a similar, non-NWP compset.

Michael and others added 18 commits July 30, 2018 09:28
…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
I simply took the count of the actual number of tests run, and used that
for the new counts.
@billsacks billsacks added the PR status: ready PR: this is ready to merge in, with all tests satisfactory and reviews complete label Apr 16, 2019
@billsacks billsacks requested a review from ekluzek April 16, 2019 21:02
@billsacks billsacks self-assigned this Apr 16, 2019
@billsacks
Copy link
Member Author

I have two questions about possible additional settings, for @barlage , @dlawrenncar and/or @ekluzek

  1. According to What default options do we want for the initial NWP configuration? #456 , we wanted to turn off urban heat stress indices (via calc_human_stress_indices). I think that note was made before the default was changed: now the default for this flag is "FAST". Do we still want to turn these completely off for the NWP configuration, by default? If so, would you call this a "configuration=nwp" or "structure=fast" option?

  2. According to What default options do we want for the initial NWP configuration? #456 , we wanted to "turn off BVOCs (if they're on by default with SP)". Is this still something wanted for the NWP configuration? If so, can someone please point me to the exact setting(s)?

@ekluzek
Copy link
Collaborator

ekluzek commented Apr 16, 2019

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.

@barlage
Copy link

barlage commented Apr 18, 2019

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.
@billsacks
Copy link
Member Author

@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 I2000Clm50SpGs (marked with <) and one set up with compset I2000Ctsm50NwpSpGswpGs (marked with '>'):

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'

@barlage
Copy link

barlage commented Apr 26, 2019

@billsacks these initial lnd_in diffs look good to me.

Copy link
Collaborator

@ekluzek ekluzek left a 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.

@billsacks
Copy link
Member Author

Thanks for your reviews, @barlage and @ekluzek . Erik, I have addressed your points.

@ekluzek
Copy link
Collaborator

ekluzek commented Apr 28, 2019

Awesome. Looks good.

@billsacks billsacks merged commit 3abfc93 into ESCOMP:master May 1, 2019
@billsacks billsacks deleted the nwp_configuration branch May 1, 2019 16:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

PR status: ready PR: this is ready to merge in, with all tests satisfactory and reviews complete

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add an NWP compset Add nwp physics option

4 participants