Skip to content

Commit

Permalink
Merge branch 'develop' into feature/NickE_gpsro_bufr
Browse files Browse the repository at this point in the history
  • Loading branch information
Nicholas Esposito authored and Nicholas Esposito committed Oct 26, 2023
2 parents b30bd61 + 98090be commit 337baa9
Show file tree
Hide file tree
Showing 53 changed files with 2,292 additions and 2,668 deletions.
3 changes: 3 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,9 @@ if(BUILD_GDASBUNDLE)
ecbuild_bundle( PROJECT oops GIT "https://github.com/jcsda/oops.git" BRANCH develop)
ecbuild_bundle( PROJECT vader GIT "https://github.com/jcsda/vader.git" BRANCH develop )
ecbuild_bundle( PROJECT saber GIT "https://github.com/jcsda/saber.git" BRANCH develop )
option(ENABLE_IODA_DATA "Obtain ioda test data from ioda-data repository (vs tarball)" ON)
ecbuild_bundle( PROJECT ioda GIT "https://github.com/jcsda/ioda.git" BRANCH develop )
option(ENABLE_UFO_DATA "Obtain ufo test data from ufo-data repository (vs tarball)" ON)
ecbuild_bundle( PROJECT ufo GIT "https://github.com/jcsda/ufo.git" BRANCH develop )

# FMS and FV3 dynamical core
Expand All @@ -87,6 +89,7 @@ if(BUILD_GDASBUNDLE)
# fv3-jedi and associated repositories
ecbuild_bundle( PROJECT femps GIT "https://github.com/jcsda/femps.git" BRANCH develop )
ecbuild_bundle( PROJECT fv3-jedi-lm GIT "https://github.com/jcsda/fv3-jedi-linearmodel.git" BRANCH develop )
option(ENABLE_FV3_JEDI_DATA "Obtain fv3-jedi test data from fv3-jedi-data repository (vs tarball)" ON)
ecbuild_bundle( PROJECT fv3-jedi GIT "https://github.com/jcsda/fv3-jedi.git" BRANCH develop )

# SOCA associated repositories
Expand Down
6 changes: 6 additions & 0 deletions build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,12 @@ mkdir -p ${BUILD_DIR} && cd ${BUILD_DIR}
WORKFLOW_BUILD=${WORKFLOW_BUILD:-"OFF"}
CMAKE_OPTS+=" -DWORKFLOW_TESTS=${WORKFLOW_BUILD}"

# JCSDA changed test data things, need to make a dummy CRTM directory
if [[ $BUILD_TARGET == 'hera' ]]; then
mkdir -p $dir_root/test-data-release/
ln -sf $GDASAPP_TESTDATA/crtm $dir_root/test-data-release/crtm
fi

# Configure
echo "Configuring ..."
set -x
Expand Down
1 change: 0 additions & 1 deletion gdas-utils

This file was deleted.

30 changes: 15 additions & 15 deletions modulefiles/GDAS/hera.lua
Original file line number Diff line number Diff line change
Expand Up @@ -6,46 +6,44 @@ local pkgName = myModuleName()
local pkgVersion = myModuleVersion()
local pkgNameVer = myModuleFullName()

conflict(pkgName)

prepend_path("MODULEPATH", '/scratch1/NCEPDEV/nems/role.epic/spack-stack/spack-stack-1.3.1/envs/unified-env/install/modulefiles/Core')
prepend_path("MODULEPATH", '/scratch1/NCEPDEV/nems/role.epic/spack-stack/spack-stack-1.5.0/envs/unified-env/install/modulefiles/Core')
prepend_path("MODULEPATH", '/scratch1/NCEPDEV/da/python/opt/modulefiles/stack')

-- below two lines get us access to the spack-stack modules
load("stack-intel/2021.5.0")
load("stack-intel-oneapi-mpi/2021.5.1")
-- JCSDA has 'jedi-fv3-env/unified-dev', but we should load these manually as needed
load("cmake/3.23.1")
load("curl/7.29.0")
load("gettext/0.19.8.1")
load("libunistring/0.9.10")
load("libidn2/2.3.0")
load("libunistring/1.1")
load("libidn2/2.3.4")
load("pcre2/10.42")
load("curl/7.29.0")
load("zlib/1.2.13")
load("git/2.38.1")
load("git/2.40.0")
load("pkg-config/0.27.1")
load("hdf5/1.12.2")
load("hdf5/1.14.0")
load("parallel-netcdf/1.12.2")
load("netcdf-c/4.9.2")
load("nccmp/1.9.0.1")
load("netcdf-fortran/4.6.0")
load("nco/5.0.6")
load("parallelio/2.5.9")
load("parallelio/2.5.10")
load("wget/1.14")
load("boost/1.78.0")
load("bufr/11.7.1")
load("bufr/12.0.0")
load("git-lfs/2.10.0")
load("ecbuild/3.7.2")
load("openjpeg/2.3.1")
load("eccodes/2.27.0")
load("eigen/3.4.0")
load("openblas/0.3.19")
load("eckit/1.23.0")
load("eckit/1.24.4")
load("fftw/3.3.10")
load("fckit/0.10.1")
load("fiat/1.1.0")
load("fckit/0.11.0")
load("fiat/1.2.0")
load("ectrans/1.2.0")
load("atlas/0.33.0")
load("atlas/0.34.0")
load("sp/2.3.3")
load("gsl-lite/0.37.0")
load("libjpeg/2.1.0")
Expand All @@ -55,7 +53,7 @@ load("hdf/4.2.15")
load("jedi-cmake/1.4.0")
load("libpng/1.6.37")
load("libxt/1.1.5")
load("libxmu/1.1.2")
load("libxmu/1.1.4")
load("libxpm/4.11.0")
load("libxaw/1.0.13")
load("udunits/2.2.28")
Expand All @@ -67,6 +65,8 @@ load("py-pybind11/2.8.1")
load("rocoto/1.3.3")

load("hpc/1.2.0")
unload("python/3.10.8")
unload("python/3.9.2")
load("miniconda3/4.6.14")
load("gdasapp/1.0.0")

Expand Down
31 changes: 16 additions & 15 deletions modulefiles/GDAS/orion.lua
Original file line number Diff line number Diff line change
@@ -1,46 +1,45 @@
-- NOAA HPC Orion Modulefile for GDASApp
help([[
Load environment for running the GDAS application with Intel compilers and MPI.
]])

local pkgName = myModuleName()
local pkgVersion = myModuleVersion()
local pkgNameVer = myModuleFullName()

prepend_path("MODULEPATH", '/work/noaa/epic-ps/role-epic-ps/spack-stack/spack-stack-1.3.1/envs/unified-env/install/modulefiles/Core')

prepend_path("MODULEPATH", '/work/noaa/epic/role-epic/spack-stack/orion/spack-stack-1.5.0/envs/unified-env/install/modulefiles/Core')
prepend_path("MODULEPATH", '/work2/noaa/da/python/opt/modulefiles/stack')

-- below two lines get us access to the spack-stack modules
load("stack-intel/2022.0.2")
load("stack-intel-oneapi-mpi/2021.5.1")
-- JCSDA has 'jedi-fv3-env/unified-dev', but we should load these manually as needed
load("cmake/3.22.1")
load("curl/8.1.2")
load("zlib/1.2.13")
load("curl/7.85.0")
load("git/2.28.0")
load("pkg-config/0.27.1")
load("hdf5/1.12.2")
load("hdf5/1.14.0")
load("parallel-netcdf/1.12.2")
load("netcdf-c/4.9.2")
load("nccmp/1.9.0.1")
load("netcdf-fortran/4.6.0")
load("nco/5.0.6")
load("parallelio/2.5.9")
load("parallelio/2.5.10")
load("wget/1.14")
load("boost/1.72.0")
load("bufr/11.7.1")
load("boost/1.78")
load("bufr/12.0.0")
load("git-lfs/2.12.0")
load("ecbuild/3.7.2")
load("openjpeg/2.3.1")
load("eccodes/2.27.0")
load("eigen/3.4.0")
load("openblas/0.3.19")
load("eckit/1.23.0")
load("eckit/1.24.4")
load("fftw/3.3.10")
load("fckit/0.10.1")
load("fiat/1.1.0")
load("fckit/0.11.0")
load("fiat/1.2.0")
load("ectrans/1.2.0")
load("atlas/0.33.0")
load("atlas/0.34.0")
load("sp/2.3.3")
load("gsl-lite/0.37.0")
load("libjpeg/2.1.0")
Expand All @@ -50,7 +49,7 @@ load("hdf/4.2.15")
load("jedi-cmake/1.4.0")
load("libpng/1.6.37")
load("libxt/1.1.5")
load("libxmu/1.1.2")
load("libxmu/1.1.4")
load("libxpm/4.11.0")
load("libxaw/1.0.13")
load("udunits/2.2.28")
Expand All @@ -59,10 +58,12 @@ load("netcdf-cxx4/4.3.1")
load("py-pybind11/2.8.1")
--load("crtm/v2.4_jedi")
load("contrib/0.1")
load("noaatools/2.0")
load("noaatools/3.1")
load("rocoto/1.3.3")

