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

To update FV3 dynamic core to the GFDL 201912 released version #58

Merged
merged 35 commits into from
Jun 10, 2020

Conversation

XiaqiongZhou-NOAA
Copy link
Contributor

@XiaqiongZhou-NOAA XiaqiongZhou-NOAA commented Feb 13, 2020

To update FV3 dynamic core to the GFDL 201912 released version,
the namelist files in ~parm should be revised due to the namelist changes for nesting

Related pull requests:
atmos_cubed_sphere #15
fv3atm #65
ccpp-physics #397

Copy link
Collaborator

@climbfuji climbfuji left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few comments, no show stoppers, but I would like to hear back if possible. If any changes/updates are needed those can be done on a follow-up PR.

@@ -50,6 +50,10 @@ if(OPENMP)
add_definitions(-DOPENMP)
endif()

if(QUAD_PRECISION)
add_definitions(-DENABLE_QUAD_PRECISION)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is there no

message("QUAD_PRECISION is ENABLED")

?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see it further down, why not make the same change as for GNU and PGI?

@@ -16,6 +16,7 @@ option(VERBOSE "Enable VERBOSE mode" OFF)
option(32BIT "Enable 32BIT (single precision arithmetic in dycore)" OFF)
option(OPENMP "Enable OpenMP threading" ON)
option(AVX2 "Enable AVX2 instruction set" OFF)
option(QUAD_PRECISION "Enable QUAD_PRECISION (for certain grid metric terms in dycore)" ON)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Has anyone tested this new FMS release / quad precision flag with GNU (on cheyenne, or generic linux, or generic macOS)?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't run this version with GNU compiler. If there are issues, we must fix them in the next PR.

@@ -36,7 +36,7 @@
/

&fv_core_nml
layout = 24,20
layout = 18,24
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need to change this? Because we need to take processors away for the write component?

The layout = 24,20 in the original code guarantees uniform block size. Is this the case for 18,24 as well?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I change it to use same number of the processors while using write component.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this still give uniform block sizes? That is important. You can look at the out and/or err files for this job, there is a warning if non-uniform block sizes are used.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you mean "the non-divisible blocksize"? There is no "the non-divisible blocksize" warning as the write component has issues with it.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Each block has the uniform size.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for clarifying!

@@ -13,7 +13,7 @@ export LIST_FILES=" atmos_4xdaily.tile1.nc \
atmos_4xdaily.tile4.nc \
atmos_4xdaily.tile5.nc \
atmos_4xdaily.tile6.nc \
atmos_4xdaily.nest02.tile7.nc \
atmos_4xdaily.nest02.nc \
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note that this test is not exercised in rt.conf.

@@ -18,6 +18,7 @@ REPRO =
VERBOSE =
OPENMP = Y
HYDRO = N
QUAD_PRECISION = Y
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wcoss_phase1/2 is not supported any more. We will plan to remove wcoss phase1/2 related files.

@@ -21,6 +21,7 @@ OPENMP = Y
AVX2 = Y
HYDRO = N
CCPP = N
QUAD_PRECISION = Y
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With this setting QUAD_PRECISION is set to Y, will all the RT test results be changed on cray?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No. Only atmos_4xdaily.* files are changed due to change in netcdf file format in FMS.

@@ -378,9 +378,9 @@ while getopts ":cfsl:mkreh" opt; do
done

if [[ $MACHINE_ID = hera.* ]] || [[ $MACHINE_ID = orion.* ]] || [[ $MACHINE_ID = cheyenne.* ]]; then
RTPWD=${RTPWD:-$DISKNM/NEMSfv3gfs/develop-20200603/${COMPILER^^}}
RTPWD=${RTPWD:-$DISKNM/NEMSfv3gfs/develop-20200608/${COMPILER^^}}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

May I ask what regression test results are changed with this commit from 20200603 to 20200608 on platform hera, dell, cray and orion?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All nesting and regional tests will have different results. also atmos_4xdaily.tile?.nc has identical fields but the head differ.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All atmos_4xdaily.* files are changed in all tests that write out those files. Then in regional_768 test we switched from using diag_manager to write component.

Copy link
Collaborator

@junwang-noaa junwang-noaa left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have some questions on the impact of results. The code change itself looks good.

@junwang-noaa
Copy link
Collaborator

junwang-noaa commented Jun 10, 2020 via email

@junwang-noaa
Copy link
Collaborator

junwang-noaa commented Jun 10, 2020 via email

@DusanJovic-NOAA DusanJovic-NOAA merged commit 9e3aedc into ufs-community:develop Jun 10, 2020
climbfuji added a commit to climbfuji/ufs-weather-model that referenced this pull request Jul 7, 2020
…ointer_fv3atm

Update submodule pointer fv3atm 2020/07/01
LarissaReames-NOAA pushed a commit to LarissaReames-NOAA/ufs-weather-model that referenced this pull request Oct 22, 2021
…ase/public-v2

Revert "merge ufs-release/public-v2 -> dev/emc"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants