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

Skip using fluxes provided by land component for first time step #234

Open
wants to merge 11 commits into
base: ufs/dev
Choose a base branch
from

Conversation

uturuncoglu
Copy link
Collaborator

Due to the dependency between atmosphere and land components, the atmosphere model gets all zero from land component model in the initial coupling time step. This PR aims to fix this issue and skips data coming from land component (all zero) at first coupling time step and use the land fluxes calculated by noahmp land model found in ccpp/physics. After first coupling time step, the coupled configuration (cpld_control_p8_lnd) will continue to use fluxes coming from component model.

@uturuncoglu
Copy link
Collaborator Author

JFYI, The top level UFS WM PR is still in draft mode. I am still working on it.

@uturuncoglu
Copy link
Collaborator Author

@grantfirl JFYI, I might also need to introduce another input.nml option to make skipping first time step for land optional since it is related with the run sequence of the coupled application and we might not need for the data atmosphere coupled configurations.

@grantfirl grantfirl requested a review from climbfuji November 15, 2024 16:05
@grantfirl
Copy link
Collaborator

@grantfirl JFYI, I might also need to introduce another input.nml option to make skipping first time step for land optional since it is related with the run sequence of the coupled application and we might not need for the data atmosphere coupled configurations.

@uturuncoglu Thanks. I see that the upstream PRs are in draft. We'll re-review if necessary. There are several PRs to be merged before this one, so it's unlikely this would bubble to the top in 2 weeks time anyway.

@uturuncoglu
Copy link
Collaborator Author

@grantfirl Thanks. That is totally fine. I am still working on it. Once it is ready I'll change UFS WM level PR from draft to ready to review.

@yangfanglin
Copy link
Collaborator

@uturuncoglu @barlage @HelinWei-NOAA I assume this is a temporary fix. Otherwise, updating land as a component model cannot happen.

@uturuncoglu
Copy link
Collaborator Author

@yangfanglin This is just for fully coupled S2S application and we could make it optional. The main issue is the run sequence. If you have a cold start and all components are running in the same time then you could not provide land fluxes in the first coupling time step. It is very similar to MOM6 case. It is also skipping first coupling time step as I know (except warm start maybe). If you want I could implement similar way in land and we could get rid of this part or we could discuss other possible options (let me know if you have something in your mind). In atm-land only case, I am having one time step delay between components and we have no this issue. BTW, we are trying to finalize the JTTI project soon. So, this will be a last PR from my end.

@barlage
Copy link
Collaborator

barlage commented Dec 9, 2024

Just had a meeting with @uturuncoglu re: this. I think we need something similar to what is being done in sfc_ocean to calculate some initial consistent fluxes that aren't dependent on any specific land model. Then, this could also be used for other land components.

@uturuncoglu
Copy link
Collaborator Author

@yangfanglin @barlage Probably, I'll implement and test it in a couple of days.

@uturuncoglu
Copy link
Collaborator Author

@barlage I could not find anything related with 2 meter temperature and specific humidity. A this point, I am just setting like,

         t2mmp(i) = tskin(i)
         q2mp(i) = qsurf(i)

Do you think that this is good estimation for the initial coupling time step?

@barlage
Copy link
Collaborator

barlage commented Dec 9, 2024

I think that's fine for the first time step.

@uturuncoglu
Copy link
Collaborator Author

@grantfirl @barlage JFYI, this is ready for review.

@uturuncoglu
Copy link
Collaborator Author

I remove extra space in noahmpdrv file which was introduced in the initial implementation. So, there is no any change ccpp side except surface land.

@grantfirl
Copy link
Collaborator

@Qingfu-Liu @climbfuji Requesting re-review since several changes were added since your initial review.

Copy link
Collaborator

@grantfirl grantfirl left a comment

Choose a reason for hiding this comment

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

Looks fine from a CCPP point of view as long as @yangfanglin and @barlage are OK with the general concept of this.

Copy link
Collaborator

@barlage barlage left a comment

Choose a reason for hiding this comment

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

Looks good to me now. @uturuncoglu do you want to include a sample figure that we looked at before with the first time step fluxes that are calculated?

@uturuncoglu
Copy link
Collaborator Author

@barlage yes, I could include it for the fully coupled case if you want. Which variable?

@barlage
Copy link
Collaborator

barlage commented Jan 17, 2025

latent heat flux would probably be a good one since that is where the problems were in the first implementation. sensible heat flux would also be used.

@uturuncoglu
Copy link
Collaborator Author

Here are the latent heat difference flux plots from cpld_control_p8. The difference between cpld_control_p8 (using internal CCPP NoahMP, no feedback from land component) and cpld_control_p8 with the land component.

Time step = 0 (the land fluxes are calculated through basic flux algorithm)
plot_cubed_0_lhtfl

Time step = 24 (after 1-day)
plot_cubed_24_lhtfl

Note that after initial time step, model is getting fluxes from the component model. So, the difference after 1 day is minimal when CCPP and component versions are compared. They are not identical since CCPP version is more tightly coupling with model and do some extra things which is not exist in the component model.

@uturuncoglu
Copy link
Collaborator Author

@barlage Let me know if you want me to add more plot. It would be also nice to review the NoahMP PR.

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.

7 participants