Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
6540812
adding JEDI cycling capability to GEOSadas
rtodling Apr 23, 2025
a0657d5
minor fixes; now setup works
rtodling Apr 24, 2025
471dace
static files cared for
rtodling Apr 24, 2025
c98d0dd
minor
rtodling Apr 24, 2025
56d39dc
a little helper
rtodling Apr 25, 2025
f56deae
making it a more automatated setting ...
rtodling Apr 28, 2025
310015d
actual 3dfgat
rtodling Apr 28, 2025
2612461
unfortunately this file is a big hard to handle at the moment; so I n…
rtodling Apr 28, 2025
0b41018
still associated w/ obsop
rtodling Apr 28, 2025
d3637fb
mild generalization
rtodling Apr 28, 2025
e22b92f
minor
rtodling Apr 29, 2025
0b494f0
now jedi is setup automatically
rtodling Apr 29, 2025
535e80b
remove redundancy
rtodling Apr 29, 2025
6211560
allow bypassing GSI
rtodling Apr 30, 2025
5cef9b9
save diagsa-nc4 files when getting ncdiag in standalone mode
rtodling Apr 30, 2025
a45935e
pinned JEDI version consistent w/ SWELL
rtodling Apr 30, 2025
2c0e00e
minor correction
rtodling Apr 30, 2025
a5bf596
minor
rtodling May 1, 2025
5b2a176
test case for JEDI vs GSI
rtodling May 1, 2025
25ae061
allow for GSI bypass - minimal user intervention
rtodling May 1, 2025
c5de1aa
minor
rtodling May 1, 2025
317e710
fix for vbc bootstrap; working on 4d
rtodling May 1, 2025
b1a6559
minor
rtodling May 1, 2025
3eace8b
a little extra on 4d
rtodling May 1, 2025
6b8355e
no safe to cycle varBC yet
rtodling May 1, 2025
809d994
Merge pull request #353 from GEOS-ESM/feature/rtodling/geos-jedi_cycling
rtodling May 2, 2025
c854473
adding 4d capability
rtodling May 2, 2025
984fd61
Merge branch 'develop' into feature/rtodling/prelim4djedi
rtodling May 2, 2025
a01b2a7
Merge pull request #355 from GEOS-ESM/feature/rtodling/prelim4djedi
rtodling May 2, 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
2 changes: 1 addition & 1 deletion components.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ FMS:
GEOSana_GridComp:
local: ./src/Components/@GEOSana_GridComp
remote: ../GEOSana_GridComp.git
tag: v5.42.3
tag: v5.42.4
develop: develop

mksi:
Expand Down
1 change: 1 addition & 0 deletions src/Applications/GEOSdas_App/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
add_subdirectory(testsuites)
add_subdirectory(jedi)

