-
Notifications
You must be signed in to change notification settings - Fork 28
Open
Labels
category: Feature RequestNew feature or requestNew feature or requestnever staleNever label this issue as staleNever label this issue as staletopic: Community ContributionsFeatures provided by the GEOS-Chem/GCPy communityFeatures provided by the GEOS-Chem/GCPy communitytopic: RegriddingIssues pertaining to horizontal & vertical regriddingIssues pertaining to horizontal & vertical regridding
Description
Discussed in https://github.com/geoschem/gcpy/discussions/241
Originally posted by pennelise July 31, 2023
GCPy doesn't currently have a post-processing vertical regridding function. A mass conserving post-processing vertical regridding function for GEOS-Chem would be useful for:
- Applying satellite averaging kernels in post-processing (for the IMI, we now apply almost all of our operators in post, but only TROPOMI currently has a post-processing operator)
- Interpolating concentrations from 72 -> 47 levels in post
- Comparing concentrations between two different models (is this something we do?)
- Help users avoid common pitfalls which do not conserve mass (e.g., using np.interp)
Hannah Nesser & I have developed python & FORTRAN code for mass-conserving vertical regridding based on the methodology in Keppens et. al, 2019, using code from Hannah's TROPOMI operator and my GOSAT + AIRS operators. Currently we are refactoring it for use as a general satellite observation operator, but we believe this code (or at least the vertical regridding portion) may belong in GCPy. Here is a link to the draft repository.
Here is a basic outline of the functionality:
- Inputs: nobs x nedges for 1) satellite observations and 2) corresponding GEOS-Chem columns (requires GEOS-Chem LevelEdgeDiags output).
- Outputs: GEOS-Chem concentrations interpolated to the satellite layer centers (nobs x nlayers) or satellite layer edges (nobs x nedges)
- The code will be parallelized so it should be reasonably fast in Python as well as FORTRAN.
Our questions:
- Is this something that belongs in GCPy?
- Is GCST interested in only the vertical regridding aspect, or also the satellite operator aspects (e.g., applying the pressure weighting + averaging kernel for individual satellites)
- If so, at what stage of the project should we start developing off the GCPy codebase rather than a separate branch.
Metadata
Metadata
Assignees
Labels
category: Feature RequestNew feature or requestNew feature or requestnever staleNever label this issue as staleNever label this issue as staletopic: Community ContributionsFeatures provided by the GEOS-Chem/GCPy communityFeatures provided by the GEOS-Chem/GCPy communitytopic: RegriddingIssues pertaining to horizontal & vertical regriddingIssues pertaining to horizontal & vertical regridding