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

Exact, time-averaged heat content diagnostics missing #142

Closed
rmholmes opened this issue Apr 10, 2019 · 11 comments
Closed

Exact, time-averaged heat content diagnostics missing #142

rmholmes opened this issue Apr 10, 2019 · 11 comments

Comments

@rmholmes
Copy link
Collaborator

For all the runs in the documentation paper, we are saving monthly averages of temp and dzt. However the exact, spatially-resolved, time-averaged heat content cannot be reproduced exactly from these because of missing correlations between the two. The missing 3D diagnostic is temp_rhodzt. Of course, errors are likely small (I'm not sure how small...).

For future runs, can we please add the 2D diagnostic temp_int_rhodz? As we are saving all of the vertically-integrated heat fluxes and the surface heat flux, this should allow exact closure of the vertically-integrated heat budget.

@rmholmes
Copy link
Collaborator Author

Oh wait, we still could not close the budget exactly without saving snapshots (of which we have some in the restarts). I think the 2D diagnostic would still be useful though.

@rmholmes
Copy link
Collaborator Author

Just adding to this with another request: It looks like dzt is saved only annually, not monthly in most of the runs. I would suggest saving monthly-averages of dzt.

@aekiss
Copy link
Contributor

aekiss commented May 26, 2020

OK I'll make dzt monthly in the new configs.
Is temp_int_rhodz the right name? It doesn't show up in a search but I guess it's one of those programmatically-generated names. And I guess you'd like that monthly too?

@rmholmes
Copy link
Collaborator Author

temp_int_rhodz is indeed the name (https://github.com/rmholmes/MOM5/blob/master/src/mom5/ocean_tracers/ocean_tracer.F90#L1211-L1216). It's a 2D field so monthly would be great (and it'd make it super easy to plot vertically-integrated heat content anomalies). Thanks.

@russfiedler
Copy link

dzt can always be calculated exactly from knowledge of eta_t so doesn't need to be stored. You need the time invariant fields depth, dstlo and dstup. The latter 2 are in all ocean_thickness.res.nc restarts. We do this for BRAN. In fact you only need the sum of dstlo and dstup for this calculation so you could have that saved once.

@rmholmes
Copy link
Collaborator Author

Fair enough. I've never done that calculation but I'm sure it's easy enough. That would save a 3D variable at the cost of a bit more faffing for analysis.

@russfiedler
Copy link

Yeah, I've got the Fortran code. Just a few lines the calculation is pretty simple and quick. Once you get the 3D array for dstlo + dstup loaded it should fly through. Have a look at /scratch/v45/raf599/restarts/make_restart_thick_tripolar_decomp.f90 for one version. Lines 64 and 129 do the work.

@aekiss
Copy link
Contributor

aekiss commented May 26, 2020

@rmholmes I've added monthly temp_int_rhodz and dzt to the new defaults but let me know if you want me to remove dzt.

@rmholmes
Copy link
Collaborator Author

You can remove dzt.

@aekiss
Copy link
Contributor

aekiss commented May 29, 2020

@russfiedler, @rmholmes we are storing sea_level, not eta_t. These are the same with the current configuration (max_ice_thickness=0) but if that changes they'll differ, which will complicate the calculation of dzt under ice. I guess we'll worry about that if/when it happens.

@russfiedler
Copy link

eta_t can always be added if that happens and we can probably calculate it pretty accurately from the ice mass if that is saved at the same frequency.

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

3 participants