Pace refactor
Closed this issue · 9 comments
See GEOS-ESM#41
@FlorianDeconinck - NDSL, PyFV3, and PySHiELD have been created in the NOAA-GFDL organization. One the current PRs are accepted and merged, I think we can proceed with the plan.
👍
Github
doesn't allow me to cross-post issues or move an issue from our GEOS-ESM project into the NOAA-GFDL, so we'll track progress on the GEOS-ESM#41 side of things, and I'll cross post a summary here
I started to add this info in the NASA PR, but thought maybe you wouldn't want clutter info about the a different org in your PR.
I think it's good info on the issue, I don't segregate it's all Open Source. I would have rather put everything here but Github is not allowing me so we might have those kind of cross-posting issue often
First milestone ndsl
.
Done
pace.stencils
,pace.dsl
,pace.util
have been moved tondsl
util
has been flattened, files grouped into logical directory and cleaned of unused pieces. More cleanup to do.external
has moved tondsl
to submodulesgt4py
anddace
pace
is now usingndsl
as a submoduleupdate_dwind_phys.py
,update_atmos_state.py
andfv_update_phys.py
lives in Physics but should be part of a broader plug & play Physics API that know how to interface with the Dynamical Core. (poke @oelbert)- A
C12
data bundle for testing restart has been moved totests/main/data
onpace
it was living inutil
before. PACE_LOGLEVEL
becameNDSL_LOGLEVEL
, more of those will follow.
ToDo
tracer_variables
global variable ingt4py_utils
: need an API in ndsl and calls in the model. Stays in ndsl for now, API needed and will be worked on as requirements for GEOS.halo
andorigin
global variables ingt4py_utils
: those should have an API with reasonable defaults.- Reconnect all GitHub workflows
ndsl.restart
should move topace
and/orpyFV3
The import structure as "ballooned up" on most files because we were using pace.util
as a global importer and we broke that in the refactor for clarity. The good practice around __init__.py
is to have a docstrings and a curated list of imports. ndsl
is a large middleware, this might not be suitable. Discussion should happen and guidelines updated.
ndsl
is in. Much clean up needs to happen but the basics are done and moved in Pace
pyFV3
and pySHiELD
have been created and their main
branch is now protected (discussion on git strategy to follow)
Pace
has been refactored to bring together all the packages.
Remaining task:
docs
needs splittingMakefile
workflow is broken in all repositoriesdocker
is broken in all repositories
Clean up on naming and random bits will be an ongoing effort.