-
Notifications
You must be signed in to change notification settings - Fork 173
cam6_3_004: Add MPAS-A dycore #246
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
Changes from 103 commits
61e6a67
d4d1e0b
381ad71
8297307
46b9fe7
43c0ad9
77906da
af2c991
a21eb5e
884f8f9
b74fd60
b9df05f
37e8426
103cca6
42f311b
024aa45
a3b17df
89d1aa6
fa92b1a
4fb7995
db6a935
af29163
75c52f8
0f0d2e1
a3d1ac3
0d5aefc
3c381f3
badff2b
f57e1bd
642b0e1
457e722
9ab8162
0f0b3fd
14e22c5
e5e655c
897c4d0
a9d73f5
903cb4a
16d8e98
384f48b
937266c
a9895f8
b29b206
efebd5f
e50401a
da36e21
306a122
09e7649
4d841ac
b5c1e69
8b314e1
c23279d
e1975e4
73f0138
46e7484
85c0626
6057d21
93587f4
bbf4b39
47ae57a
77c347d
b20c264
70c2105
48e9eee
1f72362
97dbd51
6060473
48c80f3
c0a780d
5ee73ca
3ecb343
80a9721
7797343
164040e
74dd69a
999fa0c
f9c494f
5f91cb4
96d0fe2
f5c71d1
e58bdf7
9906db4
b240e6f
7bfe789
df86a5a
24b39b1
d3f4593
e4827d0
88bb301
7192ae4
b1c6fe7
eaa4839
5bc1d86
3f2badb
5fbb97a
ceda9f0
a5cf054
afaa7c1
2fee009
98b71b5
0623dc9
cb95c09
453010b
6506bdc
70ca712
b6d71e1
c72abe3
f0a5733
817e1d4
1aeb92e
3c8f4f5
ceb4517
730a25a
e6d0b9d
17f55f6
4478306
416e3f2
9c961cc
2e29b0d
ce0b743
88c28e0
f0e1f6b
fd8ddc2
32f5075
74ae350
485e3f9
204ada9
a0ef1b6
82d14eb
e7c0a43
4030b1b
1ec9e79
096cdad
f047ed3
6102db7
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -3637,6 +3637,87 @@ if ($dyn =~ /se/) { | |
| } | ||
| } | ||
|
|
||
| # MPAS-Atmosphere dycore | ||
jtruesdal marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| # ====================== | ||
|
|
||
| if ($dyn =~ /mpas/) { | ||
|
|
||
| #################################################### | ||
| # namelist group: dyn_mpas # | ||
| #################################################### | ||
|
|
||
| add_default($nl, 'mpas_time_integration'); | ||
| add_default($nl, 'mpas_time_integration_order'); | ||
| add_default($nl, 'mpas_dt'); | ||
| add_default($nl, 'mpas_split_dynamics_transport'); | ||
| add_default($nl, 'mpas_number_of_sub_steps'); | ||
| add_default($nl, 'mpas_dynamics_split_steps'); | ||
| add_default($nl, 'mpas_h_mom_eddy_visc2'); | ||
| add_default($nl, 'mpas_h_mom_eddy_visc4'); | ||
| add_default($nl, 'mpas_v_mom_eddy_visc2'); | ||
| add_default($nl, 'mpas_h_theta_eddy_visc2'); | ||
| add_default($nl, 'mpas_h_theta_eddy_visc4'); | ||
| add_default($nl, 'mpas_v_theta_eddy_visc2'); | ||
| add_default($nl, 'mpas_horiz_mixing'); | ||
| add_default($nl, 'mpas_len_disp'); | ||
| add_default($nl, 'mpas_visc4_2dsmag'); | ||
| add_default($nl, 'mpas_del4u_div_factor'); | ||
| add_default($nl, 'mpas_w_adv_order'); | ||
| add_default($nl, 'mpas_theta_adv_order'); | ||
| add_default($nl, 'mpas_scalar_adv_order'); | ||
| add_default($nl, 'mpas_u_vadv_order'); | ||
| add_default($nl, 'mpas_w_vadv_order'); | ||
| add_default($nl, 'mpas_theta_vadv_order'); | ||
| add_default($nl, 'mpas_scalar_vadv_order'); | ||
| add_default($nl, 'mpas_scalar_advection'); | ||
| add_default($nl, 'mpas_positive_definite'); | ||
| add_default($nl, 'mpas_monotonic'); | ||
| add_default($nl, 'mpas_coef_3rd_order'); | ||
| add_default($nl, 'mpas_smagorinsky_coef'); | ||
| add_default($nl, 'mpas_mix_full'); | ||
| add_default($nl, 'mpas_epssm'); | ||
| add_default($nl, 'mpas_smdiv'); | ||
| add_default($nl, 'mpas_apvm_upwinding'); | ||
| add_default($nl, 'mpas_h_ScaleWithMesh'); | ||
| add_default($nl, 'mpas_num_halos'); | ||
| add_default($nl, 'mpas_zd'); | ||
| add_default($nl, 'mpas_xnutr'); | ||
| add_default($nl, 'mpas_number_of_blocks'); | ||
| add_default($nl, 'mpas_explicit_proc_decomp'); | ||
| add_default($nl, 'mpas_proc_decomp_file_prefix'); | ||
| add_default($nl, 'mpas_do_restart'); | ||
| add_default($nl, 'mpas_print_global_minmax_vel'); | ||
| add_default($nl, 'mpas_print_detailed_minmax_vel'); | ||
| add_default($nl, 'mpas_print_global_minmax_sca'); | ||
|
|
||
| # if user has not set mpas_block_decomp_file_prefix, then get the default value which | ||
| # will be a relative pathname, and prepend the $inputdata_rootdir | ||
| my $decomp_prefix = $nl->get_value('mpas_block_decomp_file_prefix'); | ||
| if (!defined $decomp_prefix) { | ||
| add_default($nl, 'mpas_block_decomp_file_prefix'); | ||
| $decomp_prefix = $nl->get_value('mpas_block_decomp_file_prefix'); | ||
| $decomp_prefix =~ s/['"]//g; # strip the quotes | ||
| $decomp_prefix = "$inputdata_rootdir/$decomp_prefix"; # prepend the inputdata directory | ||
| # set the value in the namelist | ||
| $nl->set_variable_value('decomposition', 'mpas_block_decomp_file_prefix', quote_string($decomp_prefix)); | ||
| } | ||
nusbaume marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
|
||
| # invoke MPAS utility to generate streams files | ||
| my $mpas_libdir = $cfg->get('mpas_libdir'); | ||
|
|
||
| # Check that the executable file streams_gen is present. This allows build-namelist | ||
| # to be called before the MPAS library is built (via CESM scripts). | ||
| if ( -x "$mpas_libdir/streams_gen") { | ||
|
|
||
| my $cmnd = "$mpas_libdir/streams_gen $mpas_libdir/Registry_processed.xml ". | ||
| "streams.atmosphere stream_list.atmosphere. listed "; | ||
|
|
||
| system($cmnd) == 0 or die | ||
| "$ProgName - ERROR: generating MPAS streams files via command:\n". | ||
| "$cmnd"; | ||
| } | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Shouldn't there be a warning or
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. If I'm understanding the comment, the purpose of the conditional checking for the streams_gen executable is to allow build-namelist to be called before that executable exists. If that's correct, then it wouldn't make sense to die if it's not found. I'm guessing this is related to how the cesm scripts do things like call build-namelist for namelist previews before things are built?
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Ah, I did not realize that the executable was created during the build, perhaps a comment to that effect would help?
Collaborator
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Added more detail to comment. |
||
| } | ||
|
|
||
| # Defaults for history output | ||
| add_default($nl, 'history_amwg'); | ||
| add_default($nl, 'history_vdiag'); | ||
|
|
||
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.
A quick comment - should issue a PR to cime to get whatever mods are made in this branch put into the main cime repo
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.
The commit to cime has already been done by Chris. Not sure whether there's a tag yet, but I told him there was no particular rush for one.
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 believe that the changes are already in cime master. I would just need to make a cime tag.
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.
Updated to cime5.8.34 from ESMCI/cime.