Skip to content

Commit

Permalink
Merge pull request #47 from SamuelTrahanNOAA/update-rrfs-dev
Browse files Browse the repository at this point in the history
merge develop and new ifi support
  • Loading branch information
SamuelTrahanNOAA authored Jan 19, 2023
2 parents 0728f79 + 5b39f47 commit 45de18a
Show file tree
Hide file tree
Showing 70 changed files with 5,805 additions and 4,752 deletions.
19 changes: 9 additions & 10 deletions .github/workflows/gcc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,11 @@ jobs:
runs-on: ubuntu-latest

steps:
- name: checkout-upp # This is for getting spack.yaml
uses: actions/checkout@v2
with:
path: UPP

# Cache spack, compiler and dependencies
- name: cache-env
id: cache-env
Expand All @@ -42,13 +47,7 @@ jobs:
path: |
spack
~/.spack
key: spack-${{ runner.os }}-${{ env.cache_key }}

- name: checkout-upp # This is for getting spack.yaml
if: steps.cache-env.outputs.cache-hit != 'true'
uses: actions/checkout@v2
with:
path: UPP
key: spack-${{ runner.os }}-${{ env.cache_key }}-${{ hashFiles('UPP/ci/spack.yaml') }}

# Install dependencies using Spack
- name: install-dependencies-with-spack
Expand All @@ -58,11 +57,11 @@ jobs:
source spack/share/spack/setup-env.sh
spack env create upp-env UPP/ci/spack.yaml
spack env activate upp-env
spack compiler find
sudo apt install cmake
spack external find
spack add mpich@3.4.2
spack concretize
spack install --dirty -v
spack install -v --fail-fast --dirty
build:
needs: setup
Expand All @@ -81,7 +80,7 @@ jobs:
path: |
spack
~/.spack
key: spack-${{ runner.os }}-${{ env.cache_key }}
key: spack-${{ runner.os }}-${{ env.cache_key }}-${{ hashFiles('UPP/ci/spack.yaml') }}

- name: build-upp
run: |
Expand Down
21 changes: 11 additions & 10 deletions .github/workflows/intel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,12 @@ jobs:
runs-on: ubuntu-latest

steps:
- name: checkout-upp # This is for getting spack.yaml
if: steps.cache-env.outputs.cache-hit != 'true'
uses: actions/checkout@v2
with:
path: UPP

# Cache spack, compiler and dependencies
- name: cache-env
id: cache-env
Expand All @@ -45,10 +51,9 @@ jobs:
spack
~/.spack
/opt/intel
key: spack-${{ runner.os }}-${{ env.cache_key }}
key: spack-${{ runner.os }}-${{ env.cache_key }}-${{ hashFiles('UPP/ci/spack.yaml') }}

- name: install-intel-compilers
if: steps.cache-env.outputs.cache-hit != 'true'
run: |
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
Expand All @@ -57,25 +62,21 @@ jobs:
sudo apt-get install intel-oneapi-dev-utilities intel-oneapi-mpi-devel intel-oneapi-openmp intel-oneapi-compiler-fortran intel-oneapi-compiler-dpcpp-cpp-and-cpp-classic
echo "source /opt/intel/oneapi/setvars.sh" >> ~/.bash_profile
- name: checkout-upp # This is for getting spack.yaml
if: steps.cache-env.outputs.cache-hit != 'true'
uses: actions/checkout@v2
with:
path: UPP

# Install dependencies using Spack
- name: install-dependencies-with-spack
if: steps.cache-env.outputs.cache-hit != 'true'
run: |
sudo mv /usr/local/ /usr_local_mv
git clone -c feature.manyFiles=true https://github.com/NOAA-EMC/spack.git
source spack/share/spack/setup-env.sh
spack env create upp-env UPP/ci/spack.yaml
spack env activate upp-env
spack compiler find
sudo apt install cmake
spack external find
spack add intel-oneapi-mpi
spack concretize
spack install --dirty -v
spack install --dirty -v --fail-fast
build:
needs: setup
Expand All @@ -99,7 +100,7 @@ jobs:
spack
~/.spack
/opt/intel
key: spack-${{ runner.os }}-${{ env.cache_key }}
key: spack-${{ runner.os }}-${{ env.cache_key }}-${{ hashFiles('UPP/ci/spack.yaml') }}

- name: build-upp
run: |
Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,6 @@
path = sorc/ncep_post.fd/post_gtg.fd
url = https://github.com/NCAR/UPP_GTG
update = none
[submodule "sorc/libIFI.fd"]
path = sorc/libIFI.fd
url = ssh://git@github.com/NCAR/UPP_IFI
33 changes: 25 additions & 8 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -54,15 +54,32 @@ if(BUILD_WITH_GTG)
find_package(ip REQUIRED)
endif()

if(REQUIRE_IFI)
if(INTERNAL_IFI)
if(BUILD_WITH_IFI)
message(SEND_ERROR "Cannot use INTERNAL_IFI with either BUILD_WITH_IFI or REQUIRE_IFI.")
endif()
if(IFI_DIR)
message(SEND_ERROR "When INTERNAL_IFI is specified, do not set IFI_DIR.")
endif()
set(REQUIRE_IFI ON)
set(BUILD_WITH_IFI ON)
endif()

if(BUILD_WITH_IFI)
set(IFI_FOUND ON)
set(IFI_DIR ${CMAKE_INSTALL_DIR})
message(NOTICE "Building IFI inside the post.")
else()
if(REQUIRE_IFI)
find_package(IFI REQUIRED)
else()
find_package(IFI)
set(BUILD_WITH_IFI ON)
endif()

if(BUILD_WITH_IFI)
if(REQUIRE_IFI)
find_package(IFI REQUIRED)
else()
find_package(IFI)
endif()
endif()
if(IFI_FOUND)
message(NOTICE "Linking to IFI external to the post.")
endif()
endif()

Expand All @@ -88,7 +105,7 @@ if(BUILD_POSTEXEC)
endif()
endif()

if(IFI_FOUND)
if(IFI_FOUND OR INTERNAL_IFI)
message(NOTICE "Enabling USE_IFI in the post.")
add_definitions(-DUSE_IFI=1)
endif()
Expand Down
3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,7 @@ Examples of UPP products include:


## User Support
Support for the UFS UPP is provided through the [UFS Forum](https://forums.ufscommunity.org/)
by the Developmental Testbed Center (DTC).
Support for the UFS UPP is provided through [GitHub Discussions](https://github.com/NOAA-EMC/UPP/discussions).

## Documentation
User Guide for latest public release: https://upp.readthedocs.io/en/latest/.
Expand Down
4 changes: 3 additions & 1 deletion ci/spack.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@
spack:
packages:
all:
compiler: [intel, gcc]
compiler:
- intel
- gcc@10:10
specs:
- netcdf-c@4.7.4
- netcdf-fortran@4.5.3
Expand Down
12 changes: 6 additions & 6 deletions docs/AddNewVariable.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ NOAA UPP developers who wish to add new variables to the UPP, please follow the
Hui-Ya Chuang). UPP supports many NOAA operational models and we can not change operational products
without coordination and advanced notices.

We encourage non NOAA UPP developers to contact the Developmental Testbed Center (DTC) via the UPP
`forum <https://forums.ufscommunity.org/forum/post-processing>`_ to make them aware of modifications you
We encourage non NOAA UPP developers to contact EPIC via
`GitHub Discussions <https://github.com/NOAA-EMC/UPP/discussions>`_ to make them aware of modifications you
are making. In some cases, if they determine the changes you are making may be relevant for operational
and/or community purposes, they will be interested in incorporating your changes into the code base for
support and future release. We would then work with you to make this possible.
Expand All @@ -40,20 +40,20 @@ with examples in the sections below.

1. If no (not available in the NCEP Grib2 Table)

a. NOAA users can email Boi.Vuong@noaa.gov with the following information for your new
a. NOAA users can email Andrew.Benjamin@noaa.gov with the following information for your new
variable: variable definition, unit, and what Grib2 discipline and category you think this
variable should belong to. Boi will define your new variable in the `NCEP Grib2 Table
variable should belong to. Andrew will define your new variable in the `NCEP Grib2 Table
<https://www.nco.ncep.noaa.gov/pmb/docs/grib2/grib2_doc/grib2_table4-2.shtml>`_ and
inform you of the Grib2 discipline and category numbers you should use.

b. Contact with Boi to update parm/params_grib2_tbl_new.text with your new variable and
b. Contact with Andrew to update parm/params_grib2_tbl_new.text with your new variable and
generate a params_grib2_tbl_new which lists in alphabetical order to improve post
processing efficiency.

c. Save new params_grib2_tbl_new.text and params_grib2_tbl_new under parm/ of your UPP
working version.

d. Other users please coordinate through the DTC for the above three steps.
d. Other users please coordinate through EPIC for the above three steps.

e. Add a new entry in post_avblflds.xml with your new variable, then follow step B), then step 2)
and beyond. You should assign a new UPP ID for your new variable.
Expand Down
2 changes: 1 addition & 1 deletion docs/CodeOverview.rst
Original file line number Diff line number Diff line change
Expand Up @@ -30,4 +30,4 @@ Examples of UPP products include:

A full list of fields that can be generated by the UPP is provided in :doc:`UPP_GRIB2_Table`.

Support for the community UPP is provided through the `UFS Forum <https://forums.ufscommunity.org/>`_.
Support for the community UPP is provided through `GitHub Discussions <https://github.com/NOAA-EMC/UPP/discussions>`_.
Binary file not shown.
Binary file added fix/Breadboard/2.5km_climo_snoden_fall-SON.grb
Binary file not shown.
Binary file not shown.
Binary file added fix/Breadboard/2.5km_climo_snoden_spring-MAM.grb
Binary file not shown.
Binary file not shown.
Binary file added fix/Breadboard/2.5km_climo_snoden_winter-DJF.grb
Binary file not shown.
43 changes: 43 additions & 0 deletions fix/Breadboard/Breadboard1.nsw
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
// Weights saved from breadboard C:\MY DOCUMENTS\BREADBOARD1R.NSB.
// Saved after epoch 1, exemplar 0.

#NSWeightFileVersion 225

#inputFile File
7
1.077844262123108e+000 -1.778443008661270e-001
2.295625507831574e-001 6.163756549358368e-002
2.081887423992157e-001 6.210270524024963e-001
3.646677434444428e-001 1.214343756437302e-001
2.430133521556854e-001 3.004860281944275e-001
1.935067623853684e-001 4.185551702976227e-001
1.962280571460724e-001 -4.804643988609314e-001
0

#inputAxon Axon
7 1
1
0

#hidden1Axon TanhAxon
40 1
1
40 -1.150484442710877e+000 -1.461968779563904e+000 1.349107265472412e+000 6.686212420463562e-001 -8.486616015434265e-001 -1.908162593841553e+000 -1.514992356300354e+000 -1.632351636886597e+000 -1.794843912124634e+000 1.354879975318909e+000 1.389558911323547e+000 1.464104652404785e+000 1.896052122116089e+000 1.401677846908569e+000 1.436681509017944e+000 -1.590880393981934e+000 -1.070504426956177e+000 2.047163248062134e+000 1.564107656478882e+000 1.298712372779846e+000 -1.316817998886108e+000 -1.253177642822266e+000 -1.392926216125488e+000 7.356406450271606e-001 1.594561100006104e+000 -1.532955884933472e+000 -1.021214842796326e+000 1.341110348701477e+000 6.124811172485352e-001 1.415654063224793e+000 -8.509962558746338e-001 1.753035664558411e+000 6.275475621223450e-001 1.482843875885010e+000 1.326028347015381e+000 1.641556143760681e+000 1.339018464088440e+000 -1.374068379402161e+000 -1.220067739486694e+000 1.714797854423523e+000

#outputAxon SoftMaxAxon
3 1
1
3 0.000000000000000e+000 0.000000000000000e+000 0.000000000000000e+000

#hidden1Synapse FullSynapse
280 -4.612099826335907e-001 -3.177818655967712e-001 -2.800635099411011e-001 -6.984808295965195e-002 6.583837419748306e-002 -5.769817233085632e-001 3.955098092556000e-001 -1.624705344438553e-001 -2.889076173305512e-001 -9.411631226539612e-001 -5.058886408805847e-001 -3.110982775688171e-001 -3.723000884056091e-001 8.419776558876038e-001 2.598794996738434e-001 -1.364605724811554e-001 9.416468143463135e-001 -4.025689139962196e-002 4.176554381847382e-001 1.196979433298111e-001 -3.846398293972015e-001 -1.414917409420013e-001 -2.344214916229248e+000 -3.556166291236877e-001 -7.762963771820068e-001 -1.243659138679504e+000 4.907984733581543e-001 -1.891903519630432e+000 -5.802390575408936e-001 -5.546363592147827e-001 -4.520095884799957e-001 -2.473797500133514e-001 -7.757837772369385e-001 -5.350160598754883e-001 1.817676275968552e-001 -1.932217180728912e-001 5.944451093673706e-001 -6.568105518817902e-002 -1.562235504388809e-001 4.926294833421707e-002 -6.931540369987488e-001 7.082754969596863e-001 -3.878217563033104e-002 5.063381195068359e-001 -7.642447352409363e-001 -2.539043128490448e-001 -4.328470230102539e-001 -4.773662984371185e-001 6.699458956718445e-001 -1.670347154140472e-001 6.986252665519714e-001 -6.806275844573975e-001 1.059119179844856e-001 5.320579931139946e-002 -4.806780517101288e-001 7.601988911628723e-001 -1.864496916532517e-001 -3.076690435409546e-001 -6.505665779113770e-001 7.355872541666031e-002 -4.033335149288178e-001 -2.168276757001877e-001 5.354191064834595e-001 2.991014420986176e-001 4.275756180286408e-001 6.465418934822083e-001 -1.401910781860352e-001 5.381527543067932e-001 9.247279167175293e-001 -3.687029778957367e-001 6.354923844337463e-001 -1.423558890819550e-001 9.430686831474304e-001 1.187003701925278e-001 5.426434278488159e-001 7.573884129524231e-001 3.361994773149490e-002 3.300542756915093e-002 -4.439333379268646e-001 5.953744649887085e-001 3.412617444992065e-001 1.421828866004944e-001 5.224847793579102e-001 -8.267756700515747e-001 5.009499788284302e-001 2.736742198467255e-001 8.603093624114990e-001 9.373022615909576e-002 1.714528501033783e-001 9.114132076501846e-002 -1.638108491897583e-001 5.879403948783875e-001 5.585592240095139e-003 8.149939179420471e-001 -1.340572237968445e-001 3.880683779716492e-001 3.857498764991760e-001 -8.105239868164063e-001 5.239543914794922e-001 7.420576363801956e-002 7.694411277770996e-001 -3.954831138253212e-002 5.615213513374329e-001 4.560695886611939e-001 -5.006425976753235e-001 -4.725854694843292e-001 5.887325108051300e-002 -3.199687898159027e-001 -5.229111015796661e-002 -6.034490466117859e-001 -8.414428234100342e-001 1.826022863388062e-001 -6.954011321067810e-001 -5.277091860771179e-001 -9.834931492805481e-001 -2.964940369129181e-001 1.752081327140331e-002 -2.412298470735550e-001 5.861807465553284e-001 3.650662600994110e-001 -1.846716850996018e-001 3.277707397937775e-001 1.213769540190697e-001 1.398152709007263e-001 1.624975651502609e-001 -7.172397375106812e-001 -4.065496101975441e-002 -1.131931394338608e-001 7.050336003303528e-001 3.453079611063004e-002 5.642467141151428e-001 7.171959280967712e-001 -3.295499980449677e-001 5.192958116531372e-001 7.558688521385193e-001 6.164067387580872e-001 -1.597565859556198e-001 1.512383669614792e-001 5.231227278709412e-001 -2.199545800685883e-001 -3.987313508987427e-001 -9.710572957992554e-001 -4.689137935638428e-001 -4.037811756134033e-001 -4.528387784957886e-001 -4.784810543060303e-001 1.759306043386459e-001 7.449938654899597e-001 1.120681285858154e+000 -5.609570741653442e-001 1.393345594406128e+000 1.374282408505678e-002 -2.458193153142929e-001 1.237058401107788e+000 -4.854794219136238e-002 -6.664386391639710e-001 -8.786886334419251e-001 -3.208510577678680e-001 -4.315690398216248e-001 -5.186472535133362e-001 -2.117208093404770e-001 8.998587727546692e-002 7.763032317161560e-001 1.078992128372192e+000 3.667660653591156e-001 5.805531740188599e-001 1.517073512077332e-001 9.344519972801209e-001 3.396262824535370e-001 2.450248003005981e-001 9.134629368782044e-001 7.127542048692703e-002 -1.287281513214111e-001 3.953699469566345e-001 -4.097535610198975e-001 -5.983641743659973e-001 4.500437378883362e-001 -8.147508651018143e-002 -7.916551083326340e-002 -1.505649089813232e-001 -1.703914403915405e-001 1.294612526893616e+000 -4.859757721424103e-001 -1.034098416566849e-001 -6.859915256500244e-001 4.521823674440384e-002 3.100419938564301e-001 -9.373775720596314e-001 5.841451883316040e-001 7.020491957664490e-001 -1.681403964757919e-001 6.397892832756043e-001 1.168430075049400e-001 4.124156236648560e-001 5.404921174049377e-001 -3.311195969581604e-001 -3.494578003883362e-001 1.379718184471130e+000 2.731607258319855e-001 5.512273311614990e-001 2.997024357318878e-001 3.475511670112610e-001 6.777516603469849e-001 1.471205204725266e-001 1.011002138257027e-001 8.974244594573975e-001 8.688372373580933e-002 4.767233729362488e-001 9.785303473472595e-001 -2.200428694486618e-001 -6.173372268676758e-001 -8.801369071006775e-001 -1.111719012260437e+000 -3.223371803760529e-001 -6.491173505783081e-001 -3.894545435905457e-001 -2.843862473964691e-001 7.331426739692688e-001 -3.287445753812790e-002 -5.741032306104899e-003 6.212961673736572e-001 3.749484941363335e-002 6.244438700377941e-003 -6.228777766227722e-001 -4.667133837938309e-002 2.016694307327271e+000 2.834755480289459e-001 6.229624748229981e-001 6.552317738533020e-001 -9.771268069744110e-002 7.506207823753357e-001 6.942567825317383e-001 -1.662521809339523e-001 3.003259599208832e-001 -2.531996071338654e-001 2.399661689996719e-001 5.109554529190064e-001 -7.031706571578980e-001 2.836774885654450e-001 4.888223409652710e-001 1.384589523077011e-001 -3.524579405784607e-001 -2.050135582685471e-001 1.160808563232422e+000 -4.008938968181610e-001 1.656456440687180e-001 -5.116114616394043e-001 8.800522685050964e-001 6.836380064487457e-002 -5.902936309576035e-002 5.672354102134705e-001 -7.219299674034119e-001 3.463289514183998e-002 -1.044675827026367e+000 -8.341925591230393e-002 -3.036961853504181e-001 -5.605638027191162e-001 5.722484588623047e-001 -1.604338049888611e+000 -5.696258544921875e-001 -2.531512081623077e-001 -4.675458073616028e-001 -6.486019492149353e-001 -2.437075823545456e-001 -2.898264527320862e-001 3.836293518543243e-001 4.061043560504913e-001 3.909072279930115e-001 -8.113911151885986e-001 1.260317683219910e+000 -3.924282491207123e-001 3.586370870471001e-002 7.703443765640259e-001 6.714462637901306e-001 -4.909946396946907e-002 3.536651730537415e-001 1.900762617588043e-001 3.638494014739990e-001 2.248179465532303e-001 -6.255846619606018e-001

