-
Notifications
You must be signed in to change notification settings - Fork 49
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
Update initialization of surface related variables #217
Conversation
…tter initialization of surface for SCM
… in new variables in gmtb_scm_input (using new subroutines); have not propagated new variables outside of the input subroutine yet though
… for surface variables (set physics vars directly from input, rather than using the state DDT as a middleman; read in all new variables; separate setting of physics variables between physics_associate and physics_set, the former is used for variables that the SCM forcing may change outside of physics and use pointers, while the latter merely sets the initial values of variables
…ithin gmtb_scm_input.F90
…or checking for missing data; add code to handle missing data (abort or not) in physics_set (only got through scalar variables as of this commit)
…d start code from FV3GFS_io.F90
…ug in gmtb_scm_input related specified surface fluxes; fix associating surface_skin_temperature with forcing temperature for specified surface flux cases; update plot_config to use data from supported suites
…CPP scheme init stage)
…y have incorrect logic)
…le pointer; update GFS_typedefs.[F90/meta] for latest ccpp/physics; add metadata for newly required physical constant; fix logic for testing for missing data for stc/slc/smc
Testing was done for:
Note to GSL folks @climbfuji @tanyasmirnova This PR should pave the way for testing with the RUC LSM. If there are FV3 IC files somewhere (after processing by global_chgres) that have RUC LSM variables, I could test it. |
RUC can be / is usually initialized from ICs that were created with Noah LSM - but both should work.
… On Dec 7, 2020, at 2:09 PM, grantfirl ***@***.***> wrote:
Testing was done for:
existing specified surface flux cases (fixes issue noticed by @wangevine <https://github.com/wangevine>)
existing cases with simple ocean
existing UFS IC cases (also tested with IC files that have fractional landmask and lake data, but not RUC data yet)
Note to GSL folks @climbfuji <https://github.com/climbfuji> @tanyasmirnova <https://github.com/tanyasmirnova> This PR should pave the way for testing with the RUC LSM. If there are FV3 IC files somewhere (after processing by global_chgres) that have RUC LSM variables, I could test it.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub <#217 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AB5C2RNLLHRPVKEV7MMYXBLSTVAAHANCNFSM4UMIGTCA>.
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't claim to understand or to have reviewed line by line the surface initialization, but at least I didn't see anything obviously wrong. Some of the new netCDF routines could have been collapsed into fewer by using elemental functions/subroutines, but the current implementation is fine.
Update initialization of surface related variables
This PR accomplishes the following:
This represents a major rewrite of surface variable initialization to address the above issues and make future maintenance easier.
UFS_IC_generator.py
gmtb_scm_input.F90
gmtb_scm_type_defs.F90
gmtb_scm_utils.F90
gmtb_scm.F90