Skip to content
Open
Show file tree
Hide file tree
Changes from 42 commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
883cda3
initial pass at raw_data
randytpierce May 4, 2024
e2568ef
initial pass at reading raw data structure
randytpierce May 4, 2024
91d2d0e
continued work on prepbufrbuilder and sample ingest.json and job.json
randytpierce May 7, 2024
c7c6eb6
prepbufr tests passing for raw data
randytpierce May 10, 2024
02e1032
update README
randytpierce May 10, 2024
fa9b135
make the mnemonic_mapping template suitable for Couchbase
randytpierce May 10, 2024
cdb139a
create the mnemonic_mapping template and add it to the ingest document
randytpierce May 10, 2024
5381341
prepbufr int test running
randytpierce May 31, 2024
b079929
make raw and interpolated reports more concise by only including the …
randytpierce May 31, 2024
d444bef
don't float the stationName
randytpierce Jun 3, 2024
fbf552d
checkpoint for investigating build issue from Bill
randytpierce Jul 10, 2024
4de94a4
checkpoint - tests run but wrong data
randytpierce Jul 11, 2024
65bcfdb
test working but still have "None" in some output
randytpierce Jul 25, 2024
fe21e7f
tests pass
randytpierce Jul 26, 2024
4246acf
unit testing
randytpierce Jul 29, 2024
8b61786
clean up tests, reformat directories, add parsing option for reports
randytpierce Jul 31, 2024
72793df
documentation cleanup
randytpierce Jul 31, 2024
b43bb43
update doc and modify third party for new library build
randytpierce Jul 31, 2024
f552e02
Update src/vxingest/grib2_to_cb/grib_builder.py
randytpierce Aug 2, 2024
11c6e16
Update src/vxingest/prepbufr_to_cb/README.md
randytpierce Aug 2, 2024
de8851a
Update src/vxingest/prepbufr_to_cb/README.md
randytpierce Aug 2, 2024
1c8040a
Update src/vxingest/prepbufr_to_cb/README.md
randytpierce Aug 2, 2024
c4ab35a
PR changes
randytpierce Aug 2, 2024
22470a1
Merge branch 'implement_prepbufr_RaobsObsBuilder_185' of https://gith…
randytpierce Aug 2, 2024
bf2fc48
PR changes per review
randytpierce Aug 2, 2024
30c05a1
PR changes
randytpierce Aug 2, 2024
7b92c08
Merge branch 'main' into implement_prepbufr_RaobsObsBuilder_185 clean…
randytpierce Aug 2, 2024
aaa7bf0
format and spelling fixes
randytpierce Aug 2, 2024
3107305
fixing lint problems
randytpierce Aug 2, 2024
0b6521b
Update ci.yml
randytpierce Aug 5, 2024
d4b83f7
update poetry.lock
randytpierce Aug 5, 2024
ef2a94c
Merge branch 'implement_prepbufr_RaobsObsBuilder_185' of https://gith…
randytpierce Aug 5, 2024
c5a3119
build x86_64 wheel, and add poetry to build.sh
randytpierce Aug 5, 2024
54f47da
add mysql-connector (used for generating reports)
randytpierce Aug 5, 2024
9ce03c3
changed third party pyproject numpy depedency version from 1 to 2
randytpierce Aug 5, 2024
8afba60
had to delete x86 mac third_party/NCEPLIBSbufr wheel because of downg…
randytpierce Aug 5, 2024
65cb9d8
clear poetry cache and rebuild nceplibsbufr
randytpierce Aug 5, 2024
22aaf45
fix platform dependency for poetry ncepbufr module and add wobus rh c…
randytpierce Aug 6, 2024
767749d
q_marker changes to builder, additional tests, PR changes
randytpierce Aug 21, 2024
c1c141a
baxk merging from main
randytpierce Sep 17, 2024
c7c573b
committing so that I can back merge
randytpierce Sep 25, 2024
618f040
backmerge from main and make tests work - finish prepbufrBuilder
randytpierce Oct 7, 2024
dc9b327
fixing test errors
randytpierce Oct 9, 2024
59bacfe
dissallowing specific stations from test after analysis.
randytpierce Oct 28, 2024
728168a
dissallowing specific stations after analysis
randytpierce Oct 28, 2024
0f06558
small test changes
randytpierce Oct 28, 2024
c6f429e
add ing comments
randytpierce Oct 28, 2024
854fd18
format and lint changes
randytpierce Oct 28, 2024
a270e0f
choose a recent CTC to compare
randytpierce Oct 28, 2024
930d7d7
add README with analysis notes
randytpierce Oct 28, 2024
c67183d
checkpoint
randytpierce Mar 4, 2025
4b4f702
integrating changes from further development on main
randytpierce May 14, 2025
1ce047f
integrating - catching up to - main
randytpierce May 14, 2025
a756501
going through review comments and problems.
randytpierce May 14, 2025
9580f98
sepearting test cases and classes for RAOB grib builders
randytpierce May 15, 2025
804b064
merging changes from main
randytpierce May 19, 2025
783d568
revert to metpy 1.7.0
randytpierce May 20, 2025
57f62a2
adding raob_model_native_builder.py
randytpierce May 27, 2025
8ef48d7
merge issue
randytpierce May 27, 2025
70e4cb8
Merge remote-tracking branch 'origin/main' into implement_prepbufr_Ra…
randytpierce May 27, 2025
cea4da8
formatting
randytpierce May 27, 2025
8265573
working on problem with new 12.2 NCEPLIBS - and poetry changes for la…
randytpierce Jun 4, 2025
7bdec40
Merge branch 'main' into implement_prepbufr_RaobsObsBuilder_185
randytpierce Jun 4, 2025
4ff7b47
catching up to changes on main
randytpierce Jun 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,10 @@ jobs:
run: pipx install poetry
- uses: actions/setup-python@v5
with:
python-version: "3.11"
python-version: "3.12"
- name: Install dependencies
run: |
poetry env use 3.11
poetry env use 3.12
poetry install
- name: Format with Ruff
run: poetry run ruff format --check src tests
Expand All @@ -42,10 +42,10 @@ jobs:
run: pipx install poetry
- uses: actions/setup-python@v5
with:
python-version: "3.11"
python-version: "3.12"
- name: Install dependencies
run: |
poetry env use 3.11
poetry env use 3.12
poetry install
- name: Unit test with pytest
run: |
Expand Down
2 changes: 1 addition & 1 deletion docker/import/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ RUN groupadd --gid ${ID} ${USERNAME} && \
RUN apt-get update && apt-get upgrade -y && \
# Install runtime deps for the script
apt-get install -y curl jq && \
apt-get clean && rm -rf /var/lib/apt/lists/*
apt-get clean && rm -rf /var/lib/apt/lists/*

WORKDIR /app

Expand Down
6 changes: 3 additions & 3 deletions docker/ingest/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ FROM python:3.11-slim-bookworm AS builder
RUN apt-get update && \
# cftime build deps
apt-get install -y build-essential && \
apt-get clean && rm -rf /var/lib/apt/lists/*
apt-get clean && rm -rf /var/lib/apt/lists/*

# Make sure the python tooling is up-to-date for when it's copied into the prod layer
RUN pip install --no-cache-dir --upgrade pip setuptools wheel
Expand Down Expand Up @@ -40,7 +40,7 @@ RUN poetry install


# The runtime image, used for running just the application with its dependencies
FROM python:3.11-slim-bookworm AS prod
FROM python:3.12-slim-bookworm AS prod

ARG COMMITBRANCH=development
ARG COMMITSHA=unspecified
Expand Down Expand Up @@ -76,7 +76,7 @@ RUN groupadd --gid ${ID} ${USERNAME} && \

# Run OS updates
RUN apt-get update && apt-get upgrade -y && \
apt-get clean && rm -rf /var/lib/apt/lists/*
apt-get clean && rm -rf /var/lib/apt/lists/*

# Copy just the vxingest app
COPY ./src/ /app/
Expand Down
18 changes: 13 additions & 5 deletions mats_metadata_and_indexes/metadata_files/README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
# MATS metadata and ingest documents

The system relies on a couple of kinds of metadata. Ingest builders use ingest documents to control how an output document is created from its input source. The running system relies on various metadata documents to define what data is available and how it should be repesented in a GUI interface.
The system relies on a couple of kinds of metadata. Ingest builders use ingest documents to control how an output document is created from its input source. The running system relies on various metadata documents to define what data is available and how it should be represented in a GUI interface.

## Ingest documents

Ingest documents contain templates that define how a builder should assemble an out document.
Ingest documents contain templates that define how a builder should assemble an output document.

### ingest document Example

NOTE: prepbufr ingest documents have an extra element called "mnemonic_mapping" that maps prepbufr mnemonics to the template variables. This extra step is necessary because prepbufr fields can vary due to an associated program code.
For example a program code of 1 is an initial value and a program code of 8 is a virtual value. The template.mnemonic_mapping section specifies whether the event program code is meaningful and which program code value is desired. Refer to the prepbufr [README.md](https://github.com/NOAA-GSL/VxIngest/blob/72793df75696ef711d79553a82be3b8a6c04653c/src/vxingest/prepbufr_to_cb/README.md) for a complete example and explanation of the prepbufr ingest template.

This is the contents of "MD:V01:METAR:obs:ingest:netcdf". If
you intend to use a metadata ingest document you must either
be certain that it already exists or you must create it.
Expand Down Expand Up @@ -62,11 +65,15 @@ be certain that it already exists or you must create it.
}
```

### Ingest Template DSL

Ingest templates implement a simple DSL (Domain specific Language) described here for a netcdf builder. The same syntax applies to all builder classes.

The line
```"builder_type": "NetcdfObsBuilderV01"```
defines a python class. These builder classes are defined
in the [netcdf_to_cb/netcdf_builder.py](https://github.com/NOAA-GSL/VxIngest/blob/main/netcdf_to_cb/netcdf_builder.py) file. This class will interpret the
load_spec and ingest data from a set of netcdf files retrieved from the path.
ingest data from a set of netcdf files retrieved from the path.
Whether the entire result set is combined into one document or multiple documents depends on the "builder_type".
In this example the "NetcdfObsBuilderV01" combines all
the data into one document with the data fields ingested as top level
Expand Down Expand Up @@ -113,8 +120,8 @@ def ceiling_transform(self, params_dict):
The named function routine processes a named function entry from a template.
The '_named_function_def' looks like "&named_function|*field1,*field2,*field3..."
where "named_function" is the literal function name of a defined function.
The name of the function and the function parameters are seperated by a "|" and
the parameters are seperated by a ','.
The name of the function and the function parameters are separated by a "|" and
the parameters are separated by a ','.
It is expected that field1, field2, and field3 etc are all valid variable names or constants.
Each non constant field will be translated from the netcdf file into value1, value2 etc. Each
constant will be positioned as is in the output document.
Expand Down Expand Up @@ -355,3 +362,4 @@ Running the script is pretty straightforward. cd to the root of the vxingest loc
```

where credentials_file is the actual credentials file (full path). The script imports the document that you checked in. Typically this script is run automatically when the ingest is triggered.

Loading