MetOffice / MetOffice/lfric_apps

LFRic2LFRic Plan

Open
#674 0 comments 0 reactions 1 assignee Claimed by @cjohnson-pi View on GitHub
enhancement
Dominant language
Fortran
Stars
31
Forks
118
Avg merge
2d 4h
Merged PRs (30d)
8

Description

### Are there any linked Issues or Pull Requests?

_No response_

### Brief description

Summary and plan for the work required for LFRic2LFRic. This is a best estimate of the work required. It should not be taken as a definitive guide, is subject to being updated and is to be only used as a general direction for planning work.

### Further details of the issue.

The main UM reconfiguration is [rcf_create_dump](https://github.com/MetOffice/um/blob/main/src/utility/qxreconf/rcf_create_dump_mod.F90)

* Coastal Adjustment.
[rcf_apply_coastal_adustment](https://github.com/MetOffice/um/blob/main/src/utility/qxreconf/rcf_apply_coastal_adjustment_mod.F90) and described in [UMDP_S11](https://code.metoffice.gov.uk/doc/um/latest/papers/umdp_S11.pdf) Appendix B. To be handled with ESMF and OASIS in lfric2lfric.

* Set interpolation method for particular fields.
UM code: [rcf_horizontal](https://github.com/MetOffice/um/blob/main/src/utility/qxreconf/rcf_horizontal_mod.F90)
UM2LFRic namelist: [rose-app-nwp_gal9.conf](https://github.com/MetOffice/lfric_apps/blob/main/rose-stem/app/um2lfric/opt/rose-app-nwp_gal9.conf) see specify nearest_neighbour

* Pre- and post interpolation

UM code | Number Lines | Required | PR
-- | -- | -- | --
[rcf_pre_interp_transform](https://github.com/MetOffice/um/blob/main/src/utility/qxreconf/rcf_pre_interp_transform_mod.F90) | 256 | Y |
[rcf_post_interp_transform](https://github.com/MetOffice/um/blob/main/src/utility/qxreconf/rcf_post_interp_transform_mod.F90) | 380 | Y |

* Science Adjustment (field dependent calculations source=9 [refers to](https://github.com/MetOffice/um/blob/main/rose-meta/um-atmos/HEAD/rose-meta.conf#L5056) )

UM code | Number Lines | Required | PR
-- | -- | -- | --
[rcf_field_dependent_calcs](https://github.com/MetOffice/um/blob/main/src/utility/qxreconf/rcf_field_dependent_calcs_mod.F90) | 333 | Y |
This contains: | | |
[Rcf_derv_thetavd](https://github.com/MetOffice/um/blob/main/src/utility/qxreconf/rcf_derv_thetavd.F90) | 146 | N |
[Rcf_derv_exner_surf](https://github.com/MetOffice/um/blob/main/src/utility/qxreconf/rcf_derv_exner_surf.F90) | 216 | Y |
[Rcf_filter_exner](https://github.com/MetOffice/um/blob/main/src/utility/qxreconf/rcf_filter_exner.F90)) | 345 | N |
[Rcf_derv_etadot](https://github.com/MetOffice/um/blob/main/src/utility/qxreconf/rcf_derv_etadot.F90) | 848 | N |
[Rcf_derv_dry_rho](https://github.com/MetOffice/um/blob/main/src/utility/qxreconf/rcf_derv_dry_rho.F90) | 153 | Y |
[Rcf_recompute_wet_rho](https://github.com/MetOffice/um/blob/main/src/utility/qxreconf/rcf_recompute_wet_rho.F90) | 256 | Y |
Snow depth [Rcf_calc_tiles](https://github.com/MetOffice/um/blob/main/src/utility/qxreconf/rcf_calc_tiles_mod.F90) | 455 | Y | #685
Bulk density [Rcf_calc_tiles](https://github.com/MetOffice/um/blob/main/src/utility/qxreconf/rcf_calc_tiles_mod.F90) | 455 | Y | #685
[Rcf_ml_snowpack](https://github.com/MetOffice/um/blob/main/src/utility/qxreconf/rcf_ml_snowpack_mod.F90)) | 949 | Y |

* Science Adjustment (field calculations source=8 [refers to](https://github.com/MetOffice/um/blob/main/rose-meta/um-atmos/HEAD/rose-meta.conf#L5056) )

UM code | Number Lines | Required | PR
-- | -- | -- | --
[rcf_field_calcs](https://github.com/MetOffice/um/blob/main/src/utility/qxreconf/rcf_field_calcs_mod.F90) | 515 | Y
Likely relevant calls are ||| #685
Stashcode_sea_ice_temp Rcf_derv_sea_ice_temp |||
Stashcode_soil_temp rcf_init_soil_temp |||
Stashcode_frac_surf_type rcf_init_tile_frac ||| #685
Stashcode_tstar_tile rcf_calc_tiles ||| #685
Stashcode_z0m_sice_fmd rcf_derv_z0_sice |||
Stashcode_mv rcf_mixing_ratios, field_set_to_min |||

* Science Adjustment (Post-processing)

UM code | Number Lines | Required | PR
-- | -- | -- |--
[Rcf_post_process](https://github.com/MetOffice/um/blob/main/src/utility/qxreconf/rcf_post_process_mod.F90) | 530 | Y |
This contains: | |
[rcf_soilstress_to_soilmoist](https://github.com/MetOffice/um/blob/main/src/utility/qxreconf/rcf_soilstress_to_soilmoist_mod.F90)) | 211 | Y |
[rcf_soilconc_to_soilmoist](https://github.com/MetOffice/um/blob/main/src/utility/qxreconf/rcf_soilconc_to_soilmoist_mod.F90) | 143 | Y |
[rcf_conv_p_exner](https://github.com/MetOffice/um/blob/main/src/utility/qxreconf/rcf_exner_p_convs_mod.F90) | 196 | Y |
[rcf_calc_output_exner](https://github.com/MetOffice/um/blob/main/src/utility/qxreconf/rcf_calc_output_exner_mod.F90) | 304 | Y |
[Rcf_conv_exner_p](https://github.com/MetOffice/um/blob/main/src/utility/qxreconf/rcf_exner_p_convs_mod.F90) | 196 | Y |
[Rcf_conv_t_theta](https://github.com/MetOffice/um/blob/main/src/utility/qxreconf/rcf_theta_t_convs_mod.F90) | 319 | Y |
Rcf_calc_rho | | Y |
[Rcf_soil_moist_chk](https://github.com/MetOffice/um/blob/main/src/utility/qxreconf/rcf_soil_moist_chk_mod.F90) | 224 | Y |
[Rcf_lsh_land_ice_chk](https://github.com/MetOffice/um/blob/main/src/utility/qxreconf/rcf_lsh_land_ice_chk_mod.F90) | 174 | Y |
[Rcf_adjust_tsoil](https://github.com/MetOffice/um/blob/main/src/utility/qxreconf/rcf_adjust_tsoil_mod.F90) | 214 | Y |
[Rcf_freeze_soil](https://github.com/MetOffice/um/blob/main/src/utility/qxreconf/rcf_freeze_soil_mod.F90) | 202 | Y |
[Rcf_conv_cld_chk](https://github.com/MetOffice/um/blob/main/src/utility/qxreconf/rcf_conv_cld_chk_mod.F90) | 176 | Y |
[Rcf_cloud_frac_chk](https://github.com/MetOffice/um/blob/main/src/utility/qxreconf/rcf_cloud_frac_chk_mod.F90) | 434 | Y |
[Rcf_snow_amount_chk](https://github.com/MetOffice/um/blob/main/src/utility/qxreconf/rcf_snow_amount_chk_mod.F90) | 386 | Y |
[Rcf_sea_ice_frac_chk](https://github.com/MetOffice/um/blob/main/src/utility/qxreconf/rcf_sea_ice_frac_chk_mod.F90) | 192 | Y |
[Rcf_polar_rows_chk](https://github.com/MetOffice/um/blob/main/src/utility/qxreconf/rcf_polar_rows_chk_mod.F90) | 292 | N|

* Science Adjustment (Pre Post-processing)

UM code | Number Lines | Required | PR
-- | -- | -- |--
[rcf_pre_process_calcs](https://github.com/MetOffice/um/blob/main/src/utility/qxreconf/rcf_pre_process_calcs_mod.F90) | 155 | Y |
This calls |||
[rcf_derv_cloudfrac](https://github.com/MetOffice/um/blob/main/src/utility/qxreconf/rcf_derv_cloudfrac_mod.F90) | 223 | Y |

* LBC files. The reconfiguration needs to be applied to files with LBC fields. The main difference from an initial condition file is that there are multiple times.

* LBC meshes. Ideally the LBC data should be written to an LBC mesh. However, LFRic is not able to read the data from an LBC mesh at the moment. Therefore this is not a priority.

* W2 winds. The winds need to be mapped to W3, interpolated and then mapped back to W2. However it is possible to read W3 winds in and write out W3 winds (using diagnostic files rather than checkpoint files) so this is not a priority at the moment.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.