diff --git a/CHANGELOG.md b/CHANGELOG.md index 8c745779..c72a175b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -22,6 +22,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Updated subroutines read_obs_sm_ASCAT_EUMET(), read_obs_SMAP_halforbit_Tb(), read_obs_SMOS() and read_obs_MODIS_SCF() with hardcoded time ranges for when observations are available and should be read. - Revised variable names (SHORT_NAME) and descriptions (LONG_NAME) to match M21C file specs. - Renamed tilecoord%pfaf to %pfaf_index; added matlab tile file reader. +- Improved setup of coupled land/atm DAS (incl. changed nomenclature of met forcing files: "Nx+-" --> "bkg.lfo_*"). ### Fixed diff --git a/GEOSldas_App/GEOSldas_HISTdet.rc b/GEOSldas_App/GEOSldas_HISTdet.rc new file mode 100644 index 00000000..55995fc3 --- /dev/null +++ b/GEOSldas_App/GEOSldas_HISTdet.rc @@ -0,0 +1,167 @@ +# +# Sample GEOSldas HISTORY.rc file for LADAS (central simulation) +# +# This sample is for the GEOSldas instance that is coupled with the central +# simulation component of the Hy4dEnVar ADAS: +# +# (1) The "catch_progn_incr" is output is the ensemble average. +# (2) The "catch_progn_incr" output is in tile space. Its definition is generic +################################################################################## + +VERSION: 1 +EXPID: GEOSldas_expid + +COLLECTIONS: + 'catch_progn_incr' + 'tavg3_1d_lnd_Nt' + 'inst3_2d_lndfcstana_Nx' + :: + +GRID_LABELS: PC720x361-DC + PC576x361-DC + :: + +PC720x361-DC.GRID_TYPE: LatLon +PC720x361-DC.IM_WORLD: 720 +PC720x361-DC.JM_WORLD: 361 +PC720x361-DC.POLE: PC +PC720x361-DC.DATELINE: DC +PC720x361-DC.LM: 1 + +PC576x361-DC.GRID_TYPE: LatLon +PC576x361-DC.IM_WORLD: 576 +PC576x361-DC.JM_WORLD: 361 +PC576x361-DC.POLE: PC +PC576x361-DC.DATELINE: DC +PC576x361-DC.LM: 1 + + +catch_progn_incr.descr: 'Tile-space,3-Hourly,Instantaneous,Single-Level,Assimilation,Ensemble-Average Land Prognostics Increments', +catch_progn_incr.template: '%y4%m2%d2_%h2%n2z.bin', +catch_progn_incr.mode: 'instantaneous', +catch_progn_incr.frequency: 030000, +catch_progn_incr.ref_time: 013000, +catch_progn_incr.fields: 'TCFSAT_INCR' , 'LANDASSIM' , + 'TCFTRN_INCR' , 'LANDASSIM' , + 'TCFWLT_INCR' , 'LANDASSIM' , + 'QCFSAT_INCR' , 'LANDASSIM' , + 'QCFTRN_INCR' , 'LANDASSIM' , + 'QCFWLT_INCR' , 'LANDASSIM' , + 'CAPAC_INCR' , 'LANDASSIM' , + 'CATDEF_INCR' , 'LANDASSIM' , + 'RZEXC_INCR' , 'LANDASSIM' , + 'SRFEXC_INCR' , 'LANDASSIM' , + 'GHTCNT1_INCR' , 'LANDASSIM' , + 'GHTCNT2_INCR' , 'LANDASSIM' , + 'GHTCNT3_INCR' , 'LANDASSIM' , + 'GHTCNT4_INCR' , 'LANDASSIM' , + 'GHTCNT5_INCR' , 'LANDASSIM' , + 'GHTCNT6_INCR' , 'LANDASSIM' , + 'WESNN1_INCR' , 'LANDASSIM' , + 'WESNN2_INCR' , 'LANDASSIM' , + 'WESNN3_INCR' , 'LANDASSIM' , + 'HTSNNN1_INCR' , 'LANDASSIM' , + 'HTSNNN2_INCR' , 'LANDASSIM' , + 'HTSNNN3_INCR' , 'LANDASSIM' , + 'SNDZN1_INCR' , 'LANDASSIM' , + 'SNDZN2_INCR' , 'LANDASSIM' , + 'SNDZN3_INCR' , 'LANDASSIM' , + :: + + tavg3_1d_lnd_Nt.descr: 'Tile-space,Time-Averaged,Single-Level,Assimilation,Land Surface Diagnostics', + tavg3_1d_lnd_Nt.nbits: 12, + tavg3_1d_lnd_Nt.template: '%y4%m2%d2_%h2%n2z.bin', + tavg3_1d_lnd_Nt.mode: 'time-averaged', + tavg3_1d_lnd_Nt.frequency: 030000, + tavg3_1d_lnd_Nt.ref_time: 013000, + tavg3_1d_lnd_Nt.fields: 'WET3' , 'ENSAVG' , 'GWETPROF' , + 'WET2' , 'ENSAVG' , 'GWETROOT' , + 'WET1' , 'ENSAVG' , 'GWETTOP' , + 'WCPR' , 'ENSAVG' , 'PRMC' , + 'WCRZ' , 'ENSAVG' , 'RZMC' , + 'WCSF' , 'ENSAVG' , 'SFMC' , + 'TPSNOW' , 'ENSAVG' , + 'TPUNST' , 'ENSAVG' , 'TUNST' , + 'TPSAT' , 'ENSAVG' , 'TSAT' , + 'TPWLT' , 'ENSAVG' , 'TWLT' , + 'TPSURF' , 'ENSAVG' , 'TSURF' , + 'GRN' , 'VEGDYN_e0001' , + 'LAI' , 'VEGDYN_e0001' , + 'TP1' , 'ENSAVG' , + 'TP2' , 'ENSAVG' , + 'TP3' , 'ENSAVG' , + 'TP4' , 'ENSAVG' , + 'TP5' , 'ENSAVG' , + 'TP6' , 'ENSAVG' , + 'PRLAND' , 'ENSAVG' , 'PRECTOTLAND' , + 'SNOLAND' , 'ENSAVG' , 'PRECSNOLAND' , + 'TSLAND' , 'ENSAVG' , 'SNOMAS' , + 'SNOWDP' , 'ENSAVG' , 'SNODP' , + 'EVPSOI' , 'ENSAVG' , 'EVPSOIL' , + 'EVPVEG' , 'ENSAVG' , 'EVPTRNS' , + 'EVPINT' , 'ENSAVG' , 'EVPINTR' , + 'EVPICE' , 'ENSAVG' , 'EVPSBLN' , + 'RUNSURF' , 'ENSAVG' , 'RUNOFF' , + 'BASEFLOW' , 'ENSAVG' , + 'SMLAND' , 'ENSAVG' , + 'QINFIL' , 'ENSAVG' , + 'FRUST' , 'ENSAVG' , 'FRUNST' , + 'FRSAT' , 'ENSAVG' , + 'ASNOW' , 'ENSAVG' , 'FRSNO' , + 'FRWLT' , 'ENSAVG' , + 'DFPARLAND' , 'ENSAVG' , 'PARDFLAND' , + 'DRPARLAND' , 'ENSAVG' , 'PARDRLAND' , + 'SHLAND' , 'ENSAVG' , + 'LHLAND' , 'ENSAVG' , + 'EVLAND' , 'ENSAVG' , + 'LWLAND' , 'ENSAVG' , + 'SWLAND' , 'ENSAVG' , + 'GHLAND' , 'ENSAVG' , + 'TWLAND' , 'ENSAVG' , + 'TELAND' , 'ENSAVG' , + 'DWLAND' , 'ENSAVG' , 'WCHANGE' , + 'DHLAND' , 'ENSAVG' , 'ECHANGE' , + 'SPLAND' , 'ENSAVG' , + 'SPWATR' , 'ENSAVG' , + 'SPSNOW' , 'ENSAVG' , + 'PEATCLSM_WATERLEVEL', 'ENSAVG' , + 'PEATCLSM_FSWCHANGE' , 'ENSAVG' , + :: + + + inst3_2d_lndfcstana_Nx.descr: '2d,3-Hourly,Instantaneous,Single-Level,Assimilation,Ensemble Land Forecast and Analysis Diagnostics', + inst3_2d_lndfcstana_Nx.nbits: 12, + inst3_2d_lndfcstana_Nx.template: '%y4%m2%d2_%h2%n2z.nc4', + inst3_2d_lndfcstana_Nx.archive: '%c/Y%y4', + inst3_2d_lndfcstana_Nx.mode: 'instantaneous', + inst3_2d_lndfcstana_Nx.frequency: 030000, + inst3_2d_lndfcstana_Nx.ref_time: 013000, + inst3_2d_lndfcstana_Nx.format: 'CFIO', + inst3_2d_lndfcstana_Nx.regrid_exch: '../input/tile.data', + inst3_2d_lndfcstana_Nx.regrid_name: 'GRIDNAME', + inst3_2d_lndfcstana_Nx.grid_label: PC720x361-DC, + inst3_2d_lndfcstana_Nx.deflate: 2, + inst3_2d_lndfcstana_Nx.fields: 'WCSF' , 'ENSAVG' , 'SFMC_FCST' , + 'WCRZ' , 'ENSAVG' , 'RZMC_FCST' , + 'WCPR' , 'ENSAVG' , 'PRMC_FCST' , + 'TPSURF' , 'ENSAVG' , 'TSURF_FCST' , + 'TP1' , 'ENSAVG' , 'TSOIL1_FCST' , + 'WCSF_ENSSTD' , 'ENSAVG' , 'SFMC_FCST_ENSSTD' , + 'WCRZ_ENSSTD' , 'ENSAVG' , 'RZMC_FCST_ENSSTD' , + 'WCPR_ENSSTD' , 'ENSAVG' , 'PRMC_FCST_ENSSTD' , + 'TPSURF_ENSSTD' , 'ENSAVG' , 'TSURF_FCST_ENSSTD' , + 'TP1_ENSSTD' , 'ENSAVG' , 'TSOIL1_FCST_ENSSTD' , + 'WCSF_ANA' , 'LANDASSIM' , 'SFMC_ANA' , + 'WCRZ_ANA' , 'LANDASSIM' , 'RZMC_ANA' , + 'WCPR_ANA' , 'LANDASSIM' , 'PRMC_ANA' , + 'TPSURF_ANA' , 'LANDASSIM' , 'TSURF_ANA' , + 'TP1_ANA' , 'LANDASSIM' , 'TSOIL1_ANA' , + 'WCSF_ANA_ENSSTD' , 'LANDASSIM' , 'SFMC_ANA_ENSSTD' , + 'WCRZ_ANA_ENSSTD' , 'LANDASSIM' , 'RZMC_ANA_ENSSTD' , + 'WCPR_ANA_ENSSTD' , 'LANDASSIM' , 'PRMC_ANA_ENSSTD' , + 'TPSURF_ANA_ENSSTD' , 'LANDASSIM' , 'TSURF_ANA_ENSSTD' , + 'TP1_ANA_ENSSTD' , 'LANDASSIM' , 'TSOIL1_ANA_ENSSTD' + :: + + +# ========================== EOF ============================================================== diff --git a/GEOSldas_App/GEOSldas_HISTens.rc b/GEOSldas_App/GEOSldas_HISTens.rc new file mode 100644 index 00000000..872be4ca --- /dev/null +++ b/GEOSldas_App/GEOSldas_HISTens.rc @@ -0,0 +1,1207 @@ +# +# Sample GEOSldas HISTORY.rc file for LADAS (atm ensemble) +# +# - This sample HISTORY.rc is for the GEOSldas instance that is weakly coupled with the +# atmospheric ensemble component of the Hybrid-4DEnVar ADAS (ADASens). +# +# - The catch_progn_incr portion of the sample file was generated with the utility script +# "GEOSldas/src/Components/GEOSldas_GridComp/GEOSldas_App/util/config/generate_catchincr_hist.py". +# +# - The sample file triggers output of the GEOSldas "catch_progn_incr" collection in +# ensemble space, which is needed by ADASens. +# +# - The IDs of the ensemble members and their total number in GEOSldas must match +# those of ADASens. +# +# - The "catch_progn_incr" output is in tile space, which must be the same for +# GEOSldas and ADASens. +# +################################################################################## + +EXPID: GEOSldas_expid + +COLLECTIONS: +'tavg3_1d_lnd_Nt' +#'inst3_2d_lndfcstana_Nx' +'catch_progn_incr0001' +'catch_progn_incr0002' +'catch_progn_incr0003' +'catch_progn_incr0004' +'catch_progn_incr0005' +'catch_progn_incr0006' +'catch_progn_incr0007' +'catch_progn_incr0008' +'catch_progn_incr0009' +'catch_progn_incr0010' +'catch_progn_incr0011' +'catch_progn_incr0012' +'catch_progn_incr0013' +'catch_progn_incr0014' +'catch_progn_incr0015' +'catch_progn_incr0016' +'catch_progn_incr0017' +'catch_progn_incr0018' +'catch_progn_incr0019' +'catch_progn_incr0020' +'catch_progn_incr0021' +'catch_progn_incr0022' +'catch_progn_incr0023' +'catch_progn_incr0024' +'catch_progn_incr0025' +'catch_progn_incr0026' +'catch_progn_incr0027' +'catch_progn_incr0028' +'catch_progn_incr0029' +'catch_progn_incr0030' +'catch_progn_incr0031' +'catch_progn_incr0032' +:: + +GRID_LABELS: PC720x361-DC + PC576x361-DC + PC360x181-DC +:: +PC720x361-DC.GRID_TYPE: LatLon +PC720x361-DC.IM_WORLD: 720 +PC720x361-DC.JM_WORLD: 361 +PC720x361-DC.POLE: PC +PC720x361-DC.DATELINE: DC +PC720x361-DC.LM: 1 + +PC576x361-DC.GRID_TYPE: LatLon +PC576x361-DC.IM_WORLD: 576 +PC576x361-DC.JM_WORLD: 361 +PC576x361-DC.POLE: PC +PC576x361-DC.DATELINE: DC +PC576x361-DC.LM: 1 + +PC360x181-DC.GRID_TYPE: LatLon +PC360x181-DC.IM_WORLD: 360 +PC360x181-DC.JM_WORLD: 181 +PC360x181-DC.POLE: PC +PC360x181-DC.DATELINE: DC +PC360x181-DC.LM: 1 + + +tavg3_1d_lnd_Nt.descr: 'Tile-space,Time-Averaged,Single-Level,Assimilation,Land Surface Diagnostics', +tavg3_1d_lnd_Nt.nbits: 12, +tavg3_1d_lnd_Nt.template: '%y4%m2%d2_%h2%n2z.bin', +tavg3_1d_lnd_Nt.mode: 'time-averaged', +tavg3_1d_lnd_Nt.frequency: 030000, +tavg3_1d_lnd_Nt.ref_time: 000000, +tavg3_1d_lnd_Nt.fields: 'WET3' , 'ENSAVG' , 'GWETPROF' , + 'WET2' , 'ENSAVG' , 'GWETROOT' , + 'WET1' , 'ENSAVG' , 'GWETTOP' , + 'WCPR' , 'ENSAVG' , 'PRMC' , + 'WCRZ' , 'ENSAVG' , 'RZMC' , + 'WCSF' , 'ENSAVG' , 'SFMC' , + 'TPSNOW' , 'ENSAVG' , + 'TPUNST' , 'ENSAVG' , 'TUNST' , + 'TPSAT' , 'ENSAVG' , 'TSAT' , + 'TPWLT' , 'ENSAVG' , 'TWLT' , + 'TPSURF' , 'ENSAVG' , 'TSURF' , + 'GRN' , 'VEGDYN_e0001' , + 'LAI' , 'VEGDYN_e0001' , + 'TP1' , 'ENSAVG' , + 'TP2' , 'ENSAVG' , + 'TP3' , 'ENSAVG' , + 'TP4' , 'ENSAVG' , + 'TP5' , 'ENSAVG' , + 'TP6' , 'ENSAVG' , + 'PRLAND' , 'ENSAVG' , 'PRECTOTLAND' , + 'SNOLAND' , 'ENSAVG' , 'PRECSNOLAND' , + 'TSLAND' , 'ENSAVG' , 'SNOMAS' , + 'SNOWDP' , 'ENSAVG' , 'SNODP' , + 'EVPSOI' , 'ENSAVG' , 'EVPSOIL' , + 'EVPVEG' , 'ENSAVG' , 'EVPTRNS' , + 'EVPINT' , 'ENSAVG' , 'EVPINTR' , + 'EVPICE' , 'ENSAVG' , 'EVPSBLN' , + 'RUNSURF' , 'ENSAVG' , 'RUNOFF' , + 'BASEFLOW' , 'ENSAVG' , + 'SMLAND' , 'ENSAVG' , + 'QINFIL' , 'ENSAVG' , + 'FRUST' , 'ENSAVG' , 'FRUNST' , + 'FRSAT' , 'ENSAVG' , + 'ASNOW' , 'ENSAVG' , 'FRSNO' , + 'FRWLT' , 'ENSAVG' , + 'DFPARLAND' , 'ENSAVG' , 'PARDFLAND' , + 'DRPARLAND' , 'ENSAVG' , 'PARDRLAND' , + 'SHLAND' , 'ENSAVG' , + 'LHLAND' , 'ENSAVG' , + 'EVLAND' , 'ENSAVG' , + 'LWLAND' , 'ENSAVG' , + 'SWLAND' , 'ENSAVG' , + 'GHLAND' , 'ENSAVG' , + 'TWLAND' , 'ENSAVG' , + 'TELAND' , 'ENSAVG' , + 'DWLAND' , 'ENSAVG' , 'WCHANGE' , + 'DHLAND' , 'ENSAVG' , 'ECHANGE' , + 'SPLAND' , 'ENSAVG' , + 'SPWATR' , 'ENSAVG' , + 'SPSNOW' , 'ENSAVG' , + 'PEATCLSM_WATERLEVEL', 'ENSAVG' , + 'PEATCLSM_FSWCHANGE' , 'ENSAVG' , +:: + + +inst3_2d_lndfcstana_Nx.descr: '2d,3-Hourly,Instantaneous,Single-Level,Assimilation,Ensemble Land Forecast and Analysis Diagnostics', +inst3_2d_lndfcstana_Nx.nbits: 12, +inst3_2d_lndfcstana_Nx.template: '%y4%m2%d2_%h2%n2z.nc4', +inst3_2d_lndfcstana_Nx.archive: '%c/Y%y4', +inst3_2d_lndfcstana_Nx.mode: 'instantaneous', +inst3_2d_lndfcstana_Nx.frequency: 030000, +inst3_2d_lndfcstana_Nx.ref_time: 013000, +inst3_2d_lndfcstana_Nx.format: 'CFIO', +inst3_2d_lndfcstana_Nx.regrid_exch: '../input/tile.data', +inst3_2d_lndfcstana_Nx.regrid_name: 'GRIDNAME', +inst3_2d_lndfcstana_Nx.grid_label: PC360x181-DC, +inst3_2d_lndfcstana_Nx.deflate: 2, +inst3_2d_lndfcstana_Nx.deflate: 2, +inst3_2d_lndfcstana_Nx.fields: 'WCSF' , 'ENSAVG' , 'SFMC_FCST' , + 'WCRZ' , 'ENSAVG' , 'RZMC_FCST' , + 'WCPR' , 'ENSAVG' , 'PRMC_FCST' , + 'TPSURF' , 'ENSAVG' , 'TSURF_FCST' , + 'TP1' , 'ENSAVG' , 'TSOIL1_FCST' , + 'WCSF_ENSSTD' , 'ENSAVG' , 'SFMC_FCST_ENSSTD' , + 'WCRZ_ENSSTD' , 'ENSAVG' , 'RZMC_FCST_ENSSTD' , + 'WCPR_ENSSTD' , 'ENSAVG' , 'PRMC_FCST_ENSSTD' , + 'TPSURF_ENSSTD' , 'ENSAVG' , 'TSURF_FCST_ENSSTD' , + 'TP1_ENSSTD' , 'ENSAVG' , 'TSOIL1_FCST_ENSSTD' , + 'WCSF_ANA' , 'LANDASSIM' , 'SFMC_ANA' , + 'WCRZ_ANA' , 'LANDASSIM' , 'RZMC_ANA' , + 'WCPR_ANA' , 'LANDASSIM' , 'PRMC_ANA' , + 'TPSURF_ANA' , 'LANDASSIM' , 'TSURF_ANA' , + 'TP1_ANA' , 'LANDASSIM' , 'TSOIL1_ANA' , + 'WCSF_ANA_ENSSTD' , 'LANDASSIM' , 'SFMC_ANA_ENSSTD' , + 'WCRZ_ANA_ENSSTD' , 'LANDASSIM' , 'RZMC_ANA_ENSSTD' , + 'WCPR_ANA_ENSSTD' , 'LANDASSIM' , 'PRMC_ANA_ENSSTD' , + 'TPSURF_ANA_ENSSTD' , 'LANDASSIM' , 'TSURF_ANA_ENSSTD' , + 'TP1_ANA_ENSSTD' , 'LANDASSIM' , 'TSOIL1_ANA_ENSSTD' +:: + + +catch_progn_incr0001.descr: 'Tile-space,3-Hourly,Instantaneous,Single-Level,Assimilation, Land Prognostics Increments', +catch_progn_incr0001.template: '%y4%m2%d2_%h2%n2z.bin', +catch_progn_incr0001.mode: 'instantaneous', +catch_progn_incr0001.frequency: 030000, +catch_progn_incr0001.ref_time: 013000, +catch_progn_incr0001.fields: 'TCFSAT_INCR' , 'CATCHINCR_e0001' , + 'TCFTRN_INCR' , 'CATCHINCR_e0001' , + 'TCFWLT_INCR' , 'CATCHINCR_e0001' , + 'QCFSAT_INCR' , 'CATCHINCR_e0001' , + 'QCFTRN_INCR' , 'CATCHINCR_e0001' , + 'QCFWLT_INCR' , 'CATCHINCR_e0001' , + 'CAPAC_INCR' , 'CATCHINCR_e0001' , + 'CATDEF_INCR' , 'CATCHINCR_e0001' , + 'RZEXC_INCR' , 'CATCHINCR_e0001' , + 'SRFEXC_INCR' , 'CATCHINCR_e0001' , + 'GHTCNT1_INCR' , 'CATCHINCR_e0001' , + 'GHTCNT2_INCR' , 'CATCHINCR_e0001' , + 'GHTCNT3_INCR' , 'CATCHINCR_e0001' , + 'GHTCNT4_INCR' , 'CATCHINCR_e0001' , + 'GHTCNT5_INCR' , 'CATCHINCR_e0001' , + 'GHTCNT6_INCR' , 'CATCHINCR_e0001' , + 'WESNN1_INCR' , 'CATCHINCR_e0001' , + 'WESNN2_INCR' , 'CATCHINCR_e0001' , + 'WESNN3_INCR' , 'CATCHINCR_e0001' , + 'HTSNNN1_INCR' , 'CATCHINCR_e0001' , + 'HTSNNN2_INCR' , 'CATCHINCR_e0001' , + 'HTSNNN3_INCR' , 'CATCHINCR_e0001' , + 'SNDZN1_INCR' , 'CATCHINCR_e0001' , + 'SNDZN2_INCR' , 'CATCHINCR_e0001' , + 'SNDZN3_INCR' , 'CATCHINCR_e0001' , + +:: +catch_progn_incr0002.descr: 'Tile-space,3-Hourly,Instantaneous,Single-Level,Assimilation, Land Prognostics Increments', +catch_progn_incr0002.template: '%y4%m2%d2_%h2%n2z.bin', +catch_progn_incr0002.mode: 'instantaneous', +catch_progn_incr0002.frequency: 030000, +catch_progn_incr0002.ref_time: 013000, +catch_progn_incr0002.fields: 'TCFSAT_INCR' , 'CATCHINCR_e0002' , + 'TCFTRN_INCR' , 'CATCHINCR_e0002' , + 'TCFWLT_INCR' , 'CATCHINCR_e0002' , + 'QCFSAT_INCR' , 'CATCHINCR_e0002' , + 'QCFTRN_INCR' , 'CATCHINCR_e0002' , + 'QCFWLT_INCR' , 'CATCHINCR_e0002' , + 'CAPAC_INCR' , 'CATCHINCR_e0002' , + 'CATDEF_INCR' , 'CATCHINCR_e0002' , + 'RZEXC_INCR' , 'CATCHINCR_e0002' , + 'SRFEXC_INCR' , 'CATCHINCR_e0002' , + 'GHTCNT1_INCR' , 'CATCHINCR_e0002' , + 'GHTCNT2_INCR' , 'CATCHINCR_e0002' , + 'GHTCNT3_INCR' , 'CATCHINCR_e0002' , + 'GHTCNT4_INCR' , 'CATCHINCR_e0002' , + 'GHTCNT5_INCR' , 'CATCHINCR_e0002' , + 'GHTCNT6_INCR' , 'CATCHINCR_e0002' , + 'WESNN1_INCR' , 'CATCHINCR_e0002' , + 'WESNN2_INCR' , 'CATCHINCR_e0002' , + 'WESNN3_INCR' , 'CATCHINCR_e0002' , + 'HTSNNN1_INCR' , 'CATCHINCR_e0002' , + 'HTSNNN2_INCR' , 'CATCHINCR_e0002' , + 'HTSNNN3_INCR' , 'CATCHINCR_e0002' , + 'SNDZN1_INCR' , 'CATCHINCR_e0002' , + 'SNDZN2_INCR' , 'CATCHINCR_e0002' , + 'SNDZN3_INCR' , 'CATCHINCR_e0002' , + +:: +catch_progn_incr0003.descr: 'Tile-space,3-Hourly,Instantaneous,Single-Level,Assimilation, Land Prognostics Increments', +catch_progn_incr0003.template: '%y4%m2%d2_%h2%n2z.bin', +catch_progn_incr0003.mode: 'instantaneous', +catch_progn_incr0003.frequency: 030000, +catch_progn_incr0003.ref_time: 013000, +catch_progn_incr0003.fields: 'TCFSAT_INCR' , 'CATCHINCR_e0003' , + 'TCFTRN_INCR' , 'CATCHINCR_e0003' , + 'TCFWLT_INCR' , 'CATCHINCR_e0003' , + 'QCFSAT_INCR' , 'CATCHINCR_e0003' , + 'QCFTRN_INCR' , 'CATCHINCR_e0003' , + 'QCFWLT_INCR' , 'CATCHINCR_e0003' , + 'CAPAC_INCR' , 'CATCHINCR_e0003' , + 'CATDEF_INCR' , 'CATCHINCR_e0003' , + 'RZEXC_INCR' , 'CATCHINCR_e0003' , + 'SRFEXC_INCR' , 'CATCHINCR_e0003' , + 'GHTCNT1_INCR' , 'CATCHINCR_e0003' , + 'GHTCNT2_INCR' , 'CATCHINCR_e0003' , + 'GHTCNT3_INCR' , 'CATCHINCR_e0003' , + 'GHTCNT4_INCR' , 'CATCHINCR_e0003' , + 'GHTCNT5_INCR' , 'CATCHINCR_e0003' , + 'GHTCNT6_INCR' , 'CATCHINCR_e0003' , + 'WESNN1_INCR' , 'CATCHINCR_e0003' , + 'WESNN2_INCR' , 'CATCHINCR_e0003' , + 'WESNN3_INCR' , 'CATCHINCR_e0003' , + 'HTSNNN1_INCR' , 'CATCHINCR_e0003' , + 'HTSNNN2_INCR' , 'CATCHINCR_e0003' , + 'HTSNNN3_INCR' , 'CATCHINCR_e0003' , + 'SNDZN1_INCR' , 'CATCHINCR_e0003' , + 'SNDZN2_INCR' , 'CATCHINCR_e0003' , + 'SNDZN3_INCR' , 'CATCHINCR_e0003' , + +:: +catch_progn_incr0004.descr: 'Tile-space,3-Hourly,Instantaneous,Single-Level,Assimilation, Land Prognostics Increments', +catch_progn_incr0004.template: '%y4%m2%d2_%h2%n2z.bin', +catch_progn_incr0004.mode: 'instantaneous', +catch_progn_incr0004.frequency: 030000, +catch_progn_incr0004.ref_time: 013000, +catch_progn_incr0004.fields: 'TCFSAT_INCR' , 'CATCHINCR_e0004' , + 'TCFTRN_INCR' , 'CATCHINCR_e0004' , + 'TCFWLT_INCR' , 'CATCHINCR_e0004' , + 'QCFSAT_INCR' , 'CATCHINCR_e0004' , + 'QCFTRN_INCR' , 'CATCHINCR_e0004' , + 'QCFWLT_INCR' , 'CATCHINCR_e0004' , + 'CAPAC_INCR' , 'CATCHINCR_e0004' , + 'CATDEF_INCR' , 'CATCHINCR_e0004' , + 'RZEXC_INCR' , 'CATCHINCR_e0004' , + 'SRFEXC_INCR' , 'CATCHINCR_e0004' , + 'GHTCNT1_INCR' , 'CATCHINCR_e0004' , + 'GHTCNT2_INCR' , 'CATCHINCR_e0004' , + 'GHTCNT3_INCR' , 'CATCHINCR_e0004' , + 'GHTCNT4_INCR' , 'CATCHINCR_e0004' , + 'GHTCNT5_INCR' , 'CATCHINCR_e0004' , + 'GHTCNT6_INCR' , 'CATCHINCR_e0004' , + 'WESNN1_INCR' , 'CATCHINCR_e0004' , + 'WESNN2_INCR' , 'CATCHINCR_e0004' , + 'WESNN3_INCR' , 'CATCHINCR_e0004' , + 'HTSNNN1_INCR' , 'CATCHINCR_e0004' , + 'HTSNNN2_INCR' , 'CATCHINCR_e0004' , + 'HTSNNN3_INCR' , 'CATCHINCR_e0004' , + 'SNDZN1_INCR' , 'CATCHINCR_e0004' , + 'SNDZN2_INCR' , 'CATCHINCR_e0004' , + 'SNDZN3_INCR' , 'CATCHINCR_e0004' , + +:: +catch_progn_incr0005.descr: 'Tile-space,3-Hourly,Instantaneous,Single-Level,Assimilation, Land Prognostics Increments', +catch_progn_incr0005.template: '%y4%m2%d2_%h2%n2z.bin', +catch_progn_incr0005.mode: 'instantaneous', +catch_progn_incr0005.frequency: 030000, +catch_progn_incr0005.ref_time: 013000, +catch_progn_incr0005.fields: 'TCFSAT_INCR' , 'CATCHINCR_e0005' , + 'TCFTRN_INCR' , 'CATCHINCR_e0005' , + 'TCFWLT_INCR' , 'CATCHINCR_e0005' , + 'QCFSAT_INCR' , 'CATCHINCR_e0005' , + 'QCFTRN_INCR' , 'CATCHINCR_e0005' , + 'QCFWLT_INCR' , 'CATCHINCR_e0005' , + 'CAPAC_INCR' , 'CATCHINCR_e0005' , + 'CATDEF_INCR' , 'CATCHINCR_e0005' , + 'RZEXC_INCR' , 'CATCHINCR_e0005' , + 'SRFEXC_INCR' , 'CATCHINCR_e0005' , + 'GHTCNT1_INCR' , 'CATCHINCR_e0005' , + 'GHTCNT2_INCR' , 'CATCHINCR_e0005' , + 'GHTCNT3_INCR' , 'CATCHINCR_e0005' , + 'GHTCNT4_INCR' , 'CATCHINCR_e0005' , + 'GHTCNT5_INCR' , 'CATCHINCR_e0005' , + 'GHTCNT6_INCR' , 'CATCHINCR_e0005' , + 'WESNN1_INCR' , 'CATCHINCR_e0005' , + 'WESNN2_INCR' , 'CATCHINCR_e0005' , + 'WESNN3_INCR' , 'CATCHINCR_e0005' , + 'HTSNNN1_INCR' , 'CATCHINCR_e0005' , + 'HTSNNN2_INCR' , 'CATCHINCR_e0005' , + 'HTSNNN3_INCR' , 'CATCHINCR_e0005' , + 'SNDZN1_INCR' , 'CATCHINCR_e0005' , + 'SNDZN2_INCR' , 'CATCHINCR_e0005' , + 'SNDZN3_INCR' , 'CATCHINCR_e0005' , + +:: +catch_progn_incr0006.descr: 'Tile-space,3-Hourly,Instantaneous,Single-Level,Assimilation, Land Prognostics Increments', +catch_progn_incr0006.template: '%y4%m2%d2_%h2%n2z.bin', +catch_progn_incr0006.mode: 'instantaneous', +catch_progn_incr0006.frequency: 030000, +catch_progn_incr0006.ref_time: 013000, +catch_progn_incr0006.fields: 'TCFSAT_INCR' , 'CATCHINCR_e0006' , + 'TCFTRN_INCR' , 'CATCHINCR_e0006' , + 'TCFWLT_INCR' , 'CATCHINCR_e0006' , + 'QCFSAT_INCR' , 'CATCHINCR_e0006' , + 'QCFTRN_INCR' , 'CATCHINCR_e0006' , + 'QCFWLT_INCR' , 'CATCHINCR_e0006' , + 'CAPAC_INCR' , 'CATCHINCR_e0006' , + 'CATDEF_INCR' , 'CATCHINCR_e0006' , + 'RZEXC_INCR' , 'CATCHINCR_e0006' , + 'SRFEXC_INCR' , 'CATCHINCR_e0006' , + 'GHTCNT1_INCR' , 'CATCHINCR_e0006' , + 'GHTCNT2_INCR' , 'CATCHINCR_e0006' , + 'GHTCNT3_INCR' , 'CATCHINCR_e0006' , + 'GHTCNT4_INCR' , 'CATCHINCR_e0006' , + 'GHTCNT5_INCR' , 'CATCHINCR_e0006' , + 'GHTCNT6_INCR' , 'CATCHINCR_e0006' , + 'WESNN1_INCR' , 'CATCHINCR_e0006' , + 'WESNN2_INCR' , 'CATCHINCR_e0006' , + 'WESNN3_INCR' , 'CATCHINCR_e0006' , + 'HTSNNN1_INCR' , 'CATCHINCR_e0006' , + 'HTSNNN2_INCR' , 'CATCHINCR_e0006' , + 'HTSNNN3_INCR' , 'CATCHINCR_e0006' , + 'SNDZN1_INCR' , 'CATCHINCR_e0006' , + 'SNDZN2_INCR' , 'CATCHINCR_e0006' , + 'SNDZN3_INCR' , 'CATCHINCR_e0006' , + +:: +catch_progn_incr0007.descr: 'Tile-space,3-Hourly,Instantaneous,Single-Level,Assimilation, Land Prognostics Increments', +catch_progn_incr0007.template: '%y4%m2%d2_%h2%n2z.bin', +catch_progn_incr0007.mode: 'instantaneous', +catch_progn_incr0007.frequency: 030000, +catch_progn_incr0007.ref_time: 013000, +catch_progn_incr0007.fields: 'TCFSAT_INCR' , 'CATCHINCR_e0007' , + 'TCFTRN_INCR' , 'CATCHINCR_e0007' , + 'TCFWLT_INCR' , 'CATCHINCR_e0007' , + 'QCFSAT_INCR' , 'CATCHINCR_e0007' , + 'QCFTRN_INCR' , 'CATCHINCR_e0007' , + 'QCFWLT_INCR' , 'CATCHINCR_e0007' , + 'CAPAC_INCR' , 'CATCHINCR_e0007' , + 'CATDEF_INCR' , 'CATCHINCR_e0007' , + 'RZEXC_INCR' , 'CATCHINCR_e0007' , + 'SRFEXC_INCR' , 'CATCHINCR_e0007' , + 'GHTCNT1_INCR' , 'CATCHINCR_e0007' , + 'GHTCNT2_INCR' , 'CATCHINCR_e0007' , + 'GHTCNT3_INCR' , 'CATCHINCR_e0007' , + 'GHTCNT4_INCR' , 'CATCHINCR_e0007' , + 'GHTCNT5_INCR' , 'CATCHINCR_e0007' , + 'GHTCNT6_INCR' , 'CATCHINCR_e0007' , + 'WESNN1_INCR' , 'CATCHINCR_e0007' , + 'WESNN2_INCR' , 'CATCHINCR_e0007' , + 'WESNN3_INCR' , 'CATCHINCR_e0007' , + 'HTSNNN1_INCR' , 'CATCHINCR_e0007' , + 'HTSNNN2_INCR' , 'CATCHINCR_e0007' , + 'HTSNNN3_INCR' , 'CATCHINCR_e0007' , + 'SNDZN1_INCR' , 'CATCHINCR_e0007' , + 'SNDZN2_INCR' , 'CATCHINCR_e0007' , + 'SNDZN3_INCR' , 'CATCHINCR_e0007' , + +:: +catch_progn_incr0008.descr: 'Tile-space,3-Hourly,Instantaneous,Single-Level,Assimilation, Land Prognostics Increments', +catch_progn_incr0008.template: '%y4%m2%d2_%h2%n2z.bin', +catch_progn_incr0008.mode: 'instantaneous', +catch_progn_incr0008.frequency: 030000, +catch_progn_incr0008.ref_time: 013000, +catch_progn_incr0008.fields: 'TCFSAT_INCR' , 'CATCHINCR_e0008' , + 'TCFTRN_INCR' , 'CATCHINCR_e0008' , + 'TCFWLT_INCR' , 'CATCHINCR_e0008' , + 'QCFSAT_INCR' , 'CATCHINCR_e0008' , + 'QCFTRN_INCR' , 'CATCHINCR_e0008' , + 'QCFWLT_INCR' , 'CATCHINCR_e0008' , + 'CAPAC_INCR' , 'CATCHINCR_e0008' , + 'CATDEF_INCR' , 'CATCHINCR_e0008' , + 'RZEXC_INCR' , 'CATCHINCR_e0008' , + 'SRFEXC_INCR' , 'CATCHINCR_e0008' , + 'GHTCNT1_INCR' , 'CATCHINCR_e0008' , + 'GHTCNT2_INCR' , 'CATCHINCR_e0008' , + 'GHTCNT3_INCR' , 'CATCHINCR_e0008' , + 'GHTCNT4_INCR' , 'CATCHINCR_e0008' , + 'GHTCNT5_INCR' , 'CATCHINCR_e0008' , + 'GHTCNT6_INCR' , 'CATCHINCR_e0008' , + 'WESNN1_INCR' , 'CATCHINCR_e0008' , + 'WESNN2_INCR' , 'CATCHINCR_e0008' , + 'WESNN3_INCR' , 'CATCHINCR_e0008' , + 'HTSNNN1_INCR' , 'CATCHINCR_e0008' , + 'HTSNNN2_INCR' , 'CATCHINCR_e0008' , + 'HTSNNN3_INCR' , 'CATCHINCR_e0008' , + 'SNDZN1_INCR' , 'CATCHINCR_e0008' , + 'SNDZN2_INCR' , 'CATCHINCR_e0008' , + 'SNDZN3_INCR' , 'CATCHINCR_e0008' , + +:: +catch_progn_incr0009.descr: 'Tile-space,3-Hourly,Instantaneous,Single-Level,Assimilation, Land Prognostics Increments', +catch_progn_incr0009.template: '%y4%m2%d2_%h2%n2z.bin', +catch_progn_incr0009.mode: 'instantaneous', +catch_progn_incr0009.frequency: 030000, +catch_progn_incr0009.ref_time: 013000, +catch_progn_incr0009.fields: 'TCFSAT_INCR' , 'CATCHINCR_e0009' , + 'TCFTRN_INCR' , 'CATCHINCR_e0009' , + 'TCFWLT_INCR' , 'CATCHINCR_e0009' , + 'QCFSAT_INCR' , 'CATCHINCR_e0009' , + 'QCFTRN_INCR' , 'CATCHINCR_e0009' , + 'QCFWLT_INCR' , 'CATCHINCR_e0009' , + 'CAPAC_INCR' , 'CATCHINCR_e0009' , + 'CATDEF_INCR' , 'CATCHINCR_e0009' , + 'RZEXC_INCR' , 'CATCHINCR_e0009' , + 'SRFEXC_INCR' , 'CATCHINCR_e0009' , + 'GHTCNT1_INCR' , 'CATCHINCR_e0009' , + 'GHTCNT2_INCR' , 'CATCHINCR_e0009' , + 'GHTCNT3_INCR' , 'CATCHINCR_e0009' , + 'GHTCNT4_INCR' , 'CATCHINCR_e0009' , + 'GHTCNT5_INCR' , 'CATCHINCR_e0009' , + 'GHTCNT6_INCR' , 'CATCHINCR_e0009' , + 'WESNN1_INCR' , 'CATCHINCR_e0009' , + 'WESNN2_INCR' , 'CATCHINCR_e0009' , + 'WESNN3_INCR' , 'CATCHINCR_e0009' , + 'HTSNNN1_INCR' , 'CATCHINCR_e0009' , + 'HTSNNN2_INCR' , 'CATCHINCR_e0009' , + 'HTSNNN3_INCR' , 'CATCHINCR_e0009' , + 'SNDZN1_INCR' , 'CATCHINCR_e0009' , + 'SNDZN2_INCR' , 'CATCHINCR_e0009' , + 'SNDZN3_INCR' , 'CATCHINCR_e0009' , + +:: +catch_progn_incr0010.descr: 'Tile-space,3-Hourly,Instantaneous,Single-Level,Assimilation, Land Prognostics Increments', +catch_progn_incr0010.template: '%y4%m2%d2_%h2%n2z.bin', +catch_progn_incr0010.mode: 'instantaneous', +catch_progn_incr0010.frequency: 030000, +catch_progn_incr0010.ref_time: 013000, +catch_progn_incr0010.fields: 'TCFSAT_INCR' , 'CATCHINCR_e0010' , + 'TCFTRN_INCR' , 'CATCHINCR_e0010' , + 'TCFWLT_INCR' , 'CATCHINCR_e0010' , + 'QCFSAT_INCR' , 'CATCHINCR_e0010' , + 'QCFTRN_INCR' , 'CATCHINCR_e0010' , + 'QCFWLT_INCR' , 'CATCHINCR_e0010' , + 'CAPAC_INCR' , 'CATCHINCR_e0010' , + 'CATDEF_INCR' , 'CATCHINCR_e0010' , + 'RZEXC_INCR' , 'CATCHINCR_e0010' , + 'SRFEXC_INCR' , 'CATCHINCR_e0010' , + 'GHTCNT1_INCR' , 'CATCHINCR_e0010' , + 'GHTCNT2_INCR' , 'CATCHINCR_e0010' , + 'GHTCNT3_INCR' , 'CATCHINCR_e0010' , + 'GHTCNT4_INCR' , 'CATCHINCR_e0010' , + 'GHTCNT5_INCR' , 'CATCHINCR_e0010' , + 'GHTCNT6_INCR' , 'CATCHINCR_e0010' , + 'WESNN1_INCR' , 'CATCHINCR_e0010' , + 'WESNN2_INCR' , 'CATCHINCR_e0010' , + 'WESNN3_INCR' , 'CATCHINCR_e0010' , + 'HTSNNN1_INCR' , 'CATCHINCR_e0010' , + 'HTSNNN2_INCR' , 'CATCHINCR_e0010' , + 'HTSNNN3_INCR' , 'CATCHINCR_e0010' , + 'SNDZN1_INCR' , 'CATCHINCR_e0010' , + 'SNDZN2_INCR' , 'CATCHINCR_e0010' , + 'SNDZN3_INCR' , 'CATCHINCR_e0010' , + +:: +catch_progn_incr0011.descr: 'Tile-space,3-Hourly,Instantaneous,Single-Level,Assimilation, Land Prognostics Increments', +catch_progn_incr0011.template: '%y4%m2%d2_%h2%n2z.bin', +catch_progn_incr0011.mode: 'instantaneous', +catch_progn_incr0011.frequency: 030000, +catch_progn_incr0011.ref_time: 013000, +catch_progn_incr0011.fields: 'TCFSAT_INCR' , 'CATCHINCR_e0011' , + 'TCFTRN_INCR' , 'CATCHINCR_e0011' , + 'TCFWLT_INCR' , 'CATCHINCR_e0011' , + 'QCFSAT_INCR' , 'CATCHINCR_e0011' , + 'QCFTRN_INCR' , 'CATCHINCR_e0011' , + 'QCFWLT_INCR' , 'CATCHINCR_e0011' , + 'CAPAC_INCR' , 'CATCHINCR_e0011' , + 'CATDEF_INCR' , 'CATCHINCR_e0011' , + 'RZEXC_INCR' , 'CATCHINCR_e0011' , + 'SRFEXC_INCR' , 'CATCHINCR_e0011' , + 'GHTCNT1_INCR' , 'CATCHINCR_e0011' , + 'GHTCNT2_INCR' , 'CATCHINCR_e0011' , + 'GHTCNT3_INCR' , 'CATCHINCR_e0011' , + 'GHTCNT4_INCR' , 'CATCHINCR_e0011' , + 'GHTCNT5_INCR' , 'CATCHINCR_e0011' , + 'GHTCNT6_INCR' , 'CATCHINCR_e0011' , + 'WESNN1_INCR' , 'CATCHINCR_e0011' , + 'WESNN2_INCR' , 'CATCHINCR_e0011' , + 'WESNN3_INCR' , 'CATCHINCR_e0011' , + 'HTSNNN1_INCR' , 'CATCHINCR_e0011' , + 'HTSNNN2_INCR' , 'CATCHINCR_e0011' , + 'HTSNNN3_INCR' , 'CATCHINCR_e0011' , + 'SNDZN1_INCR' , 'CATCHINCR_e0011' , + 'SNDZN2_INCR' , 'CATCHINCR_e0011' , + 'SNDZN3_INCR' , 'CATCHINCR_e0011' , + +:: +catch_progn_incr0012.descr: 'Tile-space,3-Hourly,Instantaneous,Single-Level,Assimilation, Land Prognostics Increments', +catch_progn_incr0012.template: '%y4%m2%d2_%h2%n2z.bin', +catch_progn_incr0012.mode: 'instantaneous', +catch_progn_incr0012.frequency: 030000, +catch_progn_incr0012.ref_time: 013000, +catch_progn_incr0012.fields: 'TCFSAT_INCR' , 'CATCHINCR_e0012' , + 'TCFTRN_INCR' , 'CATCHINCR_e0012' , + 'TCFWLT_INCR' , 'CATCHINCR_e0012' , + 'QCFSAT_INCR' , 'CATCHINCR_e0012' , + 'QCFTRN_INCR' , 'CATCHINCR_e0012' , + 'QCFWLT_INCR' , 'CATCHINCR_e0012' , + 'CAPAC_INCR' , 'CATCHINCR_e0012' , + 'CATDEF_INCR' , 'CATCHINCR_e0012' , + 'RZEXC_INCR' , 'CATCHINCR_e0012' , + 'SRFEXC_INCR' , 'CATCHINCR_e0012' , + 'GHTCNT1_INCR' , 'CATCHINCR_e0012' , + 'GHTCNT2_INCR' , 'CATCHINCR_e0012' , + 'GHTCNT3_INCR' , 'CATCHINCR_e0012' , + 'GHTCNT4_INCR' , 'CATCHINCR_e0012' , + 'GHTCNT5_INCR' , 'CATCHINCR_e0012' , + 'GHTCNT6_INCR' , 'CATCHINCR_e0012' , + 'WESNN1_INCR' , 'CATCHINCR_e0012' , + 'WESNN2_INCR' , 'CATCHINCR_e0012' , + 'WESNN3_INCR' , 'CATCHINCR_e0012' , + 'HTSNNN1_INCR' , 'CATCHINCR_e0012' , + 'HTSNNN2_INCR' , 'CATCHINCR_e0012' , + 'HTSNNN3_INCR' , 'CATCHINCR_e0012' , + 'SNDZN1_INCR' , 'CATCHINCR_e0012' , + 'SNDZN2_INCR' , 'CATCHINCR_e0012' , + 'SNDZN3_INCR' , 'CATCHINCR_e0012' , + +:: +catch_progn_incr0013.descr: 'Tile-space,3-Hourly,Instantaneous,Single-Level,Assimilation, Land Prognostics Increments', +catch_progn_incr0013.template: '%y4%m2%d2_%h2%n2z.bin', +catch_progn_incr0013.mode: 'instantaneous', +catch_progn_incr0013.frequency: 030000, +catch_progn_incr0013.ref_time: 013000, +catch_progn_incr0013.fields: 'TCFSAT_INCR' , 'CATCHINCR_e0013' , + 'TCFTRN_INCR' , 'CATCHINCR_e0013' , + 'TCFWLT_INCR' , 'CATCHINCR_e0013' , + 'QCFSAT_INCR' , 'CATCHINCR_e0013' , + 'QCFTRN_INCR' , 'CATCHINCR_e0013' , + 'QCFWLT_INCR' , 'CATCHINCR_e0013' , + 'CAPAC_INCR' , 'CATCHINCR_e0013' , + 'CATDEF_INCR' , 'CATCHINCR_e0013' , + 'RZEXC_INCR' , 'CATCHINCR_e0013' , + 'SRFEXC_INCR' , 'CATCHINCR_e0013' , + 'GHTCNT1_INCR' , 'CATCHINCR_e0013' , + 'GHTCNT2_INCR' , 'CATCHINCR_e0013' , + 'GHTCNT3_INCR' , 'CATCHINCR_e0013' , + 'GHTCNT4_INCR' , 'CATCHINCR_e0013' , + 'GHTCNT5_INCR' , 'CATCHINCR_e0013' , + 'GHTCNT6_INCR' , 'CATCHINCR_e0013' , + 'WESNN1_INCR' , 'CATCHINCR_e0013' , + 'WESNN2_INCR' , 'CATCHINCR_e0013' , + 'WESNN3_INCR' , 'CATCHINCR_e0013' , + 'HTSNNN1_INCR' , 'CATCHINCR_e0013' , + 'HTSNNN2_INCR' , 'CATCHINCR_e0013' , + 'HTSNNN3_INCR' , 'CATCHINCR_e0013' , + 'SNDZN1_INCR' , 'CATCHINCR_e0013' , + 'SNDZN2_INCR' , 'CATCHINCR_e0013' , + 'SNDZN3_INCR' , 'CATCHINCR_e0013' , + +:: +catch_progn_incr0014.descr: 'Tile-space,3-Hourly,Instantaneous,Single-Level,Assimilation, Land Prognostics Increments', +catch_progn_incr0014.template: '%y4%m2%d2_%h2%n2z.bin', +catch_progn_incr0014.mode: 'instantaneous', +catch_progn_incr0014.frequency: 030000, +catch_progn_incr0014.ref_time: 013000, +catch_progn_incr0014.fields: 'TCFSAT_INCR' , 'CATCHINCR_e0014' , + 'TCFTRN_INCR' , 'CATCHINCR_e0014' , + 'TCFWLT_INCR' , 'CATCHINCR_e0014' , + 'QCFSAT_INCR' , 'CATCHINCR_e0014' , + 'QCFTRN_INCR' , 'CATCHINCR_e0014' , + 'QCFWLT_INCR' , 'CATCHINCR_e0014' , + 'CAPAC_INCR' , 'CATCHINCR_e0014' , + 'CATDEF_INCR' , 'CATCHINCR_e0014' , + 'RZEXC_INCR' , 'CATCHINCR_e0014' , + 'SRFEXC_INCR' , 'CATCHINCR_e0014' , + 'GHTCNT1_INCR' , 'CATCHINCR_e0014' , + 'GHTCNT2_INCR' , 'CATCHINCR_e0014' , + 'GHTCNT3_INCR' , 'CATCHINCR_e0014' , + 'GHTCNT4_INCR' , 'CATCHINCR_e0014' , + 'GHTCNT5_INCR' , 'CATCHINCR_e0014' , + 'GHTCNT6_INCR' , 'CATCHINCR_e0014' , + 'WESNN1_INCR' , 'CATCHINCR_e0014' , + 'WESNN2_INCR' , 'CATCHINCR_e0014' , + 'WESNN3_INCR' , 'CATCHINCR_e0014' , + 'HTSNNN1_INCR' , 'CATCHINCR_e0014' , + 'HTSNNN2_INCR' , 'CATCHINCR_e0014' , + 'HTSNNN3_INCR' , 'CATCHINCR_e0014' , + 'SNDZN1_INCR' , 'CATCHINCR_e0014' , + 'SNDZN2_INCR' , 'CATCHINCR_e0014' , + 'SNDZN3_INCR' , 'CATCHINCR_e0014' , + +:: +catch_progn_incr0015.descr: 'Tile-space,3-Hourly,Instantaneous,Single-Level,Assimilation, Land Prognostics Increments', +catch_progn_incr0015.template: '%y4%m2%d2_%h2%n2z.bin', +catch_progn_incr0015.mode: 'instantaneous', +catch_progn_incr0015.frequency: 030000, +catch_progn_incr0015.ref_time: 013000, +catch_progn_incr0015.fields: 'TCFSAT_INCR' , 'CATCHINCR_e0015' , + 'TCFTRN_INCR' , 'CATCHINCR_e0015' , + 'TCFWLT_INCR' , 'CATCHINCR_e0015' , + 'QCFSAT_INCR' , 'CATCHINCR_e0015' , + 'QCFTRN_INCR' , 'CATCHINCR_e0015' , + 'QCFWLT_INCR' , 'CATCHINCR_e0015' , + 'CAPAC_INCR' , 'CATCHINCR_e0015' , + 'CATDEF_INCR' , 'CATCHINCR_e0015' , + 'RZEXC_INCR' , 'CATCHINCR_e0015' , + 'SRFEXC_INCR' , 'CATCHINCR_e0015' , + 'GHTCNT1_INCR' , 'CATCHINCR_e0015' , + 'GHTCNT2_INCR' , 'CATCHINCR_e0015' , + 'GHTCNT3_INCR' , 'CATCHINCR_e0015' , + 'GHTCNT4_INCR' , 'CATCHINCR_e0015' , + 'GHTCNT5_INCR' , 'CATCHINCR_e0015' , + 'GHTCNT6_INCR' , 'CATCHINCR_e0015' , + 'WESNN1_INCR' , 'CATCHINCR_e0015' , + 'WESNN2_INCR' , 'CATCHINCR_e0015' , + 'WESNN3_INCR' , 'CATCHINCR_e0015' , + 'HTSNNN1_INCR' , 'CATCHINCR_e0015' , + 'HTSNNN2_INCR' , 'CATCHINCR_e0015' , + 'HTSNNN3_INCR' , 'CATCHINCR_e0015' , + 'SNDZN1_INCR' , 'CATCHINCR_e0015' , + 'SNDZN2_INCR' , 'CATCHINCR_e0015' , + 'SNDZN3_INCR' , 'CATCHINCR_e0015' , + +:: +catch_progn_incr0016.descr: 'Tile-space,3-Hourly,Instantaneous,Single-Level,Assimilation, Land Prognostics Increments', +catch_progn_incr0016.template: '%y4%m2%d2_%h2%n2z.bin', +catch_progn_incr0016.mode: 'instantaneous', +catch_progn_incr0016.frequency: 030000, +catch_progn_incr0016.ref_time: 013000, +catch_progn_incr0016.fields: 'TCFSAT_INCR' , 'CATCHINCR_e0016' , + 'TCFTRN_INCR' , 'CATCHINCR_e0016' , + 'TCFWLT_INCR' , 'CATCHINCR_e0016' , + 'QCFSAT_INCR' , 'CATCHINCR_e0016' , + 'QCFTRN_INCR' , 'CATCHINCR_e0016' , + 'QCFWLT_INCR' , 'CATCHINCR_e0016' , + 'CAPAC_INCR' , 'CATCHINCR_e0016' , + 'CATDEF_INCR' , 'CATCHINCR_e0016' , + 'RZEXC_INCR' , 'CATCHINCR_e0016' , + 'SRFEXC_INCR' , 'CATCHINCR_e0016' , + 'GHTCNT1_INCR' , 'CATCHINCR_e0016' , + 'GHTCNT2_INCR' , 'CATCHINCR_e0016' , + 'GHTCNT3_INCR' , 'CATCHINCR_e0016' , + 'GHTCNT4_INCR' , 'CATCHINCR_e0016' , + 'GHTCNT5_INCR' , 'CATCHINCR_e0016' , + 'GHTCNT6_INCR' , 'CATCHINCR_e0016' , + 'WESNN1_INCR' , 'CATCHINCR_e0016' , + 'WESNN2_INCR' , 'CATCHINCR_e0016' , + 'WESNN3_INCR' , 'CATCHINCR_e0016' , + 'HTSNNN1_INCR' , 'CATCHINCR_e0016' , + 'HTSNNN2_INCR' , 'CATCHINCR_e0016' , + 'HTSNNN3_INCR' , 'CATCHINCR_e0016' , + 'SNDZN1_INCR' , 'CATCHINCR_e0016' , + 'SNDZN2_INCR' , 'CATCHINCR_e0016' , + 'SNDZN3_INCR' , 'CATCHINCR_e0016' , + +:: +catch_progn_incr0017.descr: 'Tile-space,3-Hourly,Instantaneous,Single-Level,Assimilation, Land Prognostics Increments', +catch_progn_incr0017.template: '%y4%m2%d2_%h2%n2z.bin', +catch_progn_incr0017.mode: 'instantaneous', +catch_progn_incr0017.frequency: 030000, +catch_progn_incr0017.ref_time: 013000, +catch_progn_incr0017.fields: 'TCFSAT_INCR' , 'CATCHINCR_e0017' , + 'TCFTRN_INCR' , 'CATCHINCR_e0017' , + 'TCFWLT_INCR' , 'CATCHINCR_e0017' , + 'QCFSAT_INCR' , 'CATCHINCR_e0017' , + 'QCFTRN_INCR' , 'CATCHINCR_e0017' , + 'QCFWLT_INCR' , 'CATCHINCR_e0017' , + 'CAPAC_INCR' , 'CATCHINCR_e0017' , + 'CATDEF_INCR' , 'CATCHINCR_e0017' , + 'RZEXC_INCR' , 'CATCHINCR_e0017' , + 'SRFEXC_INCR' , 'CATCHINCR_e0017' , + 'GHTCNT1_INCR' , 'CATCHINCR_e0017' , + 'GHTCNT2_INCR' , 'CATCHINCR_e0017' , + 'GHTCNT3_INCR' , 'CATCHINCR_e0017' , + 'GHTCNT4_INCR' , 'CATCHINCR_e0017' , + 'GHTCNT5_INCR' , 'CATCHINCR_e0017' , + 'GHTCNT6_INCR' , 'CATCHINCR_e0017' , + 'WESNN1_INCR' , 'CATCHINCR_e0017' , + 'WESNN2_INCR' , 'CATCHINCR_e0017' , + 'WESNN3_INCR' , 'CATCHINCR_e0017' , + 'HTSNNN1_INCR' , 'CATCHINCR_e0017' , + 'HTSNNN2_INCR' , 'CATCHINCR_e0017' , + 'HTSNNN3_INCR' , 'CATCHINCR_e0017' , + 'SNDZN1_INCR' , 'CATCHINCR_e0017' , + 'SNDZN2_INCR' , 'CATCHINCR_e0017' , + 'SNDZN3_INCR' , 'CATCHINCR_e0017' , + +:: +catch_progn_incr0018.descr: 'Tile-space,3-Hourly,Instantaneous,Single-Level,Assimilation, Land Prognostics Increments', +catch_progn_incr0018.template: '%y4%m2%d2_%h2%n2z.bin', +catch_progn_incr0018.mode: 'instantaneous', +catch_progn_incr0018.frequency: 030000, +catch_progn_incr0018.ref_time: 013000, +catch_progn_incr0018.fields: 'TCFSAT_INCR' , 'CATCHINCR_e0018' , + 'TCFTRN_INCR' , 'CATCHINCR_e0018' , + 'TCFWLT_INCR' , 'CATCHINCR_e0018' , + 'QCFSAT_INCR' , 'CATCHINCR_e0018' , + 'QCFTRN_INCR' , 'CATCHINCR_e0018' , + 'QCFWLT_INCR' , 'CATCHINCR_e0018' , + 'CAPAC_INCR' , 'CATCHINCR_e0018' , + 'CATDEF_INCR' , 'CATCHINCR_e0018' , + 'RZEXC_INCR' , 'CATCHINCR_e0018' , + 'SRFEXC_INCR' , 'CATCHINCR_e0018' , + 'GHTCNT1_INCR' , 'CATCHINCR_e0018' , + 'GHTCNT2_INCR' , 'CATCHINCR_e0018' , + 'GHTCNT3_INCR' , 'CATCHINCR_e0018' , + 'GHTCNT4_INCR' , 'CATCHINCR_e0018' , + 'GHTCNT5_INCR' , 'CATCHINCR_e0018' , + 'GHTCNT6_INCR' , 'CATCHINCR_e0018' , + 'WESNN1_INCR' , 'CATCHINCR_e0018' , + 'WESNN2_INCR' , 'CATCHINCR_e0018' , + 'WESNN3_INCR' , 'CATCHINCR_e0018' , + 'HTSNNN1_INCR' , 'CATCHINCR_e0018' , + 'HTSNNN2_INCR' , 'CATCHINCR_e0018' , + 'HTSNNN3_INCR' , 'CATCHINCR_e0018' , + 'SNDZN1_INCR' , 'CATCHINCR_e0018' , + 'SNDZN2_INCR' , 'CATCHINCR_e0018' , + 'SNDZN3_INCR' , 'CATCHINCR_e0018' , + +:: +catch_progn_incr0019.descr: 'Tile-space,3-Hourly,Instantaneous,Single-Level,Assimilation, Land Prognostics Increments', +catch_progn_incr0019.template: '%y4%m2%d2_%h2%n2z.bin', +catch_progn_incr0019.mode: 'instantaneous', +catch_progn_incr0019.frequency: 030000, +catch_progn_incr0019.ref_time: 013000, +catch_progn_incr0019.fields: 'TCFSAT_INCR' , 'CATCHINCR_e0019' , + 'TCFTRN_INCR' , 'CATCHINCR_e0019' , + 'TCFWLT_INCR' , 'CATCHINCR_e0019' , + 'QCFSAT_INCR' , 'CATCHINCR_e0019' , + 'QCFTRN_INCR' , 'CATCHINCR_e0019' , + 'QCFWLT_INCR' , 'CATCHINCR_e0019' , + 'CAPAC_INCR' , 'CATCHINCR_e0019' , + 'CATDEF_INCR' , 'CATCHINCR_e0019' , + 'RZEXC_INCR' , 'CATCHINCR_e0019' , + 'SRFEXC_INCR' , 'CATCHINCR_e0019' , + 'GHTCNT1_INCR' , 'CATCHINCR_e0019' , + 'GHTCNT2_INCR' , 'CATCHINCR_e0019' , + 'GHTCNT3_INCR' , 'CATCHINCR_e0019' , + 'GHTCNT4_INCR' , 'CATCHINCR_e0019' , + 'GHTCNT5_INCR' , 'CATCHINCR_e0019' , + 'GHTCNT6_INCR' , 'CATCHINCR_e0019' , + 'WESNN1_INCR' , 'CATCHINCR_e0019' , + 'WESNN2_INCR' , 'CATCHINCR_e0019' , + 'WESNN3_INCR' , 'CATCHINCR_e0019' , + 'HTSNNN1_INCR' , 'CATCHINCR_e0019' , + 'HTSNNN2_INCR' , 'CATCHINCR_e0019' , + 'HTSNNN3_INCR' , 'CATCHINCR_e0019' , + 'SNDZN1_INCR' , 'CATCHINCR_e0019' , + 'SNDZN2_INCR' , 'CATCHINCR_e0019' , + 'SNDZN3_INCR' , 'CATCHINCR_e0019' , + +:: +catch_progn_incr0020.descr: 'Tile-space,3-Hourly,Instantaneous,Single-Level,Assimilation, Land Prognostics Increments', +catch_progn_incr0020.template: '%y4%m2%d2_%h2%n2z.bin', +catch_progn_incr0020.mode: 'instantaneous', +catch_progn_incr0020.frequency: 030000, +catch_progn_incr0020.ref_time: 013000, +catch_progn_incr0020.fields: 'TCFSAT_INCR' , 'CATCHINCR_e0020' , + 'TCFTRN_INCR' , 'CATCHINCR_e0020' , + 'TCFWLT_INCR' , 'CATCHINCR_e0020' , + 'QCFSAT_INCR' , 'CATCHINCR_e0020' , + 'QCFTRN_INCR' , 'CATCHINCR_e0020' , + 'QCFWLT_INCR' , 'CATCHINCR_e0020' , + 'CAPAC_INCR' , 'CATCHINCR_e0020' , + 'CATDEF_INCR' , 'CATCHINCR_e0020' , + 'RZEXC_INCR' , 'CATCHINCR_e0020' , + 'SRFEXC_INCR' , 'CATCHINCR_e0020' , + 'GHTCNT1_INCR' , 'CATCHINCR_e0020' , + 'GHTCNT2_INCR' , 'CATCHINCR_e0020' , + 'GHTCNT3_INCR' , 'CATCHINCR_e0020' , + 'GHTCNT4_INCR' , 'CATCHINCR_e0020' , + 'GHTCNT5_INCR' , 'CATCHINCR_e0020' , + 'GHTCNT6_INCR' , 'CATCHINCR_e0020' , + 'WESNN1_INCR' , 'CATCHINCR_e0020' , + 'WESNN2_INCR' , 'CATCHINCR_e0020' , + 'WESNN3_INCR' , 'CATCHINCR_e0020' , + 'HTSNNN1_INCR' , 'CATCHINCR_e0020' , + 'HTSNNN2_INCR' , 'CATCHINCR_e0020' , + 'HTSNNN3_INCR' , 'CATCHINCR_e0020' , + 'SNDZN1_INCR' , 'CATCHINCR_e0020' , + 'SNDZN2_INCR' , 'CATCHINCR_e0020' , + 'SNDZN3_INCR' , 'CATCHINCR_e0020' , + +:: +catch_progn_incr0021.descr: 'Tile-space,3-Hourly,Instantaneous,Single-Level,Assimilation, Land Prognostics Increments', +catch_progn_incr0021.template: '%y4%m2%d2_%h2%n2z.bin', +catch_progn_incr0021.mode: 'instantaneous', +catch_progn_incr0021.frequency: 030000, +catch_progn_incr0021.ref_time: 013000, +catch_progn_incr0021.fields: 'TCFSAT_INCR' , 'CATCHINCR_e0021' , + 'TCFTRN_INCR' , 'CATCHINCR_e0021' , + 'TCFWLT_INCR' , 'CATCHINCR_e0021' , + 'QCFSAT_INCR' , 'CATCHINCR_e0021' , + 'QCFTRN_INCR' , 'CATCHINCR_e0021' , + 'QCFWLT_INCR' , 'CATCHINCR_e0021' , + 'CAPAC_INCR' , 'CATCHINCR_e0021' , + 'CATDEF_INCR' , 'CATCHINCR_e0021' , + 'RZEXC_INCR' , 'CATCHINCR_e0021' , + 'SRFEXC_INCR' , 'CATCHINCR_e0021' , + 'GHTCNT1_INCR' , 'CATCHINCR_e0021' , + 'GHTCNT2_INCR' , 'CATCHINCR_e0021' , + 'GHTCNT3_INCR' , 'CATCHINCR_e0021' , + 'GHTCNT4_INCR' , 'CATCHINCR_e0021' , + 'GHTCNT5_INCR' , 'CATCHINCR_e0021' , + 'GHTCNT6_INCR' , 'CATCHINCR_e0021' , + 'WESNN1_INCR' , 'CATCHINCR_e0021' , + 'WESNN2_INCR' , 'CATCHINCR_e0021' , + 'WESNN3_INCR' , 'CATCHINCR_e0021' , + 'HTSNNN1_INCR' , 'CATCHINCR_e0021' , + 'HTSNNN2_INCR' , 'CATCHINCR_e0021' , + 'HTSNNN3_INCR' , 'CATCHINCR_e0021' , + 'SNDZN1_INCR' , 'CATCHINCR_e0021' , + 'SNDZN2_INCR' , 'CATCHINCR_e0021' , + 'SNDZN3_INCR' , 'CATCHINCR_e0021' , + +:: +catch_progn_incr0022.descr: 'Tile-space,3-Hourly,Instantaneous,Single-Level,Assimilation, Land Prognostics Increments', +catch_progn_incr0022.template: '%y4%m2%d2_%h2%n2z.bin', +catch_progn_incr0022.mode: 'instantaneous', +catch_progn_incr0022.frequency: 030000, +catch_progn_incr0022.ref_time: 013000, +catch_progn_incr0022.fields: 'TCFSAT_INCR' , 'CATCHINCR_e0022' , + 'TCFTRN_INCR' , 'CATCHINCR_e0022' , + 'TCFWLT_INCR' , 'CATCHINCR_e0022' , + 'QCFSAT_INCR' , 'CATCHINCR_e0022' , + 'QCFTRN_INCR' , 'CATCHINCR_e0022' , + 'QCFWLT_INCR' , 'CATCHINCR_e0022' , + 'CAPAC_INCR' , 'CATCHINCR_e0022' , + 'CATDEF_INCR' , 'CATCHINCR_e0022' , + 'RZEXC_INCR' , 'CATCHINCR_e0022' , + 'SRFEXC_INCR' , 'CATCHINCR_e0022' , + 'GHTCNT1_INCR' , 'CATCHINCR_e0022' , + 'GHTCNT2_INCR' , 'CATCHINCR_e0022' , + 'GHTCNT3_INCR' , 'CATCHINCR_e0022' , + 'GHTCNT4_INCR' , 'CATCHINCR_e0022' , + 'GHTCNT5_INCR' , 'CATCHINCR_e0022' , + 'GHTCNT6_INCR' , 'CATCHINCR_e0022' , + 'WESNN1_INCR' , 'CATCHINCR_e0022' , + 'WESNN2_INCR' , 'CATCHINCR_e0022' , + 'WESNN3_INCR' , 'CATCHINCR_e0022' , + 'HTSNNN1_INCR' , 'CATCHINCR_e0022' , + 'HTSNNN2_INCR' , 'CATCHINCR_e0022' , + 'HTSNNN3_INCR' , 'CATCHINCR_e0022' , + 'SNDZN1_INCR' , 'CATCHINCR_e0022' , + 'SNDZN2_INCR' , 'CATCHINCR_e0022' , + 'SNDZN3_INCR' , 'CATCHINCR_e0022' , + +:: +catch_progn_incr0023.descr: 'Tile-space,3-Hourly,Instantaneous,Single-Level,Assimilation, Land Prognostics Increments', +catch_progn_incr0023.template: '%y4%m2%d2_%h2%n2z.bin', +catch_progn_incr0023.mode: 'instantaneous', +catch_progn_incr0023.frequency: 030000, +catch_progn_incr0023.ref_time: 013000, +catch_progn_incr0023.fields: 'TCFSAT_INCR' , 'CATCHINCR_e0023' , + 'TCFTRN_INCR' , 'CATCHINCR_e0023' , + 'TCFWLT_INCR' , 'CATCHINCR_e0023' , + 'QCFSAT_INCR' , 'CATCHINCR_e0023' , + 'QCFTRN_INCR' , 'CATCHINCR_e0023' , + 'QCFWLT_INCR' , 'CATCHINCR_e0023' , + 'CAPAC_INCR' , 'CATCHINCR_e0023' , + 'CATDEF_INCR' , 'CATCHINCR_e0023' , + 'RZEXC_INCR' , 'CATCHINCR_e0023' , + 'SRFEXC_INCR' , 'CATCHINCR_e0023' , + 'GHTCNT1_INCR' , 'CATCHINCR_e0023' , + 'GHTCNT2_INCR' , 'CATCHINCR_e0023' , + 'GHTCNT3_INCR' , 'CATCHINCR_e0023' , + 'GHTCNT4_INCR' , 'CATCHINCR_e0023' , + 'GHTCNT5_INCR' , 'CATCHINCR_e0023' , + 'GHTCNT6_INCR' , 'CATCHINCR_e0023' , + 'WESNN1_INCR' , 'CATCHINCR_e0023' , + 'WESNN2_INCR' , 'CATCHINCR_e0023' , + 'WESNN3_INCR' , 'CATCHINCR_e0023' , + 'HTSNNN1_INCR' , 'CATCHINCR_e0023' , + 'HTSNNN2_INCR' , 'CATCHINCR_e0023' , + 'HTSNNN3_INCR' , 'CATCHINCR_e0023' , + 'SNDZN1_INCR' , 'CATCHINCR_e0023' , + 'SNDZN2_INCR' , 'CATCHINCR_e0023' , + 'SNDZN3_INCR' , 'CATCHINCR_e0023' , + +:: +catch_progn_incr0024.descr: 'Tile-space,3-Hourly,Instantaneous,Single-Level,Assimilation, Land Prognostics Increments', +catch_progn_incr0024.template: '%y4%m2%d2_%h2%n2z.bin', +catch_progn_incr0024.mode: 'instantaneous', +catch_progn_incr0024.frequency: 030000, +catch_progn_incr0024.ref_time: 013000, +catch_progn_incr0024.fields: 'TCFSAT_INCR' , 'CATCHINCR_e0024' , + 'TCFTRN_INCR' , 'CATCHINCR_e0024' , + 'TCFWLT_INCR' , 'CATCHINCR_e0024' , + 'QCFSAT_INCR' , 'CATCHINCR_e0024' , + 'QCFTRN_INCR' , 'CATCHINCR_e0024' , + 'QCFWLT_INCR' , 'CATCHINCR_e0024' , + 'CAPAC_INCR' , 'CATCHINCR_e0024' , + 'CATDEF_INCR' , 'CATCHINCR_e0024' , + 'RZEXC_INCR' , 'CATCHINCR_e0024' , + 'SRFEXC_INCR' , 'CATCHINCR_e0024' , + 'GHTCNT1_INCR' , 'CATCHINCR_e0024' , + 'GHTCNT2_INCR' , 'CATCHINCR_e0024' , + 'GHTCNT3_INCR' , 'CATCHINCR_e0024' , + 'GHTCNT4_INCR' , 'CATCHINCR_e0024' , + 'GHTCNT5_INCR' , 'CATCHINCR_e0024' , + 'GHTCNT6_INCR' , 'CATCHINCR_e0024' , + 'WESNN1_INCR' , 'CATCHINCR_e0024' , + 'WESNN2_INCR' , 'CATCHINCR_e0024' , + 'WESNN3_INCR' , 'CATCHINCR_e0024' , + 'HTSNNN1_INCR' , 'CATCHINCR_e0024' , + 'HTSNNN2_INCR' , 'CATCHINCR_e0024' , + 'HTSNNN3_INCR' , 'CATCHINCR_e0024' , + 'SNDZN1_INCR' , 'CATCHINCR_e0024' , + 'SNDZN2_INCR' , 'CATCHINCR_e0024' , + 'SNDZN3_INCR' , 'CATCHINCR_e0024' , + +:: +catch_progn_incr0025.descr: 'Tile-space,3-Hourly,Instantaneous,Single-Level,Assimilation, Land Prognostics Increments', +catch_progn_incr0025.template: '%y4%m2%d2_%h2%n2z.bin', +catch_progn_incr0025.mode: 'instantaneous', +catch_progn_incr0025.frequency: 030000, +catch_progn_incr0025.ref_time: 013000, +catch_progn_incr0025.fields: 'TCFSAT_INCR' , 'CATCHINCR_e0025' , + 'TCFTRN_INCR' , 'CATCHINCR_e0025' , + 'TCFWLT_INCR' , 'CATCHINCR_e0025' , + 'QCFSAT_INCR' , 'CATCHINCR_e0025' , + 'QCFTRN_INCR' , 'CATCHINCR_e0025' , + 'QCFWLT_INCR' , 'CATCHINCR_e0025' , + 'CAPAC_INCR' , 'CATCHINCR_e0025' , + 'CATDEF_INCR' , 'CATCHINCR_e0025' , + 'RZEXC_INCR' , 'CATCHINCR_e0025' , + 'SRFEXC_INCR' , 'CATCHINCR_e0025' , + 'GHTCNT1_INCR' , 'CATCHINCR_e0025' , + 'GHTCNT2_INCR' , 'CATCHINCR_e0025' , + 'GHTCNT3_INCR' , 'CATCHINCR_e0025' , + 'GHTCNT4_INCR' , 'CATCHINCR_e0025' , + 'GHTCNT5_INCR' , 'CATCHINCR_e0025' , + 'GHTCNT6_INCR' , 'CATCHINCR_e0025' , + 'WESNN1_INCR' , 'CATCHINCR_e0025' , + 'WESNN2_INCR' , 'CATCHINCR_e0025' , + 'WESNN3_INCR' , 'CATCHINCR_e0025' , + 'HTSNNN1_INCR' , 'CATCHINCR_e0025' , + 'HTSNNN2_INCR' , 'CATCHINCR_e0025' , + 'HTSNNN3_INCR' , 'CATCHINCR_e0025' , + 'SNDZN1_INCR' , 'CATCHINCR_e0025' , + 'SNDZN2_INCR' , 'CATCHINCR_e0025' , + 'SNDZN3_INCR' , 'CATCHINCR_e0025' , + +:: +catch_progn_incr0026.descr: 'Tile-space,3-Hourly,Instantaneous,Single-Level,Assimilation, Land Prognostics Increments', +catch_progn_incr0026.template: '%y4%m2%d2_%h2%n2z.bin', +catch_progn_incr0026.mode: 'instantaneous', +catch_progn_incr0026.frequency: 030000, +catch_progn_incr0026.ref_time: 013000, +catch_progn_incr0026.fields: 'TCFSAT_INCR' , 'CATCHINCR_e0026' , + 'TCFTRN_INCR' , 'CATCHINCR_e0026' , + 'TCFWLT_INCR' , 'CATCHINCR_e0026' , + 'QCFSAT_INCR' , 'CATCHINCR_e0026' , + 'QCFTRN_INCR' , 'CATCHINCR_e0026' , + 'QCFWLT_INCR' , 'CATCHINCR_e0026' , + 'CAPAC_INCR' , 'CATCHINCR_e0026' , + 'CATDEF_INCR' , 'CATCHINCR_e0026' , + 'RZEXC_INCR' , 'CATCHINCR_e0026' , + 'SRFEXC_INCR' , 'CATCHINCR_e0026' , + 'GHTCNT1_INCR' , 'CATCHINCR_e0026' , + 'GHTCNT2_INCR' , 'CATCHINCR_e0026' , + 'GHTCNT3_INCR' , 'CATCHINCR_e0026' , + 'GHTCNT4_INCR' , 'CATCHINCR_e0026' , + 'GHTCNT5_INCR' , 'CATCHINCR_e0026' , + 'GHTCNT6_INCR' , 'CATCHINCR_e0026' , + 'WESNN1_INCR' , 'CATCHINCR_e0026' , + 'WESNN2_INCR' , 'CATCHINCR_e0026' , + 'WESNN3_INCR' , 'CATCHINCR_e0026' , + 'HTSNNN1_INCR' , 'CATCHINCR_e0026' , + 'HTSNNN2_INCR' , 'CATCHINCR_e0026' , + 'HTSNNN3_INCR' , 'CATCHINCR_e0026' , + 'SNDZN1_INCR' , 'CATCHINCR_e0026' , + 'SNDZN2_INCR' , 'CATCHINCR_e0026' , + 'SNDZN3_INCR' , 'CATCHINCR_e0026' , + +:: +catch_progn_incr0027.descr: 'Tile-space,3-Hourly,Instantaneous,Single-Level,Assimilation, Land Prognostics Increments', +catch_progn_incr0027.template: '%y4%m2%d2_%h2%n2z.bin', +catch_progn_incr0027.mode: 'instantaneous', +catch_progn_incr0027.frequency: 030000, +catch_progn_incr0027.ref_time: 013000, +catch_progn_incr0027.fields: 'TCFSAT_INCR' , 'CATCHINCR_e0027' , + 'TCFTRN_INCR' , 'CATCHINCR_e0027' , + 'TCFWLT_INCR' , 'CATCHINCR_e0027' , + 'QCFSAT_INCR' , 'CATCHINCR_e0027' , + 'QCFTRN_INCR' , 'CATCHINCR_e0027' , + 'QCFWLT_INCR' , 'CATCHINCR_e0027' , + 'CAPAC_INCR' , 'CATCHINCR_e0027' , + 'CATDEF_INCR' , 'CATCHINCR_e0027' , + 'RZEXC_INCR' , 'CATCHINCR_e0027' , + 'SRFEXC_INCR' , 'CATCHINCR_e0027' , + 'GHTCNT1_INCR' , 'CATCHINCR_e0027' , + 'GHTCNT2_INCR' , 'CATCHINCR_e0027' , + 'GHTCNT3_INCR' , 'CATCHINCR_e0027' , + 'GHTCNT4_INCR' , 'CATCHINCR_e0027' , + 'GHTCNT5_INCR' , 'CATCHINCR_e0027' , + 'GHTCNT6_INCR' , 'CATCHINCR_e0027' , + 'WESNN1_INCR' , 'CATCHINCR_e0027' , + 'WESNN2_INCR' , 'CATCHINCR_e0027' , + 'WESNN3_INCR' , 'CATCHINCR_e0027' , + 'HTSNNN1_INCR' , 'CATCHINCR_e0027' , + 'HTSNNN2_INCR' , 'CATCHINCR_e0027' , + 'HTSNNN3_INCR' , 'CATCHINCR_e0027' , + 'SNDZN1_INCR' , 'CATCHINCR_e0027' , + 'SNDZN2_INCR' , 'CATCHINCR_e0027' , + 'SNDZN3_INCR' , 'CATCHINCR_e0027' , + +:: +catch_progn_incr0028.descr: 'Tile-space,3-Hourly,Instantaneous,Single-Level,Assimilation, Land Prognostics Increments', +catch_progn_incr0028.template: '%y4%m2%d2_%h2%n2z.bin', +catch_progn_incr0028.mode: 'instantaneous', +catch_progn_incr0028.frequency: 030000, +catch_progn_incr0028.ref_time: 013000, +catch_progn_incr0028.fields: 'TCFSAT_INCR' , 'CATCHINCR_e0028' , + 'TCFTRN_INCR' , 'CATCHINCR_e0028' , + 'TCFWLT_INCR' , 'CATCHINCR_e0028' , + 'QCFSAT_INCR' , 'CATCHINCR_e0028' , + 'QCFTRN_INCR' , 'CATCHINCR_e0028' , + 'QCFWLT_INCR' , 'CATCHINCR_e0028' , + 'CAPAC_INCR' , 'CATCHINCR_e0028' , + 'CATDEF_INCR' , 'CATCHINCR_e0028' , + 'RZEXC_INCR' , 'CATCHINCR_e0028' , + 'SRFEXC_INCR' , 'CATCHINCR_e0028' , + 'GHTCNT1_INCR' , 'CATCHINCR_e0028' , + 'GHTCNT2_INCR' , 'CATCHINCR_e0028' , + 'GHTCNT3_INCR' , 'CATCHINCR_e0028' , + 'GHTCNT4_INCR' , 'CATCHINCR_e0028' , + 'GHTCNT5_INCR' , 'CATCHINCR_e0028' , + 'GHTCNT6_INCR' , 'CATCHINCR_e0028' , + 'WESNN1_INCR' , 'CATCHINCR_e0028' , + 'WESNN2_INCR' , 'CATCHINCR_e0028' , + 'WESNN3_INCR' , 'CATCHINCR_e0028' , + 'HTSNNN1_INCR' , 'CATCHINCR_e0028' , + 'HTSNNN2_INCR' , 'CATCHINCR_e0028' , + 'HTSNNN3_INCR' , 'CATCHINCR_e0028' , + 'SNDZN1_INCR' , 'CATCHINCR_e0028' , + 'SNDZN2_INCR' , 'CATCHINCR_e0028' , + 'SNDZN3_INCR' , 'CATCHINCR_e0028' , + +:: +catch_progn_incr0029.descr: 'Tile-space,3-Hourly,Instantaneous,Single-Level,Assimilation, Land Prognostics Increments', +catch_progn_incr0029.template: '%y4%m2%d2_%h2%n2z.bin', +catch_progn_incr0029.mode: 'instantaneous', +catch_progn_incr0029.frequency: 030000, +catch_progn_incr0029.ref_time: 013000, +catch_progn_incr0029.fields: 'TCFSAT_INCR' , 'CATCHINCR_e0029' , + 'TCFTRN_INCR' , 'CATCHINCR_e0029' , + 'TCFWLT_INCR' , 'CATCHINCR_e0029' , + 'QCFSAT_INCR' , 'CATCHINCR_e0029' , + 'QCFTRN_INCR' , 'CATCHINCR_e0029' , + 'QCFWLT_INCR' , 'CATCHINCR_e0029' , + 'CAPAC_INCR' , 'CATCHINCR_e0029' , + 'CATDEF_INCR' , 'CATCHINCR_e0029' , + 'RZEXC_INCR' , 'CATCHINCR_e0029' , + 'SRFEXC_INCR' , 'CATCHINCR_e0029' , + 'GHTCNT1_INCR' , 'CATCHINCR_e0029' , + 'GHTCNT2_INCR' , 'CATCHINCR_e0029' , + 'GHTCNT3_INCR' , 'CATCHINCR_e0029' , + 'GHTCNT4_INCR' , 'CATCHINCR_e0029' , + 'GHTCNT5_INCR' , 'CATCHINCR_e0029' , + 'GHTCNT6_INCR' , 'CATCHINCR_e0029' , + 'WESNN1_INCR' , 'CATCHINCR_e0029' , + 'WESNN2_INCR' , 'CATCHINCR_e0029' , + 'WESNN3_INCR' , 'CATCHINCR_e0029' , + 'HTSNNN1_INCR' , 'CATCHINCR_e0029' , + 'HTSNNN2_INCR' , 'CATCHINCR_e0029' , + 'HTSNNN3_INCR' , 'CATCHINCR_e0029' , + 'SNDZN1_INCR' , 'CATCHINCR_e0029' , + 'SNDZN2_INCR' , 'CATCHINCR_e0029' , + 'SNDZN3_INCR' , 'CATCHINCR_e0029' , + +:: +catch_progn_incr0030.descr: 'Tile-space,3-Hourly,Instantaneous,Single-Level,Assimilation, Land Prognostics Increments', +catch_progn_incr0030.template: '%y4%m2%d2_%h2%n2z.bin', +catch_progn_incr0030.mode: 'instantaneous', +catch_progn_incr0030.frequency: 030000, +catch_progn_incr0030.ref_time: 013000, +catch_progn_incr0030.fields: 'TCFSAT_INCR' , 'CATCHINCR_e0030' , + 'TCFTRN_INCR' , 'CATCHINCR_e0030' , + 'TCFWLT_INCR' , 'CATCHINCR_e0030' , + 'QCFSAT_INCR' , 'CATCHINCR_e0030' , + 'QCFTRN_INCR' , 'CATCHINCR_e0030' , + 'QCFWLT_INCR' , 'CATCHINCR_e0030' , + 'CAPAC_INCR' , 'CATCHINCR_e0030' , + 'CATDEF_INCR' , 'CATCHINCR_e0030' , + 'RZEXC_INCR' , 'CATCHINCR_e0030' , + 'SRFEXC_INCR' , 'CATCHINCR_e0030' , + 'GHTCNT1_INCR' , 'CATCHINCR_e0030' , + 'GHTCNT2_INCR' , 'CATCHINCR_e0030' , + 'GHTCNT3_INCR' , 'CATCHINCR_e0030' , + 'GHTCNT4_INCR' , 'CATCHINCR_e0030' , + 'GHTCNT5_INCR' , 'CATCHINCR_e0030' , + 'GHTCNT6_INCR' , 'CATCHINCR_e0030' , + 'WESNN1_INCR' , 'CATCHINCR_e0030' , + 'WESNN2_INCR' , 'CATCHINCR_e0030' , + 'WESNN3_INCR' , 'CATCHINCR_e0030' , + 'HTSNNN1_INCR' , 'CATCHINCR_e0030' , + 'HTSNNN2_INCR' , 'CATCHINCR_e0030' , + 'HTSNNN3_INCR' , 'CATCHINCR_e0030' , + 'SNDZN1_INCR' , 'CATCHINCR_e0030' , + 'SNDZN2_INCR' , 'CATCHINCR_e0030' , + 'SNDZN3_INCR' , 'CATCHINCR_e0030' , + +:: +catch_progn_incr0031.descr: 'Tile-space,3-Hourly,Instantaneous,Single-Level,Assimilation, Land Prognostics Increments', +catch_progn_incr0031.template: '%y4%m2%d2_%h2%n2z.bin', +catch_progn_incr0031.mode: 'instantaneous', +catch_progn_incr0031.frequency: 030000, +catch_progn_incr0031.ref_time: 013000, +catch_progn_incr0031.fields: 'TCFSAT_INCR' , 'CATCHINCR_e0031' , + 'TCFTRN_INCR' , 'CATCHINCR_e0031' , + 'TCFWLT_INCR' , 'CATCHINCR_e0031' , + 'QCFSAT_INCR' , 'CATCHINCR_e0031' , + 'QCFTRN_INCR' , 'CATCHINCR_e0031' , + 'QCFWLT_INCR' , 'CATCHINCR_e0031' , + 'CAPAC_INCR' , 'CATCHINCR_e0031' , + 'CATDEF_INCR' , 'CATCHINCR_e0031' , + 'RZEXC_INCR' , 'CATCHINCR_e0031' , + 'SRFEXC_INCR' , 'CATCHINCR_e0031' , + 'GHTCNT1_INCR' , 'CATCHINCR_e0031' , + 'GHTCNT2_INCR' , 'CATCHINCR_e0031' , + 'GHTCNT3_INCR' , 'CATCHINCR_e0031' , + 'GHTCNT4_INCR' , 'CATCHINCR_e0031' , + 'GHTCNT5_INCR' , 'CATCHINCR_e0031' , + 'GHTCNT6_INCR' , 'CATCHINCR_e0031' , + 'WESNN1_INCR' , 'CATCHINCR_e0031' , + 'WESNN2_INCR' , 'CATCHINCR_e0031' , + 'WESNN3_INCR' , 'CATCHINCR_e0031' , + 'HTSNNN1_INCR' , 'CATCHINCR_e0031' , + 'HTSNNN2_INCR' , 'CATCHINCR_e0031' , + 'HTSNNN3_INCR' , 'CATCHINCR_e0031' , + 'SNDZN1_INCR' , 'CATCHINCR_e0031' , + 'SNDZN2_INCR' , 'CATCHINCR_e0031' , + 'SNDZN3_INCR' , 'CATCHINCR_e0031' , + +:: +catch_progn_incr0032.descr: 'Tile-space,3-Hourly,Instantaneous,Single-Level,Assimilation, Land Prognostics Increments', +catch_progn_incr0032.template: '%y4%m2%d2_%h2%n2z.bin', +catch_progn_incr0032.mode: 'instantaneous', +catch_progn_incr0032.frequency: 030000, +catch_progn_incr0032.ref_time: 013000, +catch_progn_incr0032.fields: 'TCFSAT_INCR' , 'CATCHINCR_e0032' , + 'TCFTRN_INCR' , 'CATCHINCR_e0032' , + 'TCFWLT_INCR' , 'CATCHINCR_e0032' , + 'QCFSAT_INCR' , 'CATCHINCR_e0032' , + 'QCFTRN_INCR' , 'CATCHINCR_e0032' , + 'QCFWLT_INCR' , 'CATCHINCR_e0032' , + 'CAPAC_INCR' , 'CATCHINCR_e0032' , + 'CATDEF_INCR' , 'CATCHINCR_e0032' , + 'RZEXC_INCR' , 'CATCHINCR_e0032' , + 'SRFEXC_INCR' , 'CATCHINCR_e0032' , + 'GHTCNT1_INCR' , 'CATCHINCR_e0032' , + 'GHTCNT2_INCR' , 'CATCHINCR_e0032' , + 'GHTCNT3_INCR' , 'CATCHINCR_e0032' , + 'GHTCNT4_INCR' , 'CATCHINCR_e0032' , + 'GHTCNT5_INCR' , 'CATCHINCR_e0032' , + 'GHTCNT6_INCR' , 'CATCHINCR_e0032' , + 'WESNN1_INCR' , 'CATCHINCR_e0032' , + 'WESNN2_INCR' , 'CATCHINCR_e0032' , + 'WESNN3_INCR' , 'CATCHINCR_e0032' , + 'HTSNNN1_INCR' , 'CATCHINCR_e0032' , + 'HTSNNN2_INCR' , 'CATCHINCR_e0032' , + 'HTSNNN3_INCR' , 'CATCHINCR_e0032' , + 'SNDZN1_INCR' , 'CATCHINCR_e0032' , + 'SNDZN2_INCR' , 'CATCHINCR_e0032' , + 'SNDZN3_INCR' , 'CATCHINCR_e0032' , + +:: + diff --git a/GEOSldas_App/ldas_setup b/GEOSldas_App/ldas_setup index 30649d01..aeb152d4 100755 --- a/GEOSldas_App/ldas_setup +++ b/GEOSldas_App/ldas_setup @@ -88,6 +88,8 @@ class LDASsetup: exphome_ = cmdLineArgs['exphome'].rstrip('/') assert os.path.isdir(exphome_) # exphome should exist self.exphome = os.path.abspath(exphome_) + self.nymdb = cmdLineArgs['nymdb'] + self.nhmsb = cmdLineArgs['nhmsb'] self.verbose = cmdLineArgs['verbose'] self.runmodel = cmdLineArgs['runmodel'] if self.runmodel : @@ -147,6 +149,9 @@ class LDASsetup: for key in rqdExeInpKeys : assert key in self.rqdExeInp,' "%s" is required in the input file %s' % (key,self.exeinpfile) + if cmdLineArgs['nymdb'] != 'None' and cmdLineArgs['nhmsb'] != 'None' : + self.date = f"{self.nymdb} {self.nhmsb}" + self.rqdExeInp[ 'BEG_DATE' ] = self.date # print rqd exe inputs if self.verbose: @@ -161,9 +166,17 @@ class LDASsetup: _mydir = None self.ladas_coupling = int(self.rqdExeInp.get('LADAS_COUPLING',0)) self.adas_expdir ='' - if self.ladas_coupling > 0: - assert 'ADAS_EXPDIR' in self.rqdExeInp, " need ADAS_EXPDIR in the input file %s" %(self.exeinpfile) - self.adas_expdir = self.rqdExeInp['ADAS_EXPDIR'] + if self.ladas_coupling > 0 : + self.adas_expdir = os.path.dirname(self.exphome) + self.rqdExeInp[ 'ADAS_EXPDIR'] = self.adas_expdir + self.adas_expid = os.path.basename(self.adas_expdir) + self.rqdExeInp[ 'MET_TAG' ] = self.adas_expid + '__bkg' + if self.ladas_coupling == 1 : + self.rqdExeInp[ 'EXP_ID' ] = self.adas_expid + '_LDAS' + if self.ladas_coupling == 2 : + self.rqdExeInp[ 'EXP_ID' ] = self.adas_expid + '_LDAS4ens' + self.rqdExeInp[ 'MET_PATH' ] = self.adas_expdir +'/atmens/mem' + self.first_ens_id = int(self.rqdExeInp.get('FIRST_ENS_ID',0)) self.perturb = int(self.rqdExeInp.get('PERTURBATIONS',0)) if self.nens > 1: @@ -1070,7 +1083,7 @@ class LDASsetup: # DEFAULT rc files default_rc = glob.glob(etcdir+'/GEOSldas_*.rc') - assert len(default_rc)==4 + assert len(default_rc)==6 print (default_rc) for rcfile in default_rc: shortfile=rcfile.rsplit('GEOSldas_',1)[1] @@ -1103,6 +1116,25 @@ class LDASsetup: sp.call(shlex.split(cmd)) for line in fileinput.input(tmprcfile,inplace=True): print (line.rstrip().replace('GEOSldas_expid',self.rqdExeInp['EXP_ID'])) + + # take HISTdet or HISTens if ladas + if shortfile =='HISTdet.rc' and self.ladas_coupling == 1 : + tmprcfile=self.rundir+'/HISTORY.rc' + histrc_file=rcfile + shutil.copy2(rcfile, tmprcfile) + for line in fileinput.input(tmprcfile,inplace=True): + print (line.rstrip().replace('GEOSldas_expid',self.rqdExeInp['EXP_ID'])) + for line in fileinput.input(tmprcfile,inplace=True): + print (line.rstrip().replace('GRIDNAME',self.rqdExeInp['GRIDNAME'])) + if shortfile =='HISTens.rc' and self.ladas_coupling == 2 : + tmprcfile=self.rundir+'/HISTORY.rc' + histrc_file=rcfile + shutil.copy2(rcfile, tmprcfile) + for line in fileinput.input(tmprcfile,inplace=True): + print (line.rstrip().replace('GEOSldas_expid',self.rqdExeInp['EXP_ID'])) + for line in fileinput.input(tmprcfile,inplace=True): + print (line.rstrip().replace('GRIDNAME',self.rqdExeInp['GRIDNAME'])) + # just copy an empty ExtData.rc if shortfile=='ExtData.rc' : shutil.copy2(rcfile, self.rundir+'/'+shortfile) @@ -1541,14 +1573,12 @@ def _printExeInputKeys(rqdExeInpKeys): print ('# #') print ('# (2) EXP_DOMAIN must be global CS grid as in ADAS exp #') print ('# #') - print ('# (3) MET_TAG must be set to [ADAS_EXPID]__Nx+- #') + print ('# (3) MET_TAG must be set to [ADAS_EXPID]__bkg #') print ('# MET_PATH must be set as follows for #') print ('# LADAS_COUPLING = 1: #') - print ('# [full_path]/[LDAS_EXPID]/scratch/ #') + print ('# ../../../../recycle/holdpredout/ #') print ('# LADAS_COUPLING = 2: #') - print ('# [ADAS_EXPDIR]/atmens/ensdiag/forc #') - print ('# After ldas exp setup, verify the following link: #') - print ('# ../input/met_forcing/forc -> [MET_PATH] #') + print ('# [ADAS_EXPDIR]/atmens/mem #') print ('# #') print ('# (4) BCS_PATH must be consistent with that of #') print ('# [ADAS_EXPDIR][/run/lnbcs #') @@ -1698,6 +1728,16 @@ def parseCmdLine(): help='replace computing/sponsor account in batinp file', type=str, default='None' ) + p_setup.add_argument( + '--nymdb', + help='replaces BEG_DATE date in exeinp file ', + type=str, default='None' + ) + p_setup.add_argument( + '--nhmsb', + help='replaces BEG_DATE time in exeinp file ', + type=str, default='None' + ) p_setup.add_argument( '--runmodel', help='Obsolete.', diff --git a/GEOSldas_App/lenkf_j_template.py b/GEOSldas_App/lenkf_j_template.py index 45abc2e9..6dcee191 100644 --- a/GEOSldas_App/lenkf_j_template.py +++ b/GEOSldas_App/lenkf_j_template.py @@ -175,11 +175,6 @@ setenv GRID $forcgrid $GEOSBIN/enpert_forc.csh cd $SCRDIR - else - - # move central-simulation forcing held in met_forcing to scratch dir - echo "move lfo_Nx+- met forcing from $EXPDIR/input/met_forcing to $SCRDIR" - /bin/mv $EXPDIR/input/met_forcing/*lfo_Nx+-*nc4 $SCRDIR/. endif endif diff --git a/GEOSldas_App/sample_config_files/LADAS/exeinp.txt.Hy4dEnVar.atmens b/GEOSldas_App/sample_config_files/LADAS/exeinp.txt.Hy4dEnVar.atmens index bf4e17a9..410505dd 100644 --- a/GEOSldas_App/sample_config_files/LADAS/exeinp.txt.Hy4dEnVar.atmens +++ b/GEOSldas_App/sample_config_files/LADAS/exeinp.txt.Hy4dEnVar.atmens @@ -9,16 +9,27 @@ # # (2) Use the resource parameter settings below when editing MY_exeinp.txt # +# (3) The following resource parameters are provided via fvsetup, +# which supersede the default in MY_exeinp.txt: +# ADAS_EXPDIR +# ADAS_EXPID +# EXP_ID +# MET_TAG +# BEG_DATE +# GID ############################################################################## -NUM_LDAS_ENSEMBLE: [NUM_ATM_ENSEMBLE] +# e.g., ATMENS_AGCM_GRID = CF0090x6C +EXP_DOMAIN: [ATMENS_AGCM_GRID]_GLOBAL + +NUM_LDAS_ENSEMBLE: [NUM_ATMENS_ENSEMBLE] LADAS_COUPLING: 2 -ADAS_EXPDIR: [full_path]/[ADAS_EXPDIR] +ADAS_EXPDIR: [full_path]/[ADAS_EXPID] -MET_TAG: [ADAS_EXPID]__Nx+- -MET_PATH: [ADAS_EXPDIR]/atmens/ensdiag/mem +MET_TAG: [ADAS_EXPID]__bkg +MET_PATH: [ADAS_EXPDIR]/atmens/mem MET_HINTERP: 0 diff --git a/GEOSldas_App/sample_config_files/LADAS/exeinp.txt.Hy4dEnVar.central b/GEOSldas_App/sample_config_files/LADAS/exeinp.txt.Hy4dEnVar.central index c30c880a..0c682821 100644 --- a/GEOSldas_App/sample_config_files/LADAS/exeinp.txt.Hy4dEnVar.central +++ b/GEOSldas_App/sample_config_files/LADAS/exeinp.txt.Hy4dEnVar.central @@ -7,16 +7,27 @@ # (1) Create exeinp template using: # ldas_setup sample --exeinp > MY_exeinp.txt # -# (2) Use the resource parameter settings below when editing MY_exeinp.txt +# (2) Use the resource parameter settings below when editing MY_exeinp.txt # +# (3) The following resource parameters are provided via fvsetup, +# which supersede the default in MY_exeinp.txt +# ADAS_EXPDIR +# ADAS_EXPID +# EXP_ID +# MET_TAG +# BEG_DATE +# GID ############################################################################## +# e.g., CENTRAL_AGCM_GRID = CF0360x6C +EXP_DOMAIN: [CENTRAL_AGCM_GRID]_GLOBAL + LADAS_COUPLING: 1 -ADAS_EXPDIR: [full_path]/[ADAS_EXPDIR] +ADAS_EXPDIR: [full_path]/[ADAS_EXPID] -MET_TAG: [ADAS_EXPID]__Nx+- -MET_PATH: ../../scratch +MET_TAG: [ADAS_EXPID]__bkg +MET_PATH: ../../../../recycle/holdpredout # option to use perturbed forcing created from central simulation and atm ensemble # MET_PATH: [ADAS_EXPDIR]/atmens/rgdlfo diff --git a/GEOSldas_App/util/config/rewind_GEOSldas.csh b/GEOSldas_App/util/config/rewind_GEOSldas.csh index a52a1951..38e383e9 100755 --- a/GEOSldas_App/util/config/rewind_GEOSldas.csh +++ b/GEOSldas_App/util/config/rewind_GEOSldas.csh @@ -70,24 +70,24 @@ while ($inens <= $NENS) if ($inens < 10) then set ENSDIR = `echo ens000${inens}` - set catin = `echo catch000${inens}` - set pertin = `echo landpert000${inens}` - set seedin = `echo obspertrseed000${inens}` + set catin = `echo catch_e000${inens}` + set pertin = `echo landpert_e000${inens}` + set seedin = `echo obspertrseed_e000${inens}` else if($inens < 100) then set ENSDIR = `echo ens00${inens}` - set catin = `echo catch00${inens}` - set pertin = `echo landpert00${inens}` - set seedin = `echo obspertrseed00${inens}` + set catin = `echo catch_e00${inens}` + set pertin = `echo landpert_e00${inens}` + set seedin = `echo obspertrseed_e00${inens}` else if($inens < 1000) then set ENSDIR = `echo ens0${inens}` - set catin = `echo catch0${inens}` - set pertin = `echo landpert0${inens}` - set seedin = `echo obspertrseed0${inens}` + set catin = `echo catch_e0${inens}` + set pertin = `echo landpert_e0${inens}` + set seedin = `echo obspertrseed_e0${inens}` else set ENSDIR = `echo ens${inens}` - set catin = `echo catch${inens}` - set pertin = `echo landpert${inens}` - set seedin = `echo obspertrseed${inens}` + set catin = `echo catch_e${inens}` + set pertin = `echo landpert_e${inens}` + set seedin = `echo obspertrseed_e${inens}` endif /bin/ln -s ${rsout}/${ENSDIR}/Y${yin}/M${min}/${expid}.catch_internal_rst.${date} ${catin}_internal_rst diff --git a/GEOSmetforce_GridComp/LDAS_Forcing.F90 b/GEOSmetforce_GridComp/LDAS_Forcing.F90 old mode 100755 new mode 100644 index 6ac6a58f..607dbcf0 --- a/GEOSmetforce_GridComp/LDAS_Forcing.F90 +++ b/GEOSmetforce_GridComp/LDAS_Forcing.F90 @@ -3094,6 +3094,8 @@ subroutine get_GEOS( date_time, force_dtstep, met_path, met_tag, & ! ! rreichle, 18 Dec 2024 - added M21C ! + ! sqzhang+rreichle, 8 Apr 2025 - added "bkg.lfo_[inst,tavg]" for coupled land/atm DAS (replacing "Nx+-") + ! ! ----------------------------------- ! ! Read surface met forcing from MERRA, MERRA-2 or GEOS-5 DAS (i.e., FP) based on parsing of "met_tag". @@ -3173,7 +3175,8 @@ subroutine get_GEOS( date_time, force_dtstep, met_path, met_tag, & real, parameter :: nodata_GEOSgcm = 1.e15 - character(40), dimension(N_G5DAS_vars, N_defs_cols) :: G5DAS_defs + character(40), dimension(N_G5DAS_vars, N_defs_cols) :: G5DAS_defs + character(40), dimension(N_G5DAS_vars, N_defs_cols) :: G5BKG_defs character(40), dimension(N_G5DAS_vars, N_defs_cols) :: GEOSIT_defs character(40), dimension(N_MERRA_vars, N_defs_cols) :: MERRA_defs character(40), dimension(N_MERRA2plusAerosol_vars, N_defs_cols) :: M2INT_defs @@ -3212,7 +3215,7 @@ subroutine get_GEOS( date_time, force_dtstep, met_path, met_tag, & integer :: j, k, GEOSgcm_var, fid, km, lm, nvars, ngatts, rc, YYYYMMDD, HHMMSS - logical :: minimize_shift, use_prec_corr, use_Predictor, tmp_init + logical :: minimize_shift, use_prec_corr, use_bkg, tmp_init logical :: daily_met_files, daily_precipcorr_files @@ -3252,6 +3255,46 @@ subroutine get_GEOS( date_time, force_dtstep, met_path, met_tag, & G5DAS_defs(11,:)=[character(len=40):: 'QLML ','inst','inst1_2d_lfo_Nx','diag','S'] G5DAS_defs(12,:)=[character(len=40):: 'SPEEDLML','inst','inst1_2d_lfo_Nx','diag','S'] + + ! ----------------------------------------------------------------------- + ! + ! define coupled land/atm DAS file specs (i.e., use bkg.lfo_* files) + ! + ! same as G5DAS except for file tag (column 3) + + G5BKG_defs = G5DAS_defs + + ! character(40): + ! 1 2 3 4 + ! 1234567890123456789012345678901234567890 + + G5BKG_defs( 1,3) = 'bkg.lfo_tavg ' + G5BKG_defs( 2,3) = 'bkg.lfo_tavg ' + G5BKG_defs( 3,3) = 'bkg.lfo_tavg ' + G5BKG_defs( 4,3) = 'bkg.lfo_tavg ' + G5BKG_defs( 5,3) = 'bkg.lfo_tavg ' + G5BKG_defs( 6,3) = 'bkg.lfo_tavg ' + G5BKG_defs( 7,3) = 'bkg.lfo_tavg ' + G5BKG_defs( 8,3) = 'bkg.lfo_inst ' + G5BKG_defs( 9,3) = 'bkg.lfo_inst ' + G5BKG_defs(10,3) = 'bkg.lfo_inst ' + G5BKG_defs(11,3) = 'bkg.lfo_inst ' + G5BKG_defs(12,3) = 'bkg.lfo_inst ' + + G5BKG_defs( 1,4) = 'rs ' + G5BKG_defs( 2,4) = 'rs ' + G5BKG_defs( 3,4) = 'rs ' + G5BKG_defs( 4,4) = 'rs ' + G5BKG_defs( 5,4) = 'rs ' + G5BKG_defs( 6,4) = 'rs ' + G5BKG_defs( 7,4) = 'rs ' + G5BKG_defs( 8,4) = 'rs ' + G5BKG_defs( 9,4) = 'rs ' + G5BKG_defs(10,4) = 'rs ' + G5BKG_defs(11,4) = 'rs ' + G5BKG_defs(12,4) = 'rs ' + + ! ----------------------------------------------------------------------- ! ! define GEOS-IT file specs @@ -3731,46 +3774,49 @@ subroutine get_GEOS( date_time, force_dtstep, met_path, met_tag, & met_path_bkwd, prec_path_bkwd, met_tag_bkwd, use_prec_corr ) - else ! GEOS ADAS (FP) + else ! GEOS ADAS (FP, GEOSIT) + + call parse_G5DAS_met_tag( met_path, met_tag, date_time_inst, & + met_path_inst, prec_path_inst, met_tag_inst, use_prec_corr, & + use_bkg ) + + call parse_G5DAS_met_tag( met_path, met_tag, date_time_fwd, & + met_path_fwd, prec_path_fwd, met_tag_fwd, use_prec_corr, & + use_bkg ) + call parse_G5DAS_met_tag( met_path, met_tag, date_time_bkwd, & + met_path_bkwd, prec_path_bkwd, met_tag_bkwd, use_prec_corr, & + use_bkg ) + ! AEROSOL_DEPOSITION /= 0 is NOT supported N_GEOSgcm_vars = N_G5DAS_vars allocate(GEOSgcm_defs(N_GEOSgcm_vars,N_defs_cols)) - if ( (index(met_tag, 'GEOSIT') > 0) .or. (index(met_tag, 'geosit') > 0) ) then + if ( (index(met_tag, 'GEOSIT') > 0) .or. (index(met_tag, 'geosit') > 0) ) then GEOSgcm_defs(1:N_G5DAS_vars,:) = GEOSIT_defs - else + else if ( use_bkg ) then + GEOSgcm_defs(1:N_G5DAS_vars,:) = G5BKG_defs + + ! +++++++++++++++++++++++++++++ + ! for now, keep 'Nx+-' to ensure backward compatibility w/ regression tests; 'Nx+-' is obsolete otherwise + ! - reichle, 14 Apr 2025 + if (index(met_tag, 'Nx+-') > 0) then ! "met_tag" here is as specified in LDAS.rc, incl. optional tag segments + GEOSgcm_defs(1:N_G5DAS_vars,:) = G5DAS_defs + ! append "+-" to GCM file tag (ie, replace "Nx" with "Nx+-") + do j=1,N_GEOSgcm_vars + GEOSgcm_defs(j,3) = trim(GEOSgcm_defs(j,3)) // '+-' + end do + end if + ! +++++++++++++++++++++++++++++ + + else GEOSgcm_defs(1:N_G5DAS_vars,:) = G5DAS_defs end if - call parse_G5DAS_met_tag( met_path, met_tag, date_time_inst, & - met_path_inst, prec_path_inst, met_tag_inst, use_prec_corr, & - use_Predictor ) - - call parse_G5DAS_met_tag( met_path, met_tag, date_time_fwd, & - met_path_fwd, prec_path_fwd, met_tag_fwd, use_prec_corr, & - use_Predictor ) - - call parse_G5DAS_met_tag( met_path, met_tag, date_time_bkwd, & - met_path_bkwd, prec_path_bkwd, met_tag_bkwd, use_prec_corr, & - use_Predictor ) - - if (use_Predictor) then - - ! append "+-" to GCM file tag (ie, replace "Nx" with "Nx+-") - - do j=1,N_GEOSgcm_vars - - GEOSgcm_defs(j,3) = trim(GEOSgcm_defs(j,3)) // '+-' - - end do - - end if - end if - + allocate(force_array(N_catd,N_GEOSgcm_vars)) ! --------------------------------------------------------------------------- @@ -4916,9 +4962,9 @@ end subroutine parse_M21C_met_tag ! **************************************************************** - subroutine parse_G5DAS_met_tag( met_path_in, met_tag_in, date_time, & - met_path_default, met_path_prec, met_tag_out, use_prec_corr, & - use_Predictor ) + subroutine parse_G5DAS_met_tag( met_path_in, met_tag_in, date_time, & + met_path_default, met_path_prec, met_tag_out, use_prec_corr, & + use_bkg ) ! parse G5DAS "met_tag" ! @@ -4949,13 +4995,14 @@ subroutine parse_G5DAS_met_tag( met_path_in, met_tag_in, date_time, & ! reichle, 17 Jan 2020: added FP transition from f522 to f525 ! reichle, 3 Apr 2020: added FP transition from f525 to f525_p5 ! qliu+reichle, 5 Dec 2023: added GEOS-IT - ! + ! sqz+reichle, 8 Apr 2025: added G5BKG (replacing "Nx+-") + ! ! --------------------------------------------------------------------------- implicit none - character(*), intent(in) :: met_path_in - character(*), intent(in) :: met_tag_in + character(*), intent(in) :: met_path_in + character(*), intent(in) :: met_tag_in type(date_time_type), intent(in) :: date_time @@ -4963,7 +5010,7 @@ subroutine parse_G5DAS_met_tag( met_path_in, met_tag_in, date_time, & character( 80), intent(out) :: met_tag_out logical, intent(out) :: use_prec_corr - logical, intent(out) :: use_Predictor + logical, intent(out) :: use_bkg ! local variables @@ -5217,7 +5264,7 @@ subroutine parse_G5DAS_met_tag( met_path_in, met_tag_in, date_time, & use_prec_corr = .false. - use_Predictor = .false. + use_bkg = .false. ! ----------------------------------------------------- ! @@ -5400,11 +5447,15 @@ subroutine parse_G5DAS_met_tag( met_path_in, met_tag_in, date_time, & use_prec_corr = .true. prec_tag = tmp_tag(ii)(5:len(tmp_tag(ii))) + + elseif ( (tmp_tag(ii)(1:3)=='bkg') .or. (tmp_tag(ii)(1:4)=='Nx+-') ) then + ! ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + ! for now, keep 'Nx+-' to ensure backward compatibility w/ regression tests; 'Nx+-' is obsolete otherwise + ! - reichle, 14 Apr 2025 + ! +++++++++++++++++++++++++++++ - elseif (tmp_tag(ii)(1:4)=='Nx+-') then + use_bkg = .true. - use_Predictor = .true. - else err_msg = 'invalid met_tag_in, unknown optional tag segment' @@ -5433,7 +5484,7 @@ subroutine parse_G5DAS_met_tag( met_path_in, met_tag_in, date_time, & ! Double-check if optional tag segments were somehow missed, e.g., ! because they were accidentally appended with single underscores. ! Assumes that "prec" and "Nx+-" never appear in GEOS-5 product names. - ! Does NOT protect against spelling errors, e.g., "__perc" or "__Nx-+". + ! Does NOT protect against spelling errors, e.g., "__perc" or "__bgk" or "__Nx-+". ! - reichle, 24 Nov 2015 if ((.not. use_prec_corr) .and. (index( met_tag_in, 'prec')>0)) then @@ -5443,13 +5494,22 @@ subroutine parse_G5DAS_met_tag( met_path_in, met_tag_in, date_time, & end if - if ((.not. use_Predictor) .and. (index( met_tag_in, 'Nx+-')>0)) then + if ((.not. use_bkg) .and. (index( met_tag_in, 'bkg')>0)) then - err_msg = 'questionable met_tag_in: includes "Nx+-" but use_Predictor=.false.' + err_msg = 'questionable met_tag_in: includes "bkg" but use_bkg=.false.' call ldas_abort(LDAS_GENERIC_ERROR, Iam, err_msg) - + end if - + + ! +++++++++++++++++++++++++++++ + ! for now, keep 'Nx+-' to ensure backward compatibility w/ regression tests; 'Nx+-' is obsolete otherwise + ! - reichle, 14 Apr 2025 + if ((.not. use_bkg) .and. (index( met_tag_in, 'Nx+-')>0)) then + err_msg = 'questionable met_tag_in: includes "Nx+-" but use_bkg=.false.' + call ldas_abort(LDAS_GENERIC_ERROR, Iam, err_msg) + end if + ! +++++++++++++++++++++++++++++ + end subroutine parse_G5DAS_met_tag ! **************************************************************** @@ -5585,7 +5645,6 @@ subroutine get_GEOS_forcing_filename(fname_full,file_exists, date_time, daily_fi fname_full_tmp2 = trim(fname_full) ! remember for error log below - ! last try: for GEOS FP with generic file names, try product counter '.V02.' in year/month/day dir if (trim(met_tag(1:11))=='GEOS.fp.asm') then @@ -6633,8 +6692,7 @@ program ut_parse_G5DAS_met_tag character( 80) :: met_tag_out logical :: use_prec_corr - logical :: use_Predictor - + logical :: use_bkg ! other integer :: ii @@ -6645,11 +6703,12 @@ program ut_parse_G5DAS_met_tag met_tag_in_vec = (/ & 'gcmexpname' , & - 'gcmexpname__Nx+-' , & + 'gcmexpname__bkg' , & + 'gcmexpname__bkg' , & 'gcmexpname__precCORRPREC', & - 'gcmexpname__precCORRPREC__Nx+-' , & - 'gcmexpname__Nx+-__precCORRPREC' , & - 'gcmexpname__qrecCORRPREC__Nx+-' /) + 'gcmexpname__precCORRPREC__bkg' , & + 'gcmexpname__bkg__precCORRPREC' , & + 'gcmexpname__qrecCORRPREC__bgk' /) do ii=1,N_met_tag_in @@ -6661,13 +6720,13 @@ program ut_parse_G5DAS_met_tag write (*,*) 'met_tag_in = ', trim(met_tag_in) call parse_G5DAS_met_tag( met_path_in, met_tag_in, & - met_path_default, met_path_prec, met_tag_out, use_prec_corr, use_Predictor ) + met_path_default, met_path_prec, met_tag_out, use_prec_corr, use_bkg ) write (*,*) 'met_path_default = ', trim(met_path_default) write (*,*) 'met_path_prec = ', trim(met_path_prec) write (*,*) 'met_tag_out = ', trim(met_tag_out) - write (*,*) 'use_prec_corr = ', use_prec_corr - write (*,*) 'use_Predictor = ', use_Predictor + write (*,*) 'use_prec_corr = ', use_prec_corr + write (*,*) 'use_bkg = ', use_bkg end do