Skip to content
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

Feature 615 gfdl tc tracking #1020

Merged
merged 26 commits into from
Jul 21, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
04947b5
started to implement new wrapper
Jul 6, 2021
0964a52
simplified command runner logic
Jul 7, 2021
88e1631
more progress on implementing GFDL tracker wrapper
Jul 7, 2021
d093104
started making nml file configurable
georgemccabe Jul 8, 2021
bd18f4a
implement logic to read config values and replace values in the templ…
georgemccabe Jul 12, 2021
b128ca3
properly handle if value of boolean config variable is "y" or "n"
georgemccabe Jul 12, 2021
271b259
replace values with time info, fixed call to function that removes qu…
georgemccabe Jul 12, 2021
d012c5e
handle string variable that does not have quotes around the value
georgemccabe Jul 12, 2021
8e4ec8d
added support for using a wildcard for finding the forecast leads to use
Jul 12, 2021
f892d63
remove sym links after running tracker
Jul 13, 2021
005c700
clean up conf file
Jul 13, 2021
07a3689
changed default env argument to gempak
georgemccabe Jul 14, 2021
e576f2d
added gfdl docker file for running use cases and renamed docker files…
georgemccabe Jul 14, 2021
acd6b66
changed default env tag to gempak
georgemccabe Jul 14, 2021
d2352fc
added Dockerfile to build GFDL Tracker and added instructions on how …
georgemccabe Jul 14, 2021
ec47cc0
changed logic so that directory containing GFDL tracker executables d…
georgemccabe Jul 14, 2021
3618dc7
added placeholder path for GFDL Tracker exec directory to defaults.co…
georgemccabe Jul 14, 2021
3415683
set config variable used in testing to find GFDL tracker exes
georgemccabe Jul 14, 2021
6d6b60c
added new use case to automated tests
georgemccabe Jul 14, 2021
cb1a848
added newline
georgemccabe Jul 15, 2021
c8275bf
started adding documentation for new wrapper
georgemccabe Jul 15, 2021
b1322b2
merge develop and resolve conflicts
georgemccabe Jul 21, 2021
f069df3
moved new use case into another group that is not marked as new
georgemccabe Jul 21, 2021
122efd3
added glossary entries for new config variables
georgemccabe Jul 21, 2021
c488087
removed unused variables
georgemccabe Jul 21, 2021
cbb1496
added info about how METplus config variables correspond to template …
georgemccabe Jul 21, 2021
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
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
ARG METPLUS_ENV_TAG=metplus_base
ARG METPLUS_ENV_TAG=gempak
ARG METPLUS_IMG_TAG=develop

FROM dtcenter/metplus-envs:${METPLUS_ENV_TAG} as env
Expand Down
11 changes: 11 additions & 0 deletions .github/actions/run_tests/Dockerfile.run_gfdl
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
ARG METPLUS_ENV_TAG=gfdl-tracker
ARG METPLUS_IMG_TAG=develop

FROM dtcenter/metplus-envs:${METPLUS_ENV_TAG} as env

ARG METPLUS_IMG_TAG=develop
FROM dtcenter/metplus-dev:${METPLUS_IMG_TAG}

COPY --from=env /usr/local/lib/libnetcdf.so.19* /usr/local/lib/
COPY --from=env /usr/local/lib/libnetcdff* /usr/local/lib/
COPY --from=env /standalone_gfdl-vortextracker_v3.9a_gcc/trk_exec/* /usr/local/bin/
9 changes: 5 additions & 4 deletions .github/jobs/setup_and_run_use_cases.py
Original file line number Diff line number Diff line change
Expand Up @@ -70,11 +70,12 @@ def main():
else:
env_tag = 'metplus_base'

# get Dockerfile to use (gempak if using gempak)
# get Dockerfile to use
dockerfile_name = 'Dockerfile.run'
if 'gempak' in str(requirements).lower():
dockerfile_name = 'Dockerfile.gempak'
else:
dockerfile_name = 'Dockerfile.run'
dockerfile_name = f'{dockerfile_name}_gempak'
elif 'gfdl' in str(requirements).lower():
dockerfile_name = f'{dockerfile_name}_gfdl'

docker_build_cmd = (
f"docker build -t {run_tag} "
Expand Down
5 changes: 4 additions & 1 deletion .github/parm/test_settings.conf
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,7 @@ LOG_METPLUS = {LOG_DIR}/metplus.log
LOG_TIMESTAMP_TEMPLATE =

# also set path to GempakToCF.jar for GEMPAK use cases
GEMPAKTOCF_JAR = /data/input/GempakToCF.jar
GEMPAKTOCF_JAR = /data/input/GempakToCF.jar

# also set location of GFDL Tracker executables
GFDL_TRACKER_EXEC = /usr/local/bin
2 changes: 1 addition & 1 deletion .github/parm/use_case_groups.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[
{
"category": "met_tool_wrapper",
"index_list": "0-54",
"index_list": "0-55",
"new": false
},
{
Expand Down
35 changes: 35 additions & 0 deletions ci/docker/docker_env/Dockerfile.gfdl-tracker
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
FROM dtcenter/met:10.0.0

# Needed to install GFDL Tracker
ENV LIB_Z_PATH /usr/lib64
ENV LIB_JASPER_PATH /usr/lib64
ENV LIB_PNG_PATH /usr/lib64

# Needed to install NetCDF-Fortran
ENV NCDIR /usr/local

# Install NetCDF-C 4.8.0
RUN cd / \
&& curl https://codeload.github.com/Unidata/netcdf-c/tar.gz/refs/tags/v4.8.0 --output v4.8.0.tar.gz \
&& tar zxf v4.8.0.tar.gz \
&& cd netcdf-c-4.8.0 \
&& ./configure --disable-dap \
&& make check install

# Install NetCDF-Fortran 4.5.3
RUN cd / \
&& wget https://github.com/Unidata/netcdf-fortran/archive/refs/tags/v4.5.3.tar.gz \
&& tar zxf v4.5.3.tar.gz \
&& cd netcdf-fortran-4.5.3 \
&& ./configure \
&& make check install

RUN cd / \
&& wget https://dtcenter.ucar.edu/dfiles/code/METplus/gfdl_patch/standalone_gfdl-vortextracker_v3.9a_gcc.tar.gz \
&& tar zxf standalone_gfdl-vortextracker_v3.9a_gcc.tar.gz \
&& cd standalone_gfdl-vortextracker_v3.9a_gcc \
&& unset FC && unset CC \
&& ./configure \
&& mv configure.trk-docker-gnu configure.trk \
&& ./compile 2>&1 | tee tracker.log

17 changes: 17 additions & 0 deletions ci/docker/docker_env/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,23 @@ GempakToCF.jar file that is required to run use cases that read GEMPAK data. If
this environment locally, Java should be available on the system you are running and the
JAR file should be downloaded from the DTC website.

## gfdl-tracker (using Dockerfile.gfdl-tracker)

### Docker

```
docker build -t dtcenter/metplus-envs:gfdl-tracker -f ./Dockerfile.gfdl-tracker .
docker push dtcenter/metplus-envs:gfdl-tracker
```

### Local

This environment is not a conda environment. The Dockerfile installs the GFDL
Tracker and specific versions of the NetCDF-C and NetCDF-Fortran libraries
needed to install the tools. It is not recommended to follow these instructions
to install the GFDL Tracker using these steps. Please consult the documentation
for the tool for installation instructions.


## pytest (from metplus_base)

Expand Down
Loading