-
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
Feature/ufs case gen exact mode #473
Feature/ufs case gen exact mode #473
Conversation
…ufs_case_gen_exact_mode
* rename UFS_IC_generator.py to UFS_case_gen.py * merge UFS_case_gen.py methods * add wind nudging option to UFS_case_gen.py
scm/etc/scripts/UFS_case_gen.py
Outdated
|
||
#read in the initial condition profiles | ||
|
||
if (forcing_method == 1 or forcing_method == 4): |
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.
Is this supposed to be 1 or 3? There is no 4 (yet)
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.
Yep.
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.
Fixed.
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.
This was probably causing the weird/bad results for time=0 for fm=3.
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 had started using 'fm' to control wind nudging and geostrophic but made them separate controls, but forgot to remove it here. Good catch.
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.
Yeah, I left some images on the slack channel for before/after my fix, fm=3 looked a lot better
…_case_input file name (This was inconsistent with the comparision file name and config file)
@hertneky All should be working (I'm done making changes, I promise:)) |
…ufs_case_gen_exact_mode
…comparison variables for fm==2
…dustinswales/ccpp-scm into feature/ufs_case_gen_exact_mode
…eostrophic winds; add flags to control whether actual geostrophic winds are used vs. mean modeled wind profiles, whether surface geopotential is used to calculate horizontal geopotential derivatives
@dustinswales @hertneky I added yet another method for calculating geostrophic winds on a larger stencil for which the geostrophic balance assumption should be more valid. The previous method only used 3 or 5 points in either direction. Now, it uses as many as necessary to achieve a mean Rossby number smaller than a critical value set in the script. As noted in my comment on Slack, this still doesn't fix the oscillation/turning of the winds. I think that when SCM-modeled winds are significantly different than geostrophic, we'll get the oscillation/turning. I think that this just means that the modeled/calculated Coriolis force is stronger than the pressure gradient force and therefore we should be assuming geostrophic balance for that case/time. There is a in-script flag Two other script-level "constants" are the critical Rossby number, or the Rossby number below which geostrophic balance can be assumed. Dynamicists say that geostrophic balance is valid when If |
@dustinswales @hertneky For testing for the release, I don't think that we need to test everything. Perhaps just re-test with wind nudging on (-wn) vs geostrophic forcing using modeled profiles (the default now when -geos is specified). We can keep fm=2 and vm=2, which should also be defaults, IMO. |
…dustinswales/ccpp-scm into feature/ufs_case_gen_exact_mode
This PR adds back in the "exact-mode" for the UFS case generation.
There is a new argument to the UFS cases generation scripts, exact_mode (-ext), that sets a different path through the code that derives the SCM forcings using diagnostic dynamic tendencies from UFS history files.
To run in exact-mode one needs to run the UFS with additional diagnostic fields, set in the diag_table. If a user requests exact-mode, but does not provided the correct fields, the forcings will be computed using the UFS state (e.g approximate mode). Additionally, in these cases, the following warning message is provided:
@grantfirl There is a "stub" in place for computing the total tendencies (i.e. DVar/Dt = dVar/dt + udVar/dx + vdVar/dy), in addition to the current formulation, DVar/Dt = dVar/dt. This will need to be expanded, or reworked with your additions.