NCAR / DART

Data Assimilation Research Testbed
https://dart.ucar.edu/
Apache License 2.0
196 stars 145 forks source link

Feature request: QCF runtime choices #503

Closed hkershaw-brown closed 1 year ago

hkershaw-brown commented 1 year ago

Use case

Currently the QCF requires an algorithm_info_mod specific to the model (really the QTYs filter is compiled with)

Is your feature request related to a problem?

Ease of building DART with the QCF options

Current model compilation (DART/developer_tests/build_everything): only models with either QTYs that match DART/assimilation_code/modules/assimilation/algorithm_info_mod.f90 or a local algorithm_info_mod.f90 build successfully

RESULT: 0 models/wrf_hydro/work/ failed
RESULT: 1  models/lorenz_96/work/ finished
RESULT: 2 models/cam-se/work/ failed
RESULT: 3 models/cice/work/ failed
RESULT: 4 models/tiegcm/work/ failed
RESULT: 5  models/lorenz_96_2scale/work/ finished
RESULT: 6 models/bgrid_solo/work/ failed
RESULT: 7  models/lorenz_63/work/ finished
RESULT: 8  models/lorenz_04/work/ finished
RESULT: 9 models/noah/work/ failed
RESULT: 10 models/POP/work/ failed
RESULT: 11  models/null_model/work/ finished
RESULT: 12  models/lorenz_96_tracer_advection/work/ finished
RESULT: 13  models/cam-fv/work/ finished
RESULT: 14 models/MOM6/work/ failed
RESULT: 15  models/9var/work/ finished
RESULT: 16  models/ikeda/work/ finished
RESULT: 17 models/mpas_atm/work/ failed
RESULT: 18  models/lorenz_84/work/ finished
RESULT: 19  models/forced_lorenz_96/work/ finished
RESULT: 20 models/MITgcm_ocean/work/ failed
RESULT: 21 models/template/work/ failed
RESULT: 22 models/simple_advection/work/ failed
RESULT: 23 models/gitm/work/ failed
RESULT: 24 models/clm/work/ failed
RESULT: 25 models/wrf/work/ failed
RESULT: 26 models/cm1/work/ failed
RESULT: 27 models/ROMS/work/ failed

/glade/scratch/hkershaw/DART/Quantile/build_everything/DART/developer_tests/build_everything

Describe your preferred solution

Read in the algorithm info choices at runtime: https://docs.google.com/document/d/1MnvEFfgj5SfFbnIahGHwjy1XJ5IWBvPS8NB1nrIjc8k/edit

Note this gets us over the compile time vs. runtime hurdle so users/us can build and run any model with QCF options. There are bunch of science and user-interface discussions to be had.

Describe any alternatives you have considered

Thought about adding the QCF info to the quantity files, but this makes the algorithm_info choice a compile time choice. input.nml - seems like too much info for a namelist yaml/toml?

just for completeness here is the observation convert builds:

RESULT: 0 observations/obs_converters/CONAGUA/work/ failed
RESULT: 1 observations/obs_converters/cice/work/ failed
RESULT: 2 observations/obs_converters/NCEP/prep_bufr/work/ failed
RESULT: 3 observations/obs_converters/NCEP/netcdf/work/ failed
RESULT: 4  observations/obs_converters/NCEP/ascii_to_obs/work/ finished
RESULT: 5 observations/obs_converters/gps/work/ failed
RESULT: 6 observations/obs_converters/SST/work/ failed
RESULT: 7 observations/obs_converters/GMI/work/ failed
RESULT: 8 observations/obs_converters/AVISO/work/ failed
RESULT: 9 observations/obs_converters/gnd_gps_vtec/work/ failed
RESULT: 10 observations/obs_converters/COSMOS/work/ failed
RESULT: 11 observations/obs_converters/AURA/work/ failed
RESULT: 12 observations/obs_converters/NASA_Earthdata/work/ failed
RESULT: 13 observations/obs_converters/SSUSI/work/ failed
RESULT: 14 observations/obs_converters/SSEC/work/ failed
RESULT: 15 observations/obs_converters/snow/work/ failed
RESULT: 16 observations/obs_converters/DWL/work/ failed
RESULT: 17 observations/obs_converters/quikscat/work/ failed
RESULT: 18 observations/obs_converters/ok_mesonet/work/ failed
RESULT: 19 observations/obs_converters/GOES/work/ failed
RESULT: 20 observations/obs_converters/tec/work/ failed
RESULT: 21 observations/obs_converters/text/work/ failed
RESULT: 22 observations/obs_converters/NSIDC/work/ failed
RESULT: 23 observations/obs_converters/SABER/work/ failed
RESULT: 24 observations/obs_converters/ocean_color/work/ failed
RESULT: 25 observations/obs_converters/tropical_cyclone/work/ failed
RESULT: 26 observations/obs_converters/MPD/work/ failed
RESULT: 27 observations/obs_converters/WOD/work/ failed
RESULT: 28 observations/obs_converters/even_sphere/work/ failed
RESULT: 29 observations/obs_converters/MADIS/work/ failed
RESULT: 30 observations/obs_converters/GSI2DART/work/ failed
RESULT: 31 observations/obs_converters/radar/work/ failed
RESULT: 32 observations/obs_converters/Ameriflux/work/ failed
RESULT: 33 observations/obs_converters/tpw/work/ failed
RESULT: 34 observations/obs_converters/CHAMP/work/ failed
RESULT: 35 observations/obs_converters/SIF/work/ failed
RESULT: 36 observations/obs_converters/GPSPW/work/ failed
RESULT: 37 observations/obs_converters/CNOFS/work/ failed
RESULT: 38 observations/obs_converters/text_GITM/work/ failed
RESULT: 39 observations/obs_converters/GTSPP/work/ failed
RESULT: 40 observations/obs_converters/MIDAS/work/ failed
RESULT: 41 observations/obs_converters/GRACE/work/ failed
RESULT: 42 observations/obs_converters/AIRS/work/ failed
RESULT: 43 observations/obs_converters/var/work/ failed
RESULT: 44 observations/obs_converters/ROMS/work/ failed
RESULT: 45 observations/obs_converters/MODIS/work/ failed
RESULT: 46 observations/obs_converters/USGS/work/ failed
hkershaw-brown commented 1 year ago

table is in https://github.com/NCAR/DART/releases/tag/v11.1.0-alpha