#outputSynapse FullSynapse
120 -4.825605154037476e-001 -1.119017243385315e+000 5.116804838180542e-001 -6.694142222404480e-001 -5.718530416488648e-001 -7.233589291572571e-001 -8.200560212135315e-001 -6.121573448181152e-001 -1.034205436706543e+000 1.015549778938294e+000 1.183975338935852e+000 5.342597365379334e-001 1.186208128929138e+000 7.657266259193420e-001 9.990772604942322e-001 -1.051267385482788e+000 -7.288008332252502e-001 9.447612762451172e-001 6.943449974060059e-001 5.248318314552307e-001 -1.042970657348633e+000 -4.857340827584267e-004 -8.969252705574036e-001 5.206210613250732e-001 7.825390100479126e-001 -3.175100982189179e-001 -7.697273492813110e-001 3.042222857475281e-001 7.400255203247070e-001 1.082547545433044e+000 -1.058874249458313e+000 3.296852707862854e-001 9.955985546112061e-001 7.361931800842285e-001 8.618848919868469e-001 7.109408378601074e-001 1.148022636771202e-001 -6.803723573684692e-001 -4.462003335356712e-002 7.384030222892761e-001 -2.215545326471329e-001 -8.702403903007507e-001 8.234908580780029e-001 6.819239258766174e-001 -4.687527120113373e-001 -6.959788203239441e-001 -6.105158329010010e-001 -7.225347757339478e-001 -7.860832810401917e-001 5.608791112899780e-001 9.937217235565186e-001 6.797130703926086e-001 8.231667280197144e-001 1.115462303161621e+000 5.290299654006958e-001 -4.602016210556030e-001 -5.394889116287231e-001 1.053055644035339e+000 9.533493518829346e-001 8.694807887077332e-001 -4.802323281764984e-001 -1.070514082908630e+000 -8.236010670661926e-001 7.932062149047852e-001 1.111655592918396e+000 -1.025945305824280e+000 -2.268178462982178e-001 6.432797908782959e-001 2.442117929458618e-001 7.986634969711304e-001 -3.561095297336578e-001 1.058865070343018e+000 6.459046602249146e-001 4.042869210243225e-001 2.976681292057037e-002 1.033244490623474e+000 9.110773205757141e-001 -6.528528332710266e-001 -8.971995115280151e-001 1.046785235404968e+000 -5.487565994262695e-001 -1.033755183219910e+000 5.164890289306641e-001 1.108534336090088e+000 -2.507440149784088e-001 -1.150385260581970e+000 -1.040475010871887e+000 -1.114320755004883e+000 -9.695596694946289e-001 9.147439599037170e-001 3.035557866096497e-001 1.044997453689575e+000 1.059857130050659e+000 7.304399013519287e-001 1.102171182632446e+000 -9.304327964782715e-001 -5.997116565704346e-001 1.120478868484497e+000 6.444569826126099e-001 2.137384265661240e-001 -4.117920994758606e-001 -1.000458717346191e+000 -2.041520774364471e-001 -1.859422773122788e-001 3.711319267749786e-001 -9.141649603843689e-001 -7.499164938926697e-001 9.900025129318237e-001 -2.189985066652298e-001 8.942219614982605e-001 -3.195305764675140e-001 6.445295810699463e-001 -2.110123336315155e-001 9.763143658638001e-001 8.833498954772949e-001 1.071311354637146e+000 1.134591102600098e+000 -4.175429344177246e-001 -6.000540852546692e-001 7.281569838523865e-001

#activeOutputProbe DataWriter
3
8.999999761581421e-001 5.000000074505806e-002
8.999999761581421e-001 5.000000074505806e-002
8.999999761581421e-001 5.000000074505806e-002

Loading

0 comments on commit 45de18a

Please sign in to comment.