Skip to content
Open
Show file tree
Hide file tree
Changes from 12 commits
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
5 changes: 3 additions & 2 deletions applications/lfric_atm/metadata/field_def_diags.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<field_definition>
<!-- Main diagnostic group -->
<field_group id="diagnostic_fields" prec="8" operation="instant" enabled=".TRUE." >
<field_group id="diagnostic_fields" prec="4" operation="instant" enabled=".TRUE." >
<!-- gungho prognostic fields, included via lfric_dictionary and available as diagnostics -->
<!-- field id="theta" name="theta" long_name="air_potential_temperature" standard_name="air_potential_temperature" unit="K" grid_ref="full_level_face_grid" /-->
<!-- field id="rho" name="rho" long_name="air_density" standard_name="air_density" unit="kg m-3" grid_ref="half_level_face_grid" /-->
Expand All @@ -15,7 +15,6 @@
<field id="m_cf" name="m_cf" long_name="m_cf" unit="kg kg-1" grid_ref="full_level_face_grid">m_ci+m_s</field>
<!-- field id="m_g" name="m_g" long_name="m_g" unit="kg kg-1" grid_ref="full_level_face_grid" /-->
<!-- field id="ageofair" name="ageofair" long_name="ageofair" unit="s" grid_ref="half_level_face_grid" /-->
<!-- field id="temp_correction_field" name="temp_correction_field" long_name="temperature_rate_for_energy_correction" unit="K s-1" domain_ref="face" /-->
<field id="theta_in_w3" name="theta_in_w3" long_name="air_potential_temperature_at_cell_centres" unit="K" grid_ref="half_level_face_grid" />
<field id="rho_in_wth" name="rho_in_wth" long_name="dry_air_density_at_cell_interfaces" unit="kg m-3" grid_ref="full_level_face_grid" />
<field id="wetrho_in_w3" name="wetrho_in_w3" long_name="wet_air_density_at_cell_centres" unit="kg m-3" grid_ref="half_level_face_grid" />
Expand Down Expand Up @@ -402,6 +401,8 @@
<field id="convection__cape_diluted" name="cape_diluted" long_name="cape_diluted" unit="J/kg" domain_ref="face" />
<field id="convection__cape_timescale" name="cape_timescale" long_name="cape_timescale" unit="s" domain_ref="face" />
<field id="convection__freeze_level" name="freeze_level" long_name="model_level_number_at_freezing_level" unit="1" domain_ref="face" />
<field id="convection__cv_base" name="cv_base" long_name="model_level_number_at_conv_cloud_base" unit="1" domain_ref="face" />
<field id="convection__cv_top" name="cv_top" long_name="model_level_number_at_conv_cloud_top" unit="1" domain_ref="face" />
<field id="convection__pres_lowest_cv_base" name="pres_lowest_cv_base" long_name="pressure_at_lowest_convective_cloud_base" unit="Pa" domain_ref="face" />
<field id="convection__pres_lowest_cv_top" name="pres_lowest_cv_top" long_name="pressure_at_lowest_convective_cloud_top" unit="Pa" domain_ref="face" />
<field id="convection__pres_cv_base" name="pres_cv_base" long_name="pressure_at_convective_cloud_base" unit="Pa" domain_ref="face" />
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<field_definition prec="8">
<field_definition prec="4">

<!-- Initial conditions diagnostic group -->
<field_group id="initial_fields" freq_op="1ts" operation="once" enabled=".TRUE." >
Expand Down
2 changes: 1 addition & 1 deletion applications/lfric_atm/metadata/field_def_lbc_diags.xml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<field_definition prec="8">
<field_definition prec="4">

