-
Notifications
You must be signed in to change notification settings - Fork 248
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
GW-RT global_control.nml modifications #2425
Conversation
This adds new options to the namelist that are used and dynamic in the global workflow. This is to prepare the RT namelist for the RT-GW bridge PR.
This commit changes a couple of the parameters in cpld_control_sfs to bring it in line with the Global Workflow parameter values.
This commit addresses the issue in default_vars.sh where ATMRES is reset in the export_cpl() call to C96. Default values will now only be set if the resolutions have not been previously set.
@dpsarmie I also hit a problem with DT_ATMOS. For gfsv17 tests for example:
Maybe export_cpl should not touch DT_ATMOS either. It may also be better in these tests to call export_fv3, then export_ugwpv1, then export_cpl so atmosphere is configured properly before setting other components |
Thanks @NickSzapiro-NOAA for bringing that up. I'll have to do some more testing to see what makes sense. I think the simplest solution would be to make the atm only and cpld default DT_ATMOS the same, but I want to make sure that the runtime isn't greatly affected for the atm only cases. |
I think it is better if DT_ATMOS is thought of as input to export_cpl (and not modified in export_cpl). The issue I'm focusing on is (coupling) timesteps for gfsv17 test, where ufs.configure is the same before and after 2363:
But, dt_atmos in model_configure is 360s in current develop vs 720s before 2363. Was it intended for 2363 to reduce timestep for this test? Either way, now FV3<-->CMEPS no longer couple every ATM timestep, ATM timestep is different than ICE timestep,... I'm not sure this is intentional and may need hot fix if not intended. |
Ok I see what you mean. #2363 was intended to change the timesteps to have the more optimized set of parameter values to allow for more stability at longer timesteps: NOAA-EMC/global-workflow#2574 I'm going to move forward with your idea of having DT_ATMOS set in That should allow DT_CICE and coupling_interval_fast_sec to be set correctly when the other export calls are run from within Line 1302 will also be removed in default_vars.sh since DT_INNER will have been set by then. Let me know if that logic makes sense. That should resolve the issues of not having the timing in sync between the models, correct? |
That makes sense to me. Maybe can ask Denise to review solution too |
Latest changes do the following: To fix the timing issue it CMEPS, default_vars.sh has been reworked. If you export DT_ATMOS and/or ATMRES before the export_fv3 (and other export functions), then all dependent variables will be auto-populated. If these variables are not set, then defaults will be set. You can still manually set these parameters after the function calls but you need to make sure that all variables that depend on DT_ATMOS and ATMRES are also set unless you intended to do so otherwise. Either way, the timing with CMEPS should be functioning as intended. |
@dpsarmie I am updating bl_date: 20241028. |
@dpsarmie I pushed hera log. But I noticed computational time increases for quite some cases. Can you review and confirm? @NickSzapiro-NOAA @junwang-noaa @BrianCurtis-NOAA FYI |
Yes I see. I'm going to go through the tests and see if we can get them all back down (future PR). Most of the increases were from ugwpv1 and fixing the CICE/coupling timestep, I believe. |
OK! we can merge this pr. any final comment? |
* develop: GW-RT global_control.nml modifications (ufs-community#2425)
Commit Queue Requirements:
There is now an option to allow default_vars.sh to set variables that are dependent on
DT_ATMOS
andATMRES
. If you wish to use a non-default value for either variable and have the script set all dependent variables automatically (ex. DT_INNER, CDMBGWD, namsfc filenames, etc.), thenDT_ATMOS
andATMRES
must be defined before calling the export functions.If the user does not define the variable, then the defaults of C96 (ATMRES) and 1800 (DT_ATMOS for atm only) or 720 (DT_ATMOS for cpld cases) will be set.
Example:
Your RT uses C48 resolution and you want a timestep of 720:
In your test configuration:
This will now be able to use the user defined timestep and resolution to populate the other variables needed to run this case. As always, the order of the export function calls should go export_fv3, export_ugwpv1, then export_cpl. You can remove export function calls as needed for your particular case.
You are still able to use the old methodology of defining all variables manually. This feature just allows users to streamline that process.
Non-standard RT configurations
It should be noted that many of the RTs have changes to variables from what is being set in default_vars.sh (mainly N_SPLIT, K_SPLIT, and DT_ATMOS). This was done because the runtime of the default settings was too long for the regression test suite. The RTs are made to provide a fidelity check on future UFS updates, so these checks are still valid even if some of the variables that affect runtime have been changed.
The runs using the default values were checked for stability and passed; however, there are no plans to regularly check the RTs using the default values on a regular basis.
Description:
This PR will modify the global_control.nml to add variables that are present in the Global Workflow scripts but not currently present in the RTs. Some variables will also be changed from constants to variable placeholders. This will allow Global Workflow to use the global_control.nml as a template for their operations.
Variable values that were hard-coded in global_control.nml.IN were replaced with an @ tag and the values were moved to default_vars.sh.
This PR is now also going to include a fix for #2443. This will add baseline changes that are unrelated to the initial global_control.nml modifications or the sfs configuration fix.
Default values for DT_ATMOS and ATMRES are now being set as intended. If the user defines either of these variables before the export_ function calls, then the appropriate dependent variables will be auto-configured. This removes the need to redefine these variables in the test configs.
This PR now includes a feature mentioned in #2470. The checks have been added to run_test.sh.
Changes in run_test.sh now have checks for the fast and slow coupling frequencies and a check on the CICE to ATM timesteps.
Commit Message:
Priority:
Git Tracking
UFSWM:
Sub component Pull Requests:
UFSWM Blocking Dependencies:
Changes
Regression Test Changes (Please commit test_changes.list):
Input data Changes:
Library Changes/Upgrades:
Testing Log: