-
Notifications
You must be signed in to change notification settings - Fork 7
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
Essential diagnostics #190
Comments
We should start with the CICE and MOM diagnostics used in ACCESS-OM2. |
Is there a single list of diagnostics for ACCESS-OM2? |
The default configs are pretty consistent |
It would be good if we could use make_diag_table to generate I'm looking into this - see COSIMA/make_diag_table#5 |
I was just doing the same thing. I'll leave it with you :) |
Essential diagnostics are needed as discussed in TWG.
|
@minghang is working through what MOM5 diagnostics output in the ACCESS-OM2 default configs are available in MOM6 and what they are called. |
I've confirmed that make_diag_table is compatible with MOM6 - see COSIMA/make_diag_table#5 |
Great to know! Thanks @aekiss |
To handle many output files I used these settings in
This also issues warnings in |
We'll also need to consider which ones to vertically remap onto a non-native grid - see https://mom6.readthedocs.io/en/main/api/generated/pages/Diagnostics.html#native-diagnostics |
Ref #178, we currently dont have a proper isopycnal coordinate at the moment.
|
Below diagnostics are the conversion between MOM5 and MOM6. The table is still being updated. The diagnostics of MOM5, including description, unit, method and packing are generated by matching information from the MOM_diags.txt and diag_table. For diagnostics with missing description, unit, method and packing, these details are not present in the MOM_diags.txt or in mom5. I am not sure how these diagnostiics are traced. Any thoughts? @aekiss Static 2D Grid Data
Monthly 3D Fields
Monthly 3D Squared Fields
monthly 2d fields
monthly 2d fields with different reduction methods
daily 2d fields
daily 2d maximum fields
daily 2d minimum fields
daily scalar snapshots
|
Awesome, thanks @minghangli-uni this is super helpful! |
Some diagnostic names are generated algorithmically, so they don't show up if you search for them in the code. The description and unit should be available from output .nc files, e.g. in |
Thank you @aekiss ! But I am still not sure about the exact process (algorithmically) of how these diagnostics were generated. While the descriptions and units can be tracked from the output nc files, these are essentially the final output files. Are we expected to have similar diagnostics in MOM6 as well? If so, we may end up tracking similar processes as MOM5. |
Below is a sample of the
If every of us is happy with this format, I will generate the first draft. ACCESS-OM3-025 static 2d grid data"access-om3.mom6.h.static", -1, "months", 1, "days", "time" monthly 3d fields"access-om3.mom6.h.3d.agessc.1.monthly.mean.ym%4yr%2mo", 1, "months", 1, "days", "time", 1, "years" "access-om3.mom6.h.3d.difvho.1.monthly.mean.ym%4yr%2mo", 1, "months", 1, "days", "time", 1, "years" monthly 3d squared fields"access-om3.mom6.h.3d.uo.1.monthly.pow02.ym%4yr%2mo", 1, "months", 1, "days", "time", 1, "years" "access-om3.mom6.h.3d.vo.1.monthly.pow02.ym%4yr%2mo", 1, "months", 1, "days", "time", 1, "years" monthly 2d fields"access-om3.mom6.h.2d.KHTH_t.1.monthly.mean.ym%4yr%2mo", 1, "months", 1, "days", "time", 1, "years" "access-om3.mom6.h.2d.KHTR_h.1.monthly.mean.ym%4yr%2mo", 1, "months", 1, "days", "time", 1, "years" monthly 2d fields with different reduction methods"access-om3.mom6.h.2d.mlotst.1.monthly.max.ym%4yr%2mo", 1, "months", 1, "days", "time", 1, "years" "access-om3.mom6.h.2d.tos.1.monthly.min.ym%4yr%2mo", 1, "months", 1, "days", "time", 1, "years" daily 2d fields"access-om3.mom6.h.2d.tob.1.daily.mean.ym%4yr%2mo", 1, "days", 1, "days", "time", 1, "years" "access-om3.mom6.h.2d.mlotst.1.daily.mean.ym%4yr%2mo", 1, "days", 1, "days", "time", 1, "years" daily 2d maximum fields"access-om3.mom6.h.2d.tob.1.daily.max.ym%4yr%2mo", 1, "days", 1, "days", "time", 1, "years" "access-om3.mom6.h.2d.e_D.1.daily.max.ym%4yr%2mo", 1, "days", 1, "days", "time", 1, "years" daily 2d minimum fields"access-om3.mom6.h.2d.tos.1.daily.min.ym%4yr%2mo", 1, "days", 1, "days", "time", 1, "years" daily scalar snapshots"access-om3.mom6.h.scalar.1.daily.ym%4yr%2mo", 1, "days", 1, "days", "time", 1, "years" monthly 2d snapshotsmonthly 3d snapshots |
A couple of comments questions using the following as an example:
Altogether, this would mean the above changes to:
or if we want to be more concise we could shorten the frequency to be consistent with CMIP6 vocab (though this only really saves a few characters)
Thoughts @minghangli-uni, @aekiss? |
@dougiesquire Thanks for the comments. I am more inclined to this format, |
In our case |
I'm not sure that |
Other than that, I'm happy with
although it would be even better if the nuopc prefix was shortened somehow to omit |
@minghangli-uni I'm happy to look over your |
I am thinking adding some scripts to |
My suggestion here doesn't make sense - should be ACCESS-OM2 just used |
I personally think it's good to have some flexibility in the naming scheme. I'm sort of viewing everything between the As for the I'll wait for any disagreements and then write this all up into a single comment. |
OK I'm happy with that |
Thank you @dougiesquire . I prefer to keep the For the scalar ncfiles, I agree to keep <time_cell_method> with multiple variable files when all variables share the same time method, otherwise |
@minghangli-uni what's the purpose of having both |
I am following the format of this, cice6 is the component, cice is the variable_info, will that be more consistent?
|
|
Yet another wrinkle: MOM6 can produce diagnostic output that is remapped onto multiple vertical grids. These need to be distinguished in the filename, because the variable names are unchanged. |
Good points @aekiss. In both of these cases, the diagnostic is included in the In both of these cases, we can capture the info in the filename by adding the text appended to the module name as optional additional fields:
Example: Are people happy with this? |
Sounds good. My only concern is that having two optional fields will make it ambiguous to parse if only one of these is used. Should we require the vertical coordinate field, e.g. using |
Yes whoops, good point. I'll let this sit with people for a bit and then (re)write up everything above into a new post. |
alternatively, and a little more compactly, could make |
Unfortunately the vertical coordinate only makes sense for 3D output, and the downsampling only makes sense for min 2D output. So they might both have to be optional? The |
Okay here's what I think we've arrived at: The general scheme:
MOM6Model-specific fields:
E.g.
It’s not ideal, but I think there are rules we can follow to reliably parse info. CICE6No model-specific fields (yet).
E.g.
WW3No model-specific fields (yet).
E.g.
Speak now or forever hold your peace |
@dougiesquire WW3 cannot to do time averages in output history, refer here, the output Regarding changing the |
Is this still the case? I really don't think this is a good idea if so. Every post-processing step is another step in the provenance chain. If we can't capture it we're weakening the connections between model run and output data. If we do capture it, then it's just more complexity. As @dougiesquire pointed out above, any post-processing step also has the potential for corrupting files. A simple If it's as simple as some output filename formatting I'd definitely prefer to enable in code. |
The set of diagnostics output by
access-om3
configurations is still mostly just inherited from CESM. There are possibly many diagnostics that we want that aren't requested, and others that are requested that we don't want. It would be helpful to compile a set of "essential" diagnostics that should always be requested in configurations so that key metrics/analyses can be calculated.I'm probably being naive in thinking that it's possible to come up with a single list of essential diagnsotics. In that case, we still need to know what diagnostics are needed to calculate particular metrics so that we can ensure everything we need is saved in upcoming test runs.
The text was updated successfully, but these errors were encountered: