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

202305 Release of SHiELD_physics #22

Merged
merged 13 commits into from
Jun 6, 2023

Conversation

laurenchilutti
Copy link
Contributor

@laurenchilutti laurenchilutti commented Jun 1, 2023

Description

This PR publishes SHiELD_physics 202305 release. This release coincides with the release of GFDL_atmos_cubed_sphere 202305.

The changes included in this PR are from the GFDL FV3 Team. Full description of changes can be seen in the RELEASE.md

PRs that are all related and should be merged with this one:
NOAA-GFDL/GFDL_atmos_cubed_sphere#273
NOAA-GFDL/SHiELD_build#22
NOAA-GFDL/atmos_drivers#22

Fixes # (issue)

How Has This Been Tested?

Tested with the regression tests in SHiELD_build

Checklist:

Please check all whether they apply or not

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • Any dependent changes have been merged and published in downstream modules

lharris4 and others added 13 commits May 3, 2023 11:45
Clean up the interface of the COSP and call COSP only at the diagnostic time step

See merge request fv3team/fv3_gfsphysics!57
Shallow convection modification

See merge request fv3team/fv3_gfsphysics!59
two bug fixes for modified shallow convection scheme (imfshalcnv=4)

See merge request fv3team/fv3_gfsphysics!60
remove unused microphysics 3d diagnostics

See merge request fv3team/fv3_gfsphysics!61
Update namelist reading code to avoid model crash because of the absence of naemlist.

See merge request fv3team/fv3_gfsphysics!62
write out variables needed for COSP offline run

See merge request fv3team/fv3_gfsphysics!63
Add the options to sub cycling condensation evaporation, control the time scale of evaporation, and delay condensation and evaporation.

See merge request fv3team/fv3_gfsphysics!64
Cleanup and convenience features

See merge request fv3team/fv3_gfsphysics!66
Remove grid size in energy and mass calculation.

See merge request fv3team/fv3_gfsphysics!67
202303 Jan-Huey Chen

See merge request fv3team/fv3_gfsphysics!68
Pass the namelist variables from the dycore to the physics during the initialization

See merge request fv3team/fv3_gfsphysics!69
Copy link
Contributor

@lharris4 lharris4 left a comment

Choose a reason for hiding this comment

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

Looks good to me, although @linjiongzhou would be a better reviewer of this code.

Thanks
Lucas

@linjiongzhou
Copy link
Contributor

The microphysics part looks good to me. Thank you! @gaokun227 created the gsmphys/mfshalcnv_gfdl.f. He should take a look too.

@gaokun227
Copy link

Looks good to me

Copy link
Contributor

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

While I would like to see a better way than 'stop' to abort integration, I'll approve for now.

Comment on lines +2836 to +2839
if (Model%ntke < 1 .or. Model%ntke > Model%ntrac) then
write(*,*) ' FATAL GFS_typedefs: TKE PBL scheme enabled (satmedmf) but TKE tracer not found in field_table.'
write(*,*) ' Stopping execution.'
stop 999
Copy link
Contributor

Choose a reason for hiding this comment

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

Stop statements may not abort a program correctly when using MPI. Should either import and use mpp_error or make a call to MPI_Finalize to properly abort execution.

Copy link
Contributor

Choose a reason for hiding this comment

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

A few other places in this subroutine use the stop function to terminate the program. Should all of them be revised?

@@ -2052,7 +2108,11 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
logical :: fixed_sollat = .false. !< flag to fix solar latitude
logical :: daily_mean = .false. !< flag to replace cosz with daily mean value

!--- dynamical core parameters
logical :: dycore_hydrostatic = .true. !< whether the dynamical core is hydrostatic
Copy link
Contributor

Choose a reason for hiding this comment

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

The designed way to get this information to the physics from outside is to use the GFS_init_type. This type is populated with dycore and other external to the physics information within the atmos_model.F90::atmos_model_init function and it is passed to GFS_Initialize, where it is passed to the Model%init procedure.

Copy link
Contributor

Choose a reason for hiding this comment

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

Hi Rusty, thanks for your guidance. I can move these variables to GFS_init_type. I will submit another merge request when it is done.

@bensonr
Copy link
Contributor

bensonr commented Jun 2, 2023 via email

@lharris4
Copy link
Contributor

lharris4 commented Jun 3, 2023 via email

@laurenchilutti
Copy link
Contributor Author

To ensure Rusty's comments are not forgotten as I have merged this PR, I created an issue: #23
Please continue any discussion in the issue. Rusty will be unavailable for the next few weeks.

@lharris4
Copy link
Contributor

lharris4 commented Jun 6, 2023 via email

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

5 participants