Skip to content

Benchmark#64

Closed
fmalatino wants to merge 14 commits into
NOAA-GFDL:benchmarkfrom
fmalatino:benchmark
Closed

Benchmark#64
fmalatino wants to merge 14 commits into
NOAA-GFDL:benchmarkfrom
fmalatino:benchmark

Conversation

@fmalatino

Copy link
Copy Markdown
Contributor

Purpose

Update the benchmark branch to reflect refactor changes

Code changes:

  • Benchmark branch now matches main with regards to the submodule setup

Checklist

Before submitting this PR, please make sure:

  • You have followed the coding standards guidelines established at Code Review Checklist.
  • Docstrings and type hints are added to new and updated routines, as appropriate
  • All relevant documentation has been updated or added (e.g. README, CONTRIBUTING docs)
  • For each public change and fix in pace-util, HISTORY has been updated
  • Unit tests are added or updated for non-stencil code changes

oelbert and others added 13 commits January 23, 2024 19:32
Translate test: small improvements

- Parametrize perturbation upon failure
- Refactor error folder to be `pwd` based
- Fix GPU translate unable to dump error `nc`
- Fix mixmatch precision on translate test
- Update README.md

Test fix:
- Orchestrate YPPM for translate purposes

Misc:
- Fix bad logger formatting on DaCeProgress
…FDL#40) (NOAA-GFDL#48)

