Skip to content

Simple DATM forcing mode#198

Merged
jedwards4b merged 7 commits into
ESCOMP:mainfrom
alperaltuntas:merge_simple_forcing
Oct 9, 2023
Merged

Simple DATM forcing mode#198
jedwards4b merged 7 commits into
ESCOMP:mainfrom
alperaltuntas:merge_simple_forcing

Conversation

@alperaltuntas
Copy link
Copy Markdown
Member

Description of changes

This PR introduces a new, idealistic datm mode called SIMPLE to be used for simple CESM modeling applications. This initial version supports only constants forcing values for the following fields: t, u, ,v, q, slp, dn10. Radiation forcing is obtained from CORE_NYF.GISS streams. The constants forcing values can be configured by the user via user_nl_datm by changing the variables of the newly added const_forcing_nml group in datm_in.

Specific notes

Contributors other than yourself, if any: none

CDEPS Issues Fixed (include github issue #): none

Are there dependencies on other component PRs (if so list): none

Are changes expected to change answers (bfb, different to roundoff, more substantial): bfb

Any User Interface Changes (namelist or namelist defaults changes): an addition of a new namelist in datm_in, called const_forcing_nml

Testing performed (e.g. aux_cdeps, CESM prealpha, etc):

Hashes used for testing:

@alperaltuntas
Copy link
Copy Markdown
Member Author

This is a rather unique datm mod that is being added, so I'd like to get an initial review from @jedwards4b (and others?) before making this an actual PR.

Comment thread datm/datm_datamode_simple_mod.F90 Outdated
end if
end if

call shr_mpi_bcast(dn10 , mpicom, 'dn10')
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we move away from shr_mpi_bcast and use ESMF_VMBroadcast instead?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@alperaltuntas Note that as of #203 CDEPS no longer uses shr_mpi.

! convert ndep flux to units of kgN/m2/s (input is in gN/m2/s)
Faxa_ndep(:,:) = Faxa_ndep(:,:) / 1000._r8
end if

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we name all of the constants here and use parameters to define them? For example it looks like line 323 is a range of latitude values. I think that it would be clearer to have

real(r8), parameter :: maxlat = -60.0_r8
real(r8), parameter :: minlat = -50.0_r8

if (maxlat < yc(n) .and. yc(n) < minlat) then

Comment thread datm/atm_comp_nuopc.F90 Outdated
mainproc = (my_task == main_task)

! Read atm_nml from nlfilename
nlfilename = "datm_in"//trim(inst_suffix)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think that nlfilename needed to be taken out of the if block here.

@jedwards4b
Copy link
Copy Markdown
Contributor

@alperaltuntas I think that the change you need for testing to work is already on master and a merge will fix that issue.

@jedwards4b
Copy link
Copy Markdown
Contributor

@alperaltuntas what is the status of this PR?

@alperaltuntas
Copy link
Copy Markdown
Member Author

Sorry for the long delay. This PR is now ready for review/merge.

@alperaltuntas alperaltuntas marked this pull request as ready for review October 9, 2023 01:30
@jedwards4b jedwards4b merged commit 74b5c4c into ESCOMP:main Oct 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants