-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Daily amsr2 prototype fields #140
Conversation
Still TODO is adding the code to combine the F17 and AMSR2 fields and publish everything in the way we want it to be. As of this commit, output looks like this: ``` /share/apps/G02202_V5/25km/combined/ └── intermediate └── north ├── checksums │ ├── daily │ │ └── 2022 │ └── monthly ├── daily │ └── 2022 ├── initial_daily ├── monthly └── temporal_interp ```
7b9ab90
to
858e7ec
Compare
These are group-specific. All other attrs are inherited from the root group
* Remove `valid_range` from corodinate variables * Add `coverage_content_type: coordinate` attr to coordinate variables * Add `coordinates: "time y x"` attr to data variables. This lets Panoply find the root group coordinate variables for plotting.
resolves mypy error. More cleanup to come.
af998d4
to
6cf10f2
Compare
hemisphere=hemisphere, | ||
is_nrt=False, | ||
) | ||
cdr_var_fieldnames = [ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh man, this list looks so NICE compared to prior versions!
config = PlatformConfig( | ||
platforms=[ | ||
Platform( | ||
id="ame", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think we're allowing AMSR-E, are we?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not yet (maybe not ever?) but the code exists to support it. This unit test just uses ame as an example.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I added some single-comments to specific locations in the code where I think we should add "TODO" statements to remind us to replace hard-coded values with configuration values.
Also, there is mention of AMSR-E at at least one place in the code. Is that OBE now?
But these are minor and should not hold up the merging of this valuable PR!
Initial code to support creating daily files with an
amsr2_prototype
subgroup for AMSR2 fields.There are still a fair number of TODOs here, but they can wait for if we have more time after adding support for daily aggregate files, monthly files, validation, and NRT.
For usage, see
make_25km_ecdr.sh
.Creating the AMSR2 files relies on setting an environment variable at import-time, which means that the code cannot run as a single process. First, daily data is produced using the default platform ranges. Then, a new process is spawned (see
cli/daily.py
) with thePLATFORM_START_DATES_CONFIG_FILEPATH
set to the prototype platform start dates config (containing just AMSR2), which produces the amsr2 fields. Finally, the files get staged for publication by combining the F17 outputs w/ AMSR2 outputs in theprototype_amsr2
group (publish_daily.py
).Longer term, a complete refactor of the code to support this scheme from foundations would be ideal. We could have a single config file with
cdr_platform_start_dates
andprototype_platform_start_dates
keys that the program would know how to parse and act accordingly without needing to spawn separate processes to access different platform configs. We don't have the time for that now, and the present approach is a byproduct of development that originally did not have this in mind (we were going to produce separate 12.5km data files for AMSR2 instead of adding it as a "prototype" group to F17 output files - just a single platform start date config).