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

Sm oct102020 #512

Closed
wants to merge 21 commits into from
Closed

Sm oct102020 #512

wants to merge 21 commits into from

Conversation

SMoorthi-emc
Copy link
Collaborator

This draft PR updates
" GFS_surface_composites.F90" and " GFS_surface_composites.meta" to handle different min_seaice and min_lake ice for both coupled an uncoupled and fractional and non-fractional grid. It also includes Shan';s update to slmsk, after update to islmsk in this code.
It takes care of a potential error Dom pointed out with respect islmsk_cice that is entering the "sfc_sice.f".

Copy link
Collaborator

@climbfuji climbfuji left a comment

Choose a reason for hiding this comment

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

A first pass through the changes. I am not sure any of the icy/wet=.false. are required, because these should be the default values, but maybe I missed something.

I want to note that there are some unrelated small changes to MG3. It's fine to include them, but we should not that later in the PR.

I can formally combine @shansun6 's and your PRs into one and test if removing the .false. statements has any impact on the results.

! islmsk_cice(i) = 0
! islmsk(i) = 0
wet(i) = .true. ! some open ocean/lake water exists
islmsk_cice(i) = 0
Copy link
Collaborator

Choose a reason for hiding this comment

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

This is good, I noticed this difference to the IPD develop code as well.

islmsk(i) = 2
else
cice(i) = zero
icy(i) = .false.
Copy link
Collaborator

Choose a reason for hiding this comment

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

I am not sure this icy(i)=.false. is necessary, that should be the default value.

tsfco(i) = max(tsfco(i), tisfc(i), tgice)
elseif (icy(i)) then
tsfco(i) = max(tisfc(i), tgice)
icy(i) = .false.
Copy link
Collaborator

Choose a reason for hiding this comment

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

I am not sure this icy(i)=.false. is necessary, that should be the default value.

endif
endif
else
cice(i) = zero
icy(i) = .false.
Copy link
Collaborator

Choose a reason for hiding this comment

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

I am not sure these icy(i)=.false. and wet(i)=.false. are necessary, that should be the default values.

dry(i) = .true.
frland(i) = one
cice(i) = zero
icy(i) = .false.
Copy link
Collaborator

Choose a reason for hiding this comment

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

I am not sure these icy(i)=.false. and wet(i)=.false. are necessary, that should be the default values.

if (oceanfrac(i) > zero .and. .not. cplflx) then
if (cice(i) > min_seaice) then
icy(i) = .true.
wet(i) = .false.
Copy link
Collaborator

Choose a reason for hiding this comment

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

I am not sure this wet(i)=.false. is necessary, that should be the default value.

islmsk_cice(i) = 2
else
cice(i) = zero
icy(i) = .false.
Copy link
Collaborator

Choose a reason for hiding this comment

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

I am not sure this icy(i)=.false. is necessary, that should be the default value.

icy(i) = .true.
wet(i) = .false.
Copy link
Collaborator

Choose a reason for hiding this comment

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

I am not sure this wet(i)=.false. is necessary, that should be the default value.

else
cice(i) = zero
islmsk(i) = 0
icy(i) = .false.
Copy link
Collaborator

Choose a reason for hiding this comment

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

I am not sure this icy(i)=.false. is necessary, that should be the default value.

@@ -0,0 +1,4529 @@
!>\file micro_mg3_0.F90
Copy link
Collaborator

Choose a reason for hiding this comment

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

This file physics/micro_mg3_0.F90_Sep19 will need to be deleted before we merge the PR.

@SMoorthi-emc
Copy link
Collaborator Author

SMoorthi-emc commented Oct 19, 2020 via email

@climbfuji climbfuji self-assigned this Oct 23, 2020
@climbfuji climbfuji marked this pull request as ready for review October 23, 2020 14:24
@climbfuji
Copy link
Collaborator

Is this PR still relevant, or do the changes in #520 cover everything that is needed? The one-liner tsfc change from this PR was merged previously as part of the HWRF physics update (#509)

@climbfuji climbfuji marked this pull request as draft November 20, 2020 14:30
@SMoorthi-emc
Copy link
Collaborator Author

SMoorthi-emc commented Nov 20, 2020 via email

@climbfuji
Copy link
Collaborator

Thanks, @SMoorthi-emc - it's good to keep the house tidy and close out old PRs. I'll add you as reviewer to @shansun6 's PR, I do have some concerns about a few changes in that one.

@ShanSunNOAA
Copy link
Collaborator

ShanSunNOAA commented Nov 20, 2020 via email

@SMoorthi-emc
Copy link
Collaborator Author

SMoorthi-emc commented Nov 20, 2020 via email

@ShanSunNOAA
Copy link
Collaborator

ShanSunNOAA commented Nov 20, 2020 via email

@climbfuji
Copy link
Collaborator

Hi Dom and Moorthi, Thanks for your comments. Would it be acceptable to both of you, if I revert (i.e., remove) "!" from lines 190-224, total 7 of them, in this commit, see below? 189 if (wet(i)) then ! Water 190 ! uustar_wat(i) = uustar(i) 191 zorl_wat(i) = zorlo(i) 192 tsfc_wat(i) = tsfco(i) 193 tsurf_wat(i) = tsfco(i) 194 ! weasd_wat(i) = weasd(i) 195 ! snowd_wat(i) = snowd(i) 196 weasd_wat(i) = zero 197 snowd_wat(i) = zero 198 semis_wat(i) = 0.984_kind_phys 199 ! qss_wat(i) = qss(i) 200 ! hflx_wat(i) = hflx(i) 201 endif 202 if (dry(i)) then ! Land 203 uustar_lnd(i) = uustar(i) 204 weasd_lnd(i) = weasd(i) 205 zorl_lnd(i) = zorll(i) 206 tsfc_lnd(i) = tsfcl(i) 207 tsurf_lnd(i) = tsfcl(i) 208 snowd_lnd(i) = snowd(i) 209 semis_lnd(i) = semis_rad(i) 210 ! qss_lnd(i) = qss(i) 211 ! hflx_lnd(i) = hflx(i) 212 end if Thanks, Shan On Fri, Nov 20, 2020 at 12:45 PM SMoorthi-emc [email protected] wrote:

I am going to answer in PR #520, ok?

@SMoorthi-emc
Copy link
Collaborator Author

Can someone tell how to compile the ufs-weather-model in uncoupled and coupled model on wcoss dell?
I can't find any instruction anywhere and it is extremely frustrating.

@climbfuji
Copy link
Collaborator

Can someone tell how to compile the ufs-weather-model in uncoupled and coupled model on wcoss dell?
I can't find any instruction anywhere and it is extremely frustrating.

I am not sure this is the right place to ask this question (ccpp-physics). The ufs-weather-model GitHub repo might be a better place to get help, in particular because most people here don't have access to WCOSS. My guess is to go to subdirectory tests and try:

./compile.sh wcoss_dell_p3 "CCPP=Y SUITES=..." [""] [NO] [NO] 2>&1 | tee compile.log

Arguments in square brackets are optiona. The empty "" are the label for the executable and the modules.fv3 file, NO NO means no clean before and no clean after. By default the label is empty and clean_before and clean_after are YES. If you don't specify SUITES=... it will compile all suites. And you know the optional DEBUG=Y or REPRO=Y that can go into the MAKEOPT string.

If you want to know how to compile in coupled mode, look inside rt.conf for the COMPILE line that corresponds to what you want to do. For Cray, replace wcoss_dell_p3 with wcoss_cray. As I said, my best guess because I don't have access to WCOSS. Hope this helps.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants