-
Notifications
You must be signed in to change notification settings - Fork 49
118 ostia ice ancils #137
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
base: main
Are you sure you want to change the base?
118 ostia ice ancils #137
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,73 @@ | ||
| !------------------------------------------------------------------------------- | ||
| ! (c) Crown copyright 2020 Met Office. All rights reserved. | ||
| ! The file LICENCE, distributed with this code, contains details of the terms | ||
| ! under which the code may be used. | ||
| !------------------------------------------------------------------------------- | ||
| !> @brief Initialise Jules surface fields on tiles | ||
| !> @details Non-standard Surface fields (pseudo-levels) aren't as yet not | ||
| !> implemented in LFRic. As an interim measure Higher-order W3 fields have | ||
| !> been used to mimic psuedo-level field behaviour. This code is written | ||
| !> based on this interim measure and will need to be updated when | ||
| !> suitable infrastructure is available (Ticket #2081) | ||
| module initial_ice_conductivity_kernel_mod | ||
| use argument_mod, only: arg_type, & | ||
| GH_FIELD, GH_REAL, GH_INTEGER, & | ||
| GH_WRITE, CELL_COLUMN, & | ||
| ANY_DISCONTINUOUS_SPACE_1, & | ||
| ANY_DISCONTINUOUS_SPACE_2 | ||
| use constants_mod, only: r_def, i_def | ||
| use kernel_mod, only: kernel_type | ||
| use jules_control_init_mod, only: n_sea_ice_tile, first_sea_ice_tile | ||
| use jules_sea_seaice_config_mod, only: therm_cond_sice => kappai | ||
| implicit none | ||
| private | ||
| !> Kernel metadata for Psyclone | ||
| type, public, extends(kernel_type) :: initial_ice_conductivity_kernel_type | ||
| private | ||
| type(arg_type) :: meta_args(3) = (/ & | ||
| arg_type(GH_FIELD, GH_REAL, GH_WRITE, ANY_DISCONTINUOUS_SPACE_1), & | ||
| arg_type(GH_FIELD, GH_REAL, GH_WRITE, ANY_DISCONTINUOUS_SPACE_1), & | ||
| arg_type(GH_FIELD, GH_REAL, GH_WRITE, ANY_DISCONTINUOUS_SPACE_1) & | ||
| /) | ||
| integer :: operates_on = CELL_COLUMN | ||
| contains | ||
| procedure, nopass :: initial_ice_conductivity_code | ||
| end type initial_ice_conductivity_kernel_type | ||
| public :: initial_ice_conductivity_code | ||
| contains | ||
| !> @param[in] nlayers The number of layers | ||
| !> @param[in,out] sea_ice_fraction Sea Ice Fractions on categories | ||
| !> @param[in,out] sea_ice_thickness Sea Ice Thickness on categories | ||
| !> @param[in,out] sea_ice_conductivity Sea Ice Conductivity on categories | ||
| !> @param[in] ndf_ice Number of DOFs per cell for tiles | ||
| !> @param[in] undf_ice Number of total DOFs for tiles | ||
| !> @param[in] map_ice Dofmap for cell for surface tiles | ||
| subroutine initial_ice_conductivity_code(nlayers, & | ||
| sea_ice_fraction, & | ||
| sea_ice_thickness, & | ||
| sea_ice_conductivity, & | ||
| ndf_ice, undf_ice, map_ice) | ||
| implicit none | ||
| ! Arguments | ||
| integer(kind=i_def), intent(in) :: nlayers | ||
| integer(kind=i_def), intent(in) :: ndf_ice, undf_ice | ||
| integer(kind=i_def), intent(in) :: map_ice(ndf_ice) | ||
| real(kind=r_def), intent(inout) :: sea_ice_fraction(undf_ice) | ||
| real(kind=r_def), intent(inout) :: sea_ice_thickness(undf_ice) | ||
| real(kind=r_def), intent(inout) :: sea_ice_conductivity(undf_ice) | ||
| ! Internal variables | ||
| integer(kind=i_def) :: i | ||
| real(kind=r_def) :: min_ice_thick, max_ice_cond | ||
| !Taken from UM recon value | ||
| max_ice_cond = 25.0_r_def | ||
| min_ice_thick = 8.0_r_def * therm_cond_sice/max_ice_cond | ||
| do i=0,n_sea_ice_tile-1 | ||
| if (sea_ice_thickness(map_ice(1)+i) >= min_ice_thick) then | ||
| sea_ice_conductivity(map_ice(1)+i) = (8.0_r_def * therm_cond_sice) & | ||
| / sea_ice_thickness(map_ice(1)+i) | ||
| else | ||
| sea_ice_conductivity(map_ice(1)+i) = max_ice_cond | ||
| endif | ||
| end do | ||
| end subroutine initial_ice_conductivity_code | ||
| end module initial_ice_conductivity_kernel_mod |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,10 @@ | ||
| #!/usr/bin/env bash | ||
|
|
||
| set -eou pipefail | ||
|
|
||
| python3 rose_stem_extract_source.py | ||
| cp $SOURCE_ROOT/lfric_apps/dependencies.yaml $CYLC_WORKFLOW_RUN_DIR | ||
| cp $SOURCE_ROOT/SimSys_Scripts/github_scripts/suite_report_git.py $CYLC_WORKFLOW_RUN_DIR/bin | ||
| cp $SOURCE_ROOT/SimSys_Scripts/github_scripts/suite_data.py $CYLC_WORKFLOW_RUN_DIR/bin | ||
| cp $SOURCE_ROOT/SimSys_Scripts/github_scripts/git_bdiff.py $CYLC_WORKFLOW_RUN_DIR/bin | ||
| cp $SOURCE_DIRECTORY/SimSys_Scripts/github_scripts/get_git_sources.py $CYLC_WORKFLOW_RUN_DIR/bin |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -3,7 +3,7 @@ source=$ROSE_SUITE_DIR/app/lfric_atm/file/iodef_gal_nwp_cycling.xml | |
|
|
||
| [namelist:files] | ||
| iau_path='$BIG_DATA_DIR/start_dumps/basic-gal/yak/20210324T0600Z_um2lfric_iau_000001' | ||
| sea_ice_ancil_path='$BIG_DATA_DIR/start_dumps/basic-gal/yak/seaice_ugrid_postqa_fixed' | ||
| sea_ice_ancil_path='/data/users/tim.graham/LFRIC_SEA_ICE_ANCIL/seaice_ugrid_postqa_fixed' | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This file will need to be copied to $BIG_DATA_DIR by the code reviewer. Has Mike been told about this? I have compared these two files:
And the new file has a missing data values of 1e+20 but has sea_ice_area_fraction:_FillValue = -1073741824
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Good spot Dan. I created these files by modifying the axes of the originals so that results didn't change. However, given that this has changed the missing data indicators in this way perhaps it would be better to properly generate new files using the new ugants code developed by Rhiannon. This will change results but may be more robust in the long term. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I agree that it would be good to regenerate these files properly with the correct missing data indicator. Once this is done then let me know and I think this is the only thing holding me back from passing sci/tech review. |
||
| snow_analysis_ancil_path='$BIG_DATA_DIR/start_dumps/basic-gal/yak/20210324T0600Z_glu_snow_um2lfric_fixed' | ||
| sst_ancil_path='$BIG_DATA_DIR/start_dumps/basic-gal/yak/sst_ugrid_postqa_fixed' | ||
| start_dump_directory='$BIG_DATA_DIR/start_dumps/basic-gal/yak/Ticket354' | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is this change needed? It does not appear to be related to the issue.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This was a bug in stable when I branched from it that prevented running of rose stem. The change is due to merging the hot fix on stable into my branch so that I could run rose stem