<!-- Lateral boundary conditions diagnostic group -->
<field_group id="lbc_diags" freq_op="1ts" operation="instant" enabled=".TRUE." >
Expand Down
14 changes: 8 additions & 6 deletions applications/lfric_atm/metadata/lfric_dictionary.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
<field_definition>
<field_group id="lfric_dictionary" operation="instant" prec="8">
<!-- the precision is specified here to ensure any diagnostics inherited from
this file obtain this value, whilst the checkpoint files obey overriding
values from the field definitions and the model precision default -->
<field_definition prec="4">
<field_group id="lfric_dictionary" operation="instant">
<!-- gungho fields -->
<field id="theta" name="theta" long_name="air_potential_temperature" standard_name="air_potential_temperature" unit="K" grid_ref="full_level_face_grid" />
<field id="rho" name="rho" long_name="air_density" standard_name="air_density" unit="kg m-3" grid_ref="half_level_face_grid" />
Expand Down Expand Up @@ -255,8 +258,6 @@
<field id="conv_prog_dtheta" name="conv_prog_dtheta" long_name="convective_prognostic_dtheta" unit="K" grid_ref="full_level_face_grid" />
<field id="conv_prog_dmv" name="conv_prog_dmv" long_name="convective_prognostic_dmv" unit="kg kg-1" grid_ref="full_level_face_grid" />
<field id="conv_prog_precip" name="conv_prog_precip" long_name="convective_prognostic_precipitation" unit="kg m-2 s-1" grid_ref="full_level_face_grid" />
<field id="cv_base" name="cv_base" long_name="model_level_number_at_conv_cloud_base" unit="1" domain_ref="face" />
<field id="cv_top" name="cv_top" long_name="model_level_number_at_conv_cloud_top" unit="1" domain_ref="face" />
<!-- electric fields -->
<field id="flash_potential" name="flash_potential" long_name="lightning_flash_potential" unit="1" domain_ref="face" />
<!-- microphysics fields -->
Expand Down Expand Up @@ -358,8 +359,8 @@
<field id="aer_lw_asymmetry" name="aer_lw_asymmetry" long_name="aer_lw_asymmetry" unit="1" grid_ref="full_level_face_grid_lw_bands_aero_modes" />
<!-- stochastic fields -->
<field id="blpert_rand_fld" name="blpert_rand_fld" long_name="blpert_random_number" unit="1" domain_ref="face" />
<field id="blpert_flag" name="blpert_flag" long_name="blpert_perturbed_flag" unit="1" domain_ref="face" />
<field id="random_seed" name="random_seed" long_name="random_seed_for_stochastic_physics" unit="1" grid_ref="random_seed_grid" />
<field id="blpert_flag" name="blpert_flag" long_name="blpert_perturbed_flag" unit="1" domain_ref="face" prec="2" />
Comment thread
harry-shepherd marked this conversation as resolved.
<field id="random_seed" name="random_seed" long_name="random_seed_for_stochastic_physics" unit="1" grid_ref="random_seed_grid" prec="8"/>
<field id="spt_spectral_coeffc" name="spt_spectral_coeffc" long_name="spt_real_spectral_coefficients_for_stochastic_physics" unit="1" grid_ref="stochastic_physics_grid" />
<field id="spt_spectral_coeffs" name="spt_spectral_coeffs" long_name="spt_imaginary_spectral_coefficients_for_stochastic_physics" unit="1" grid_ref="stochastic_physics_grid" />
<field id="spt_power_law" name="spt_power_law" long_name="spt_power_law_for_stochastic_physics" unit="1" grid_ref="stochastic_physics_grid" />
Expand Down Expand Up @@ -404,6 +405,7 @@
<field id="frozen_soil_moisture" name="frozen_soil_moisture" long_name="mass_fraction_of_frozen_water_in_saturated_soil_moisture" unit="1" domain_ref="face" axis_ref="soil_levels" />
<!-- energy correction -->
<field id="temperature_correction_rate" name="temperature_correction_rate" long_name="temperature_rate_for_energy_correction" unit="K s-1" axis_ref="scalar_axis" />
<!-- coupling -->
<field id="lf_inland_flow" name="lf_inland_flow" long_name="lf_inland_flow" unit="kg m-2 s-1" domain_ref="face" />
<field id="lf_icefrc" name="lf_icefrc" long_name="lf_icefrc" unit="1" domain_ref="face" axis_ref="sea_ice_categories" />
<field id="lf_icetck" name="lf_icetck" long_name="lf_icetck" unit="m" domain_ref="face" axis_ref="sea_ice_categories" />
Expand Down
2 changes: 2 additions & 0 deletions dependencies.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ lfric_apps:
lfric_core:
source: git@github.com:MetOffice/lfric_core.git
ref: 3e965e8cea0211728a6bd1e793b4018d782a19d3
source: git@github.com:iboutle/lfric_core.git
ref: spdump_core

moci:
source: git@github.com:MetOffice/moci.git
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -321,3 +321,10 @@ Simplified call tree for setting up I/O in LFRic_atm

(For brevity, the paths are shortened. Some prefix directories and the "source"
directory have been omitted.)

Precision
---------

Checkpoint-restart files will be written at the native ``rdef`` precision of the model. This is specified by the XIOS interface routine ``lfric_xios_metafile_mod.F90‎``. However, this default precision can be overridden if necessary for individual fields, by specifying their precision in the ``lfric_dictionary.xml``, using ``prec=``. This is particularly useful for the handling of integer fields in the checkpoint files.

It is worth noting here that the precision specified in the ``field_definition`` section of ``lfric_dictionary.xml`` does not impact the checkpoint files, but is used to determine the precision of any diagnostics which are written from fields defined here.
Original file line number Diff line number Diff line change
Expand Up @@ -250,8 +250,8 @@ contains
! 2D
if (lowest_cv_base_flag) call lowest_cv_base%write_field()
if (lowest_cv_top_flag) call lowest_cv_top%write_field()
call cv_base%write_field()
call cv_top%write_field()
call cv_base%write_field('convection__cv_base')
call cv_top%write_field('convection__cv_top')
if (pres_cv_base_flag) call pres_cv_base%write_field()
if (pres_cv_top_flag) call pres_cv_top%write_field()
if (pres_lowest_cv_base_flag) call pres_lowest_cv_base%write_field()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -511,8 +511,8 @@ contains
if (cape_timescale_flag) call cape_timescale%write_field()
if (lowest_cv_base_flag) call lowest_cv_base%write_field()
if (lowest_cv_top_flag) call lowest_cv_top%write_field()
call cv_base%write_field()
call cv_top%write_field()
call cv_base%write_field('convection__cv_base')
call cv_top%write_field('convection__cv_top')
if (pres_cv_base_flag) call pres_cv_base%write_field()
if (pres_cv_top_flag) call pres_cv_top%write_field()
if (pres_lowest_cv_base_flag) call pres_lowest_cv_base%write_field()
Expand Down
2 changes: 1 addition & 1 deletion rose-stem/app/lfric_atm/file/file_def_check_restart.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

<!-- File definition for checkpoint write, populated by model -->
<file id="lfric_checkpoint_write" name="lfric_checkpoint_write" output_freq="1ts" convention="CF" enabled=".FALSE.">
<field_group id="checkpoint_fields" prec="8" operation="once" enabled=".FALSE." >
<field_group id="checkpoint_fields" operation="once" enabled=".FALSE." >
</field_group>
</file>

Expand Down
2 changes: 1 addition & 1 deletion rose-stem/app/lfric_atm/file/file_def_diags_flexchem.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<!-- Diagnostic output file for idealised runs -->
<file id="lfric_diagnostics" name="results/lfric_diagnostics" output_freq="1h" convention="UGRID" enabled=".TRUE.">
<field_group operation="instant" freq_op="1h" prec="4">
<field_group operation="instant" freq_op="1h">
<field field_ref="chemistry__h2o"/>
<field field_ref="chemistry__co"/>
<field field_ref="chemistry__ch4"/>
Expand Down
10 changes: 5 additions & 5 deletions rose-stem/app/lfric_atm/file/file_def_diags_gal_clim.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<!-- Main diagnostic output file for global climate runs -->
<file id="lfric_diagnostics" name="results/lfric_diagnostics" output_freq="1d" convention="UGRID" enabled=".TRUE.">
<!-- 3D fields averaged every timestep -->
<field_group operation="average" freq_op="1ts" prec="4">
<field_group operation="average" freq_op="1ts">
<field field_ref="u_in_w3"/>
<field field_ref="theta"/>
<field field_ref="m_v"/>
Expand All @@ -25,7 +25,7 @@
</field_group>

<!-- 2D fields averaged every timestep -->
<field_group operation="average" freq_op="1ts" prec="4">
<field_group operation="average" freq_op="1ts">
<field field_ref="processed__total_rain"/>
<field field_ref="processed__total_snow"/>
<field field_ref="processed__total_prec"/>
Expand Down Expand Up @@ -105,7 +105,7 @@
</field_group>

<!-- 2D fields averaged on radiation timesteps -->
<field_group operation="average" freq_op="1h" freq_offset="0ts" prec="4">
<field_group operation="average" freq_op="1h" freq_offset="0ts">
<field field_ref="radiation__lw_net_surf_rts"/>
<field field_ref="radiation__lw_down_surf_rts"/>
<field field_ref="radiation__lw_up_surf_rts"/>
Expand Down Expand Up @@ -141,7 +141,7 @@
</field_group>

<!-- Fields averaged every 6 hours -->
<field_group operation="average" freq_op="6h" prec="4">
<field_group operation="average" freq_op="6h">
<field field_ref="orography"/>
<field field_ref="surface__tile_fraction"/>
<field field_ref="surface__land_fraction"/>
Expand Down Expand Up @@ -170,7 +170,7 @@
</field_group>

<!-- COSP satellite simulator diagnostics -->
<field_group operation="average" freq_op="1ts" prec="4">
<field_group operation="average" freq_op="1ts">
<field field_ref="cosp__cloud_thermal_absorptivity"/>
<field field_ref="cosp__cloud_solar_extinction"/>
<field field_ref="cosp__calipso_low_cloud"/>
Expand Down
10 changes: 5 additions & 5 deletions rose-stem/app/lfric_atm/file/file_def_diags_gal_clim_chem.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<!-- Main diagnostic output file for global climate runs -->
<file id="lfric_diagnostics" name="results/lfric_diagnostics" output_freq="1d" convention="UGRID" enabled=".TRUE.">
<!-- 3D fields averaged every timestep -->
<field_group operation="average" freq_op="1ts" prec="4">
<field_group operation="average" freq_op="1ts">
<field field_ref="u_in_w3"/>
<field field_ref="theta"/>
<field field_ref="m_v"/>
Expand Down Expand Up @@ -86,7 +86,7 @@
</field_group>

<!-- 2D fields averaged every timestep -->
<field_group operation="average" freq_op="1ts" prec="4">
<field_group operation="average" freq_op="1ts">
<field field_ref="processed__total_rain"/>
<field field_ref="processed__total_snow"/>
<field field_ref="processed__total_prec"/>
Expand Down Expand Up @@ -179,7 +179,7 @@
</field_group>

<!-- 2D fields averaged on radiation timesteps -->
<field_group operation="average" freq_op="1h" freq_offset="0ts" prec="4">
<field_group operation="average" freq_op="1h" freq_offset="0ts">
<field field_ref="radiation__lw_net_surf_rts"/>
<field field_ref="radiation__lw_down_surf_rts"/>
<field field_ref="radiation__lw_up_surf_rts"/>
Expand All @@ -203,7 +203,7 @@
</field_group>

