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

dependance of some namelist default on the number of vertical levels (lev)? #819

Open
cecilehannay opened this issue May 25, 2023 · 8 comments
Assignees
Labels
CoupledEval3 enhancement New feature or request misc tag issue or PR candidate for upcoming misc tag

Comments

@cecilehannay
Copy link
Collaborator

cecilehannay commented May 25, 2023

What is the feature/what would you like to discuss?

This issue should probably remove all nlev references in places where "lt" and "mt" can be used instead of nlev.

In namelist_defaults_cam.xml, there are parameters that are connected to the number of levels. While it makes sense for ncdata to be connected to nlev, it doesn't make sense for other parameters.
Instead these parameters should connected to the lt or mt configuration. This is to avoid getting the wrong parameters when changing nlev.

For instance, we have in namelist_defaults_cam.xml

<gw_apply_tndmax                        >.true. </gw_apply_tndmax><gw_apply_tndmax chem="ghg_mam4" nlev="93">.false.</gw_apply_tndmax>
<gw_apply_tndmax chem="ghg_mam4" nlev="58">.false.</gw_apply_tndmax>

But if we are doing a LT run with a different number of levels than L58, we get gw_apply_tndmax=.true.

I've just experienced this with a LT and L32. I changed it manually in user_nl_cam but it would be best if it would automatically come out the same for all LT runs.

They are other parameters dependent of nlev=58 or 93

Is there anyone in particular you want to be part of this conversation?

@JulioTBacmeister, @cacraigucar

Will this change (regression test) answers?

Yes

Will you be implementing this enhancement yourself?

Any CAM SE can do this

@cecilehannay cecilehannay added the enhancement New feature or request label May 25, 2023
@cacraigucar
Copy link
Collaborator

Adding @fvitt and @brian-eaton to the discussion

@brian-eaton
Copy link
Collaborator

The setting of gw_apply_tndmax for 32 level cam6 configurations is true. Changing gw_apply_tndmax to false for the new cam_dev, LT/MT compsets indicates that this is not strictly a model top issue. I would argue that the best solution is to add this setting to the use case file. That was done initially for hist_cam_{lt,mt}.xml, but for some reason was reverted in cam6_3_111. If this setting is made in the LT use case files then the correct value will be put in the namelist file regardless of nlev.

@cacraigucar
Copy link
Collaborator

@fvitt - Since you were the person who felt that some of the LT/MT variables should be in namelist_defaults, and made the change to move them, could you explain your reasoning. Based on @cecilehannay's request in this issue, do you have any problem with us moving them back to the use_cases?

@fvitt
Copy link

fvitt commented May 31, 2023

@fvitt - Since you were the person who felt that some of the LT/MT variables should be in namelist_defaults, and made the change to move them, could you explain your reasoning. Based on @cecilehannay's request in this issue, do you have any problem with us moving them back to the use_cases?

I thought it would be better to have these namelist parameters set in one place rather than multiple use case files. Setting them in one place is easier to maintain. My thinking is that the use case files are for setting exceptions to the defaults.

@brian-eaton
Copy link
Collaborator

In a sense gw_apply_tndmax is requiring an exception to the default which was .true. for the cam6 low top model. Clearly using nlev as an attribute is not appropriate. Perhaps at the end of the cam7 development we'll use phys = cam7 as the best way to set the value. But until the dust settles it seems like the use case is the best way to go.

@fvitt
Copy link

fvitt commented May 31, 2023

Another solution may be add a configure attribute (or option) such as "model_top" which can have valid values of "LT", "MT", "HT", and "XT". This attribute can be used in namelist_defaults_cam.xml for the settings as model_top="MT", etc. As mentioned before, there is no perfect way the for setting the namelist options for all our supported configurations.

@cacraigucar
Copy link
Collaborator

@fvitt and @brian-eaton - @nusbaume and I had a meeting this morning to brainstorm this issue, and after discussing several scenarios, we independently came up with the identical solution of introducing a configure option which we also named "model_top"! We propose introducing valid values of "LT" and "MT" and bringing this into #820. The "HT" and "XT" valid values can be brought in at a later time and we can open a separate issue for them.

@cacraigucar cacraigucar removed their assignment Jan 4, 2024
@cacraigucar cacraigucar added the misc tag issue or PR candidate for upcoming misc tag label Jan 4, 2024
@adamrher
Copy link

adamrher commented Jan 4, 2024

A cursory look and I only see an nlev / namelists_defaults dependence for effgw_beres_dp and effgw_oro, and a there is nlev=60 logic in build-namelist. So it shouldn't be that much work to resolve this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CoupledEval3 enhancement New feature or request misc tag issue or PR candidate for upcoming misc tag
Projects
Status: To Do
Development

No branches or pull requests

6 participants