Skip to content
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

ocean.nml diffs #7

Open
PaulSpence opened this issue Sep 21, 2021 · 12 comments
Open

ocean.nml diffs #7

PaulSpence opened this issue Sep 21, 2021 · 12 comments

Comments

@PaulSpence
Copy link

Hi Folks,

I am validating ocean/input.nml inputs for wombat enabled https://github.com/hakaseh/025deg_jra55_ryf/ with
/g/data/ik11/outputs/access-om2-025/025deg_jra55_ryf9091_gadi/output324/ocean/

Its really hard to tell the differences since the files are scrambled a bit relative to each other :) (if only there was a handy Kiss tool!)

Some subtle differences (no wombat vs wombat) where only differing values are retained below:

  1. &ocean_barotropic_nml
    barotropic_time_stepping_A = .true.
    barotropic_time_stepping_B = .false. vs

&ocean_barotropic_nml
barotropic_time_stepping_a = .true.
barotropic_time_stepping_b = .false.

Fortran is not case sensitive, I think. So no problem here.

  1. &ocean_bbc_nml
    uresidual = 0.05

vs

&ocean_bbc_nml
cdbot_hi = 0.007

/

  1. &ocean_nphysics_util_nml
    agm=200.0
    drhodz_smooth_horz=.false.
    drhodz_smooth_vert=.false.
    tracer_mix_micom=.false.
    vel_micom=0.0
    agm_closure_length_fixed=.false.
    agm_closure_length_rossby=.false.
    agm_closure_length_bczone=.false.
    agm_closure_eden_greatbatch=.false.
    agm_closure_eden_gamma=0.0
    agm_smooth_space=.false.
    agm_smooth_time=.false.
    agm_damping_time=45.0
    rossby_radius_max=100e3
    rossby_radius_min=10e3
    /

vs

&ocean_nphysics_util_nml
agm_closure_buoy_freq = 0.004
/

Should I just upgrade the https://github.com/hakaseh/025deg_jra55_ryf/ocean/input.nml to /g/data/ik11/outputs/access-om2-025/025deg_jra55_ryf9091_gadi/output324/ocean/input.nml?

Andrew, can we use your *.nml diff tool here?

Thank you,
Paul

@PaulSpence
Copy link
Author

PaulSpence commented Sep 21, 2021

@aekiss Andrew, can we use your *.nml diff tool here? The evaluation above isn;t complete.

@PaulSpence
Copy link
Author

The wombat 025 RYF simulation is grinding here:
/home/561/pas561/access-om2/025deg_jra55_ryf

@aekiss
Copy link
Contributor

aekiss commented Sep 21, 2021

@aekiss
Copy link
Contributor

aekiss commented Sep 21, 2021

FYI Hakase and I are still straightening out some updates to the executables... COSIMA/1deg_jra55_iaf#11

@PaulSpence
Copy link
Author

yeah, i turned the bgc off in the sea ice module.

@aekiss
Copy link
Contributor

aekiss commented Sep 21, 2021

BTW as well as comparing existing disorganised namelists, https://github.com/aekiss/nmltab can also put the namelists into a consistent format using --tidy_overwrite so that they are easier to compare with diff

@aekiss
Copy link
Contributor

aekiss commented Sep 21, 2021

run it from the command line, not python

@PaulSpence
Copy link
Author

PaulSpence commented Sep 23, 2021

Hi Folks,

The 025/ryf with wombat in the ocean (wombat off in sea ice) runs smoothly (output00[0-2]) using Hakase's original ocean/input.nml file, here:
/home/561/pas561/access-om2/025deg_jra55_ryf/ocean/input_orig.nml

It fails in first couple days when the file is updated to follow
/g/data/ik11/outputs/access-om2-025/025deg_jra55_ryf9091_gadi/output324/ocean/input.nml

I love nmltab.py --tidy_overwrite :)

The relevant differences between these two files are: diff input_orig.nml input_updated.nml
./../../../nmltab/nmltab.py -d --format markdown input_orig.nml input_updated.nml

File &monin_obukhov_nml
neutral
&mpp_io_nml
deflate_level
&ocean_albedo_nml
ocean_albedo_option
&ocean_barotropic_nml
debug_this_module
&ocean_bbc_nml
cdbot
&ocean_bbc_nml
cdbot_roughness_length
&ocean_bbc_nml
use_geothermal_heating
&ocean_nphysics_util_nml
agm
&ocean_nphysics_util_nml
agm_closure_eden_gamma
&ocean_nphysics_util_nml
agm_closure_eden_greatbatch
&ocean_nphysics_util_nml
agm_closure_length_bczone
&ocean_nphysics_util_nml
agm_closure_length_fixed
&ocean_nphysics_util_nml
agm_closure_length_rossby
&ocean_nphysics_util_nml
agm_damping_time
&ocean_nphysics_util_nml
agm_smooth_space
&ocean_nphysics_util_nml
agm_smooth_time
&ocean_nphysics_util_nml
drhodz_smooth_horz
&ocean_nphysics_util_nml
drhodz_smooth_vert
&ocean_nphysics_util_nml
rossby_radius_max
&ocean_nphysics_util_nml
rossby_radius_min
&ocean_nphysics_util_nml
tracer_mix_micom
&ocean_nphysics_util_nml
vel_micom
&ocean_nphysicsc_nml
debug_this_module
&ocean_pressure_nml
zero_pressure_force
&ocean_rivermix_nml
debug_this_module
&ocean_sbc_nml
ocean_ice_salt_limit
&ocean_shortwave_gfdl_nml
debug_this_module
&ocean_submesoscale_nml
debug_this_module
&ocean_tempsalt_nml
debug_this_module
&ocean_thickness_nml
debug_this_module
&ocean_tracer_diag_nml
diag_step
&ocean_tracer_nml
debug_this_module
input_orig.nml 5 0.006 4320
input_updated.nml True -1 2 False 0.001 False False 200.0 0.0 False False False False 45.0 False False False False 100000.0 10000.0 False 0.0 False False False False False False False 48 False

@PaulSpence
Copy link
Author

PaulSpence commented Sep 23, 2021

The differences between the working input.nml from Hakase (input_orig.nml) and Andrew Kisss current ice-BGC 1deg case (https://github.com/COSIMA/1deg_jra55_iaf/tree/bgc-mdppm-run) are quite extensive:

./../../../nmltab/nmltab.py -d --format markdown input_orig.nml ../../1deg_jra55_iaf/ocean/input.nml

File &auscom_ice_nml
redsea_gulfbay_sfix
&fms_nml
domains_stack_size
&mom_oasis3_interface_nml
fields_in
&mom_oasis3_interface_nml
fields_out
&mom_oasis3_interface_nml
num_fields_in
&mom_oasis3_interface_nml
num_fields_out
&mpp_io_nml
deflate_level
&ocean_bihgen_friction_nml
bottom_5point
&ocean_bihgen_friction_nml
ncar_boundary_scaling
&ocean_bihgen_friction_nml
vel_micom_bottom
&ocean_bihgen_friction_nml
vel_micom_iso
&ocean_bihgen_friction_nml
visc_crit_scale
&ocean_lapgen_friction_nml
bottom_5point
&ocean_lapgen_friction_nml
k_smag_aniso
&ocean_lapgen_friction_nml
k_smag_iso
&ocean_lapgen_friction_nml
restrict_polar_visc
&ocean_lapgen_friction_nml
restrict_polar_visc_lat
&ocean_lapgen_friction_nml
restrict_polar_visc_ratio
&ocean_lapgen_friction_nml
use_this_module
&ocean_lapgen_friction_nml
vel_micom_iso
&ocean_lapgen_friction_nml
viscosity_ncar
&ocean_lapgen_friction_nml
viscosity_ncar_2007
&ocean_lapgen_friction_nml
viscosity_scale_by_rossby
&ocean_lapgen_friction_nml
viscosity_scale_by_rossby_power
&ocean_mixdownslope_nml
mixdownslope_mask_gfdl
&ocean_mixdownslope_nml
mixdownslope_npts
&ocean_mixdownslope_nml
read_mixdownslope_mask
&ocean_mixdownslope_nml
use_this_module
&ocean_model_nml
io_layout
&ocean_model_nml
layout
&ocean_nphysics_util_nml
agm_closure_length
&ocean_nphysics_util_nml
agm_closure_max
&ocean_nphysics_util_nml
agm_closure_min
&ocean_nphysics_util_nml
aredi
&ocean_nphysics_util_nml
aredi_diffusivity_grid_scaling
&ocean_sbc_nml
do_bitwise_exact_sum
&ocean_sbc_nml
max_delta_salinity_restore
&ocean_sbc_nml
ocean_ice_salt_limit
&ocean_sigma_transport_nml
use_this_module
&ocean_submesoscale_nml
smooth_advect_transport_num
&ocean_submesoscale_nml
smooth_psi_num
&ocean_vert_mix_nml
j09_bgmax
&ocean_vert_mix_nml
j09_bgmin
&ocean_vert_mix_nml
j09_diffusivity
&ocean_vert_mix_nml
j09_lat
input_orig.nml ['u_flux', 'v_flux', 'lprec', 'fprec', 'salt_flx', 'mh_flux', 'sw_flux', 'q_flux', 't_flux', 'lw_flux', 'runof', 'p', 'aice', 'wfimelt', 'wfiform', 'licefw', 'liceht', 'wnd_io', 'iof_nit', 'iof_alg'] ['t_surf', 's_surf', 'u_surf', 'v_surf', 'dssldx', 'dssldy', 'frazil', 'n_surf', 'alg_surf'] 20 9 5 False False 0.0 0.0 1.0 False False [6, 5] [48, 40] 20000.0 200.0 1.0 200.0 True False 0.5 0.006 False 4 3
../../1deg_jra55_iaf/ocean/input.nml False 115200 ['u_flux', 'v_flux', 'lprec', 'fprec', 'salt_flx', 'mh_flux', 'sw_flux', 'q_flux', 't_flux', 'lw_flux', 'runof', 'p', 'aice', 'wfimelt', 'wfiform', 'licefw', 'liceht'] ['t_surf', 's_surf', 'u_surf', 'v_surf', 'dssldx', 'dssldy', 'frazil'] 17 7 -1 True True 0.01 0.04 0.25 True 0.0 0.0 True 60.0 0.35 True 0.1 False False True 4.0 False 4 False True [4, 3] [16, 15] 50000.0 600.0 50.0 600.0 True -0.5 True 2 2 5e-06 1e-06 True 20.0

@aekiss
Copy link
Contributor

aekiss commented Sep 23, 2021

Hi @PaulSpence

It would be easier to make sense of these diffs if you did something like

nmltab.py -d --format markdown file1.nml file2.nml ... fileN.nml

If you paste the resulting markdown into a comment on this issue it should make a nice table. You can diff multiple files at once to get a single table for everything.

@PaulSpence
Copy link
Author

PaulSpence commented Sep 23, 2021

Awesome functionality :) Tables updated above, below is a sanity check on the diffs between my my updated input.nml (that doesn;t work) with its source /g/data/ik11/outputs/access-om2-025/025deg_jra55_ryf9091_gadi/output324/ocean/

