Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Switch to 2DVar for snow DA + use JCB #1410

Merged
merged 28 commits into from
Dec 13, 2024
Merged
Show file tree
Hide file tree
Changes from 23 commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
2a70595
commit before trying in workflow
CoryMartin-NOAA Oct 11, 2024
5465448
update jcb stuff
CoryMartin-NOAA Oct 11, 2024
51aec43
end of day save
CoryMartin-NOAA Oct 11, 2024
ba09350
commit for testing
CoryMartin-NOAA Oct 15, 2024
6abb37c
snow 2dvar completes
CoryMartin-NOAA Oct 16, 2024
c44f3b9
update hash of jcb-gdas
CoryMartin-NOAA Oct 31, 2024
0f54916
update jcb-gdas hash
CoryMartin-NOAA Nov 1, 2024
ce29cfb
update jcb hash again
CoryMartin-NOAA Nov 1, 2024
98560ff
fix for IMS
CoryMartin-NOAA Nov 4, 2024
4ddf8aa
end of day commit
CoryMartin-NOAA Nov 8, 2024
9529c44
save before merge
CoryMartin-NOAA Nov 12, 2024
375a5d8
Merge branch 'develop' into feature/snow-2dvar
CoryMartin-NOAA Nov 12, 2024
9ef5528
end of day commit
CoryMartin-NOAA Nov 13, 2024
7293231
Merge branch 'develop' into feature/snow-2dvar
CoryMartin-NOAA Nov 13, 2024
69cefc3
update jcb-algo to develop
CoryMartin-NOAA Nov 14, 2024
fc1cc39
update yaml
CoryMartin-NOAA Nov 15, 2024
aee0cc0
update for ims_fcst_path
CoryMartin-NOAA Nov 26, 2024
2e7cf91
Merge branch 'develop' into feature/snow-2dvar
CoryMartin-NOAA Dec 2, 2024
46f8edd
update hashes
CoryMartin-NOAA Dec 4, 2024
4bc8422
Merge branch 'develop' into feature/snow-2dvar
CoryMartin-NOAA Dec 4, 2024
17199bc
update jcb-gdas hash
CoryMartin-NOAA Dec 10, 2024
56edba4
Merge branch 'develop' into feature/snow-2dvar
CoryMartin-NOAA Dec 10, 2024
cccbea3
Merge branch 'develop' into feature/snow-2dvar
CoryMartin-NOAA Dec 11, 2024
7605251
update jcb gdas hash
CoryMartin-NOAA Dec 12, 2024
f4e7ca5
Merge branch 'feature/snow-2dvar' of https://github.com/NOAA-EMC/GDAS…
CoryMartin-NOAA Dec 12, 2024
8f3f390
update jcb-gdas hash
CoryMartin-NOAA Dec 13, 2024
fc1108b
move templates
CoryMartin-NOAA Dec 13, 2024
9e81593
Merge branch 'develop' into feature/snow-2dvar
CoryMartin-NOAA Dec 13, 2024
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
103 changes: 48 additions & 55 deletions parm/snow/jcb-base.yaml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,13 @@
algorithm_path: "{{PARMgfs}}/gdas/jcb-algorithms"
app_path_algorithm: "{{PARMgfs}}/gdas/jcb-gdas/algorithm/snow"
app_path_model: "{{PARMgfs}}/gdas/jcb-gdas/model/snow"
app_path_observations: "{{PARMgfs}}/gdas/jcb-gdas/observations/atmosphere"
app_path_observation_chronicle: "{{PARMgfs}}/gdas/jcb-gdas/observation_chronicle/atmosphere"
app_path_observations: "{{PARMgfs}}/gdas/jcb-gdas/observations/snow"
app_path_observation_chronicle: "{{PARMgfs}}/gdas/jcb-gdas/observation_chronicle/snow"


# Places where we deviate from the generic file name of a yaml
# ------------------------------------------------------------
#final_increment_file: final_increment_gaussian
final_increment_file: final_increment_cubed_sphere
output_ensemble_increments_file: output_ensemble_increments_gaussian
final_increment_file: snow_final_increment_fms
model_file: model_pseudo
initial_condition_file: background # Initial conditions for 4D apps is background

Expand All @@ -23,60 +21,52 @@ window_length: "{{ SNOW_WINDOW_LENGTH }}"
bound_to_include: begin

# Default background time is for 3D applications
{% if DOIAU %}
{% set bkg_time_iso = SNOW_WINDOW_BEGIN | to_isotime %}
{% set bkg_time_fv3 = SNOW_WINDOW_BEGIN | to_fv3time %}
{% else %}
{% set bkg_time_iso = current_cycle | to_isotime %}
{% set bkg_time_fv3 = current_cycle | to_fv3time %}
{% endif %}
snow_background_time_iso: "{{ bkg_time_iso }}"
snow_background_time_fv3: "{{ bkg_time_fv3 }}"
snow_increment_time_iso: "{{ bkg_time_iso }}"
snow_increment_time_fv3: "{{ bkg_time_fv3 }}"


# Analysis standard things
# ------------------------
analysis_variables: [ua,va,t,ps,sphum,ice_wat,liq_wat,o3mr]
analysis_variables: [totalSnowDepth]
minimizer: DRPCG
final_diagnostics_departures: anlmob
final_prints_frequency: PT3H
cost_type: 3D-Var
number_of_outer_loops: 2
number_of_outer_loops: 1

# Model things
# ------------
# Geometry
layout_x: {{ layout_x | default(1, true) }}
layout_y: {{ layout_y | default(1, true) }}
npx_ges: {{ npx_ges | default(49, true) }}
npy_ges: {{ npy_ges | default(49, true) }}
npz_ges: {{ npz_ges | default(127, true) }}
npx_anl: {{ npx_anl | default(49, true) }}
npy_anl: {{ npy_anl | default(49, true) }}
npz_anl: {{ npz_anl | default(127, true) }}

fv3jedi_files_path: ./fv3jedi # Ideally this would be {{DATA}}/fv3jedi but FMS
snow_layout_x: {{ layout_x | default(1, true) }}
snow_layout_y: {{ layout_y | default(1, true) }}
snow_npx_ges: {{ npx_ges | default(49, true) }}
snow_npy_ges: {{ npy_ges | default(49, true) }}
snow_npz_ges: {{ npz_ges | default(127, true) }}
snow_npx_anl: {{ npx_ges | default(49, true) }}
snow_npy_anl: {{ npy_ges | default(49, true) }}
snow_npz_anl: {{ npz_ges | default(127, true) }}

snow_fv3jedi_files_path: ./fv3jedi # Ideally this would be {{DATA}}/fv3jedi but FMS
snow_orog_files_path: "{{ FIXgfs }}/orog/{{ CASE }}"
snow_orog_prefix: "{{ CASE }}.mx{{ OCNRES }}"

# Background
background_path: ./bkg
snow_background_path: {{snow_bkg_path}}
background_ensemble_path: ./ens/mem%mem%
CoryMartin-NOAA marked this conversation as resolved.
Show resolved Hide resolved

# Background error
bump_data_directory: "{{ DATA }}/berror"
gsibec_path: "{{ DATA }}/berror"
snow_bump_data_directory: "{{ DATA }}/berror"
number_ensemble_members: {{ NMEM_ENS | default(1, true) }}
layout_gsib_x: {{ layout_gsib_x | default(1, true) }}
layout_gsib_y: {{ layout_gsib_y | default(1, true) }}

background_error_file: "{{BERROR_YAML}}"
snow_background_error_file: "{{BERROR_YAML}}"

# Forecasting
forecast_length: "{{ ATM_WINDOW_LENGTH }}"
forecast_timestep: "{{ BKG_TSTEP }}"

# Write final increment on Guassian grid in variational
final_increment_prefix: "./anl/atminc."
snow_forecast_length: "{{ SNOW_WINDOW_LENGTH }}"
snow_forecast_timestep: "{{ BKG_TSTEP }}"


# Observation things
Expand All @@ -86,29 +76,32 @@ observations: all_observations
crtm_coefficient_path: "{{ DATA }}/crtm/"

# Naming conventions for observational files
atm_obsdatain_path: "{{atm_obsdatain_path}}"
atm_obsdatain_prefix: "{{OPREFIX}}"
atm_obsdatain_suffix: ".tm00.nc"
snow_obsdataroot_path: "{{COMIN_OBS}}"
snow_obsdatain_path: "{{snow_obsdatain_path}}"
snow_obsdatain_prefix: "{{OPREFIX}}"
snow_obsdatain_suffix: ".tm00.bufr_d"

