Conversation
Generating wrf shell scripts specifically for nested tutorial design
Gen_retro_icbc scripting tested and working for WRF nested example
template required to create perturbation bank to impose ensemble spread
Adding nested tutorial edits to advance through the inital perturbation and ensemble forecast step. Generates priors for first assimilation step.
Adding multiple domain functionality to main driver.csh and supporting WRF shell scripts
Adding bash WRF-DART shell scripting version to work with nested domains. Keeping csh nested domain version as well
All csh nested scripts are moved to the shell_scripts_csh folder for reference
Designing WRF tutorial templates for nested setups
Required fixes to get the bash WRF-DART shell scripting to work for kansas derecho example. Diagnostic fixes and forcing terrain following coordinates
|
The bash and csh scripting designed for a nested WRF DA setup included in this PR seems robust as it has been tested for Kansas Derecho and CONUS examples. This PR still requires tutorial documentation for Kansas Derecho tutorial example. Seemed relevant to add this PR now as a draft considering the number of WRF-DART users who are converting csh to bash on their own, which could lead to problems. Better to provide a vetted bash scripting version now to help reduce support issues. |
These changes add back-compatiblity for nested shell scripts to work with single domain WRF setup. Tested against original CONUS tutorial example.
|
Backcompatiblity for the new multi-domain shell scripting tested for the original (old) CONUS single WRF domain setup here: /glade/derecho/scratch/bmraczka/WRFv4.5_conus/. Produces similar scientific results. |
WRF tutorial documentation revised for nested Kansas Derecho example. Adding new sections for generation of perturbations and forecast mode that follows assimilation mode.
Capping perturbation bank members at 60 for tutorial
Switching figures/stats from CONUS to Kansas Derecho example
mgharamti
left a comment
There was a problem hiding this comment.
@braczka, I'm done going through the tutorial material. Big effort for sure!
I've made a lot of suggestions and comments. For the major scripts such as the driver and the initial ensemble, I think they would benefit from a restructuring using functions. I provided some examples on my scratch if you would like to take a look or adapt them. I find it easier to debug things when operations are itemized within functions that have specific usage.
There is I believe an issue in the current form of init_ensemble_var right before downscaling. I left some comments to address the issue (has to do with domain numbering). At the beginning of the driver, I saw a duplicate use of loops when calling prep_ic. Have a look at my comments for more details. And by the way, I ended up running prep_ic in the shell myself (without having to submit those). I understand maybe in bigger domains, this may not be possible. I also made few comments of the old csh files, particularly when using multiple domains (specifically, more than 2).
The new forecast and diagnostic parts are a great addition. Just make sure we're putting everything in forecast mode (for instance not creating inflation directory) before we run the driver. I like the explanation of the diags; it reminded me of the CLM tutorial.
Update wrf documentation to explain new nested domain compatiblity
Immediately fail execution if arguments do not exist
Adding various improvements to nested tutorial docs and instructions
Making inflation settings consistent with default used on inflation page
Various simplifications in grep and read commands. Removal of redundant commands.
Forcing perts to be 3x members. Feeding argument into ncl script. Support docs changes
Script structure organized into functions. ndown section corrected for domain (dchar) substitution
gen_pert_bank and ndown require input.nml turning off debugger
Tested new driver.sh, fixed handling of inflation files and log commands
@mgharamti Appreciate this thorough review. I adopted and tested the function based refactor code you made. Just had to make a few changes to preserve the proper transfer of inflation files as to not break the filter functionality. Vast majority of suggestions have been included in latest commits, but I still need to run through a few more, then test on single domain example. Will get back to this next week. |
Removing double quotes and vetting for kansas derecho tutorial example
Both sh and csh wrf scripting needed multiple domain generalization.
|
@mgharamti I have completed making all changes based on your review. This includes the adoption of your function-based shell scripting for @mjs2369 @hkershaw-brown I realize the timing is not ideal given Helen's current travel. It would be good for Helen to give this a peak prior to release. We also have several WRF-DART user's currently working with nested DA examples, so I think it will be helpful to get this out there soon.... |
|
Looks good to me. Good stuff Brett ! |
|
@braczka sounds good, unless you let me know differently, we will wait for Helen to get back before releasing. |
|
Yes, please wait on Helen. Jeff
…On Tue, Mar 31, 2026 at 4:09 PM Marlena Smith ***@***.***> wrote:
*mjs2369* left a comment (NCAR/DART#1030)
<#1030?email_source=notifications&email_token=ANDHUIWU4VUHKGPMZX4UJK34TQ6Z7A5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTIMJWGU4DQNJZHA42M4TFMFZW63VKON2WE43DOJUWEZLEUVSXMZLOOS2XA4S7MNXW23LFNZ2F633QMVXF6Y3MNFRWW#issuecomment-4165885989>
@braczka <https://github.com/braczka> sounds good, unless you let me know
differently, we will wait for Helen to get back before releasing.
—
Reply to this email directly, view it on GitHub
<#1030?email_source=notifications&email_token=ANDHUIWU4VUHKGPMZX4UJK34TQ6Z7A5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTIMJWGU4DQNJZHA42M4TFMFZW63VKON2WE43DOJUWEZLEUVSXMZLOOS2XA4S7MNXW23LFNZ2F633QMVXF6Y3MNFRWW#issuecomment-4165885989>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ANDHUISZFZBXGSOH2UAYFOD4TQ6Z7AVCNFSM6AAAAACQ3A72F2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHM2DCNRVHA4DKOJYHE>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
|
Hi @braczka, The branch needs to be up-to-date with main, and @mgharamti needs to click approve. Update CHANGELOG.rst and conf.py (with version number v11.22.0 or whatever version number is is appropriate). Here is the info on creating a release: Cheers, |
Description:
This adds several new important features when running WRF-DART. This imposes a mandatory fix which should improve forecasting skill, but also adds features requested by users regarding commonly used scientific setups and diagnostics.
Fixes issue
Fixes issues #807 and imposes Kansas Derecho example as described in that issue.
Types of changes
Documentation changes needed?
This change requires new documentation for the Kansas Derecho tutorial that supplants the prior CONUS tutorial example. The documentation parallels the prior documentation, but will add important new features such as 1) perturbation downscaling, 2) forecast mode, 3) expanded diagnostics.
Tests
I have tested the default bash scripting on the Kansas Derecho WRF-DART example. Completed example is located here: /glade/derecho/scratch/bmraczka/WRFv4.5_kansas.
I have tested csh nested scripting (backup) here: /glade/derecho/scratch/bmraczka/WRFv4.5_nested_hybridopt_0
Testing for backcompatibility of the CONUS tutorial example is here:
Checklist for merging
Checklist for release
Testing Datasets
The Kansas Derecho tutorial example requires NCEP observation (obs_seq) files for the application. For now these are located here: /glade/work/bmraczka/DART/observations/obs_converters/NCEP/ascii_to_obs/work Existing prep_bufr obs converter documentation was used to create these obs.