set(dasscripts
FixUnblocked.csh
Expand Down
15 changes: 13 additions & 2 deletions src/Applications/GEOSdas_App/GEOSdas.csm
Original file line number Diff line number Diff line change
Expand Up @@ -154,6 +154,7 @@
if ( !($?RADCOR) ) setenv RADCOR 0
if ( !($?SHORTFCST) ) setenv SHORTFCST 0
if ( !($?SKIPANA) ) setenv SKIPANA 0
if ( !($?SKIPGSI) ) setenv SKIPGSI 0
if ( !($?SKIP_PSAS) ) setenv SKIP_PSAS 0
if ( !($?SPLITEXE) ) setenv SPLITEXE 0
if ( !($?STRICT) ) setenv STRICT 0
Expand Down Expand Up @@ -1610,6 +1611,7 @@ exit 1
Sub CreateIAUincrement4Fcst_()
# -------------------------------------
if ( $?ECHO___ ) set echo
if ( $SKIPGSI && ! -e $FVHOME/run/AGCM.BOOTSTRAP.rc.tmpl ) exit 0

if ( ! $DO4DIAU ) then
if ( -e agcm_import_rst ) exit 0 # no need to regenerate IAU increment if already available
Expand Down Expand Up @@ -2526,6 +2528,8 @@ exit 1
if ( $?ECHO___ ) set echo
set qsub_acquire = 0

# if ( $SKIPGSI && ! -e $FVHOME/run/AGCM.BOOTSTRAP.rc.tmpl ) exit 0

set ecode = 0
set acq_status = 0
set acq_status2 = 0
Expand Down Expand Up @@ -2879,6 +2883,8 @@ exit 1
# -------------------------
if ( $?ECHO___ ) set echo

if ( $SKIPGSI && ! -e $FVHOME/run/AGCM.BOOTSTRAP.rc.tmpl ) exit 0

# Get info about pre-qc files to be combined for QC
# ------------------------------------------------------

Expand Down Expand Up @@ -2974,6 +2980,7 @@ endif

if ( ! $PREPQC ) exit 0
if ( $SKIPANA ) exit 0
if ( $SKIPGSI && ! -e $FVHOME/run/AGCM.BOOTSTRAP.rc.tmpl ) exit 0

# Combine pre-qc files...
# ------------------------
Expand Down Expand Up @@ -3139,6 +3146,7 @@ endif
Sub AnalysisRun_( Viter_, Final_ )
# ----------------------------------
if ( $?ECHO___ ) set echo
if ( $SKIPGSI && ! -e $FVHOME/run/AGCM.BOOTSTRAP.rc.tmpl ) exit 0

if ( $DO4DVAR && $Final_ ) exit 0

Expand Down Expand Up @@ -3264,15 +3272,18 @@ endif
#

if ( ! -d $FVHOME/run/jedi ) exit (0)
if ( -e $FVHOME/run/AGCM.BOOTSTRAP.rc.tmpl ) exit (0) # only run from second cycle of experiment onwards

@ idummy = $VAROFFSET * 60
set ana_datetime = ( `tick $gcm_nymd0 $gcm_nhms0 $idummy` )

set this_hh0 = `echo $gcm_nhms0 | cut -c1-2`
set this_hha = `echo $ana_datetime[2] | cut -c1-2`

set this_log = $EXPID.ana_jo.log.${ana_datetime[1]}_${this_hha}z.txt
obimp_summary.pl -rc $FVROOT/etc/odsstats4jedi.rc -type diag -josummary -o $this_log $ana_datetime[1] $ana_datetime[2]
if ( ! $SKIPGSI && ! -e $FVHOME/run/AGCM.BOOTSTRAP.rc.tmpl ) then
set this_log = $EXPID.ana_jo.log.${ana_datetime[1]}_${this_hha}z.txt
obimp_summary.pl -rc $FVROOT/etc/odsstats4jedi.rc -type diag -josummary -o $this_log $ana_datetime[1] $ana_datetime[2]
endif


jedi_driver.csh $gcm_nymd0 $gcm_nhms0 $ana_datetime[1] $ana_datetime[2] |& tee -a $FVWORK/$EXPID.jedi_drv.log.${gcm_nymd0}_${this_hh0}z.txt
Expand Down
263 changes: 257 additions & 6 deletions src/Applications/GEOSdas_App/fvsetup

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions src/Applications/GEOSdas_App/gen_silo_arc.pl
Original file line number Diff line number Diff line change
Expand Up @@ -655,6 +655,7 @@ sub append_other_info {
\${PESTOROOT}%s/jedi/obs/Y%y4/M%m2/%s.jedi_osen.%y4%m2%d2_%h2z.tar
\${PESTOROOT}%s/jedi/obs/Y%y4/M%m2/%s.jedi_ioda.%y4%m2%d2_%h2z.tar
\${PESTOROOT}%s/jedi/obs/Y%y4/M%m2/%s.jedi_vbc.%y4%m2%d2_%h2z.tar
\${PESTOROOT}%s/jedi/rs/Y%y4/M%m2/%s.jedi_agcm_import_rst.%y4%m2%d2_%h2%n2z.%c%c%c
#
# -------------------------
# LSM FILES
Expand Down
9 changes: 9 additions & 0 deletions src/Applications/GEOSdas_App/jedi/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
add_subdirectory(etc)

file(GLOB perlscripts *.pl)
file(GLOB pmscripts *.pm)
file(GLOB cshscripts *.csh)

install(
PROGRAMS ${perlscripts} ${pmscripts} ${cshscripts}
DESTINATION bin)
6 changes: 6 additions & 0 deletions src/Applications/GEOSdas_App/jedi/cmd_jediset.test
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/bin/csh
setenv FVROOT `pwd`/../../../../install-SLES15
$FVROOT/bin/setup_aanajedi.pl 3dfgat j3dfgat 180 \
-archive /discover/nobackup/projects/gmao/dadev/rtodling/archive/JEDI/x51 \
-fvhome /discover/nobackup/projects/gmao/dadev/rtodling/JEDI/x51/j3dfgat \
-iodadir /discover/nobackup/projects/gmao/dadev/rtodling/archive/541/Milan/x0050/ioda
21 changes: 21 additions & 0 deletions src/Applications/GEOSdas_App/jedi/etc/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
set (ALLETC
JEDIanaConfig.csh
SWELLConfig.csh
geos_3dvar.yaml
geos_3dfgat.yaml
geos_hyb4denvar.yaml
jedi_acquire_bkg.j
jedi_acquire_ebkg.j
jedi_acquire_ioda.j
jedi_acquire_vbc.j
jedi_run_var.j
mkiau.rc.tenv
obsop_name_map.yaml
ut_jedi.j
)

install (
FILES ${ALLETC}
DESTINATION etc/jedi
)

46 changes: 46 additions & 0 deletions src/Applications/GEOSdas_App/jedi/etc/JEDIanaConfig.csh
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@

# Top options
setenv JEDI_SET 1 # bring bkg/obs/ens
setenv JEDI_RUN 1 # run JEDI var executable
setenv JEDI_HYBRID @JEDI_HYBRID # control opts for hyb JEDI
setenv JEDI_MKIAU 1 # calculates IAU output
setenv JEDI_POST 0 # process results (move files, etc)
setenv JEDI_IAU_OVERWRITE 0 # overwrite GSI-IAU with JEDI-IAU (when cycling)
setenv JEDI_RUN_ADANA_TEST 0 # run adjoint JEDI-Var
setenv JEDI_VAROFFSET 10800 # background time offset
setenv JEDI_FEEDBACK_VARBC @JEDI_FEEDBACK_VARBC # controls whether or not to feedback biases

setenv JEDI_SWELLUSE 0 # bypass use of SWELL for now
setenv OFFLINE_IODA_DIR @OFFLIODADIR # /discover/nobackup/projects/gmao/dadev/rtodling/archive/530/x0049/R2D2DataStore/Local/v2/

# Details ...
setenv MAPLFIX 0
setenv JEDI_OBS_OPT @JEDI_OBS_OPT # 1= point to xexp-like set (data in tar-balls; data from existing exp)
# 2= point to existing set of ncdiag-ioda-converted set (swell/.../DATE/geos_atmosphere)
# 3= generate on the fly based on GSI (nc4) diags (TBD)

setenv JEDI_GSI2IODA 0
setenv JEDI_OBS_DIR $FVWORK/IODA

setenv JEDI_ROOT @JEDI_ROOT

# Specific to run procedure
setenv JEDI_RUN_ANA 1
setenv JEDI_RUN_CNVANA 0 # convert cc ana and/or inc output to ll
setenv JEDI_RUN_UPDRST 0 # not desirable

setenv JEDI_ADDINC_MPIRUN "mpirun -np 12"
setenv JEDI_CNVANA_MPIRUN "mpirun -np 12"
setenv JEDI_CNVENS_MPIRUN "mpirun -np 12"
setenv JEDI_CNVINC_MPIRUN "mpirun -np 12"
setenv JEDI_NCPUS @JEDI_VAR_NCPUS
setenv JEDI_FV3VAR_MPIRUN "mpirun -perhost @JEDI_VAR_PERHOST -np $JEDI_NCPUS"

setenv JEDI_MKIAU_MPIRUN "mpirun "

setenv JEDI_STATIC_FILES @JEDI_STATIC_FILES
setenv JEDI_CRTM_COEFFS $JEDI_STATIC_FILES/jedi/crtm_coefficients/2.4.1/
setenv JEDI_INPUT @JEDI_INPUT

# post
setenv JEDI_CONCAT_IODA 0
11 changes: 11 additions & 0 deletions src/Applications/GEOSdas_App/jedi/etc/SWELLConfig.csh
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@

#source /discover/nobackup/projects/gmao/advda/swell/jedi_modules/spackstack_1.9_intel_bundle

module use -a /discover/nobackup/projects/gmao/advda/swell/dev/modulefiles/core
module load py_lmod_installer

module use /discover/nobackup/projects/gmao/advda/rtodling/JEDI1/SWELL/SPACK19/opt/modulefiles/core
module load swell/Mar18

#module unload py-pycodestyle/2.8.0

46 changes: 46 additions & 0 deletions src/Applications/GEOSdas_App/jedi/etc/convertinc_geos.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
input geometry:
fms initialization:
namelist filename: ./fv3files/input_geos_c90.nml
field table filename: ./fv3files/field_table_gmao
layout: [2,1]
akbk: ./fv3files/akbk72.nc4
npx: $JEDI_BKG_RESOL
npy: $JEDI_BKG_RESOL
npz: 72
field metadata override: ./fieldmetadata/geos.yaml
output geometry:
layout: [2,1]
akbk: ./fv3files/akbk72.nc4
npx: $JEDI_BKG_RESOL
npy: $JEDI_BKG_RESOL
npz: 72
field metadata override: ./fieldmetadata/geos.yaml

linear variable change:
variable change name: Model2GeoVaLs
input variables: &inputvars [ua,va,t,ps,q,o3ppmv,ts]
output variables: [ua,va,t,ps,q,o3ppmv,ts]
increments:
- date: "$JEDI_ISO_DATE_ANA"
input variables: *inputvars
trajectory:
datetime: "$JEDI_ISO_DATE_ANA"
state variables: *inputvars
filetype: cube sphere history
provider: geos
datapath: ./bkg
filename: $EXPID.bkg_clcv_rst.${AYYYYMMDD_HH}00z.nc4
input:
datetime: "$JEDI_ISO_DATE_ANA"
filetype: cube sphere history
provider: geos
datapath: ./inc
filename: $EXPID.jedi_inc-iter1.ceta.${AYYYYMMDD_HH}00z.nc4
output:
filetype: auxgrid
gridtype: latlon
filename: ./inc/$EXPID.jedi_inc1.eta.

#test:
# reference filename: testoutput/convertincrement_geos_model2geovals.ref
# test output filename: testoutput/convertincrement_geos_model2geovals.test.out
Loading