NOAA-GFDL / NDSL

NOAA NASA Domain Specific Language middleware layer
6 stars 8 forks source link

Support for pbl scheme #66

Closed oelbert closed 3 weeks ago

oelbert commented 3 weeks ago

Description This PR adds features needed for the ported PBL scheme. Mostly this means adding relevant namelist switches, but also includes a few useful physics constants and some 4d-field infrastructure

How Has This Been Tested? The new namelist has been tested with the new PBLConfig in my PySHiELD branch, the 4d field allocator has also been used in the PBL scheme testing.

Checklist:

bensonr commented 3 weeks ago

@oelbert - I think we've talked about not wanting to saddle the NDSL with "namelists" for the various components if we can. Will there be a physics/pySHiELD init routine and an init routine for every parameterization? If so, shouldn't this be where the input parameters are encapsulated?

oelbert commented 3 weeks ago

@bensonr the PhysicsConfig dataclass should contain all of the parameters for the physics routines, but each scheme should have a child class that contains the parameters it needs, so there will be a PBLConfig, a MicrophysicsConfig, etc. Right now NDSL still has the infrastructure for parsing the namelists into Pace/PyFV3/PySHiELD, but I'd like to get some of these pjysics schemes in before tackling https://github.com/NOAA-GFDL/NDSL/issues/64

FlorianDeconinck commented 3 weeks ago

@xyuan Data dimensions (anything after I, J, K) are executed serially.