* [Feature] Guarding against unimplemented configuration (NOAA-GFDL#40)

Guarding against unimplemented namelists options:
- a2b_ord4
- d_sw
- fv_dynamics
- fv_subgridz
- neg_adj3
- divergence damping
- xppm
- yppm

Misc:
- Fix `netcdf_monitor` not mkdir the directory
- Add `as_dict` to the dycore state to dump the dycore more easily

* Unused assert

* Update fv3core/pace/fv3core/stencils/yppm.py

Co-authored-by: Oliver Elbert <oliver.elbert36@gmail.com>

* Update fv3core/pace/fv3core/stencils/xppm.py

Co-authored-by: Oliver Elbert <oliver.elbert36@gmail.com>

* Change NotImplemented to ValueError for n_sponge<3

* lint

---------

Co-authored-by: Oliver Elbert <oliver.elbert36@gmail.com>
* initial changes to read in ak bk

* read ak/bk

* add xfail

* remove input dir

* further changes to unit tests

* finish up test

* add history

* commit uncommited files

* fix test comment

* add input to top

* read in data

* read in netcdf file in eta mod

* remove txt file

* test

* modify test and fix generate.py

* remove emacs backup file

* driver tests pass

* fix helper.py

* fix fv3core tests

* fix physics test

* fix grid tests

* nullcommconfig

* cleanup input

* remove driver input

* remove top level input

* fix circular import problems

* modify eta_file readin for test_restart_serial

* comment out 91 test

* rm safety checks

* revert diagnostics.py

* restore driver.py

* revert initialization.py

* restore state.py

* restore analytic_init.py

* restore init_utils.py and analytic_init.py

* restore c_sw.py

* d2a2c_vect.py

* restore fv3core/stensils

* restore translate_fvdynamics

* restore physics/stencils

* restore stencils

* remove circular dependency

* use pytest parametrize

* cleanup generation.py

* fstrinngs

* add eta_file to MetricTerm init

* remove eta_file argument in new_from_metric_terms and geos_wrapper

* use pytest parametrize for the xfail tests

* use pytest parametrize for the xfail tests

* fix geos_wrapper and grid

* fix tests

* fstring

* add test comments

* fix util/HISTORY.md

* fix comments

* remove __init__.py from tests/main/grid

* add jupyter notebooks to generate eta files

* generate ak,bk,ptop on metricterm init

* fix tests

* exploit np.all in eta mod

* remove tests/main/grid/input

* update ci

* test

* remove input

* edit ci yaml

* remove push

---------

Co-authored-by: mlee03 <Mikyung.Lee@lscamd50-d.gfdl.noaa.gov>
* initial commit, need to adapt and run tests

* revising scheme name

* tests pass

* update history

* linting

* changing typehints for physics schemes to enum instead of str

* driver now works with physics config enum, tests pass

* fixed tests

* missed one
* Testing changes reflected across branches

* Undoing changes made in build_gaea_c5.sh

* Testing vscode functionality, by adding a change to external_grid branch

* Testing vscode functionality, by adding a change to external_grid branch

* Addition of from_generated method and calc_flag to util/pace/util/grid/generation.py

* Added get_grid method for external grid data to driver/pace/driver/grid.py

* Preliminary xarray netcdf read in method added to driver/pace/driver/grid.py

* Updating util/pace/util/grid/generation.py from_generated method

* Addition of external grid data read in methods for initialization of grid. Current method uses xarray to interact with netcdf tile files. Values for longitutde, latitude, number of points in x an y, grid edge distances read in.

* driver/examples/configs/test_external_C12_1x1.yaml

* Preliminary unit test for external grid data read in

* Current state of unit tests as of 27 Nov 2023

* External grid method and unit tests added

* Re-excluding external grid data yamls from test_example_configs.py

* Update driver/pace/driver/grid.py

Co-authored-by: Florian Deconinck <deconinck.florian@gmail.com>

* Changed name of grid initializer function to match NetCDF dependency and class descriptor

* Update util/pace/util/grid/generation.py

Moved position of doc string for "from_external" MetricTerms class method

Co-authored-by: Oliver Elbert <oliver.elbert36@gmail.com>

* Fixed indentation error in generation.py from suggestion in PR 42

* Removal of TODO comment in grid.py, changes to method of file accessing in test_analytic_init, test_external_grid_*

* Changed grid data read-in unit tests to compare data directly from file to driver grid data generated from yaml

* Change to reading in lon and lat, other metric terms calculated as needed

* Removed read-in of dx, dy, and area. Changed unit tests to compare calculated area to 'ideal' surface area as given by selected constants type.

* Update tests/mpi_54rank/test_external_grid_1x1.py

Incorrect name of test in test_external_grid_1x1.py changed to match file name

Co-authored-by: Oliver Elbert <oliver.elbert36@gmail.com>

* Added comparisons for read-in vs generated by driver lon, lat, dx, dy, and area data to unit tests

* Added relative error calculations to unit tests for external grid data read-in

* External grid data read in tests changed: relative errors printed by each rank and get_tile_number replacing get_tile_index

* Removing commented out sections in test_external_grid_2x2.py

Co-authored-by: Oliver Elbert <oliver.elbert36@gmail.com>

* Updated external grid data read-in to take configuration and input data locations from command line, updated test description, and added documentation on grid construction to external grid data configuration selection dataclass.

* Updated documentation in grid.py

* Updated external grid data read in unit test to use parametrize functionality of pytest

* Ammended files to reference changes to PR 36

---------

Co-authored-by: Frank Malatino <Frank.Malatino@ldt-4788481.gfdl.noaa.gov>
Co-authored-by: Florian Deconinck <deconinck.florian@gmail.com>
Co-authored-by: Oliver Elbert <oliver.elbert36@gmail.com>
* Refactor/ndsl (NOAA-GFDL#57)

* Move `pace.dsl` to local `ndsl.dsl`

* Replacing gt4py_utils.halo by pace.util.N_HALO_DEFAULT

* Move .gitmodules out of main pace
Tmp reqs file for NDSL
Updated dependencies for other packages

* pace.stencils -> ndsl.stencils

* Moved Dycore<>Physics bridge out of `ndsl`
Move out translate test back to Physics

* Fix driver reference to update_atmos_state

* Remove pace.stencils

* pace.util -> ndsl.util

* Move util test & examples

* Delete pace.util

* Rely on ndsl submodule

* Lint (for import order)

* Remove unused import, fix missing import

* Restore gitmodule strategy

* Update requitements of model packages

* Moved translate_driver into Pace/tests
Fix physics local import

* Lint (couple of type ignore on bad ENUM read)

* Push c12_restart

* Bad restart path

* Bad path

* Better pre-commit

* [Flatten util]: `ndsl.util.halo` dir for halo tools.

* Moved performance collection tooling and SDFG tools (tools.py) driver/pace/driver/performance -> ndsl/performance

* [Flatten util]: comms, paritioner & mpi into `utils.comm`

* Move _xarray into optional_imports and delete file

* Move dsl test to `ndsl`

* Updates to files using performance tools to point to the ndsl module

* Move boundary in .comm

* Lint & remove caputre_steam

* Remove unused `_corners`

* Move `profiler` in `ndsl.performance`

* Moved `util._timing` in `performance.timer`

* `pace_log` -> `ndsl_log`

* Remove `util.nudging`

* Changes to files contained in examples to reflect addition of ndsl

* `_optional_imports` -> `optional_imports`

* `_exceptions` -> `exceptions`

* Remove `time`

* Move restart_properties yaml to restart folder

* Minor import tweaks

* [Flatten util] Move all util subdirectories into `ndsl`

* Fix reference to long delete fortran prop structure

* Additional lint

* [Flatten util] Further import cleanup

* Additional lint

* Removed ndsl and added NDSL submodule

* Updates to setup.py for fv3core and physics to remove outdated dependencies

* Updated constraints.txt due to NDSL as submodule

* Updating NDSL

* Updated constraints.txt

* Linting import orders

* Cleanup of *.pyc files in NDSL

* Update constraints.txt in attempt to fix github workflow environment

* Update main_unit_tests.yml

* Update main_unit_tests.yml, change to upgrade pip, setuptools, wheel

---------

Co-authored-by: Florian Deconinck <deconinck.florian@gmail.com>
* Move `pace.fv3core` to `pyFV3`

* Lint

* Deleted local pyFV3

* Added pyFV3 as submodule

* Updates to NDSL regarding dependencies oh 'fv3core' and constraints.txt to reflect new pyFV3 submodule

* Updates to constraints.txt

---------

Co-authored-by: Florian Deconinck <deconinck.florian@gmail.com>
* pace-physics -> pySHiELD

* Removed pySHiELD locally

* Added pySHiELD as submodule

* Updating branch to current versions of NDSL and pyFV3

* Updating pyFV3 and pySHiELD for changes to their setup.py files

* Updated constraints.txt to match new pySHiELD submodule

* Removed local references in constraints.txt

* Update pySHiELD

* lint

* Remove unused mypy

* Bad driver `setup,py`

* Regenerate `constraints.txt`

* Remove local constraints

* Lint

---------

Co-authored-by: Florian Deconinck <deconinck.florian@gmail.com>
* Updated submodule versions

* Loosened constraint on gridtools-cpp for build of gt4py in constraints.txt
* Updated submodule versions

* Loosened constraint on gridtools-cpp for build of gt4py in constraints.txt

* Updating submodules to most recent versions as of 6 Feb 2024 16:00
@fmalatino fmalatino requested a review from bensonr February 8, 2024 15:13

@FlorianDeconinck FlorianDeconinck left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bad history git here! You are going to have to port your changes by hand and rebase post refactor

@fmalatino fmalatino closed this Feb 8, 2024
@fmalatino fmalatino deleted the benchmark branch February 8, 2024 15:43
jjuyeonkim added a commit to jjuyeonkim/pace that referenced this pull request Sep 9, 2025
- Adding simple dycore tests from yaml and nml files
- baroclinic_instability cleanup
- Temporarily pointing to jjuyeonkim fork to pass CI, to be reverted after resolving issue NOAA-GFDL#64
@jjuyeonkim jjuyeonkim mentioned this pull request Sep 10, 2025
8 tasks
github-merge-queue Bot pushed a commit that referenced this pull request Oct 21, 2025
… PyFV3 PR #88] (#152)

* Tmp dycore dacite config related to PyFV3 PR #88 + NDSL Issue #64

* test_config.py tweak for type checks

---------

Co-authored-by: Florian Deconinck <deconinck.florian@gmail.com>
jjuyeonkim added a commit to jjuyeonkim/pace that referenced this pull request Oct 21, 2025
github-merge-queue Bot pushed a commit that referenced this pull request Oct 27, 2025
…153)

* Tmp physics dacite config related to NDSL Issue #64
Clean up after pyFV3 PR #88

* Updating pyFV3 submodule

* Updating pyFV3 submodule after PyFV3 PR #90
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

Successfully merging this pull request may close these issues.

4 participants