Skip to content
This repository has been archived by the owner on Dec 22, 2022. It is now read-only.

Feature/use new grid #652

Open
wants to merge 292 commits into
base: master
Choose a base branch
from
Open

Feature/use new grid #652

wants to merge 292 commits into from

Conversation

rheacangeo
Copy link
Contributor

TODO -- open this on PACE.

oelbert and others added 30 commits July 28, 2021 15:45
@rheacangeo
Copy link
Contributor Author

launch jenkins

1 similar comment
@rheacangeo
Copy link
Contributor Author

launch jenkins

rheacangeo added a commit to ai2cm/pace that referenced this pull request Nov 22, 2021
Changes moved over from the feature/use_grid branch of fv3core -- ai2cm/fv3core#652
The fv3core/grid section now provided the functionality to create MetricTerms, the grid variables we need to run the model without reading them from serialized data on disk. When we want to test performance of new or larger datasets, it will be helpful to be able to initialize the grid without needing to first run the Fortran model to create the data.
This PR updates fv3core to make use of the MetricTerms class.

Create a GridData instance from a MetricTerms instance
Add a --compute_grid option to the regression tests to run the tests using a generated grid rather than serialized data from the Grid-Info savepoint. Currently this can only be applied to Parallel tests, and is only enabled for FVDynamics. Tracer2D1L fails (metric diff of 1e-9) because the computed GridData does not match the Fortran version bit-for-bit.
Added running FVDynamics both with and without --compute_grid to the parallel_regression jenkins tests
use ak, bk, ptop and ks from the grid_data rather than from serialized input data
update the performance scripts and wrapper runfiles to call FVDynamics with its updated API and not use the Grid-Info savepoint
Moved grid constants as attributes to MetricTerms to avoid circular imports
removed all instances of "spec.grid." to enable running the performance script without the Grid-Info savepoint. Added TODOs to revisit and maybe compute those derived grid terms closer to where they are used
added lon/lat to MetricTerms. Although perhaps redundant, I imagine these would be common variables someone would want from this class. Use them in a2b_ord4 and it makes that code more readable. Updated the fortran changelog to reflect this.
add computations of the coriolis parameters f0 and fC to the model (part of the 'fortran 'gridstruct' that gets computed in state initialization rather than in the grid. here computing them in the init of the C_SW and D_SW instances that use them.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant