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

Have datm send ndep to surface components #36

Closed
billsacks opened this issue Dec 18, 2020 · 6 comments
Closed

Have datm send ndep to surface components #36

billsacks opened this issue Dec 18, 2020 · 6 comments
Assignees
Labels
enhancement New feature or request

Comments

@billsacks
Copy link
Member

(Copying this from ESMCI/cime#3549, originally opened by @ekluzek.)

Both CLM and the ocean model need Nitrogen deposition to be sent in. We've handled this by having it sent in by CAM when WACCM is run -- but having each surface component handle prescribed datasets themselves. This means that OCN and LND could have inconsistent datasets. And it also leads to certain problems when surface components don't know if ndep is provided by the ATM model or not (see for example: ESCOMP/CTSM#946). Since, ndep physically is something in the atmosphere, it makes the most sense if ndep would ALWAYS be provided by the ATM component just like prescribed aerosols are now.

The CAM issue that relates to this is here:

ESCOMP/CAM#104

Once CAM is able to send ndep, the surface components could stop having to prescribe it and just always rely on what is being sent from that ATM component.

@billsacks billsacks added the enhancement New feature or request label Dec 18, 2020
@billsacks
Copy link
Member Author

This would also be very good so that we could test the sending of ndep in I compsets, avoiding issues like ESCOMP/CTSM#1233

@mvertens
Copy link
Collaborator

mvertens commented Mar 16, 2022

@ekluzek - I have added the stream capability in datm and cam so that it can be removed from ctsm and pop for ingesting ndep data. However, I am confused regarding the following setting in namelist_defaults_ctsm.xml.
The new implementation has the following new scenarios for ndep forcing in datm:

<entry id="DATM_PRESNDEP">
   <type>char</type>
   <valid_values>none,clim_1850,clim_2000,clim_2010,hist,SSP1-2.6,SSP2-4.5,SSP3-7.0,SSP5-3.4,SSP5-8.5</valid_values>
   <default_value>clim_2000</default_value>
   <values match="last">
     <value compset="^1850_"   >clim_1850</value>
     <value compset="^2000_"   >clim_2000</value>
     <value compset="^2010_"   >clim_2010</value>
     <value compset="^SSP126_" >SSP1-2.6</value>
     <value compset="^SSP245_" >SSP2-4.5</value>
     <value compset="^SSP370_" >SSP3-7.0</value>
     <value compset="^SSP585_" >SSP5-8.5</value>
     <value compset="^HIST_"   >hist</value>
     <value compset="^20TR_"   >hist</value>
     <value compset="_DATM%CPLHIST">cplhist</value>
     <value compset="_DATM.*_DICE.*_DOCN.*_DROF">none</value>
   </values>
 </entry_id>

I am a bit confused as to the following settings in ctsm. I think that the default setting should take care of this (since it will be clim_2000). What compset using these sim_year and sim_year_range settings? Do you agree with my assumption?

<stream_year_first_ndep use_cn=".true."   sim_year="1000" >2000</stream_year_first_ndep>
<stream_year_last_ndep  use_cn=".true."   sim_year="1000" >2000</stream_year_last_ndep>

<stream_year_first_ndep use_cn=".true."   sim_year="constant" sim_year_range="1000-1002" >2000</stream_year_first_ndep>
<stream_year_last_ndep  use_cn=".true."   sim_year="constant" sim_year_range="1000-1002" >2000</stream_year_last_ndep>

<stream_year_first_ndep use_cn=".true."   sim_year="constant" sim_year_range="1000-1004" >2000</stream_year_first_ndep>
<stream_year_last_ndep  use_cn=".true."   sim_year="constant" sim_year_range="1000-1004" >2000</stream_year_last_ndep>

@ekluzek
Copy link
Collaborator

ekluzek commented Mar 16, 2022

@mvertens the 1000 to 1004 case was a specific test case that was setup to test some of the transient changes. I think we can drop it, at least here. But, I need to do some checking on that. So only worry about this, if I come back and say there is some reason to keep that test case.

@mvertens
Copy link
Collaborator

@ekluzek - thanks for the clarification. I think even if you need it - the default would be 2000 I think so that should be fine.

@billsacks
Copy link
Member Author

@mvertens has done this.

Repository owner moved this from Todo ~ months to Done (or no longer holding things up) in CESM: infrastructure / cross-component SE priorities Oct 7, 2022
@ekluzek
Copy link
Collaborator

ekluzek commented Oct 7, 2022

I just want to comment that we'll want to pull this into CTSM and MOM and probably remove our current mechanisms for ndep in those models. As part of that process we will want to compare answers and make sure it's identical or at least similar. So we should add a task for this in CTSM to start taking advantage of this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Done (or no longer holding things up)
Development

No branches or pull requests

3 participants