diff --git a/workflows/single_fv3gfs_run/40day_free.yml b/workflows/single_fv3gfs_run/40day_free.yml new file mode 100644 index 0000000000..77c5eae0e8 --- /dev/null +++ b/workflows/single_fv3gfs_run/40day_free.yml @@ -0,0 +1,32 @@ +kubernetes: + docker_image: us.gcr.io/vcm-ml/fv3gfs-python:v0.3.1 + memory_gb: 14 + cpu_count: 24 +fv3config: + diag_table: diag_table_long_free + experiment_name: free-40day + initial_conditions: gfs_example + namelist: + atmos_model_nml: + fhout: 1.0 + fhmax: 10000 + coupler_nml: + current_date: + - 2016 + - 8 + - 1 + - 0 + - 0 + - 0 + days: 5 + minutes: 0 + seconds: 0 + dt_atmos: 900 # seconds + dt_ocean: 900 # seconds + fv_core_nml: + layout: + - 2 + - 2 + gfs_physics_nml: + fhzero: 1.0 + use_analysis_sst: true diff --git a/workflows/single_fv3gfs_run/40day_nudged.yml b/workflows/single_fv3gfs_run/40day_nudged.yml new file mode 100644 index 0000000000..2f8fb183a7 --- /dev/null +++ b/workflows/single_fv3gfs_run/40day_nudged.yml @@ -0,0 +1,63 @@ +kubernetes: + docker_image: us.gcr.io/vcm-ml/fv3gfs-python:v0.3.1 + memory_gb: 14 + cpu_count: 24 +fv3config: + diag_table: diag_table_long_nudged + experiment_name: nudged-40day + initial_conditions: gfs_example + namelist: + atmos_model_nml: + fhout: 1.0 + fhmax: 10000 + coupler_nml: + current_date: + - 2016 + - 8 + - 1 + - 0 + - 0 + - 0 + days: 5 + minutes: 0 + seconds: 0 + dt_atmos: 900 # seconds + dt_ocean: 900 # seconds + fv_core_nml: + nudge: true + layout: + - 2 + - 2 + gfs_physics_nml: + fhzero: 1.0 + use_analysis_sst: true + fv_nwp_nudge_nml: + add_bg_wind: false + do_ps_bias: false + ibtrack: true + input_fname_list: nudging_file_list + k_breed: 10 + kbot_winds: 0 + mask_fac: 0.2 + nf_ps: 3 + nf_t: 3 + nudge_debug: true + nudge_hght: false + nudge_ps: true + nudge_virt: true + nudge_winds: true + r_hi: 5.0 + r_lo: 3.0 + r_min: 225000.0 + t_is_tv: false + tau_hght: 86400.0 + tau_ps: 86400.0 + tau_virt: 86400.0 + tau_vt_rad: 1.0 + tau_vt_slp: 86400.0 + tau_vt_wind: 86400.0 + tau_winds: 86400.0 + tc_mask: true + time_varying: false + track_file_name: No_File_specified + use_high_top: true diff --git a/workflows/single_fv3gfs_run/README.md b/workflows/single_fv3gfs_run/README.md index 352b4bce17..c0e7b2c779 100644 --- a/workflows/single_fv3gfs_run/README.md +++ b/workflows/single_fv3gfs_run/README.md @@ -25,3 +25,16 @@ examples do not specify the `runfile`, and hence use the default. Note that all configuration assets except the `diag_table` and `runfile` are assumed to already be on GCS. This includes any initial conditions or patch file assets. + +The below table summarizes the configurations available. It has a good chance of being out of date. + +| config | start date | length | nudged vars | default repo | SST | +|--------|------------|--------|-------------|--------------|-----| +| long_free.yml | 1 Jan 2016 | 1 year | none | fv3gfs | clim | +| long_nudged.yml | 1 Jan 2016 | 1 year | T, ps, u, v | fv3gfs | clim | +| 40day_free.yml | 1 Aug 2016 | 40 days | none | fv3atm | GFS analysis | +| 40day_nudged.yml | 1 Aug 2016 | 40 days | T, ps, u, v | fv3atm | GFS analysis | +| free_GFS_SST_2015.yml | 1 Jan 2015 | 1 year | none | fv3atm | GFS analysis | +| nudge_T_2015.yml | 1 Jan 2015 | 1 year | T | fv3atm | GFS analysis | +| nudge_T_ps_2015.yml | 1 Jan 2015 | 1 year | T, ps | fv3atm | GFS analysis | +| nudge_T_ps_u_v_2015.yml | 1 Jan 2015 | 1 year | T, ps, u, v | fv3atm | GFS analysis | diff --git a/workflows/single_fv3gfs_run/diag_table_long_free b/workflows/single_fv3gfs_run/diag_table_long_free index ccd3cd2454..fa412af275 100644 --- a/workflows/single_fv3gfs_run/diag_table_long_free +++ b/workflows/single_fv3gfs_run/diag_table_long_free @@ -6,6 +6,7 @@ default_experiment "atmos_8xdaily", 3, "hours", 1, "hours", "time" "tracers_8xdaily", 3, "hours", 1, "hours", "time" "sfc_hourly", 1, "hours", 1, "hours", "time" +"atmos_monthly", 1, "months", 1, "hours", "time" # #output variables # @@ -50,6 +51,10 @@ default_experiment "dynamics", "vort850", "VORT850", "atmos_hourly", "all", .false., "none", 2 "dynamics", "vort500", "VORT500", "atmos_hourly", "all", .false., "none", 2 "dynamics", "vort200", "VORT200", "atmos_hourly", "all", .false., "none", 2 +### + "dynamics", "z850", "h850", "atmos_hourly", "all", .false., "none", 2 + "dynamics", "z500", "h500", "atmos_hourly", "all", .false., "none", 2 + "dynamics", "z200", "h200", "atmos_hourly", "all", .false., "none", 2 #### "dynamics", "dp1000", "DPT1000", "atmos_hourly", "all", .false., "none", 2 "dynamics", "dp850", "DPT850", "atmos_hourly", "all", .false., "none", 2 @@ -151,6 +156,78 @@ default_experiment "gfs_sfc", "SOILT2" "SOILT2" "sfc_hourly", "all", .false., "none", 2 "gfs_sfc", "SOILT3" "SOILT3" "sfc_hourly", "all", .false., "none", 2 "gfs_sfc", "SOILT4" "SOILT4" "sfc_hourly", "all", .false., "none", 2 + "gfs_phys", "dusfci", "uflx", "sfc_hourly", "all", .false., "none", 2 + "gfs_phys", "dvsfci", "vflx", "sfc_hourly", "all", .false., "none", 2 +### +# atmos_monthly +### + "dynamics", "grid_lont", "lon", "atmos_monthly", "all", .true., "none", 2, + "dynamics", "grid_latt", "lat", "atmos_monthly", "all", .true., "none", 2, + "dynamics", "grid_lon", "lonb", "atmos_monthly", "all", .true., "none", 2, + "dynamics", "grid_lat", "latb", "atmos_monthly", "all", .true., "none", 2, + "dynamics", "area", "area", "atmos_monthly", "all", .true., "none", 2, + "gfs_phys", "cnvprcp_ave" "CPRATsfc" "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "totprcp_ave" "PRATEsfc" "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "totice_ave" "ICEsfc" "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "totsnw_ave" "SNOWsfc" "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "totgrp_ave" "GRAUPELsfc" "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "DSWRF" "DSWRFsfc" "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "USWRF" "USWRFsfc" "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "DSWRFtoa" "DSWRFtoa" "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "USWRFtoa" "USWRFtoa" "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "ULWRFtoa" "ULWRFtoa" "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "ULWRF" "ULWRFsfc" "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "DLWRF" "DLWRFsfc" "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "lhtfl_ave" "LHTFLsfc" "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "shtfl_ave" "SHTFLsfc" "atmos_monthly", "all", .true., "none", 2 + "gfs_sfc", "SLMSKsfc" "SLMSKsfc" "atmos_monthly", "all", .true., "none", 2 + "gfs_sfc", "q2m" "SPFH2m" "atmos_monthly", "all", .true., "none", 2 + "gfs_sfc", "t2m" "TMP2m" "atmos_monthly", "all", .true., "none", 2 + "gfs_sfc", "tsfc" "TMPsfc" "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "dpt2m" "DPT2m" "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "u10m" "UGRD10m" "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "v10m" "VGRD10m" "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "wind10mmax" "MAXWIND10m" "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "soilm" "SOILM" "atmos_monthly", "all", .true., "none", 2 + "gfs_sfc", "SOILT1" "SOILT1" "atmos_monthly", "all", .true., "none", 2 + "gfs_sfc", "SOILT2" "SOILT2" "atmos_monthly", "all", .true., "none", 2 + "gfs_sfc", "SOILT3" "SOILT3" "atmos_monthly", "all", .true., "none", 2 + "gfs_sfc", "SOILT4" "SOILT4" "atmos_monthly", "all", .true., "none", 2 + "dynamics", "u500", "UGRD500", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "v500", "VGRD500", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "w500", "VVEL500", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "t500", "TMP500", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "vort500", "VORT500", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "z500", "h500", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "rh500", "RH500", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "sphum", "sphum", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "liq_wat", "liq_wat", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "ice_wat", "ice_wat", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "rainwat", "rainwat", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "snowwat", "snowwat", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "graupel", "graupel", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "slp", "PRMSL", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "ps", "PRESsfc", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "tq", "PWAT", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "lw", "VIL", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "iw", "iw", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "ucomp", "ucomp", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "vcomp", "vcomp", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "temp", "temp", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "delp", "delp", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "pfnh", "nhpres", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "w", "w", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "delz", "delz", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "ps", "ps", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "u_dt_nudge", "u_dt_nudge", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "v_dt_nudge", "v_dt_nudge", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "delp_dt_nudge","delp_dt_nudge","atmos_monthly", "all", .true., "none", 2 + "dynamics", "ps_dt_nudge", "ps_dt_nudge", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "t_dt_nudge", "t_dt_nudge", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "q_dt_nudge", "q_dt_nudge", "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "dusfci", "uflx", "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "dvsfci", "vflx", "atmos_monthly", "all", .true., "none", 2 + #============================================================================================= # diff --git a/workflows/single_fv3gfs_run/diag_table_long_nudged b/workflows/single_fv3gfs_run/diag_table_long_nudged index 5ba100955a..cb47131d6d 100644 --- a/workflows/single_fv3gfs_run/diag_table_long_nudged +++ b/workflows/single_fv3gfs_run/diag_table_long_nudged @@ -7,6 +7,7 @@ default_experiment "tracers_8xdaily", 3, "hours", 1, "hours", "time" "nudge_dt_8xdaily", 3, "hours", 1, "hours", "time" "sfc_hourly", 1, "hours", 1, "hours", "time" +"atmos_monthly", 1, "months", 1, "hours", "time" # #output variables # @@ -51,6 +52,10 @@ default_experiment "dynamics", "vort850", "VORT850", "atmos_hourly", "all", .false., "none", 2 "dynamics", "vort500", "VORT500", "atmos_hourly", "all", .false., "none", 2 "dynamics", "vort200", "VORT200", "atmos_hourly", "all", .false., "none", 2 +### + "dynamics", "z850", "h850", "atmos_hourly", "all", .false., "none", 2 + "dynamics", "z500", "h500", "atmos_hourly", "all", .false., "none", 2 + "dynamics", "z200", "h200", "atmos_hourly", "all", .false., "none", 2 #### "dynamics", "dp1000", "DPT1000", "atmos_hourly", "all", .false., "none", 2 "dynamics", "dp850", "DPT850", "atmos_hourly", "all", .false., "none", 2 @@ -121,6 +126,7 @@ default_experiment "dynamics", "delp_dt_nudge","delp_dt_nudge","nudge_dt_8xdaily", "all", .false., "none", 2 "dynamics", "ps_dt_nudge", "ps_dt_nudge", "nudge_dt_8xdaily", "all", .false., "none", 2 "dynamics", "t_dt_nudge", "t_dt_nudge", "nudge_dt_8xdaily", "all", .false., "none", 2 + "dynamics", "q_dt_nudge", "q_dt_nudge", "nudge_dt_8xdaily", "all", .false., "none", 2 ### # sfc_hourly ### @@ -165,6 +171,77 @@ default_experiment "gfs_sfc", "SOILT2" "SOILT2" "sfc_hourly", "all", .false., "none", 2 "gfs_sfc", "SOILT3" "SOILT3" "sfc_hourly", "all", .false., "none", 2 "gfs_sfc", "SOILT4" "SOILT4" "sfc_hourly", "all", .false., "none", 2 + "gfs_phys", "dusfci", "uflx", "sfc_hourly", "all", .false., "none", 2 + "gfs_phys", "dvsfci", "vflx", "sfc_hourly", "all", .false., "none", 2 +### +# atmos_monthly +### + "dynamics", "grid_lont", "lon", "atmos_monthly", "all", .true., "none", 2, + "dynamics", "grid_latt", "lat", "atmos_monthly", "all", .true., "none", 2, + "dynamics", "grid_lon", "lonb", "atmos_monthly", "all", .true., "none", 2, + "dynamics", "grid_lat", "latb", "atmos_monthly", "all", .true., "none", 2, + "dynamics", "area", "area", "atmos_monthly", "all", .true., "none", 2, + "gfs_phys", "cnvprcp_ave" "CPRATsfc" "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "totprcp_ave" "PRATEsfc" "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "totice_ave" "ICEsfc" "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "totsnw_ave" "SNOWsfc" "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "totgrp_ave" "GRAUPELsfc" "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "DSWRF" "DSWRFsfc" "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "USWRF" "USWRFsfc" "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "DSWRFtoa" "DSWRFtoa" "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "USWRFtoa" "USWRFtoa" "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "ULWRFtoa" "ULWRFtoa" "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "ULWRF" "ULWRFsfc" "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "DLWRF" "DLWRFsfc" "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "lhtfl_ave" "LHTFLsfc" "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "shtfl_ave" "SHTFLsfc" "atmos_monthly", "all", .true., "none", 2 + "gfs_sfc", "SLMSKsfc" "SLMSKsfc" "atmos_monthly", "all", .true., "none", 2 + "gfs_sfc", "q2m" "SPFH2m" "atmos_monthly", "all", .true., "none", 2 + "gfs_sfc", "t2m" "TMP2m" "atmos_monthly", "all", .true., "none", 2 + "gfs_sfc", "tsfc" "TMPsfc" "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "dpt2m" "DPT2m" "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "u10m" "UGRD10m" "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "v10m" "VGRD10m" "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "wind10mmax" "MAXWIND10m" "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "soilm" "SOILM" "atmos_monthly", "all", .true., "none", 2 + "gfs_sfc", "SOILT1" "SOILT1" "atmos_monthly", "all", .true., "none", 2 + "gfs_sfc", "SOILT2" "SOILT2" "atmos_monthly", "all", .true., "none", 2 + "gfs_sfc", "SOILT3" "SOILT3" "atmos_monthly", "all", .true., "none", 2 + "gfs_sfc", "SOILT4" "SOILT4" "atmos_monthly", "all", .true., "none", 2 + "dynamics", "u500", "UGRD500", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "v500", "VGRD500", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "w500", "VVEL500", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "t500", "TMP500", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "vort500", "VORT500", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "z500", "h500", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "rh500", "RH500", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "sphum", "sphum", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "liq_wat", "liq_wat", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "ice_wat", "ice_wat", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "rainwat", "rainwat", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "snowwat", "snowwat", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "graupel", "graupel", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "slp", "PRMSL", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "ps", "PRESsfc", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "tq", "PWAT", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "lw", "VIL", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "iw", "iw", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "ucomp", "ucomp", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "vcomp", "vcomp", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "temp", "temp", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "delp", "delp", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "pfnh", "nhpres", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "w", "w", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "delz", "delz", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "ps", "ps", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "u_dt_nudge", "u_dt_nudge", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "v_dt_nudge", "v_dt_nudge", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "delp_dt_nudge","delp_dt_nudge","atmos_monthly", "all", .true., "none", 2 + "dynamics", "ps_dt_nudge", "ps_dt_nudge", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "t_dt_nudge", "t_dt_nudge", "atmos_monthly", "all", .true., "none", 2 + "dynamics", "q_dt_nudge", "q_dt_nudge", "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "dusfci", "uflx", "atmos_monthly", "all", .true., "none", 2 + "gfs_phys", "dvsfci", "vflx", "atmos_monthly", "all", .true., "none", 2 #============================================================================================= # diff --git a/workflows/single_fv3gfs_run/free_GFS_SST_2015.yml b/workflows/single_fv3gfs_run/free_GFS_SST_2015.yml new file mode 100644 index 0000000000..3f037040ac --- /dev/null +++ b/workflows/single_fv3gfs_run/free_GFS_SST_2015.yml @@ -0,0 +1,63 @@ +kubernetes: + docker_image: us.gcr.io/vcm-ml/fv3gfs-python:use-analysis-sst + memory_gb: 14 + cpu_count: 24 +fv3config: + diag_table: diag_table_long_nudged + experiment_name: free-gfs-sst + initial_conditions: gs://vcm-ml-data/2020-02-10-C48-20150101.00Z_IC + namelist: + atmos_model_nml: + fhout: 1.0 + fhmax: 10000 + coupler_nml: + current_date: + - 2015 + - 1 + - 1 + - 0 + - 0 + - 0 + days: 365 + minutes: 0 + seconds: 0 + dt_atmos: 900 # seconds + dt_ocean: 900 # seconds + fv_core_nml: + nudge: true + layout: + - 2 + - 2 + gfs_physics_nml: + fhzero: 1.0 + use_analysis_sst: true + fv_nwp_nudge_nml: + add_bg_wind: false + do_ps_bias: false + ibtrack: true + input_fname_list: nudging_file_list + k_breed: 10 + kbot_winds: 0 + mask_fac: 0.2 + nf_ps: 3 + nf_t: 3 + nudge_debug: true + nudge_hght: false + nudge_ps: false + nudge_virt: false + nudge_winds: false + r_hi: 5.0 + r_lo: 3.0 + r_min: 225000.0 + t_is_tv: false + tau_hght: 86400.0 + tau_ps: 86400.0 + tau_virt: 86400.0 + tau_vt_rad: 1.0 + tau_vt_slp: 86400.0 + tau_vt_wind: 86400.0 + tau_winds: 86400.0 + tc_mask: true + time_varying: false + track_file_name: No_File_specified + use_high_top: true diff --git a/workflows/single_fv3gfs_run/nudge_T_2015.yml b/workflows/single_fv3gfs_run/nudge_T_2015.yml new file mode 100644 index 0000000000..50078142af --- /dev/null +++ b/workflows/single_fv3gfs_run/nudge_T_2015.yml @@ -0,0 +1,63 @@ +kubernetes: + docker_image: us.gcr.io/vcm-ml/fv3gfs-python:use-analysis-sst + memory_gb: 14 + cpu_count: 24 +fv3config: + diag_table: diag_table_long_nudged + experiment_name: nudgetemp + initial_conditions: gs://vcm-ml-data/2020-02-10-C48-20150101.00Z_IC + namelist: + atmos_model_nml: + fhout: 1.0 + fhmax: 10000 + coupler_nml: + current_date: + - 2015 + - 1 + - 1 + - 0 + - 0 + - 0 + days: 365 + minutes: 0 + seconds: 0 + dt_atmos: 900 # seconds + dt_ocean: 900 # seconds + fv_core_nml: + nudge: true + layout: + - 2 + - 2 + gfs_physics_nml: + fhzero: 1.0 + use_analysis_sst: true + fv_nwp_nudge_nml: + add_bg_wind: false + do_ps_bias: false + ibtrack: true + input_fname_list: nudging_file_list + k_breed: 10 + kbot_winds: 0 + mask_fac: 0.2 + nf_ps: 3 + nf_t: 3 + nudge_debug: true + nudge_hght: false + nudge_ps: false + nudge_virt: true + nudge_winds: false + r_hi: 5.0 + r_lo: 3.0 + r_min: 225000.0 + t_is_tv: false + tau_hght: 86400.0 + tau_ps: 86400.0 + tau_virt: 86400.0 + tau_vt_rad: 1.0 + tau_vt_slp: 86400.0 + tau_vt_wind: 86400.0 + tau_winds: 86400.0 + tc_mask: true + time_varying: false + track_file_name: No_File_specified + use_high_top: true diff --git a/workflows/single_fv3gfs_run/nudge_T_ps_2015.yml b/workflows/single_fv3gfs_run/nudge_T_ps_2015.yml new file mode 100644 index 0000000000..b3dfd696c0 --- /dev/null +++ b/workflows/single_fv3gfs_run/nudge_T_ps_2015.yml @@ -0,0 +1,63 @@ +kubernetes: + docker_image: us.gcr.io/vcm-ml/fv3gfs-python:use-analysis-sst + memory_gb: 14 + cpu_count: 24 +fv3config: + diag_table: diag_table_long_nudged + experiment_name: nudgetempps + initial_conditions: gs://vcm-ml-data/2020-02-10-C48-20150101.00Z_IC + namelist: + atmos_model_nml: + fhout: 1.0 + fhmax: 10000 + coupler_nml: + current_date: + - 2015 + - 1 + - 1 + - 0 + - 0 + - 0 + days: 365 + minutes: 0 + seconds: 0 + dt_atmos: 900 # seconds + dt_ocean: 900 # seconds + fv_core_nml: + nudge: true + layout: + - 2 + - 2 + gfs_physics_nml: + fhzero: 1.0 + use_analysis_sst: true + fv_nwp_nudge_nml: + add_bg_wind: false + do_ps_bias: false + ibtrack: true + input_fname_list: nudging_file_list + k_breed: 10 + kbot_winds: 0 + mask_fac: 0.2 + nf_ps: 3 + nf_t: 3 + nudge_debug: true + nudge_hght: false + nudge_ps: true + nudge_virt: true + nudge_winds: false + r_hi: 5.0 + r_lo: 3.0 + r_min: 225000.0 + t_is_tv: false + tau_hght: 86400.0 + tau_ps: 86400.0 + tau_virt: 86400.0 + tau_vt_rad: 1.0 + tau_vt_slp: 86400.0 + tau_vt_wind: 86400.0 + tau_winds: 86400.0 + tc_mask: true + time_varying: false + track_file_name: No_File_specified + use_high_top: true diff --git a/workflows/single_fv3gfs_run/nudge_T_ps_u_v_2015.yml b/workflows/single_fv3gfs_run/nudge_T_ps_u_v_2015.yml new file mode 100644 index 0000000000..dfff229612 --- /dev/null +++ b/workflows/single_fv3gfs_run/nudge_T_ps_u_v_2015.yml @@ -0,0 +1,63 @@ +kubernetes: + docker_image: us.gcr.io/vcm-ml/fv3gfs-python:use-analysis-sst + memory_gb: 14 + cpu_count: 24 +fv3config: + diag_table: diag_table_long_nudged + experiment_name: nudgetemppsuv + initial_conditions: gs://vcm-ml-data/2020-02-10-C48-20150101.00Z_IC + namelist: + atmos_model_nml: + fhout: 1.0 + fhmax: 10000 + coupler_nml: + current_date: + - 2015 + - 1 + - 1 + - 0 + - 0 + - 0 + days: 365 + minutes: 0 + seconds: 0 + dt_atmos: 900 # seconds + dt_ocean: 900 # seconds + fv_core_nml: + nudge: true + layout: + - 2 + - 2 + gfs_physics_nml: + fhzero: 1.0 + use_analysis_sst: true + fv_nwp_nudge_nml: + add_bg_wind: false + do_ps_bias: false + ibtrack: true + input_fname_list: nudging_file_list + k_breed: 10 + kbot_winds: 0 + mask_fac: 0.2 + nf_ps: 3 + nf_t: 3 + nudge_debug: true + nudge_hght: false + nudge_ps: true + nudge_virt: true + nudge_winds: true + r_hi: 5.0 + r_lo: 3.0 + r_min: 225000.0 + t_is_tv: false + tau_hght: 86400.0 + tau_ps: 86400.0 + tau_virt: 86400.0 + tau_vt_rad: 1.0 + tau_vt_slp: 86400.0 + tau_vt_wind: 86400.0 + tau_winds: 86400.0 + tc_mask: true + time_varying: false + track_file_name: No_File_specified + use_high_top: true diff --git a/workflows/single_fv3gfs_run/submit_job.py b/workflows/single_fv3gfs_run/submit_job.py index 5e744707b9..cdbeaa12a6 100644 --- a/workflows/single_fv3gfs_run/submit_job.py +++ b/workflows/single_fv3gfs_run/submit_job.py @@ -111,17 +111,11 @@ def submit_job(bucket, run_config, base_model_config): bucket, run_config, base_model_config ) job_name = run_config["fv3config"]["experiment_name"] + f".{uuid.uuid4()}" + run_config["kubernetes"]["jobname"] = job_name fv3config.run_kubernetes( os.path.join(config_bucket, "fv3config.yml"), os.path.join(bucket, "output"), - run_config["kubernetes"]["docker_image"], - runfile=run_config["kubernetes"]["runfile"], - jobname=job_name, - namespace=run_config["kubernetes"]["namespace"], - memory_gb=run_config["kubernetes"]["memory_gb"], - cpu_count=run_config["kubernetes"]["cpu_count"], - gcp_secret=run_config["kubernetes"]["gcp_secret"], - image_pull_policy=run_config["kubernetes"]["image_pull_policy"], + **run_config["kubernetes"], ) logger.info(f"Submitted {job_name}")