It looks clean to me.

./../../../nmltab/nmltab.py -d --format markdown input_updated.nml input_updated_nowombat.nml

File &diag_manager_nml
max_axes
&diag_manager_nml
max_files
&diag_manager_nml
max_num_axis_sets
&mom_oasis3_interface_nml
fields_in
&mom_oasis3_interface_nml
fields_out
&mom_oasis3_interface_nml
num_fields_in
&mom_oasis3_interface_nml
num_fields_out
&ocean_frazil_nml
debug_this_module
&ocean_grids_nml
debug_this_module
&ocean_nphysics_nml
debug_this_module
&ocean_operators_nml
use_legacy_div_ud
&ocean_overexchange_nml
debug_this_module
&ocean_overexchange_nml
overexch_npts
&ocean_overexchange_nml
overexch_weight_far
&ocean_overexchange_nml
overflow_umax
&ocean_polar_filter_nml
use_this_module
&ocean_tracer_advect_nml
debug_this_module
&ocean_tracer_diag_nml
diag_step
&ocean_velocity_diag_nml
debug_this_module
&ocean_vert_kpp_iow_nml
use_this_module
input_updated.nml 400 200 200 ['u_flux', 'v_flux', 'lprec', 'fprec', 'salt_flx', 'mh_flux', 'sw_flux', 'q_flux', 't_flux', 'lw_flux', 'runof', 'p', 'aice', 'wfimelt', 'wfiform', 'licefw', 'liceht', 'wnd_io', 'iof_nit', 'iof_alg'] ['t_surf', 's_surf', 'u_surf', 'v_surf', 'dssldx', 'dssldy', 'frazil', 'n_surf', 'alg_surf'] 20 9 48
input_updated_nowombat.nml ['u_flux', 'v_flux', 'lprec', 'fprec', 'salt_flx', 'mh_flux', 'sw_flux', 'q_flux', 't_flux', 'lw_flux', 'runof', 'p', 'aice', 'wfimelt', 'wfiform'] ['t_surf', 's_surf', 'u_surf', 'v_surf', 'dssldx', 'dssldy', 'frazil'] 15 7 False False False False False 4 False 5.0 False False 4320 False False

@PaulSpence
Copy link
Author

PaulSpence commented Oct 7, 2021 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants