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

radiation/cloud ML: workflow #2235

Draft
wants to merge 17 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 1 commit
Commits
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
Prev Previous commit
Next Next commit
first attempt at a nudge to fine run, 2023-05-26
  • Loading branch information
brianhenn committed May 26, 2023
commit d968f4783e85808b798f59e8eb4324bfe105cf34
151 changes: 109 additions & 42 deletions projects/cloud_ml/argo/prognostic-run/nudge-to-fine-baseline-config.yaml
Original file line number Diff line number Diff line change
@@ -1,49 +1,92 @@
base_version: v0.7
field_table: gs://vcm-fv3config/config/field_table/TKE-EDMF/v1.0/field_table
prephysics:
- dataset_key: "gs://vcm-ml-intermediate/2021-03-fine-res-surface-radiative-fluxes/C3072-surface-radiative-fluxes-precip.zarr"
- dataset_key: "gs://vcm-ml-intermediate/2021-03-fine-res-surface-radiative-fluxes/10day-PIRE-ccnorm-coarsened-surface-radiative-fluxes-precip.zarr"
variables:
- override_for_time_adjusted_total_sky_downward_shortwave_flux_at_surface
- override_for_time_adjusted_total_sky_downward_longwave_flux_at_surface
- override_for_time_adjusted_total_sky_net_shortwave_flux_at_surface
- total_precipitation
override_for_time_adjusted_total_sky_downward_shortwave_flux_at_surface: override_for_time_adjusted_total_sky_downward_shortwave_flux_at_surface
override_for_time_adjusted_total_sky_downward_longwave_flux_at_surface: override_for_time_adjusted_total_sky_downward_longwave_flux_at_surface
override_for_time_adjusted_total_sky_net_shortwave_flux_at_surface: override_for_time_adjusted_total_sky_net_shortwave_flux_at_surface
total_precipitation: total_precipitation
initial_conditions:
base_url: gs://vcm-ml-experiments/2020-06-02-fine-res/coarsen_restarts
timestep: "20160805.000000"
base_url: gs://vcm-ml-raw-flexible-retention/2023-05-22-PIRE-like-C3072-ccnorm-true-simulation/C3072-to-C48-restarts
timestep: "20200731.001500"
nudging:
restarts_path: gs://vcm-ml-experiments/2020-06-02-fine-res/coarsen_restarts
restarts_path: gs://vcm-ml-raw-flexible-retention/2023-05-22-PIRE-like-C3072-ccnorm-true-simulation/C3072-to-C48-restarts
timescale_hours:
air_temperature: 3
specific_humidity: 3
x_wind: 3
y_wind: 3
pressure_thickness_of_atmospheric_layer: 3
radiation_scheme:
kind: "python"
namelist:
atmos_model_nml:
fhmax: 1024 # max hours of simulation (over all segments) for which fortran physics diags are saved
coupler_nml:
days: 5
days: 1
hours: 0
minutes: 0
months: 0
seconds: 0
gfdl_cloud_microphysics_nml:
mp_time: 150.0
gfs_physics_nml:
fhlwr: 1800.0
fhswr: 1800.0
fhzero: 0.25
fhlwr: 900.0
fhswr: 900.0
iovr_sw: 3
iovr_lw: 3
ccnorm: True
override_surface_radiative_fluxes: true
hybedmf: false
satmedmf: true
hybedmf: true
satmedmf: false
xkzm_h: 2.0
fv_core_nml:
layout:
- 2
- 2
namsfc:
faisl: 99999 # Persist land / sea / sea-ice mask from the initial conditions instead of using climatology forcing files
faiss: 99999 # Persist land / sea / sea-ice mask from the initial conditions instead of using climatology forcing files
fsicl: 99999 # Persist the sea ice fraction from the initial conditiond instead of using climatology forcing files
fsics: 99999 # Persist the sea ice fraction from the initial conditiond instead of using climatology forcing files
diagnostics:
- name: state_pre_radiation.zarr
chunks:
time: 4
times:
frequency: 900
kind: interval
variables:
- x_wind_pre_radiation
- y_wind_pre_radiation
- eastward_wind_pre_radiation
- northward_wind_pre_radiation
- vertical_wind_pre_radiation
- air_temperature_pre_radiation
- specific_humidity_pre_radiation
- pressure_thickness_of_atmospheric_layer_pre_radiation
- vertical_thickness_of_atmospheric_layer_pre_radiation
- land_sea_mask_pre_radiation
- surface_temperature_pre_radiation
- surface_geopotential_pre_radiation
- surface_diffused_shortwave_albedo_pre_radiation
- sensible_heat_flux_pre_radiation
- latent_heat_flux_pre_radiation
- total_precipitation_pre_radiation
- surface_precipitation_rate_pre_radiation
- total_soil_moisture_pre_radiation
- cloud_water_mixing_ratio_pre_radiation
- rain_mixing_ratio_pre_radiation
- cloud_ice_mixing_ratio_pre_radiation
- snow_mixing_ratio_pre_radiation
- graupel_mixing_ratio_pre_radiation
- cloud_amount_pre_radiation
- name: state_after_timestep.zarr
chunks:
time: 8
time: 4
times:
frequency: 10800
frequency: 900
kind: interval
variables:
- x_wind
Expand All @@ -64,19 +107,6 @@ diagnostics:
- total_precipitation
- surface_precipitation_rate
- total_soil_moisture
- total_sky_downward_shortwave_flux_at_surface
- total_sky_upward_shortwave_flux_at_surface
- total_sky_downward_longwave_flux_at_surface
- total_sky_upward_longwave_flux_at_surface
- total_sky_downward_shortwave_flux_at_top_of_atmosphere
- total_sky_upward_shortwave_flux_at_top_of_atmosphere
- total_sky_upward_longwave_flux_at_top_of_atmosphere
- clear_sky_downward_shortwave_flux_at_surface
- clear_sky_upward_shortwave_flux_at_surface
- clear_sky_downward_longwave_flux_at_surface
- clear_sky_upward_longwave_flux_at_surface
- clear_sky_upward_shortwave_flux_at_top_of_atmosphere
- clear_sky_upward_longwave_flux_at_top_of_atmosphere
- latitude
- longitude
- cloud_water_mixing_ratio
Expand All @@ -85,11 +115,35 @@ diagnostics:
- snow_mixing_ratio
- graupel_mixing_ratio
- cloud_amount
- name: radiative_fluxes.zarr
chunks:
time: 4
times:
frequency: 900
kind: interval
variables:
- clear_sky_downward_longwave_flux_at_surface_python
- clear_sky_downward_shortwave_flux_at_surface_python
- clear_sky_upward_longwave_flux_at_surface_python
- clear_sky_upward_shortwave_flux_at_surface_python
- clear_sky_upward_longwave_flux_at_top_of_atmosphere_python
- clear_sky_upward_shortwave_flux_at_top_of_atmosphere_python
- total_sky_downward_longwave_flux_at_surface_python
- total_sky_downward_shortwave_flux_at_surface_python
- total_sky_upward_longwave_flux_at_surface_python
- total_sky_upward_shortwave_flux_at_surface_python
- total_sky_downward_shortwave_flux_at_top_of_atmosphere_python
- total_sky_upward_longwave_flux_at_top_of_atmosphere_python
- total_sky_upward_shortwave_flux_at_top_of_atmosphere_python
- total_sky_longwave_heating_rate_python
- clear_sky_longwave_heating_rate_python
- total_sky_shortwave_heating_rate_python
- clear_sky_shortwave_heating_rate_python
- name: physics_tendencies.zarr
chunks:
time: 16
time: 1
times:
frequency: 5400
frequency: 3600
kind: interval
variables:
- tendency_of_air_temperature_due_to_fv3_physics
Expand All @@ -98,10 +152,10 @@ diagnostics:
- tendency_of_northward_wind_due_to_fv3_physics
- name: nudging_tendencies.zarr
chunks:
time: 8
time: 1
times:
frequency: 10800
kind: interval-average
frequency: 3600
kind: interval
variables:
- air_temperature_tendency_due_to_nudging
- specific_humidity_tendency_due_to_nudging
Expand All @@ -110,7 +164,7 @@ diagnostics:
- pressure_thickness_of_atmospheric_layer_tendency_due_to_nudging
- name: diags.zarr
chunks:
time: 96
time: 4
times:
frequency: 900
kind: interval
Expand All @@ -123,10 +177,10 @@ diagnostics:
- physics_precip
- name: reference_state.zarr
chunks:
time: 8
time: 1
times:
frequency: 10800
kind: interval-average
frequency: 3600
kind: interval
variables:
- air_temperature_reference
- specific_humidity_reference
Expand All @@ -136,7 +190,7 @@ diagnostics:
fortran_diagnostics:
- name: sfc_dt_atmos.zarr
chunks:
time: 96
time: 4
times:
frequency: 900
kind: interval
Expand All @@ -155,14 +209,27 @@ fortran_diagnostics:
- {module_name: gfs_phys, field_name: totgrpb_ave, output_name: GRAUPELsfc}
- {module_name: gfs_phys, field_name: DSWRF, output_name: DSWRFsfc}
- {module_name: gfs_phys, field_name: DSWRF_from_rrtmg, output_name: DSWRFsfc_from_RRTMG}
- {module_name: gfs_phys, field_name: DSWRFI, output_name: DSWRFIsfc}
- {module_name: gfs_phys, field_name: csdsf_ave, output_name: DCSWRFsfc}
- {module_name: gfs_phys, field_name: USWRF, output_name: USWRFsfc}
- {module_name: gfs_phys, field_name: USWRF_from_rrtmg, output_name: USWRFsfc_from_RRTMG}
- {module_name: gfs_phys, field_name: USWRFI, output_name: USWRFIsfc}
- {module_name: gfs_phys, field_name: csusf_ave, output_name: UCSWRFsfc}
- {module_name: gfs_phys, field_name: DSWRFtoa, output_name: DSWRFtoa}
- {module_name: gfs_phys, field_name: sw_dnfxc, output_name: DSWRFItoa}
- {module_name: gfs_phys, field_name: USWRFtoa, output_name: USWRFtoa}
- {module_name: gfs_phys, field_name: sw_upfxc, output_name: USWRFItoa}
- {module_name: gfs_phys, field_name: csusf_avetoa, output_name: UCSWRFtoa}
- {module_name: gfs_phys, field_name: ULWRFtoa, output_name: ULWRFtoa}
- {module_name: gfs_phys, field_name: lw_upfxc, output_name: ULWRFItoa}
- {module_name: gfs_phys, field_name: csulf_avetoa, output_name: UCLWRFtoa}
- {module_name: gfs_phys, field_name: ULWRF, output_name: ULWRFsfc}
- {module_name: gfs_phys, field_name: ULWRFI, output_name: ULWRFIsfc}
- {module_name: gfs_phys, field_name: csulf_ave, output_name: UCLWRFsfc}
- {module_name: gfs_phys, field_name: DLWRF, output_name: DLWRFsfc}
- {module_name: gfs_phys, field_name: DLWRF_from_rrtmg, output_name: DLWRFsfc_from_RRTMG}
- {module_name: gfs_phys, field_name: DLWRFI, output_name: DLWRFIsfc}
- {module_name: gfs_phys, field_name: csdlf_ave, output_name: DCLWRFsfc}
- {module_name: gfs_phys, field_name: lhtfl_ave, output_name: LHTFLsfc}
- {module_name: gfs_phys, field_name: shtfl_ave, output_name: SHTFLsfc}
- {module_name: gfs_phys, field_name: hpbl, output_name: HPBLsfc}
Expand All @@ -183,7 +250,7 @@ fortran_diagnostics:
- {module_name: gfs_sfc, field_name: SOILT4, output_name: SOILT4}
- name: atmos_dt_atmos.zarr
chunks:
time: 96
time: 4
times:
frequency: 900
kind: interval
Expand Down Expand Up @@ -241,9 +308,9 @@ fortran_diagnostics:
- {module_name: dynamics, field_name: column_fv_sat_adj_moistening, output_name: column_fv_sat_adj_moistening}
- name: atmos_dt_atmos_3d.zarr
chunks:
time: 16
time: 1
times:
frequency: 5400
frequency: 3600
kind: interval
variables:
- {module_name: dynamics, field_name: grid_lont, output_name: lon}
Expand Down
7 changes: 4 additions & 3 deletions projects/cloud_ml/argo/prognostic-run/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ CONFIG=$1

PROJECT=cloud-ml

EXPERIMENT="cloud-ml-training-data"
EXPERIMENT="cloud-ml-prognostic-run"
TRIAL="trial-0"
TAG=${EXPERIMENT}-${CONFIG}
NAME="${TAG}-$(openssl rand --hex 2)"
Expand All @@ -15,7 +15,8 @@ argo submit --from workflowtemplate/prognostic-run \
-p project=${PROJECT} \
-p tag=${TAG} \
-p config="$(< ${CONFIG}-config.yaml)" \
-p segment-count="1" \
-p memory="15Gi" \
-p segment-count="5" \
-p cpu="24" \
-p memory="25Gi" \
--name "${NAME}" \
--labels "project=${PROJECT},experiment=${EXPERIMENT},trial=${TRIAL}"