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

Add/update HWRF physics #509

Merged
merged 65 commits into from
Nov 5, 2020
Merged

Add/update HWRF physics #509

merged 65 commits into from
Nov 5, 2020

Conversation

climbfuji
Copy link
Collaborator

@climbfuji climbfuji commented Oct 16, 2020

Description

See ufs-community/ufs-weather-model#223.

In addition to the HWRF physics changes:

Testing

See ufs-community/ufs-weather-model#223.

Dependencies

ufs-community/ufs-weather-model#223
NOAA-EMC/fv3atm#188
NOAA-EMC/GFDL_atmos_cubed_sphere#43
#509

BinLiu-NOAA and others added 30 commits January 23, 2020 15:27
Changes to EDMF-HAFS and EDMF-TKE to OutputEddy Diffusivity
… argument list (specifically grav and cp) causes regression test failures in PROD mode
…edmf

dtc/hwrf-physics: combined version of HAFS/GFS moninedmf scheme (hybrid EDMF PBL)
…hwrf-physics

dtc/hwrf-physics: merge HWRF saSAS with GFS version, update to a more recent version of ccpp-physics from master
Squashed commit of the following:

commit 406f740
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Mon Apr 13 20:24:59 2020 -0600

    FA uses progcld5

commit 682fab9
Merge: 25b3f66 d979604
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Mon Mar 16 10:42:12 2020 -0600

    Merge branch 'dtc/develop' of https://github.com/NCAR/ccpp-physics into HAFS_fer_hires

commit 25b3f66
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Mon Mar 16 10:37:42 2020 -0600

    modify stateout update of FA scheme

commit 05c5331
Author: Man Zhang <Man.Zhang@noaa.gov>
Date:   Tue Feb 11 16:45:48 2020 -0700

    sci doc updates

commit 982a11d
Author: Man Zhang <Man.Zhang@noaa.gov>
Date:   Fri Feb 7 16:47:00 2020 -0700

    FA sci doc updates

commit 27c1fcb
Merge: 8d87e55 73f9f09
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Fri Feb 7 14:26:54 2020 -0700

    Merge branch 'dtc/develop' of https://github.com/NCAR/ccpp-physics into HAFS_fer_hires

commit 8d87e55
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Fri Feb 7 14:24:47 2020 -0700

    FA scientific documentation

commit 67ad5a5
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Wed Dec 11 13:13:48 2019 -0700

    consolidate with Chunxis version

commit 76b5475
Merge: 7c6a472 02812f6
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Wed Dec 11 11:49:22 2019 -0700

    Merge branch 'dtc/develop' of https://github.com/NCAR/ccpp-physics into HAFS_fer_hires

commit 7c6a472
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Thu Dec 5 16:28:50 2019 -0700

    output mass weighted RF in GFS_suite_stateout_update_run, it will used in FA

commit 41086af
Merge: 92d9edf f895fc0
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Thu Dec 5 12:08:30 2019 -0700

    Merge branch 'dtc/develop' of https://github.com/NCAR/ccpp-physics into HAFS_fer_hires

commit 92d9edf
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Mon Nov 25 14:16:16 2019 -0700

    chunxi fix : f_rimef = qg in FA code

commit f9e3ee0
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Mon Nov 25 11:39:54 2019 -0700

     From Eric: convert wet mixing ratios of cloud species to mixing ratio
    before the scheme, and convert back after scheme.

     From Chunxi, modify: 1. FA interface with GFS RRTMG using progcld2;
    2.air pressure improvement; 3. add f_qrimef mixing in PBL

commit f497d40
Merge: bd4a30c 73b8c0d
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Mon Nov 25 09:44:14 2019 -0700

    Merge branch 'dtc/develop' of https://github.com/NCAR/ccpp-physics into HAFS_fer_hires

commit bd4a30c
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Fri Nov 22 14:30:16 2019 -0700

    monir format fix

commit 4c2abd1
Merge: db7fc8d a7c38a6
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Thu Nov 21 19:29:50 2019 -0700

    Merge branch 'dtc/develop' of https://github.com/NCAR/ccpp-physics into HAFS_fer_hires

commit db7fc8d
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Thu Nov 21 19:29:04 2019 -0700

    minor change

commit ab52b26
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Thu Nov 21 18:48:53 2019 -0700

    delete update_moist module

commit db9e3a7
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Mon Nov 18 14:40:10 2019 -0700

    cleanup FA codes

commit 482a43b
Merge: 380229c 74851c1
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Mon Nov 18 14:31:07 2019 -0700

    Merge branch 'dtc/develop' of https://github.com/NCAR/ccpp-physics into HAFS_fer_hires

commit 380229c
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Thu Nov 14 13:46:13 2019 -0700

     1. do some code cleanup
     2. correct tracer diffusions definition before/after PBL in
    GFS_PBL_generic

commit a312444
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Mon Nov 11 10:52:21 2019 -0700

     Chunxi's email 11/07/2019: the srflag is based on sr. so we need to
     make sure 'cal_pre' is always set to false in namelist file.

commit f2c9271
Merge: 6777489 333980d
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Thu Nov 7 11:03:56 2019 -0700

    Merge branch 'dtc/develop' of https://github.com/NCAR/ccpp-physics into HAFS_fer_hires

commit 6777489
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Thu Nov 7 10:56:33 2019 -0700

    add Chunxi GFS_MP_generic change related to FA scheme

commit 327b07f
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Wed Oct 23 19:56:11 2019 -0600

    minor fix

commit bfedaab
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Wed Oct 23 09:44:46 2019 -0600

    add meta files for FA scheme and HAFS_update_moist

