Skip to content

Commit

Permalink
add ensemble stddev to HISTORY output for selected variables (#635)
Browse files Browse the repository at this point in the history
  • Loading branch information
gmao-rreichle committed Mar 23, 2023
2 parents 6a83bf1 + 89a8cc5 commit 86bbdd2
Show file tree
Hide file tree
Showing 5 changed files with 558 additions and 88 deletions.
68 changes: 46 additions & 22 deletions src/Applications/LDAS_App/GEOSldas_HIST.rc
Original file line number Diff line number Diff line change
Expand Up @@ -407,29 +407,43 @@ COLLECTIONS:

# For lndfcstana, *.frequency and *.ref_time must be consistent with the LDAS.rc resource
# parameters LANDASSIM_DT and LANDASSIM_T0.
# Output of the ensemble std-dev (ENSSTD) requires simultaneous output of the ensemble mean. If the
# ensemble mean is not written out for a given field, that field's ENSSTD output will be MAPL_UNDEF.

inst3_1d_lndfcstana_Nt.descr: 'Tile-space,3-Hourly,Instantaneous,Single-Level,Assimilation,Ensemble-Average Land Forecast and Analysis Diagnostics',
inst3_1d_lndfcstana_Nt.descr: 'Tile-space,3-Hourly,Instantaneous,Single-Level,Assimilation,Ensemble Land Forecast and Analysis Diagnostics',
inst3_1d_lndfcstana_Nt.nbits: 12,
inst3_1d_lndfcstana_Nt.template: '%y4%m2%d2_%h2%n2z.bin',
inst3_1d_lndfcstana_Nt.mode: 'instantaneous',
inst3_1d_lndfcstana_Nt.frequency: 030000,
inst3_1d_lndfcstana_Nt.ref_time: 000000,
inst3_1d_lndfcstana_Nt.fields: 'WCSF' , 'ENSAVG' , 'SFMC_FCST' ,
'WCRZ' , 'ENSAVG' , 'RZMC_FCST' ,
'WCPR' , 'ENSAVG' , 'PRMC_FCST' ,
'TPSURF' , 'ENSAVG' , 'TSURF_FCST' ,
'TSOIL1TILE' , 'ENSAVG' , 'TSOIL1_FCST' ,
'WCSF_ANA' , 'LANDASSIM' , 'SFMC_ANA' ,
'WCRZ_ANA' , 'LANDASSIM' , 'RZMC_ANA' ,
'WCPR_ANA' , 'LANDASSIM' , 'PRMC_ANA' ,
'TPSURF_ANA' , 'LANDASSIM' , 'TSURF_ANA' ,
'TSOIL1_ANA' , 'LANDASSIM' , 'TSOIL1_ANA' ,
inst3_1d_lndfcstana_Nt.fields: 'WCSF' , 'ENSAVG' , 'SFMC_FCST' ,
'WCRZ' , 'ENSAVG' , 'RZMC_FCST' ,
'WCPR' , 'ENSAVG' , 'PRMC_FCST' ,
'TPSURF' , 'ENSAVG' , 'TSURF_FCST' ,
'TSOIL1TILE' , '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' ,
'TSOIL1TILE_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' ,
'TSOIL1_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' ,
'TSOIL1_ANA_ENSSTD' , 'LANDASSIM' , 'TSOIL1_ANA_ENSSTD'
::

# For lndfcstana, *.frequency and *.ref_time must be consistent with the LDAS.rc resource
# parameters LANDASSIM_DT and LANDASSIM_T0.
# Output of the ensemble std-dev (ENSSTD) requires simultaneous output of the ensemble mean. If the
# ensemble mean is not written out for a given field, that field's ENSSTD output will be MAPL_UNDEF.

inst3_2d_lndfcstana_Nx.descr: '2d,3-Hourly,Instantaneous,Single-Level,Assimilation,Ensemble-Average Land Forecast and Analysis Diagnostics',
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',
Expand All @@ -441,16 +455,26 @@ COLLECTIONS:
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' ,
'TSOIL1TILE' , 'ENSAVG' , 'TSOIL1_FCST' ,
'WCSF_ANA' , 'LANDASSIM' , 'SFMC_ANA' ,
'WCRZ_ANA' , 'LANDASSIM' , 'RZMC_ANA' ,
'WCPR_ANA' , 'LANDASSIM' , 'PRMC_ANA' ,
'TPSURF_ANA' , 'LANDASSIM' , 'TSURF_ANA' ,
'TSOIL1_ANA' , 'LANDASSIM' , 'TSOIL1_ANA' ,
inst3_2d_lndfcstana_Nx.fields: 'WCSF' , 'ENSAVG' , 'SFMC_FCST' ,
'WCRZ' , 'ENSAVG' , 'RZMC_FCST' ,
'WCPR' , 'ENSAVG' , 'PRMC_FCST' ,
'TPSURF' , 'ENSAVG' , 'TSURF_FCST' ,
'TSOIL1TILE' , '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' ,
'TSOIL1TILE_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' ,
'TSOIL1_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' ,
'TSOIL1_ANA_ENSSTD' , 'LANDASSIM' , 'TSOIL1_ANA_ENSSTD'
::

# ========================== EOF ==============================================================
33 changes: 23 additions & 10 deletions src/Applications/LDAS_App/tile_bin2nc4.F90
Original file line number Diff line number Diff line change
Expand Up @@ -399,16 +399,29 @@ FUNCTION getAttribute (SHORT_NAME, LNAME, UNT) result (str_atr)

! land assimilation forecast and analysis for Catchment model diagnostics

case ('SFMC_FCST'); LONG_NAME = 'soil_moisture_surface_forecast'; UNITS = 'm3 m-3'
case ('RZMC_FCST'); LONG_NAME = 'soil_moisture_rootzone_forecast'; UNITS = 'm3 m-3'
case ('PRMC_FCST'); LONG_NAME = 'soil_moisture_profile_forecast'; UNITS = 'm3 m-3'
case ('TSURF_FCST'); LONG_NAME = 'ave_catchment_temp_incl_snw_forecast'; UNITS = 'K'
case ('TSOIL1_FCST'); LONG_NAME = 'soil_temperatures_layer_1_forecast'; UNITS = 'K'
case ('SFMC_ANA'); LONG_NAME = 'soil_moisture_surface_analysis'; UNITS = 'm3 m-3'
case ('RZMC_ANA'); LONG_NAME = 'soil_moisture_rootzone_analysis'; UNITS = 'm3 m-3'
case ('PRMC_ANA'); LONG_NAME = 'soil_moisture_profile_analysis'; UNITS = 'm3 m-3'
case ('TSURF_ANA'); LONG_NAME = 'ave_catchment_temp_incl_snw_analysis'; UNITS = 'K'
case ('TSOIL1_ANA'); LONG_NAME = 'soil_temperatures_layer_1_analysis'; UNITS = 'K'
case ('SFMC_FCST'); LONG_NAME = 'soil_moisture_surface_forecast'; UNITS = 'm3 m-3'
case ('RZMC_FCST'); LONG_NAME = 'soil_moisture_rootzone_forecast'; UNITS = 'm3 m-3'
case ('PRMC_FCST'); LONG_NAME = 'soil_moisture_profile_forecast'; UNITS = 'm3 m-3'
case ('TSURF_FCST'); LONG_NAME = 'ave_catchment_temp_incl_snw_forecast'; UNITS = 'K'
case ('TSOIL1_FCST'); LONG_NAME = 'soil_temperatures_layer_1_forecast'; UNITS = 'K'

case ('SFMC_FCST_ENSSTD'); LONG_NAME = 'soil_moisture_surface_forecast_ensstd'; UNITS = 'm3 m-3'
case ('RZMC_FCST_ENSSTD'); LONG_NAME = 'soil_moisture_rootzone_forecast_ensstd'; UNITS = 'm3 m-3'
case ('PRMC_FCST_ENSSTD'); LONG_NAME = 'soil_moisture_profile_forecast_ensstd'; UNITS = 'm3 m-3'
case ('TSURF_FCST_ENSSTD'); LONG_NAME = 'ave_catchment_temp_incl_snw_forecast_ensstd'; UNITS = 'K'
case ('TSOIL1_FCST_ENSSTD'); LONG_NAME = 'soil_temperatures_layer_1_forecast_ensstd'; UNITS = 'K'

case ('SFMC_ANA'); LONG_NAME = 'soil_moisture_surface_analysis'; UNITS = 'm3 m-3'
case ('RZMC_ANA'); LONG_NAME = 'soil_moisture_rootzone_analysis'; UNITS = 'm3 m-3'
case ('PRMC_ANA'); LONG_NAME = 'soil_moisture_profile_analysis'; UNITS = 'm3 m-3'
case ('TSURF_ANA'); LONG_NAME = 'ave_catchment_temp_incl_snw_analysis'; UNITS = 'K'
case ('TSOIL1_ANA'); LONG_NAME = 'soil_temperatures_layer_1_analysis'; UNITS = 'K'

case ('SFMC_ANA_ENSSTD'); LONG_NAME = 'soil_moisture_surface_analysis_ensstd'; UNITS = 'm3 m-3'
case ('RZMC_ANA_ENSSTD'); LONG_NAME = 'soil_moisture_rootzone_analysis_ensstd'; UNITS = 'm3 m-3'
case ('PRMC_ANA_ENSSTD'); LONG_NAME = 'soil_moisture_profile_analysis_ensstd'; UNITS = 'm3 m-3'
case ('TSURF_ANA_ENSSTD'); LONG_NAME = 'ave_catchment_temp_incl_snw_analysis_ensstd'; UNITS = 'K'
case ('TSOIL1_ANA_ENSSTD'); LONG_NAME = 'soil_temperatures_layer_1_analysis_ensstd'; UNITS = 'K'

! other land assimilation fields

Expand Down
Loading

0 comments on commit 86bbdd2

Please sign in to comment.