<!-- Fields averaged every 6 hours -->
<field_group operation="average" freq_op="6h" prec="4">
<field_group operation="average" freq_op="6h">
<field field_ref="orography"/>
<field field_ref="surface__tile_fraction"/>
<field field_ref="surface__land_fraction"/>
Expand Down Expand Up @@ -232,7 +232,7 @@
</field_group>

<!-- COSP satellite simulator diagnostics -->
<field_group operation="average" freq_op="1ts" prec="4">
<field_group operation="average" freq_op="1ts">
<field field_ref="cosp__cloud_thermal_absorptivity"/>
<field field_ref="cosp__cloud_solar_extinction"/>
<field field_ref="cosp__calipso_low_cloud"/>
Expand Down
18 changes: 9 additions & 9 deletions rose-stem/app/lfric_atm/file/file_def_diags_gal_nwp.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<!-- Diagnostic fields - Daily - mean/min/max -->
<file id="lfric_diagnostics" name="results/lfric_diagnostics" output_freq="1d" convention="UGRID" enabled=".TRUE.">
<!-- 2D fields averaged every timestep -->
<field_group operation="average" freq_op="1ts" prec="4">
<field_group operation="average" freq_op="1ts">
<field field_ref="processed__pstar"/>
<field field_ref="processed__tot_col_dry_air_mass"/>
<field field_ref="processed__tot_col_wetplusdry_mass"/>
Expand Down Expand Up @@ -64,20 +64,20 @@
</field_group>

<!-- 2D fields, minimum over sampling period -->
<field_group operation="minimum" freq_op="1ts" prec="4">
<field_group operation="minimum" freq_op="1ts">
<field field_ref="surface__t1p5m" name="t1p5m_minimum"/>
<field field_ref="surface__grid_surface_temperature" name="tstar_minimum"/>
</field_group>

<!-- 2D fields, maximum over sampling period -->
<field_group operation="maximum" freq_op="1ts" prec="4">
<field_group operation="maximum" freq_op="1ts">
<field field_ref="turbulence__zh" name="zh_maximum"/>
<field field_ref="surface__t1p5m" name="t1p5m_maximum"/>
<field field_ref="surface__grid_surface_temperature" name="tstar_maximum"/>
</field_group>

<!-- Model timestep radiation diagnostics ("corrected") -->
<field_group operation="average" freq_op="1ts" prec="4">
<field_group operation="average" freq_op="1ts">
<field field_ref="radiation__lw_net_surf"/>
<field field_ref="radiation__lw_down_surf"/>
<field field_ref="radiation__lw_up_surf"/>
Expand All @@ -90,7 +90,7 @@
</field_group>

<!-- Radiation timestep radiation diagnostics -->
<field_group operation="average" freq_op="1h" freq_offset="0ts" prec="4">
<field_group operation="average" freq_op="1h" freq_offset="0ts">
<field field_ref="radiation__cloud_cover_rts"/>
<field field_ref="radiation__lw_net_surf_rts"/>
<field field_ref="radiation__lw_down_surf_rts"/>
Expand Down Expand Up @@ -132,7 +132,7 @@
</field_group>

<!-- Full model level diagnostics - not being interpolated to pressure levels -->
<field_group operation="average" freq_op="1ts" prec="4">
<field_group operation="average" freq_op="1ts">
<field field_ref="processed__pressure_in_wth"/>
<field field_ref="theta"/>
<field field_ref="w_in_wth"/>
Expand All @@ -153,7 +153,7 @@
</field_group>

<!-- Half model level diagnostics - not being interpolated to pressure levels -->
<field_group operation="average" freq_op="1ts" prec="4">
<field_group operation="average" freq_op="1ts">
<field field_ref="processed__pressure_in_w3"/>
<field field_ref="u_in_w3"/>
<field field_ref="v_in_w3"/>
Expand All @@ -163,15 +163,15 @@
</field_group>

<!-- Full level diagnostics on radiation timesteps -->
<field_group operation="average" freq_op="1h" freq_offset="0ts" prec="4">
<field_group operation="average" freq_op="1h" freq_offset="0ts">
<field field_ref="radiation__liq_cloud_mmr_rts"/>
<field field_ref="radiation__ice_cloud_mmr_rts"/>
<field field_ref="radiation__liq_cloud_frac_rts"/>
<field field_ref="radiation__ice_cloud_frac_rts"/>
</field_group>

<!-- Specific quantities For UM comparison -->
<field_group operation="average" freq_op="1ts" prec="4">
<field_group operation="average" freq_op="1ts">
<field field_ref="processed__qv"/>
<field field_ref="processed__qcl"/>
<field field_ref="processed__qcf"/>
Expand Down
2 changes: 1 addition & 1 deletion rose-stem/app/lfric_atm/file/file_def_diags_idealised.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<!-- Diagnostic output file for idealised runs -->
<file id="lfric_diagnostics" name="results/lfric_diagnostics" output_freq="1h" convention="UGRID" enabled=".TRUE.">
<field_group operation="instant" freq_op="1h" prec="4">
<field_group operation="instant" freq_op="1h">
<field field_ref="theta" />
<field field_ref="processed__temperature" />
<field field_ref="processed__virtual_theta" />
Expand Down
2 changes: 1 addition & 1 deletion rose-stem/app/lfric_atm/file/file_def_diags_idealised1.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<!-- Diagnostic output file for idealised runs -->
<file id="lfric_diagnostics" name="results/lfric_diag" output_freq="1ts" convention="UGRID" enabled=".TRUE.">
<field_group operation="instant" freq_op="1ts" prec="4">
<field_group operation="instant" freq_op="1ts">
<field field_ref="theta" />
<field field_ref="processed__temperature" />
<field field_ref="processed__virtual_theta" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<!-- Diagnostic output file for jedi_lfric_tests and linear_model application runs -->
<file id="ls_and_jedi_trajectory" name="results/ls_and_jedi_trajectory" output_freq="1h" time_counter_name="time" time_counter="exclusive" split_freq="7h" split_end_offset="0h" split_freq_format="%y%mo%d%h" convention="UGRID" enabled=".TRUE.">
<field_group operation="instant" freq_op="1h" prec="4">
<field_group operation="instant" freq_op="1h">
<field field_ref="aerosol__cloud_drop_no_conc" />
<field field_ref="aerosol__acc_ins_du" />
<field field_ref="aerosol__cor_ins_du" />
Expand Down
4 changes: 2 additions & 2 deletions rose-stem/app/lfric_atm/file/file_def_diags_name.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<!-- Diagnostic output file for NAME model on global runs -->
<file id="lfric_name" name="results/lfric_name" output_freq="3h" split_freq="3h" split_end_offset="0h" split_freq_format="%y%mo%d%h" convention="UGRID" enabled=".TRUE.">
<field_group operation="instant" freq_op="3h" prec="4">
<field_group operation="instant" freq_op="3h">
<field field_ref="u_in_w3"/> <!-- 3D, Field Name: wind (u-cpt) -->
<field field_ref="v_in_w3"/> <!-- 3D, Field Name: wind (v-cpt) -->
<field field_ref="w_in_w3"/> <!-- 3D, Field Name: wind (w-cpt) -->
Expand All @@ -26,7 +26,7 @@
<field field_ref="surface__tile_fraction"/> <!-- Operationally will be an ancil -->
</field_group>

<field_group operation="average" freq_op="1ts" prec="4">
<field_group operation="average" freq_op="1ts">
<field field_ref="m_cl"/> <!-- 3D, Field Name: cloud liquid water -->
<field field_ref="m_cf"/> <!-- 3D, Field Name: cloud ice water -->
<field field_ref="convection__cca_2d"/> <!-- 2D, Field Name: convective cloud amount -->
Expand Down
Loading
Loading