-
Notifications
You must be signed in to change notification settings - Fork 168
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
Add ability to cycle GOCART aerosols #334
Add ability to cycle GOCART aerosols #334
Commits on Jun 7, 2021
-
Improve cycle cadence specification in CROW
Replaces the old gfs_cyc method for determining cycling frequency with one that explicitly sets the step length. In place of gfs_cyc there are two new variables to determine step sizing: STEP_GFS and STEP_DA. Both are of the timedelta type. STEP_GFS determines the frequency of GFS and defaults to 6 hours STEP_DA determines the frequency of DA and also defaults to 6 hours If STEP_GFS is set to 00:00:00, only the DA system is run If STEP_DA is set to 00:00:00, only the GFS system is run (free-forecast mode) Note that this new method currently requires the additional setting of STEP_DA to zero, in addition to using free forecast layout. If STEP_DA is non-zero, the first cycle is DA-only, so this should be kept in mind when setting up your experiments (especially if you want GFS to run at certain times of day). If both are non-zero, STEP_GFS should always be an integer multiple of STEP_DA, otherwise unexpected behavior may occur. Other than setting STEP_DA to zero for free forecast, STEP_DA is unlikely to be changed from its default value in the near-future for GFS, but the new method is flexible for any future incorporation of LAM system that requires faster DA cycling. Examples: Full-cycling with DA & GFS: STEP_GFS: !timedelta "06:00:00" STEP_DA: !timedelta "06:00:00" (since these are defaults, nothing needs to be placed in the case file, but you may wish to for clarity) Normal DA with GFS at each 00z starting 2013-04-01: SDATE: 2013-03-31t18:00:00 STEP_GFS: !timedelta "24:00:00" Free forecast with GFS every 24h at 00z starting 2013-04-01: SDATE: 2013-04-01t00:00:00 STEP_GFS: !timedelta "24:00:00" STEP_DA: !timedelta "00:00:00" CROW ss updated to add a new tool that converts a timedelta to a string. The wave model, which formerly used gfs_cyc to determine the wave cycling interval, now determines WAVHCYC directly from STEP_GFS. Since this variable is only a number of hours, this will only work for whole-hour GFS frequencies. Case files have been updated to use the new settings in place of gfs_cyc, as well as set STEP_DA to zero for free forecast cases. However, they have not all been tested. Additional testing is needed to ensure these changes are fully operational for DA cycling runs. Refs: NOAA-EMC#260, NOAA-EMC#314
Configuration menu - View commit details
-
Copy full SHA for c196176 - Browse repository at this point
Copy the full SHA c196176View commit details -
Add restart output for aerosol cycling
Updates the restart_interval setting to make sure it always includes the STEP_GFS time if GOCART is on. This is done using the advanced functionality of restart_interval, which allows for an explicit list of restart times instead of a single interval. If STEP_GFS is a multiple of restart_interval, it is left unchanged. If STEP_GFS is not a multiple of restart_interval, restart_interval is converted to an explicit sequence of restart times, then STEP_GFS is added. If restart_interval is already an explicit list, STEP_GFS is just added to it. This may add a redundant restart time, but that is ignored by FV3. In order to complete this update, the CROW type for restart_interval had to be changed from int to string to accomodate lists of numbers. This has the added benefit of allowing explicit definition of restart times in other applications as well. As part of this update, the values for restart_interval in the forecast config were updated to use the appropriate settings rather than hardcoded values. The default value for the gfs restart_interval was also changed from 6 to 0 to maintain the previous behavior when the setting was ignored. Refs: NOAA-EMC#314
Configuration menu - View commit details
-
Copy full SHA for 45def8c - Browse repository at this point
Copy the full SHA 45def8cView commit details -
Add init_chem job to coupled workflow
A new init_chem job is added to the coupled workflow to cycle tracer concentrations from the previous cycle's restart files. The new job doesn't run for the first cycle (since there are no previous cycle restart files to use). If aerosol initialization is desired for the first cycle, they need to be added manually, though the new scripts may be reutilized to do so. Tracer concentrations are merely copied from the restart files to the cold-start initial conditions. There is no adjustment to ensure mass conservation or any other property. The list of tracers copied is determined by the new parm/chem/gocart_tracer.list file, which is a plain-text list of NetCDF variables to copy. If any are missing in the restart files, the job will fail. The NetCDF4 module for python3 is required for the init job to work. This module is not part of the default installation of python on Hera (though it is on WCOSS), so in addition to now loading python, the base modulefile also adds the location of a personal copy of the needed python module to the PYTHONPATH. Most of the new scripts are recycled from the GEFS-aerosol development, though this method was abandoned there in favor of true warm start for the aerosol member. Refs: NOAA-EMC#314
Configuration menu - View commit details
-
Copy full SHA for 84101b0 - Browse repository at this point
Copy the full SHA 84101b0View commit details
Commits on Jun 14, 2021
-
Fix print statement in chem init
The print statement for the tracer (restart) file search was missing an f, so variables were not being substituted. Refs: NOAA-EMC#314
Configuration menu - View commit details
-
Copy full SHA for 062888e - Browse repository at this point
Copy the full SHA 062888eView commit details -
Fix minor issue with restart interval
The restart_interval export needed to be enclosed in quotation marks so bash will properly assign the whole list to the variable. Refs: NOAA-EMC#314
Configuration menu - View commit details
-
Copy full SHA for 19a8f96 - Browse repository at this point
Copy the full SHA 19a8f96View commit details
Commits on Jun 16, 2021
-
Correct cycling interval issues for aerosols
FHCYC was being used to determine the forecast interval for the aerosol cycling, but this appears to be an appropriate setting to use. Added a new exported environment variable STEP_GFS, which is the number of hours between GFS forecasts. While it is derived from the workflow STEP_GFS setting, it is only the integer number of hours, not a timedelta like the workflow setting. May want to revist this later to avoid confusion. Additionally, the restart file written at the end of the forecast does not have the timestamp as part of the filename like the intermediary restart files do. The chem init script is adjusted to not use the time- stamp when looking for the final restart file. And, since it now has to read in FHMAX anyway, also added a short-circuit so the search doesn't bother trying to search previous cycles that can't include the restart time needed. Refs: NOAA-EMC#314
Configuration menu - View commit details
-
Copy full SHA for c73040c - Browse repository at this point
Copy the full SHA c73040cView commit details