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

Remove fv_core.res.nc file in util/tests #55

Open
mlee03 opened this issue Jan 30, 2024 · 5 comments
Open

Remove fv_core.res.nc file in util/tests #55

mlee03 opened this issue Jan 30, 2024 · 5 comments

Comments

@mlee03
Copy link
Collaborator

mlee03 commented Jan 30, 2024

After the merging of PR #36, most tests will read in the ak and bk coefficients from netcdf files stored off-site for the CI. The only exception will be test_restart_fortran where the pressure coefficients are read in from /util/tests/data/c12_restart/fv_core.res.nc. For consistency, test_restart_fortran should be modified to also read in the ak/bk values from a netcdf file stored off-site. With this change, the fv_core.res.nc file will no longer be necessary and can be removed from pace, which would make pace only more perfect.

@bensonr
Copy link
Contributor

bensonr commented Jan 30, 2024

Thanks for opening up this issue. The question becomes do we still need to save the ak/bk values to a restart file when we now require an input file with values to initialize the model?

@lharris4
Copy link

lharris4 commented Feb 2, 2024

One problem that comes to mind is if we want to use the npz_rst (restart regridding) functionality, or if restarting an idealized test that sets ak and bk internally.

We can remove the on-line restart regridding capability from PyFV3, and have pre-processing tools take care of regridding restarts to new vertical (as well as horizontal) resolutions.

For idealized tests that create ak/bk online, perhaps the test should be responsible for creating files for this purpose? Or perhaps idealized tests should follow ak/bk created off-line also?

@FlorianDeconinck
Copy link
Collaborator

An added component for this that we are running into now is that ETA levels are used in Grid computation which has been moved down to the middleware (NDSL). The logic behind this is that we want the middleware to come with "battery-included" for our common models (e.g. FV3-based models for now). This might mean, that the calculation/import might have to move down from pyFV3.

@lharris4
Copy link

lharris4 commented Feb 5, 2024 via email

@FlorianDeconinck
Copy link
Collaborator

Well if it is technically true, I wouldn't go that path. Keeping a strict direction in import mechanism (e.g. NDSL > pyFV3) will retain conceptual and code sanity. Though I do agree that some components might have strange positions in the tech stack, it will also impose on us conceptual discussions, which in my experience are always a good thing.

For example here it seems that the ak/bk & level calculation have multiple use cases and a catch-all API seems to emerge depending on where you need need them to come from

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

4 participants