atm_obsdataout_path: "{{atm_obsdataout_path}}"
atm_obsdataout_prefix: diag_
atm_obsdataout_suffix: "_{{ current_cycle | to_YMDH }}.nc"
snow_obsdataout_path: "{{snow_obsdataout_path}}"
snow_obsdataout_prefix: diag_
snow_obsdataout_suffix: "_{{ current_cycle | to_YMDH }}.nc"

# Naming conventions for bias correction files
atm_obsbiasin_path: "{{DATA}}/obs/"
atm_obsbiasin_prefix: "{{GPREFIX}}"
atm_obsbiasin_suffix: ".satbias.nc"
atm_obstlapsein_prefix: "{{GPREFIX}}"
atm_obstlapsein_suffix: ".tlapse.txt"
atm_obsbiascovin_prefix: "{{GPREFIX}}"
atm_obsbiascovin_suffix: ".satbias_cov.nc"

atm_obsbiasout_path: "{{DATA}}/bc/"
atm_obsbiasout_prefix: "{{APREFIX}}"
atm_obsbiasout_suffix: ".satbias.nc"
atm_obsbiascovout_prefix: "{{APREFIX}}"
atm_obsbiascovout_suffix: ".satbias_cov.nc"

snow_obsbiasin_path: "{{DATA}}/obs/"
snow_obsbiasin_prefix: "{{GPREFIX}}"
snow_obsbiasin_suffix: ".satbias.nc"
snow_obstlapsein_prefix: "{{GPREFIX}}"
snow_obstlapsein_suffix: ".tlapse.txt"
snow_obsbiascovin_prefix: "{{GPREFIX}}"
snow_obsbiascovin_suffix: ".satbias_cov.nc"

snow_obsbiasout_path: "{{DATA}}/bc/"
snow_obsbiasout_prefix: "{{APREFIX}}"
snow_obsbiasout_suffix: ".satbias.nc"
snow_obsbiascovout_prefix: "{{APREFIX}}"
snow_obsbiascovout_suffix: ".satbias_cov.nc"

# Ensemble mean things
snow_number_ensemble_members: {{NMEM_ENS}}

# Local Ensemble DA (LETKF)
# -------------------------
Expand All @@ -133,5 +126,5 @@ driver_save_posterior_mean_increment: false
driver_save_posterior_ensemble_increments: true

# Diagnostics
ensemble_increment_prefix: "./anl/mem%{member}%/atminc."
#posterior_output_gaussian: "./mem%{member}%/atmanl."
ensemble_increment_prefix: "./anl/mem%{member}%/snowinc."
#posterior_output_gaussian: "./mem%{member}%/snowanl."
12 changes: 12 additions & 0 deletions parm/snow/jcb-prototype_2dvar.yaml.j2
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Algorithm
# ---------
algorithm: 3dvar
CoryMartin-NOAA marked this conversation as resolved.
Show resolved Hide resolved

# Observation things
# ------------------
observations:
# - adpsfc_snow
- ims_snow
# - ghcn_snow
- sfcsno
- snocvr_snow
4 changes: 2 additions & 2 deletions parm/snow/letkfoi/ens_apply_incr_nml.j2
CoryMartin-NOAA marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
hour_str = "{{ current_cycle | strftime('%H') }}",
res = {{ CASE_ENS[1:] }},
frac_grid = .true.,
rst_path = "{{ DATAROOT }}/anl/mem{{ MYMEM }}",
inc_path = "{{ DATAROOT }}/inc/ensmean",
rst_path = "{{ DATA }}/anl/mem{{ MYMEM }}",
inc_path = "{{ DATA }}/anl",
orog_path = "{{ HOMEgfs }}/fix/orog/{{ CASE_ENS }}",
otype = "{{ CASE_ENS }}.mx{{ OCNRES }}_oro_data"
/
109 changes: 0 additions & 109 deletions parm/snow/obs/config/adpsfc_snow.yaml.j2

This file was deleted.

53 changes: 0 additions & 53 deletions parm/snow/obs/config/ghcn_snow.yaml.j2

This file was deleted.

46 changes: 0 additions & 46 deletions parm/snow/obs/config/ims_snow.yaml.j2

This file was deleted.

Loading