load("hpc/1.2.0")
unload("python/3.10.8")
unload("python/3.9.2")
load("miniconda3/4.6.14")
load("gdasapp/1.0.0")

Expand All @@ -85,6 +86,6 @@ prepend_path("PATH","/apps/contrib/NCEP/libs/hpc-stack/intel-2018.4/prod_util/1.
execute{cmd="ulimit -s unlimited",modeA={"load"}}

whatis("Name: ".. pkgName)
whatis("Version: " .. pkgVersion)
whatis("Version: ".. pkgVersion)
whatis("Category: GDASApp")
whatis("Description: Load all libraries needed for GDASApp")
28 changes: 15 additions & 13 deletions parm/aero/berror/staticb_bump.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,21 @@ saber central block:
io:
data directory: &staticb_aero_dir $(DATA)/berror
files prefix: 'nicas_aero'
overriding universe radius file: cor_aero_universe_radius
drivers:
multivariate strategy: univariate
read universe radius: true
read local nicas: true
saber outer blocks:
- saber block name: StdDev
read:
model file:
datetime: '2016-06-30T00:00:00Z'
set datetime on read: true
filetype: fms restart
psinfile: true
datapath: Data/staticb_aero/
filename_core: 20160630.000000.stddev.fv_core.res.nc
filename_trcr: 20160630.000000.stddev.fv_tracer.res.nc
filename_cplr: 20160630.000000.stddev.coupler.res
date: '2016-06-30T00:00:00Z'
saber outer blocks:
- saber block name: StdDev
read:
model file:
datetime: '2021-02-27T00:00:00Z'
set datetime on read: true
filetype: fms restart
psinfile: true
datapath: $(DATA)/berror
filename_core: 20210227.000000.stddev.fv_core.res.nc
filename_trcr: 20210227.000000.stddev.fv_tracer.res.nc
filename_cplr: 20210227.000000.stddev.coupler.res
date: '2021-02-27T18:00:00Z'
1 change: 1 addition & 0 deletions parm/aero/obs/config/viirs_n20_aod.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ obs space:
channels: 4
get values:
interpolation method: barycentric
time interpolation: linear
obs operator:
name: AodCRTM
Absorbers: [H2O,O3]
Expand Down
1 change: 1 addition & 0 deletions parm/aero/obs/config/viirs_npp_aod.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ obs space:
channels: 4
get values:
interpolation method: barycentric
time interpolation: linear
obs operator:
name: AodCRTM
Absorbers: [H2O,O3]
Expand Down
112 changes: 112 additions & 0 deletions parm/aero/variational/3dvar_fgat_gfs_aero.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,112 @@
cost function:
cost type: 3D-FGAT
window begin: '{{ AERO_WINDOW_BEGIN | to_isotime }}'
window length: $(AERO_WINDOW_LENGTH)
analysis variables: &3dvars
[mass_fraction_of_sulfate_in_air,
mass_fraction_of_hydrophobic_black_carbon_in_air,
mass_fraction_of_hydrophilic_black_carbon_in_air,
mass_fraction_of_hydrophobic_organic_carbon_in_air,
mass_fraction_of_hydrophilic_organic_carbon_in_air,
mass_fraction_of_dust001_in_air, mass_fraction_of_dust002_in_air,
mass_fraction_of_dust003_in_air, mass_fraction_of_dust004_in_air,
mass_fraction_of_dust005_in_air, mass_fraction_of_sea_salt001_in_air,
mass_fraction_of_sea_salt002_in_air, mass_fraction_of_sea_salt003_in_air,
mass_fraction_of_sea_salt004_in_air]
geometry:
fms initialization:
namelist filename: ./fv3jedi/fmsmpp.nml
field table filename: ./fv3jedi/field_table
akbk: ./fv3jedi/akbk.nc4
layout:
- $(layout_x)
- $(layout_y)
npx: $(npx_ges)
npy: $(npy_ges)
npz: $(npz_ges)
field metadata override: ./fv3jedi/fv3jedi_fieldmetadata_restart.yaml
model:
name: PSEUDO
datapath: ./bkg
filetype: fms restart
filename is datetime templated: true
tstep: PT3H
filename_core: '%yyyy%mm%dd.%hh%MM%ss.fv_core.res.nc'
filename_trcr: '%yyyy%mm%dd.%hh%MM%ss.fv_tracer.res.nc'
filename_cplr: '%yyyy%mm%dd.%hh%MM%ss.coupler.res'
background:
datapath: ./bkg
filetype: fms restart
datetime: '{{ AERO_WINDOW_BEGIN | to_isotime }}'
filename_core: '{{ AERO_WINDOW_BEGIN | to_fv3time }}.fv_core.res.nc'
filename_trcr: '{{ AERO_WINDOW_BEGIN | to_fv3time }}.fv_tracer.res.nc'
filename_cplr: '{{ AERO_WINDOW_BEGIN | to_fv3time }}.coupler.res'
state variables: [t,delp,sphum,so4,bc1,bc2,oc1,oc2,
dust1,dust2,dust3,dust4,dust5,
seas1,seas2,seas3,seas4]
background error: !INC ${BERROR_YAML}
observations: !INC ${OBS_LIST}
variational:
minimizer:
algorithm: DRIPCG
iterations:
- ninner: 35
gradient norm reduction: 1e-10
test: on
geometry:
fms initialization:
namelist filename: ./fv3jedi/fmsmpp.nml
field table filename: ./fv3jedi/field_table
akbk: ./fv3jedi/akbk.nc4
layout:
- $(layout_x)
- $(layout_y)
npx: $(npx_anl)
npy: $(npy_anl)
npz: $(npz_anl)
field metadata override: ./fv3jedi/fv3jedi_fieldmetadata_restart.yaml
diagnostics:
departures: bkgmob
- ninner: 35
gradient norm reduction: 1e-10
test: on
geometry:
fms initialization:
namelist filename: ./fv3jedi/fmsmpp.nml
field table filename: ./fv3jedi/field_table
akbk: ./fv3jedi/akbk.nc4
layout:
- $(layout_x)
- $(layout_y)
npx: $(npx_anl)
npy: $(npy_anl)
npz: $(npz_anl)
field metadata override: ./fv3jedi/fv3jedi_fieldmetadata_restart.yaml
diagnostics:
departures: bkgmob1
final:
diagnostics:
departures: anlmob
increment:
geometry:
fms initialization:
namelist filename: ./fv3jedi/fmsmpp.nml
field table filename: ./fv3jedi/field_table
akbk: ./fv3jedi/akbk.nc4
layout:
- $(layout_x)
- $(layout_y)
npx: $(npx_ges)
npy: $(npy_ges)
npz: $(npz_ges)
field metadata override: ./fv3jedi/fv3jedi_fieldmetadata_restart.yaml
output:
datapath: ./anl
prefix: aeroinc
filetype: fms restart
filename_core: '{{ current_cycle | to_fv3time }}.fv_core.res.nc'
filename_trcr: '{{ current_cycle | to_fv3time }}.fv_tracer.res.nc'
filename_cplr: '{{ current_cycle | to_fv3time }}.coupler.res'
state variables: [t,delp,sphum,so4,bc1,bc2,oc1,oc2,
dust1,dust2,dust3,dust4,dust5,
seas1,seas2,seas3,seas4]
4 changes: 2 additions & 2 deletions parm/atm/berror/hybvar_gsibec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ components:
gsi error covariance file: &gsiberr $(DATA)/berror/gsi-coeffs-gfs-global.nc4
# gsi error covariance file: &gsiberr $(DATA)/berror/global_berror.f77
gsi berror namelist file: &gsibnml $(DATA)/berror/gfs_gsi_global.nml
processor layout x direction: &layout_gsib_x 3
processor layout y direction: &layout_gsib_y 2
processor layout x direction: &layout_gsib_x $(layout_gsib_x)
processor layout y direction: &layout_gsib_y $(layout_gsib_y)
debugging mode: false
saber outer blocks:
- saber block name: gsi interpolation to model grid
Expand Down
4 changes: 2 additions & 2 deletions parm/atm/berror/staticb_gsibec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ saber central block:
gsi error covariance file: &gsiberr $(DATA)/berror/gsi-coeffs-gfs-global.nc4
# gsi error covariance file: &gsiberr $(DATA)/berror/global_berror.f77
gsi berror namelist file: &gsibnml $(DATA)/berror/gfs_gsi_global.nml
processor layout x direction: &layout_gsib_x 3
processor layout y direction: &layout_gsib_y 2
processor layout x direction: &layout_gsib_x $(layout_gsib_x)
processor layout y direction: &layout_gsib_y $(layout_gsib_y)
debugging mode: false
saber outer blocks:
- saber block name: gsi interpolation to model grid
Expand Down
Loading

0 comments on commit 337baa9

Please sign in to comment.