commit a5b5fa9
Merge: 1ff46c7 cfafb29
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Fri Oct 18 09:56:40 2019 -0600

    Merge branch 'gmtb/develop' of https://github.com/NCAR/ccpp-physics into HAFS_fer_hires

commit 1ff46c7
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Tue Oct 8 20:42:58 2019 -0600

    add update_moist() module to F-A suite

commit 258fceb
Merge: 53fba5b ecb641e
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Mon Oct 7 15:36:47 2019 -0600

    Merge branch 'gmtb/develop' of https://github.com/NCAR/ccpp-physics into HAFS_fer_hires

commit 53fba5b
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Mon Oct 7 14:55:21 2019 -0600

    1. recalculate some FAmp tables which depend on physics time step in F-A scheme
    2. change ncw value to HWRF application

commit 1656aac
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Mon Sep 30 12:02:24 2019 -0600

    revert MP_generic to original version to obtain B4B for control/csawmg/satmedmf

commit dfccc5b
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Sun Sep 29 11:06:55 2019 -0600

    fix bugs in GFS_PBL_generic

commit fc744d3
Merge: 1a024b7 dc74b57
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Mon Sep 23 14:17:29 2019 -0600

    Merge branch 'gmtb/develop' of https://github.com/NCAR/ccpp-physics into HAFS_fer_hires

commit 1a024b7
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Fri Sep 20 22:01:07 2019 -0600

    fix ccpp_control crashed problem

commit 957ff82
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Thu Sep 19 10:14:59 2019 -0600

    turn on/off spec_adv option is working in CCPP F-A scheme.

commit 370d49f
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Tue Sep 17 16:55:24 2019 -0600

    use progcld5 for F-A in GFS_rrtmg_pre

commit bbbf155
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Thu Sep 12 09:19:17 2019 -0600

    F-A scheme modification related to meta data file update

commit 2b8d9e4
Merge: 08662ae 9fc5ac1
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Wed Sep 11 16:15:30 2019 -0600

    Merge branch 'HAFS_fer_hires' of https://github.com/mzhangw/ccpp-physics into HAFS_fer_hires

commit 08662ae
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Wed Sep 11 16:14:47 2019 -0600

    add vars to meta table

commit 9fc5ac1
Author: Man Zhang <Man.Zhang@noaa.gov>
Date:   Wed Sep 11 16:12:00 2019 -0600

    initialize Doxygen documentation in F-A scheme

commit d749a68
Merge: dff5b0f 20dd8d2
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Tue Sep 10 15:19:15 2019 -0600

    Merge branch 'gmtb/develop' of https://github.com/NCAR/ccpp-physics into HAFS_fer_hires

commit dff5b0f
Merge: bed9c0e 727417c
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Wed Sep 4 14:30:28 2019 -0600

    Merge branch 'chunxi_physics' of https://github.com/ChunxiZhang-NOAA/ccpp-physics into HAFS_fer_hires

commit bed9c0e
Merge: 1f8a26a 44137a3
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Wed Sep 4 14:26:51 2019 -0600

    Merge branch 'HAFS_fer_hires' of https://github.com/mzhangw/ccpp-physics into HAFS_fer_hires

commit 1f8a26a
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Wed Sep 4 14:24:27 2019 -0600

    bug fixed in augument list of FER_HIRES

commit 44137a3
Merge: 1808226 6abba22
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Tue Sep 3 10:33:04 2019 -0600

    Merge branch 'gmtb/develop' of https://github.com/NCAR/ccpp-physics into HAFS_fer_hires

commit 1808226
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Sat Aug 31 17:51:49 2019 -0600

    tracer treatment fix

commit 727417c
Author: Chunxi.Zhang-NOAA <Chunxi.Zhang@noaa.gov>
Date:   Fri Aug 30 22:13:06 2019 +0000

    GFS_MP_generic.F90: recalculate srflag
    GFS_PBL_generic.F90: define tracers for vertical diffusion
    GFS_rrtmg_pre.F90: change ncnd
    module_mp_fer_hires_pre.F90: revised the definition to tracers
    mp_fer_hires.F90: revised the definition to tracers

commit ec729e8
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Thu Aug 29 21:43:36 2019 -0600

    make consistent standard name as Chunxis implementation

commit 3a26975
Merge: 1426c6e c7faeb7
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Thu Aug 29 21:02:59 2019 -0600

    Merge branch 'chunxi_physics' of https://github.com/ChunxiZhang-NOAA/ccpp-physics into HAFS_fer_hires

commit 1426c6e
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Thu Aug 29 20:32:12 2019 -0600

    fix omp message and pass F-A scheme

commit c7faeb7
Author: Chunxi.Zhang-NOAA <Chunxi.Zhang@noaa.gov>
Date:   Thu Aug 29 16:20:51 2019 +0000

    mp_fer_hires.F90: changed the definitions for f_ice, f_rain and f_rimef.
                      Deleted QS since it will not be used. we only need QI.
    module_mp_fer_hires_pre.F90: changes related to f_ice, f_rain and f_rimef
    module_mp_fer_hires_pre.F90: added

commit 4e0d9bd
Merge: 9aaa575 01823bc
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Tue Aug 27 17:13:12 2019 -0600

    Merge branch 'gmtb/develop' of https://github.com/NCAR/ccpp-physics into HAFS_fer_hires

commit 9aaa575
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Tue Aug 27 15:57:43 2019 -0600

    minor fix

commit 6b88864
Author: Eric Aligo <eric.aligo@noaa.gov>
Date:   Tue Aug 27 17:31:03 2019 +0000

    Fixed bug to allow both Qi and Qc to be updated from CU scheme.

commit 73f95a6
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Mon Aug 26 22:05:00 2019 -0600

    fortran format fix

commit d5f8a62
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Mon Aug 26 17:16:30 2019 -0600

    minor fix

commit fb011da
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Mon Aug 26 17:05:04 2019 -0600

    Aligo-use the dx of the 1st i poit to set an integer value of dx to be used for determining RHgrd

commit 80fedc4
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Mon Aug 26 13:41:24 2019 -0600

    further constants fix

commit 473ff9e
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Mon Aug 26 10:45:49 2019 -0600

    dimension fixed

commit c29c3cd
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Sun Aug 25 22:44:04 2019 -0600

    convert USE ESMF to ccpp mpi method; temporary constant treatment

commit 8b886b9
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Wed Aug 21 11:06:19 2019 -0600

    delete HWRF F-A scheme

commit b78a1a2
Merge: dbabee7 ff2c6d8
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Mon Aug 19 13:42:42 2019 -0600

    Merge branch 'gmtb/develop' of https://github.com/NCAR/ccpp-physics into HAFS_fer_hires

commit dbabee7
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Mon Aug 19 13:41:36 2019 -0600

    update

commit 7c481b5
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Thu Aug 15 08:34:33 2019 -0600

    initialize FER_HIRES scheme

commit bbac675
Merge: d06f755 fb29006
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Mon Aug 5 10:33:29 2019 -0600

    Merge branch 'gmtb/develop' of https://github.com/NCAR/ccpp-physics into HAFS_fer_hires

commit d06f755
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Thu Aug 1 11:29:43 2019 -0600

    minor fix

commit 970ae66
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Wed Jul 31 13:41:12 2019 -0600

    change file name

commit d666a3e
Author: Man Zhang <Man.Zhang@noaa.gov>
Date:   Wed Jul 31 12:25:36 2019 -0600

    pass prebuild

commit 63f07c4
Merge: d0d4035 6bb0897
Author: Man Zhang <Man.Zhang@noaa.gov>
Date:   Wed Jul 31 10:10:31 2019 -0600

    Merge branch 'gmtb/develop' of https://github.com/NCAR/ccpp-physics into FA-HWRF-V4_0a

commit d0d4035
Author: Man Zhang <Man.Zhang@noaa.gov>
Date:   Wed Jul 31 10:09:44 2019 -0600

    initialize FER_HIRES implementation

commit e77c0a1
Author: Man Zhang <Man.Zhang@noaa.gov>
Date:   Fri Jul 19 14:55:03 2019 -0600

    add fer_hires wrapper module

commit 193435b
Author: Man.Zhang <Man.Zhang@noaa.gov>
Date:   Mon Jul 1 16:31:01 2019 -0600

    initialize Ferrier-Aligo MP scheme implementation from HWRF V4.0
…f-physics

dtc/hwrf-physics: HWRF Ferrier-Aligo MP scheme updates
@climbfuji
Copy link
Collaborator Author

@BinLiu-NOAA @ChunxiZhang-NOAA @dustinswales please take note of this PR and review if you would like to

@dustinswales
Copy link
Collaborator

@climbfuji @RobertPincus
All changes touching RRTMG will need to be propagated into RRTMGP. GP does not support imp_physics == imp_physics_fer_hires, something we've not discussed, so this will need to be built for GP. This is not trivial to do.
Will this need to be in there before we start testing?

@climbfuji
Copy link
Collaborator Author

@climbfuji @RobertPincus
All changes touching RRTMG will need to be propagated into RRTMGP. GP does not support imp_physics == imp_physics_fer_hires, something we've not discussed, so this will need to be built for GP. This is not trivial to do.
Will this need to be in there before we start testing?

No, I don't think you need to support FA for the moment.

@dustinswales
Copy link
Collaborator

dustinswales commented Nov 3, 2020

This is good news. I will plan to include this functionality in GP when we introduce our next improvements (Thompson MP).

@SMoorthi-emc
Copy link
Collaborator

SMoorthi-emc commented Nov 3, 2020 via email

Copy link
Collaborator

@tanyasmirnova tanyasmirnova left a comment

Choose a reason for hiding this comment

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

Dom,
As I wrote in the comments, I find it confusing how the soil/vegetation parameters are initialized in the WRF Noah used in HWRF. Other than that the code looks good to me.

@dustinswales
Copy link
Collaborator

Do you have MG microphysics in GP? Moorthi
@SMoorthi-emc
No. Only the GFDL scheme is supported in GP at the moment. In the next month or so we plan on adding support for Thompson MP, and now the FA scheme.
Is there a need to support the MG scheme in GP? @climbfuji @RobertPincus

@climbfuji
Copy link
Collaborator Author

Do you have MG microphysics in GP? Moorthi
@SMoorthi-emc
No. Only the GFDL scheme is supported in GP at the moment. In the next month or so we plan on adding support for Thompson MP, and now the FA scheme.
Is there a need to support the MG scheme in GP? @climbfuji @RobertPincus

I don't have the programmatic oversight (and authority!) to decide which microphysics need to be supported first or at all, so would suggest to discuss this with Fanglin, Ligia and others higher up the food chain.

@SMoorthi-emc
Copy link
Collaborator

SMoorthi-emc commented Nov 3, 2020 via email

@SMoorthi-emc
Copy link
Collaborator

SMoorthi-emc commented Nov 3, 2020 via email

@SMoorthi-emc
Copy link
Collaborator

SMoorthi-emc commented Nov 3, 2020 via email

@RobertPincus
Copy link
Collaborator

@SMoorthi-emc, @dustinswales is tasked with coupling RRTMGP to candidate physics suites for the weather model. The current coupling is to the physics in GFSv16(beta?) as a starting point for the GFSv17 suite. We've been told by Bao and Fanglin that Thompson is another likely candidate for GFSv17 physics, which makes this our next step.

We are supported by HSUP to do specific tasks which includes neither supporting HWRF physics nor any variants of GFS physics beyond those identified as likely candidates for v17. We could extend our tasks with other funding. Also anyone else, of course, is free to open a pull request to support other physics options.

@ligiabernardet
Copy link
Collaborator

ligiabernardet commented Nov 3, 2020 via email

@@ -469,6 +473,18 @@ subroutine GFS_suite_stateout_update_run (im, levs, ntrac, dtp, &
gu0(:,:) = ugrs(:,:) + dudt(:,:) * dtp
gv0(:,:) = vgrs(:,:) + dvdt(:,:) * dtp
gq0(:,:,:) = qgrs(:,:,:) + dqdt(:,:,:) * dtp

if (imp_physics == imp_physics_fer_hires) then
Copy link
Collaborator

Choose a reason for hiding this comment

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

I have mixed feelings about this code being in this subroutine. On one hand, I'd like to keep the subroutine to updating the state variables after the process-split schemes ONLY (those 4 lines above). If the CCPP framework ever gets around to implementing the process-split vs time-split functionality, then this subroutine could be 100% automated. On the other hand, I'm not sure where this code would better be executed organizationally. Could this be done in MP_generic_pre or a pre-interstitial scheme specifically for the FA scheme? Is it critical that these lines be executed at this point in the suite (as opposed to in another interstitial scheme as suggested)? It would be nice to hear from the author of these lines, but I don't know who that is? @mzhangw ?

Copy link
Collaborator

Choose a reason for hiding this comment

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

I have mixed feelings about this code being in this subroutine. On one hand, I'd like to keep the subroutine to updating the state variables after the process-split schemes ONLY (those 4 lines above). If the CCPP framework ever gets around to implementing the process-split vs time-split functionality, then this subroutine could be 100% automated. On the other hand, I'm not sure where this code would better be executed organizationally. Could this be done in MP_generic_pre or a pre-interstitial scheme specifically for the FA scheme? Is it critical that these lines be executed at this point in the suite (as opposed to in another interstitial scheme as suggested)? It would be nice to hear from the author of these lines, but I don't know who that is? @mzhangw ?

Hi Grant, We tried to avoid calculating rime factor before microphysics calls because cloud ice is updated from cumulus schemes by detrainment process, and we only need cloud ice updated by dynamics and the PBL scheme (e.g. advection and diffusion).

Copy link
Collaborator

Choose a reason for hiding this comment

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

Thanks @ChunxiZhang-NOAA . That is exactly the information that I was missing. In essence, the FA scheme needs the rime factor to have a lower bound of 1 in the extreme case, but that otherwise depends on the value of cloud ice after advection and vertical diffusion, but before being modified by convection. So, if we wanted to keep the scheme "clean" (i.e. only updating the state variables from the process-split schemes), we could potentially move this code to any interstitial scheme after GFS_suite_stateout_update but before any convection or convection-related interstitials. Is there any reason why this wouldn't work in GFS_suite_interstitial_3, for example? There is already code in there that depends on which microphysics scheme is used that must be executed before convection. Just a thought for future cleanup, should others agree with my thinking here.

Copy link
Collaborator

Choose a reason for hiding this comment

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

You can put the update of rime factor anywhere before the call to cumulus scheme. But I think it is better to keep the updates of the stateout variables inside GFS_suite_stateout_update. Basically, GFS_suite_interstitial_3 only serves the legacy of the SAS scheme and the old fashion of the GFS physics suite.

Copy link
Collaborator

@grantfirl grantfirl left a comment

Choose a reason for hiding this comment

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

This looks OK to me, especially since I've seen most of these changes before. I did have one question about a few lines in the stateout_update interstitial, but this is entirely organizational and shouldn't affect the answer.

@climbfuji
Copy link
Collaborator Author

@SMoorthi-emc @junwang-noaa do you have any additional comments on the ccpp-physics HWRF PR, or is it ok to merge from your end?

${CMAKE_CURRENT_SOURCE_DIR}/physics/module_mp_thompson_make_number_concentrations.F90
${CMAKE_CURRENT_SOURCE_DIR}/physics/module_SF_JSFC.F90
${CMAKE_CURRENT_SOURCE_DIR}/physics/module_BL_MYJPBL.F90
PROPERTIES COMPILE_FLAGS "-r8 -ftz")
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 mean "-r8 -ftz" will not be applied to those files?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

These flags are redundant, they are set anyway by the build system.

Copy link
Collaborator

@SMoorthi-emc SMoorthi-emc left a comment

Choose a reason for hiding this comment

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

I suspect that slmsk changes in FA implementation probably will not work when fractional grid is included.

@climbfuji
Copy link
Collaborator Author

I suspect that slmsk changes in FA implementation probably will not work when fractional grid is included.

Can you point me to the changes that you are referring to, please? I'd like to take a look, but I agree that this code has not been tested with the fractional grid turned on (there are no regression tests for it as far as I know, only coupled model runs with binary grid).

@SMoorthi-emc
Copy link
Collaborator

SMoorthi-emc commented Nov 5, 2020 via email

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 reviewed the tsfc change. It looks good.

@climbfuji
Copy link
Collaborator Author

GFS_rrtmg_pre.F90

Thanks, Moorthi. I created an issue for us to follow up: #516

@climbfuji climbfuji merged commit c95a1ae into NCAR:master Nov 5, 2020
This was referenced Nov 20, 2020
@climbfuji climbfuji deleted the dtc/hwrf-physics branch June 27, 2022 03:11
hannahcbarnes pushed a commit to hannahcbarnes/ccpp-physics that referenced this pull request Aug 3, 2022
* Feature/ccpp codeowners (NCAR#442)

* Per-file CODEOWNERS in ccpp/physics to set up automatic review requests

* Code cleanup. Remove used code/variables. Fix minor inconsistencies. (NCAR#440)

* Remove ESMF Alarm and TimeInterval variables from module_fv3_config.
* Variables nfhmax, nfhmax_hf are unused outside InitializeAdvertise. Declared them as local variables.
* There is no need to keep duplicates of all time related variables in atm_int_state when we can easily access them from atm_int_state%Atm.
* Remove redundant call to fms_init
* Add few missing ESMF_LogFoundError checks in module_fcst_grid_comp.F90
* Delete time_utils.F90. Unused.
* print only actual errors to stderr, everything else to stdout
* Move realizeConnectedCplFields to module_cplfields from module_cap_cpl
* Declare Atmos as module variable, and remove atmos_internalstate_wrapper
* Move code from clock_cplIntval to InitializeAdvertise
* Removed INTERNAL_FILE_NML from atmos_model.F90

* CCPP cloud cover change for Thompson MP associated with Xu Randall (NCAR#443)

* Remove old comments from GFS_typedefs.F90.
* Update logic that sets Model%cnvcld = .false.

* Wrapper for ccpp-physics NCAR#806, NCAR#807, NCAR#813 (NCAR#447)

* CCPP physics updates from PR NCAR#806(only diagnostic changes for RRTMGP - small diag-only RT impact for tests involving RRTMGP),NCAR#807 (only aborting model if sfc emis file not present when needed) ,NCAR#813(only SCM-specific physics changes)

* Wrapper for ccpp-physics NCAR#808 and 816 (roughness length over ice and NoahMP tsurf bugfix) (NCAR#452)

This PR contains the ccpp physics PR NCAR#808 and NCAR#816. 808 addresses an error in the momentum roughness length over tiles with ice. 816 fixes an occasional segfault bug related to the tsurf variable in NoahMP and updates to "improve snow simulation in NoahMP for P8".

* Use 'model set run clock' routine in FV3 NUOPC cap. (NCAR#450)

* Add 'SetRunClock' specialization routine to FV3 NUOPC cap, which sets fv3 model clock. FV3 cap does not keep local copy of clock (clock_fv3) as saved module variable anymore.
* Minor code cleanup.

* Clean up iovr=4 (exponential cloud overlapping method) in RRTMG (NCAR#445)

Clean up the exponential cloud overlapping method in RRTMG, which reflects the practice of the pre-2018 operational HWRF model.

* Bug fix for dimensions of eta level variables and WAM variables in Fortran code and CCPP metadata (NCAR#431)

* Add additional diagnostic arrays for radiation-microphysics development
* Bug fixes for WAM model runs with levr < levs

* Update inline post with latest UPP release upp_v10.0.11 (NCAR#449)

* Update UPP revision
* Add foundation temperaure in GFS read interface for inline post.

* Wrapper for ccpp-physics NCAR#812 (NCAR#453)

* update submodule pointer for regression testing of ccpp-physics#812

* MYNN sfclay (RAP suite) restart reproducibility, P8 suite definition files (NCAR#455)

* Fix uninitialized variable zmtnblck in ccpp/data/GFS_typedefs.F90
* Fix typo in CCPP standard name for ncnvwind in ccpp/data/GFS_typedefs.meta
* Add ten 2d variables required for MYNNSFC restart reproducibility to ccpp/driver/GFS_restart.F90
* create initial p8 suites, P8 initial SDFs as copies of FV3_GFS_v16_coupled_nsstNoahmpUGWPv1
and FV3_GFS_v16_nsstNoahmpUGWPv1

Co-authored-by: Denise Worthen <denise.worthen@noaa.gov>

* Fixes on initializing snow depth over ice and changes z0ice (NCAR#461)

* modify FV3GFS_io.F90 by fixing errors associated with initializing snow depth over ice in the case where both land and water coexist (i.e. fractional grid case)
* z0ice is changed to 1.0 cm from 1.1cm in atmos_model.F90

* Radar-derived microphysics temperature tendencies similar to operational HRRR (NCAR#457)

- implements a feature of the operational HRRR, radar-derived microphysics temperature tendencies applied in the first N minutes of the forecast to improve clouds in the first few hours.
* HRRR-like radar-derived temperature tendencies
* Give a warning when convection is enabled with radar tten
* Fix uninitialized variable zmtnblck in ccpp/data/GFS_typedefs.F90
* Add ten 2d variables required for MYNNSFC restart reproducibility to ccpp/driver/GFS_restart.F90

* fixing snod bug in atmos_model.F90 (NCAR#465)

* Thompson MP cloud tuning (NCAR#463)

*  Improve cloud fraction when using Thompson MP. See NCAR#809 for more details.

* Feature/hwrf legacy (NCAR#459)

* Added a new suite definition file: suite_FV3_HAFS_v0_thompson_tedmf_gfdlsf.xml. This SDF is a legacy hwrf SDF but only the GFDL surface layer scheme and the Thompson scheme are kept.

* CCPP: Update consistency checks and effective radii calculation for Thompson MP (NCAR#462)

* This PR updates the submodule pointer for ccpp-physics for the changes described in NCAR#786 (Update consistency checks and effective radii calculation for Thompson MP)

* Unified write_netcdf, add single file 'cubed_sphere_grid' output (NCAR#466)

* Unify write_netcdf and write_netcdf_parallel modules.
* Add support for writing 'cubed_sphere_grid' history files in a single netcdf file
* Code refactoring and cleanup.

* Change standard name and unit of CCPP error flag variable in CCPP framework and physics (NCAR#467)

*Change standard name and unit of CCPP error flag variable in CCPP framework and physics.

* Add code to enable ESMF managed threading (NCAR#469)

* Implement ESMF-managed-threading for fcstComp and wrtComp's.

* Revisions to repair iovr=5 cloud overlap option (NCAR#471)

*This PR addresses part 2 of CCPP issue NCAR#748 to activate the exponential-random cloud overlap method (iovr=5) in RRTMG.

* Add 2d decomposition on the write grid comp (NCAR#470)

* update write grid comp to have 2D decomposition on output grid.
* combine PR#468: Bug fix in FV3GFS_io.F90 for allocation of temp2d

Co-authored-by: Ted Mansell <ted.mansell@noaa.gov>

* 4DIAU bug when iau_filter_increments=T  (NCAR#458)

* Add lsm_cold_start variable for RUC LSM SCM support and gwdps bugfix (combined) (NCAR#475)

* add lsm_cold_start variable in GFS_typedefs.F90/meta and update ccpp/physics for testing
* includes @SMoorthi-emc 's bugfix for gwdps.f.

* add lon info in the write group (NCAR#476)

* Multiple output grids (NCAR#480)

Update fv3 cap and write grid component to enable outputting multiple domains.
This is done be creating an array of fcstGrids, and array of rout handles where each element of these arrays correspond to one atm domain.
In the write grid component updates were made to allow grid spec parameters for each output grid to be specified separately.

Co-authored-by: Gerhard Theurich <theurich@sourcespring.net>

* GPU-enabled version of Grell-Freitas convection in ccpp-physics (NCAR#479)

* Enable Thompson MP when coupling with UFS-Aerosols (NCAR#484)

* Add support for Stochastically Perturbed Parameterizations (SPP) in FV3 and add the FV3_RRFS_v1alpha SDF. (NCAR#454)

Adds the necessary code in fv3atm to allow for Stochastically Perturbed Parameterizations (SPP) in a set of RAP/HRRR-based physics parameterizations. Specific to the fv3atm repository, code in this PR defines the necessary variables associated with various SPP-related fields (e.g., logical to activate SPP, parameterization-specific SPP variables, etc.) that are then passed to ccpp-physics.

* lateral boundary fix for regional runs (NCAR#482)

* Feature: NSSL Microphysics support (NCAR#472)

Supports CCPP with new NSSL microphysics scheme, which has separate hydrometeor categories for graupel and hail (Mansell et al. 2010, JAS). This PR allows fv3atm to compile correctly with CCPP+NSSL, but a further update to atmos_cubed_sphere is needed to run correctly. The NSSL scheme is used in NSSL's daily FV3 convection-allowing forecasts, and the scheme itself is aimed at this scale (dx <= 4km). Testing is underway also with a preliminary Warn-on-Forecast FV3 ensemble.

* Add p8b SDF (NCAR#491)

* add p8 suite files
* fix 2phases intermediate restart

Co-authored-by: Raffaele Montuoro <raffaele.montuoro@noaa.gov>
Co-authored-by: Jun Wang <jun.wang@noaa.gov>

* Split CCPP finalize into physics_finalize and (framework) finalize; minor CCPP cleanup and documentation updates (NCAR#487)

* Minor cleanup and documentation updates for CCPP; split CCPP finalize into physics_finalize and (framework) finalize

* Add 'valid time' variable using ISO string format (NCAR#492)

Add 'valid time' variable using ISO string format to netcdf history files.
Use double precision variable to set value of 'time' attribute in wrt comp import state
Update ccpp/physics (setting surface-related interstitial variables for SCM prescribed-surface-flux mode)
Update inline_post_stub.F90 subroutine interfaces to match inline_post.F90

Co-authored-by: Ted Mansell <ted.mansell@noaa.gov>
Co-authored-by: Grant Firl <grant.firl@noaa.gov>

* Fix Lambert Conformal Conic mapping in the write component on the southern hemisphere (NCAR#497)

Subroutine `lambert` in the write component has been fixed to do the mapping on the southern hemisphere correctly.

* Rectify total number of Thompson MP species for PBL mixing (NCAR#509)

* update upp revision (NCAR#505)

* move some parameters in mynn surface layer to namelist options

* land surface upgrades for p8c (NCAR#499)

* Added capability for cdmbgwd(1) to scale GSL blocking drag (NCAR#502)

* release/p8c: it is related to ccpp-physics PBL and cumulus updates plus a bug fix to the Thompson scheme PR NCAR#882 (NCAR#503)

* change ccpp-physics branch to feature/p8c_pbl_cp branch

* change ccpp/physics in feature/p8c_pbl_cp branch

* revised GFS_typedefs.F90 for the paramters in the saSAS scheme

* sync upp

* Revert "sync upp"

This reverts commit 429d0469c92d200fa058aca6c6bd17adac7f9568.

* sync upp to 0185bb9

* Merge remote-tracking branch remote/main for ccpp-physics and update .gitmodules

* Bring AQM model into UFS (NCAR#511)

* Reset to zero coupling arrays for accumulated snow,  large scale rain, and convective rain at the end of each coupling step if coupling with chemistry model.
* Properly set kind type of literal constants defining zero and one.
* Initialize to zero canopy resistance output variablein noah/osu land-surface model subdriver.
* Re-implement radiation diagnostic output involving spectral band layer cloud optical depths (0.55 and 10 mu channels)
to prevent floating invalid errors due to uninitialized optical depth arrays.
* Temporarily disable filling export fields during the NUOPC Realize phase since it breaks coupling with aerosol component.
* Increase maximum number of input aerosol scavenging factors to accommodate AQM/CMAQ 5.2.1 chemical tracers.
* Remove inst_pres_height_surface from chemistryFieldNames as its imported already elsewhere

Co-authored-by: Raffaele Montuoro <raffaele.montuoro@noaa.gov>

* RRTMGP for prototype 8 (NCAR#498)

* Add explict treatment of convective cloud to RRTMGP.
* Some cleanup and bug fixes from previous commit. working now with Thompson MP plus radiatively active convective cloud.
* Updated physics. New interstitials.
* Added explicit MYNN-EDMF cloud coupling to RRTMGP.
* Added switches for sgs clouds in GP.
* Replaced cld_mynn_ naming convention with cld_pbl_
* Fixed inconsistency between G/GP in Thompson MP.
* Some more cleanup of cloud-fraction...
* Pulled in Qingfu's changes to ccpp-physics
* Synced physics with main
* Updated physics.
* Revert change from previous commits (sampling of different cloud types). New SDFs for p8c
* Changed arguments to implied shape.
* Renamed scheme file in SDF. Now common to both RRTMG and RRTMGP SDFs
* Syntax error in ccpp-physics
* Revert changes to names
* Renamed p8_rrtmgp SDFs
* Added bounding to temperature at layer-interface used by RRTMGP.
* Reorder loop
* Combined gp sw and lw aerosol routines. Modest speedup (~4%)

* HAFS related moving-nesting, nest coupling, and movable output grid capabilities (NCAR#501)

* Add the storm-following or specified moving-nesting capability for both the regional and global configuration.
* Expand the UFS/HAFS FV3ATM-HYCOM ocean coupling to support the static and moving nesting configuration.
* Expand the write grid component to support outputting the moving nest domain properly.
* Five HAFS related moving-nesting regression tests are added to test these newly added features. The regional_hafs RT was removed.

Co-authored-by: Dom Heinzeller <climbfuji@ymail.com>
Co-authored-by: Dom Heinzeller <dom.heinzeller@icloud.com>
Co-authored-by: Grant Firl <grantf@ucar.edu>
Co-authored-by: Daniel Rosen <daniel.rosen@noaa.gov>
Co-authored-by: man.zhang <Man.Zhang@noaa.gov>
Co-authored-by: William Ramstrom <William.Ramstrom@noaa.gov>
Co-authored-by: Ufuk Turuncoglu <ufuk.turuncoglu@noaa.gov>
Co-authored-by: Dusan Jovic <dusan.jovic@noaa.gov>
Co-authored-by: A-Kyle <kyle.ahern@noaa.gov>
Co-authored-by: Gerhard Theurich <theurich@sourcespring.net>
Co-authored-by: Dusan Jovic <48258889+DusanJovic-NOAA@users.noreply.github.com>

* Split GFS_typedefs.F90, rename CCPP_interstitial, import ccpp_t from ccpp_types (NCAR#508)

* Split GFS_typedefs.F90: move GFS_interstitial_type to CCPP_typedefs.F90; Rename CCPP_interstitial to GFDL_interstitial; Import ccpp_t from ccpp_types instead of ccpp_api
* Add bugfix in ccpp/data/GFS_typedefs.meta: mark input_nml_file as active only if the number of lines in the file is greater than zero

* Fix uninitialized min_rand variable in Thompson MP when using SPP (NCAR#516)

* Pass SPP namelist entries outside of stochastic physics routines.

* Fixes to SPP metadata

* Add active attribute to spp_prt_list

* Add active metadata flag to spp_stddev_cutoff

* Add active metadata flag for spp_var_list

* A bug fix for wet scavenging of aerosols and a minor modification for moisture property calculation  (NCAR#520)

* Update ccpp_prebuild_config.py for one-to-one CCPP physics schemes/files (NCAR#519)

* point to gsl/merge-develop branch

* Point to gsl/merge-develop-to-community branch for ccpp/physics

* Corrections to merge + joe updates

* Point .gitmodules to Sam's fork

* Correct issues found by reviewers

* Rename mynnpbl to mynnedmf

* Remove some empty _init and _finalize routines and update a comment in sgscloud_radpre

* Feature/lndp noahmp2 : add land perturbation scheme for Noah-MP fractional veg  (NCAR#513)

Updates to allow land perturbation scheme to be applied for Noah-MP.

Main code changes:
-added lsm_noahmp model option to lndp_type==2 land perturbation scheme (fv3-atm, stochastic_physics)
-updated comments
-cleaned up the namelists to make the different options clearer. Removed misleading lndp_each_step variable from gfs_physics_nml, and replaced it with "lndp_model_type" in the nam_sfcperts namelist for the different forecast types (cycling DA, short forecasts, perturbing only initial conditions) (fv3-atm, stochastic_physics, ufs-weather-model)
NOTE: see note below, re: specification of smc perturbation for RAP/HRRR/etc (lndp_model_type==2)
-revised code in stochastic_physics_wrapper to only allocate arrays that will be used when passed into lndp_apply_perts (fv3-atm)
-deleted unused albedo arrays in stochastic_physics_wrapper and lndp_apply_perts (fv3-atm, stochastic_physics)
-fixed bug causing precision errors when calculating the soil moisture ice content (often ~0.0; stochastic_physics)
-fixed bug in which lndp_apply_perts wasn't called for nscyc = 0. (fv3-atm)
-increased max_nvar_lndp at Jeff Ator's request (fv3-atm)
-added a new test for the Noah-MP and lndp==2 combination (ufs-weather-model)

* Add \file to smoke files

* Add hailcast code in atmos_cubed_sphere  (NCAR#528)

* Combine PROD and REPRO build options into 'Release' build type (NCAR#524)

Combined PROD and REPRO build modes into 'Release' build type. Now only 'Debug' and 'Release' build type are supported.
Both build types must produce bit-for-bit reproducible outputs using different number of threads, mpi tasks, different domain decomposition, have reproducible restarts etc.

* Unify inline post (NCAR#521)

* Unify global and regional inline posts and add bug fix for dx/dy computation.
* Update upp revision to dc8bc68
* Set up different configurations of read max/min 2m T for global and regional FV3.

* adding bug fix from jili dong and removing U* averaging

* adding bug fix from jili dong and removing U* averaging

* Remove some commented-out code from cu_gf_driver in ccpp-physics.

* Turn rrtmg smoke band 10 into a model namelist variable

* Switch ccpp-physics smoke arguments to implied shape

* Remove some stops and gotos from ccpp-physics smoke

* Remove some hard-coded constants and rename some meta entries

* Change RRTMGP to RRTMG in two P8 SDFs (NCAR#527)

* Change RRTMGP to RRTMG in suite_FV3_GFS_v17_p8 and suite_FV3_GFS_v17_coupled_p8
* deleted or modified some SDFs related to RRTMGP or Thompson schemes
* added a new SDF file for P8 with rrtmgp

* Rename some standard_names, change a unit, and remove a "use physcons"

* NSSL ccpp-physics bugfixes and new ccpp-framework debugging feature (NCAR#529)

* Set num3d correctly when using radar_tten

* Only add cnv_3d_ud_mf to the restart files when needed

* Pass some chemistry varibles to mynn_bl_driver correctly

* Correct argument passing within mynn edmf

* point to NCAR main ccpp/physics

* merge gsl institutional fork (NCAR#526)

Merge in GSL institutional fork

* point to sam's repo

* ccpp/physics: Change to GSL CODEOWNERS

* Returned the comments on soil resistance back.

* point to gsl/develop for ccpp/physics

Co-authored-by: Dusan Jovic <48258889+DusanJovic-NOAA@users.noreply.github.com>
Co-authored-by: Dom Heinzeller <dom.heinzeller@icloud.com>
Co-authored-by: Grant Firl <grant.firl@noaa.gov>
Co-authored-by: mzhangw <mzhangw@gmail.com>
Co-authored-by: WenMeng-NOAA <48260754+WenMeng-NOAA@users.noreply.github.com>
Co-authored-by: Denise Worthen <denise.worthen@noaa.gov>
Co-authored-by: SMoorthi-emc <47667426+SMoorthi-emc@users.noreply.github.com>
Co-authored-by: ChunxiZhang-NOAA <49283036+ChunxiZhang-NOAA@users.noreply.github.com>
Co-authored-by: Jun Wang <37633869+junwang-noaa@users.noreply.github.com>
Co-authored-by: Ted Mansell <ted.mansell@noaa.gov>
Co-authored-by: Jeff Whitaker <jswhit@fastmail.fm>
Co-authored-by: Gerhard Theurich <theurich@sourcespring.net>
Co-authored-by: DomHeinzeller <58610420+DomHeinzeller@users.noreply.github.com>
Co-authored-by: Raffaele Montuoro <raffaele.montuoro@noaa.gov>
Co-authored-by: JeffBeck-NOAA <55201531+JeffBeck-NOAA@users.noreply.github.com>
Co-authored-by: MatthewPyle-NOAA <48285220+MatthewPyle-NOAA@users.noreply.github.com>
Co-authored-by: Ted Mansell <37668594+MicroTed@users.noreply.github.com>
Co-authored-by: Jessica Meixner <jessica.meixner@noaa.gov>
Co-authored-by: Jun Wang <jun.wang@noaa.gov>
Co-authored-by: joeolson42 <Joseph.B.Olson@noaa.gov>
Co-authored-by: HelinWei-NOAA <48133472+HelinWei-NOAA@users.noreply.github.com>
Co-authored-by: mdtoyNOAA <73618848+mdtoyNOAA@users.noreply.github.com>
Co-authored-by: Brian Curtis <64433609+BrianCurtis-NOAA@users.noreply.github.com>
Co-authored-by: dustinswales <dustin.swales@noaa.gov>
Co-authored-by: Bin Liu <bin.liu@noaa.gov>
Co-authored-by: Dom Heinzeller <climbfuji@ymail.com>
Co-authored-by: Grant Firl <grantf@ucar.edu>
Co-authored-by: Daniel Rosen <daniel.rosen@noaa.gov>
Co-authored-by: man.zhang <Man.Zhang@noaa.gov>
Co-authored-by: William Ramstrom <William.Ramstrom@noaa.gov>
Co-authored-by: Ufuk Turuncoglu <ufuk.turuncoglu@noaa.gov>
Co-authored-by: Dusan Jovic <dusan.jovic@noaa.gov>
Co-authored-by: A-Kyle <kyle.ahern@noaa.gov>
Co-authored-by: ClaraDraper-NOAA <33430543+ClaraDraper-NOAA@users.noreply.github.com>
Co-authored-by: BinLi-NOAA <bin.li@noaa.gov>
HelinWei-NOAA pushed a commit to HelinWei-NOAA/ccpp-physics that referenced this pull request Feb 26, 2023
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.

fix tsfc on ice in uncoupled non-fractional grid runs