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

Merge GFDL new dynamic core to EMC fork/branch #15

Merged
merged 201 commits into from
Jun 9, 2020

Conversation

XiaqiongZhou-NOAA
Copy link
Collaborator

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

To merge GFDL new dynamic core 201912 release version to EMC fork/branch

Related pull requests:
fv3atm #65
universe-weather-model #58
ccpp-physics #397

Copy link

@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.

Holy cow, quite a number of changes. Looks ok to my limited understanding of the dycore. I was looking specifically for changes with impact on the CCPP. I left a comment on the MULTI_GASES option and a few requests for cosmetic changes.

@@ -112,7 +112,7 @@ module atmosphere_mod
! <tr>
! <td>mpp_mod</td>
! <td>mpp_error, stdout, FATAL, NOTE, input_nml_file, mpp_root_pe,
! mpp_npes, mpp_pe, mpp_chksum,mpp_get_current_pelist,
! mpp_npes, mpp_pe, mpp_chksum,mpp_get_current_pelist,

Choose a reason for hiding this comment

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

Would you mind removing the trailing whitespaces that are added by this commit?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Dom:
Is this the only place to revise about the trailing whitespaces?
I noticed that there are many "^M" hiding in the file fv_regional_bc.F90 at the end of each line. Is it matter?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

^M will be removed.

call fill_gfs(blen, npz, IPD_Data(nb)%Statein%prsi, IPD_Data(nb)%Stateout%gq0, 1.e-9_kind_phys)
if (Atm(n)%flagstruct%fill_gfs) call fill_gfs(blen, npz, IPD_Data(nb)%Statein%prsi, IPD_Data(nb)%Stateout%gq0, 1.e-9_kind_phys)

!LMH 28sep18: If the name of a tracer ends in 'nopbl' then do NOT update it;

Choose a reason for hiding this comment

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

I wonder if this feature is/will be used by the UFS and if this is documented somewhere.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

This is the part added when merge the master branch of GFDL dycore. Lucas could know it better.

! Read FVCORE namelist
read (f_unit,fv_core_nml,iostat=ios)
ierr = check_nml_error(ios,'fv_core_nml')
call close_file(f_unit)
#ifdef MULTI_GASES

Choose a reason for hiding this comment

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

Since we do not have regression tests with MULTI_GASES turned on, has someone tested this feature manually. In particular of the CCPP version works as expected?

Choose a reason for hiding this comment

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

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Multi_GASES was tested for this version with 64-bits.
Another pull requests is generated to the regression test ufs-community/ufs-weather-model#112. Some fixes are needed for 32-bits runs in that pull request.

jsd = bd%jsd
jed = bd%jed


Choose a reason for hiding this comment

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

I would remove the extra whitespaces in lines 215, 218, 227.

Copy link
Collaborator

@bensonr bensonr left a comment

Choose a reason for hiding this comment

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

Please see the inlined comments regarding multi-gases namelist reads.

Comment on lines +1047 to +1049
#ifdef MULTI_GASES
namelist /multi_gases_nml/ rilist,cpilist
#endif
Copy link
Collaborator

Choose a reason for hiding this comment

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

This new version of fv_control has each namelist read contained within its own programmatic unit. Please create a separate subroutine for the multi-gases nml read and add a #ifdef gated call in the proper place.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Can this be changed in the next pull request when we add the regression test for MULTI_GASES?

@@ -738,26 +1067,12 @@ subroutine run_setup(Atm, dt_atmos, grids_on_this_pe, p_split)
read (input_nml_file,multi_gases_nml,iostat=ios)
ierr = check_nml_error(ios,'multi_gases_nml')
#endif
Copy link
Collaborator

Choose a reason for hiding this comment

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

See comment above regarding separate programmatic unit for multi-gases nml.

@HenryJuang-NOAA
Copy link

HenryJuang-NOAA commented May 14, 2020 via email

@HenryJuang-NOAA
Copy link

HenryJuang-NOAA commented May 14, 2020 via email

@bensonr
Copy link
Collaborator

bensonr commented May 14, 2020

@HenryJuang-NOAA The comment is not referring to a file unit, but a programmatic unit - i.e. subroutine. Each namelist read in the updated code base is now encapsulated within a separate subroutine. If the multi-gases namelist logic is encapsulated within a separate, dedicated subroutine, it will remove many MULTI_GASES #ifdef-#endif pairs as the subroutine would not need any. In fact, now that I look more closely at the codebase itself, all of the namelist logic regarding multi-gases should be encapsulated within the multi-gases_Init within the multi_gases.F90 source file.

@bensonr
Copy link
Collaborator

bensonr commented May 14, 2020 via email

@HenryJuang-NOAA
Copy link

HenryJuang-NOAA commented May 14, 2020 via email

@HenryJuang-NOAA
Copy link

HenryJuang-NOAA commented May 14, 2020 via email

Copy link

@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.

I did review this PR a few weeks ago, not much has changed since then. I mainly focussed on changes around the CCPP fast physics blocks, looks good to me.

!* useful, but WITHOUT ANYWARRANTY; without even the implied warranty
!* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
!* The FV3 dynamical core is distributed in the hope that it will be
!* useful, but WITHOUT ANYWARRANTY; without even the implied warranty

Choose a reason for hiding this comment

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

typo: ANYWARRANTY -> ANY WARRANTY

Copy link

@TomBlack-NOAA TomBlack-NOAA left a comment

Choose a reason for hiding this comment

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

Regional module changes in particular appear to be okay.

@DusanJovic-NOAA DusanJovic-NOAA merged commit 3ff1ed2 into NOAA-EMC:dev/emc Jun 9, 2020
tsupinie pushed a commit to tsupinie/GFDL_atmos_cubed_sphere that referenced this pull request Jul 20, 2020
Merge GFDL new dynamic core 201912 release version to dev/emc.
aerorahul pushed a commit that referenced this pull request Jul 17, 2021
* Updates needed for fms2_io

* Updating variable naming
XiaqiongZhou-NOAA pushed a commit to XiaqiongZhou-NOAA/GFDL_atmos_cubed_sphere that referenced this pull request Sep 22, 2022
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.