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

Feature: NSSL Microphysics support #472

Merged
merged 33 commits into from
Mar 4, 2022

Conversation

MicroTed
Copy link
Contributor

Description

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.

The NSSL scheme has namelist options to enable/disable the hail category (i.e., can be 6- or 7-class) and to enable/disable prediction of idealized CCN number concentration.

Testing

Tested on unix (NOAA-Jet/Hera; Intel compilers) and MacOS (gcc-10 with hpc-stack)

Have the ufs-weather-model regression test been run?
No, but attempted on jet.

Dependencies

Related (dependent) PR for CCPP physics (adding the NSSL microphysics):
NCAR/ccpp-physics#761
Related (dependent for correct operation) PR for atmos_cubed_sphere (dev/emc branch):
NOAA-GFDL/GFDL_atmos_cubed_sphere#171
Related (nondependent) PR for Single Column Model:
NCAR/ccpp-scm#277

@grantfirl
Copy link
Collaborator

@MicroTed Are you planning on submitting a PR for ufs-weather-model? If not, I can create one and potentially add one or more UFS regression tests that exercise NSSL MP using one the new suites that you've provided here.

I can also try to run existing RTs on Hera if you'd like, just let me know.

@MicroTed
Copy link
Contributor Author

I will need to work on a PR for the regional workflow. I guess I'm not sure what would need to updated at the ufs-weather-model level. Would that be to add a suite to the RT? If you don't mind helping, that would be awesome. I tried to run an RT on jet yesterday, but I haven't quite figured it out (some runtime error on the first test).

@grantfirl
Copy link
Collaborator

I will need to work on a PR for the regional workflow. I guess I'm not sure what would need to updated at the ufs-weather-model level. Would that be to add a suite to the RT? If you don't mind helping, that would be awesome. I tried to run an RT on jet yesterday, but I haven't quite figured it out (some runtime error on the first test).

We'll need a ufs-weather-model PR for at least updating the fv3atm submodule and for storing UFS RT logs. Adding a RT that uses NSSL is another reason, which I would highly suggest to do so that nobody breaks NSSL MP functionality accidentally in the future.

I can do this and try to run RTs on Hera.

@grantfirl
Copy link
Collaborator

@MicroTed One other thing that needs to go into this pull request is to edit the .gitmodules file to point to your fork and PR branch of ccpp-physics for testing (see, e.g. https://github.com/NOAA-EMC/fv3atm/pull/471/files). You'll also need to point to your PR branch of gfdl_atmos_cubed_sphere in that file. UFS code managers want to be able to recursively checkout the top-level repository and get all of the associated code changes for testing.

@MicroTed
Copy link
Contributor Author

Ah, OK, thanks for the tip! I'm not quite an expert on all things git yet... I'll look at those .gitmodule files.

As for the ufs-weather-model/tests, I see it will need appropriate inputs in the 'parm' directory (field_table, etc.). I can look at that, too.

@grantfirl
Copy link
Collaborator

OK, I've opened a draft PR for ufs-weather-model: ufs-community/ufs-weather-model#1032
It can go live when you're ready.

Yep, we may need a new namelist in ufs-weather-model/tests/parm. I am thinking that perhaps the new NSSL RT can be based on the existing rrfs_v1beta test. If we need a new field_table, then we'll need to ask UFS code managers to stage that on the test platforms. Other than the field_table, does NSSL need any special input data to run that we also need to stage?

@grantfirl
Copy link
Collaborator

grantfirl commented Feb 1, 2022

@MicroTed I've submitted PRs into your PR branches of ccpp-physics, fv3atm, and ccpp-scm to fix some minor things caught during the UFS RTs. Please merge at your convenience if you are OK with the fixes.

With those fixes, I ran the full UFS regression tests on Hera/Intel. All tests ran. Most tests were bit-for-bit. However, there was a set of tests the failed in "check_result" for the regression tests, which mean that they changed the answer somehow. We need to understand why the answer was changed in these tests in order to proceed. The list of failed tests is:
regional_control 036 failed in check_result
regional_control 036 failed in run_test
regional_noquilt 038 failed in check_result
regional_noquilt 038 failed in run_test
regional_2threads 039 failed in check_result
regional_2threads 039 failed in run_test
regional_hafs 040 failed in check_result
regional_hafs 040 failed in run_test
regional_netcdf_parallel 041 failed in check_result
regional_netcdf_parallel 041 failed in run_test
regional_RRTMGP 042 failed in check_result
regional_RRTMGP 042 failed in run_test
rap_control 043 failed in check_result
rap_control 043 failed in run_test
rap_2threads 044 failed in check_result
rap_2threads 044 failed in run_test
rap_sfcdiff 046 failed in check_result
rap_sfcdiff 046 failed in run_test
hrrr_control 048 failed in check_result
hrrr_control 048 failed in run_test
rrfs_v1beta 049 failed in check_result
rrfs_v1beta 049 failed in run_test
control_csawmg 054 failed in check_result
control_csawmg 054 failed in run_test
control_csawmgt 055 failed in check_result
control_csawmgt 055 failed in run_test
control_thompson 058 failed in check_result
control_thompson 058 failed in run_test
control_thompson_no_aero 059 failed in check_result
control_thompson_no_aero 059 failed in run_test
control_csawmg_debug 068 failed in check_result
control_csawmg_debug 068 failed in run_test
control_csawmgt_debug 069 failed in check_result
control_csawmgt_debug 069 failed in run_test
control_thompson_debug 073 failed in check_result
control_thompson_debug 073 failed in run_test
control_thompson_no_aero_debug 074 failed in check_result
control_thompson_no_aero_debug 074 failed in run_test
control_thompson_extdiag_debug 075 failed in check_result
control_thompson_extdiag_debug 075 failed in run_test
control_thompson_progcld_thompson_debug 076 failed in check_result
control_thompson_progcld_thompson_debug 076 failed in run_test
regional_debug 077 failed in check_result
regional_debug 077 failed in run_test
rap_control_debug 078 failed in check_result
rap_control_debug 078 failed in run_test
rap_unified_drag_suite_debug 079 failed in check_result
rap_unified_drag_suite_debug 079 failed in run_test
rap_diag_debug 080 failed in check_result
rap_diag_debug 080 failed in run_test
rap_cires_ugwp_debug 081 failed in check_result
rap_cires_ugwp_debug 081 failed in run_test
rap_unified_ugwp_debug 082 failed in check_result
rap_unified_ugwp_debug 082 failed in run_test
rap_noah_debug 083 failed in check_result
rap_noah_debug 083 failed in run_test
rap_rrtmgp_debug 084 failed in check_result
rap_rrtmgp_debug 084 failed in run_test
rap_lndp_debug 085 failed in check_result
rap_lndp_debug 085 failed in run_test
rap_sfcdiff_debug 086 failed in check_result
rap_sfcdiff_debug 086 failed in run_test
rap_flake_debug 087 failed in check_result
rap_flake_debug 087 failed in run_test
rap_noah_sfcdiff_cires_ugwp_debug 088 failed in check_result
rap_noah_sfcdiff_cires_ugwp_debug 088 failed in run_test
rap_progcld_thompson_debug 089 failed in check_result
rap_progcld_thompson_debug 089 failed in run_test
rrfs_v1beta_debug 090 failed in check_result
rrfs_v1beta_debug 090 failed in run_test
hafs_regional_atm_thompson_gfdlsf 093 failed in check_result
hafs_regional_atm_thompson_gfdlsf 093 failed in run_test

As far as I can tell, this list corresponds to those that either use Thompson MP or Morrison-Gettelman MP. Do you have any insight as to why tests using these schemes would have different results? I.e., What if any of the changes made in fv3atm, ccpp-physics, or atmos_cubed_sphere could change the answer even when NSSL MP is not being used?

Once we figure that out, we can go ahead and add the new NSSL RT(s).

@MicroTed
Copy link
Contributor Author

MicroTed commented Feb 1, 2022

Other than the field_table, does NSSL need any special input data to run that we also need to stage?

I thought I had replied to this already, but must have neglected to hit the button. Only a field_table is needed, and my thinking is to have both hail and CCN prediction turned on in the namelist settings. Note that hail mass and the non-mass scalars are initialized to zero instead of 1.e30. I don't know if any extra diag_table entries would be needed, but at least to turn off anything specific to another scheme (like the aerosols in Thompson).

gfs_physics_nml:
    imp_physics = 17
    nssl_invertccn = .true.
    nssl_hail_on = .true.
    nssl_ccn_on = .true.
    ltaerosol = .false.

&fv_core_nml
     nwat = 7

field_table:
# added by FRE: sphum must be present in atmos
# specific humidity for moist runs
 "TRACER", "atmos_mod", "sphum"
           "longname",     "specific humidity"
           "units",        "kg/kg"
       "profile_type", "fixed", "surface_value=1.e30" /
# prognostic cloud water mixing ratio
 "TRACER", "atmos_mod", "liq_wat"
           "longname",     "cloud water mixing ratio"
           "units",        "kg/kg"
       "profile_type", "fixed", "surface_value=1.e30" /
 "TRACER", "atmos_mod", "rainwat"
           "longname",     "rain mixing ratio"
           "units",        "kg/kg"
       "profile_type", "fixed", "surface_value=1.e30" /
 "TRACER", "atmos_mod", "ice_wat"
           "longname",     "cloud ice mixing ratio"
           "units",        "kg/kg"
       "profile_type", "fixed", "surface_value=1.e30" /
 "TRACER", "atmos_mod", "snowwat"
           "longname",     "snow mixing ratio"
           "units",        "kg/kg"
       "profile_type", "fixed", "surface_value=1.e30" /
 "TRACER", "atmos_mod", "graupel"
           "longname",     "graupel mixing ratio"
           "units",        "kg/kg"
       "profile_type", "fixed", "surface_value=1.e30" /
 "TRACER", "atmos_mod", "hailwat"
           "longname",     "hail mixing ratio"
           "units",        "kg/kg"
       "profile_type", "fixed", "surface_value=0" /
 "TRACER", "atmos_mod", "water_nc"
           "longname",     "cloud droplet number concentration"
           "units",        "/kg"
       "profile_type", "fixed", "surface_value=0" /
 "TRACER", "atmos_mod", "rain_nc"
           "longname",     "rain number concentration"
           "units",        "/kg"
       "profile_type", "fixed", "surface_value=0" /
 "TRACER", "atmos_mod", "ice_nc"
           "longname",     "ice number concentration"
           "units",        "/kg"
       "profile_type", "fixed", "surface_value=0" /
 "TRACER", "atmos_mod", "snow_nc"
           "longname",     "snow number concentration"
           "units",        "/kg"
       "profile_type", "fixed", "surface_value=0" /
 "TRACER", "atmos_mod", "graupel_nc"
           "longname",     "graupel number concentration"
           "units",        "/kg"
       "profile_type", "fixed", "surface_value=0" /
 "TRACER", "atmos_mod", "hail_nc"
           "longname",     "hail number concentration"
           "units",        "/kg"
       "profile_type", "fixed", "surface_value=0" /
 "TRACER", "atmos_mod", "graupel_vol"
           "longname",     "graupel particle volume"
           "units",        "m3/kg"
       "profile_type", "fixed", "surface_value=0" /
 "TRACER", "atmos_mod", "hail_vol"
           "longname",     "hail particle volume"
           "units",        "m3/kg"
       "profile_type", "fixed", "surface_value=0" /
# ccn_nc
 "TRACER", "atmos_mod", "ccn_nc"
           "longname",     "ccn number concentration"
           "units",        "/kg"
       "profile_type", "fixed", "surface_value=0" /

# prognostic ozone mixing ratio tracer
 "TRACER", "atmos_mod", "o3mr"
           "longname",     "ozone mixing ratio"
           "units",        "kg/kg"
       "profile_type", "fixed", "surface_value=1.e30" /
# cloud droplets, water- and ice-friendly aerosols (Thompson)
# prognostic subgrid scale turbulent kinetic energy
 "TRACER", "atmos_mod", "sgs_tke"
           "longname",     "subgrid scale turbulent kinetic energy"
           "units",        "m2/s2"
       "profile_type", "fixed", "surface_value=1.e30" /

@MicroTed
Copy link
Contributor Author

MicroTed commented Feb 1, 2022

What if any of the changes made in fv3atm, ccpp-physics, or atmos_cubed_sphere could change the answer even when NSSL MP is not being used?

The first thing that comes to mind is the introduction of the otsptflag array, although it is not supposed to affect results, of course. Do the non-matching results also have a convection parameterization turned on, since that is where otsptflag would come into play (in the interstitial routines). The logic "looks" OK, but I could well be missing something.

I'll take a look at diffs and see if anything stands out.

@MicroTed
Copy link
Contributor Author

MicroTed commented Feb 1, 2022

I don't see anything else obvious that would cause difference for other physics, unless if statements within loops in atmos_cubed_sphere is affecting optimization/vectorization, e.g., fv_sg.F90, line 326:

             q_liq = q0(i,k,liq_wat) + q0(i,k,rainwat)
             q_sol = q0(i,k,ice_wat) + q0(i,k,snowwat) + q0(i,k,graupel)
             IF ( nwat == 7 ) THEN
             q_sol = q_sol + q0(i,k,hailwat)
             ENDIF

If so, a separate loop for nwat=7 could be made.

@MicroTed
Copy link
Contributor Author

@MicroTed This PR is still showing a conflict for some reason. Any ideas?

I don't know why it is showing that conflict on atmos_cubed_sphere. I think my atmos_cubed_sphere is merged to the correct commit, but it's very possible I'm missing something.

@grantfirl
Copy link
Collaborator

@MicroTed This PR is still showing a conflict for some reason. Any ideas?

I don't know why it is showing that conflict on atmos_cubed_sphere. I think my atmos_cubed_sphere is merged to the correct commit, but it's very possible I'm missing something.

Please merge MicroTed#4 and see if this does the trick...

@MicroTed
Copy link
Contributor Author

Well, I thought I had already tried setting to the newer atmos_cubed_sphere commit, but there was still a conflict. Anyway, seems to be happy now. Thanks, @grantfirl !

@ChunxiZhang-NOAA
Copy link
Contributor

@MicroTed, did you check if the global mean air mass (surface air pressure) was near stable with forecast lead time after adding hail category into GFDL_atmos_cubed_sphere? This check was suggested by Lucas when I implemented this scheme into IPD a few years ago.

@MicroTed
Copy link
Contributor Author

Hi, @ChunxiZhang-NOAA, That sounds like a good idea, but I'm not actually sure off-hand how to do that. On a coarse global grid, hail won't even be produced.

@yangfanglin
Copy link
Collaborator

@ChunxiZhang-NOAA @MicroTed In your forecast log file you probably can find prints like the following lines. grep them will give the evolution of surface pressure and dry mass etc with forecast lead time.

Total surface pressure (mb) = 985.4597
mean dry surface pressure = 983.1575
Total Water Vapor (kg/m**2) = 23.37231

@ChunxiZhang-NOAA
Copy link
Contributor

@MicroTed You are right. It probably needs a global run with ~ 6 or ~ 3 km grid spacing. I did a global 13 km test before, but it was likely insufficient.
@yangfanglin Thanks Fanglin. Yes, those are the variables.

@MicroTed
Copy link
Contributor Author

@ChunxiZhang-NOAA
I pulled values from some regression test output (by Grant Firl). The total sfc. pressure and total water vapor seem consistent with other suites over 24hr. For mean dry sfc. pressure, though, there is a bit of round-off change compared to constant values from comparison. It might be worth tracking down at some point why it is doing that, since the control suites seem to be constant out to many more digits.

[Ted.Mansell@hfe12 rt_8295]$ grep 'mean dry surface pressure' rrfs_v1beta/out # closest suite for comparison
0: mean dry surface pressure = 983.0754
0: mean dry surface pressure = 983.0754
0: mean dry surface pressure = 983.0754
0: mean dry surface pressure = 983.0754
0: mean dry surface pressure = 983.0754
[Ted.Mansell@hfe12 rt_8295]$ grep 'mean dry surface pressure' rrfs_v1nssl/out # includes hail and CCN
0: mean dry surface pressure = 983.0754
0: mean dry surface pressure = 983.0753
0: mean dry surface pressure = 983.0755
0: mean dry surface pressure = 983.0754
0: mean dry surface pressure = 983.0755
[Ted.Mansell@hfe12 rt_8295]$ grep 'mean dry surface pressure' rrfs_v1nssl_nohailnoccn/out
0: mean dry surface pressure = 983.0754
0: mean dry surface pressure = 983.0753
0: mean dry surface pressure = 983.0754
0: mean dry surface pressure = 983.0754
0: mean dry surface pressure = 983.0754

@ChunxiZhang-NOAA
Copy link
Contributor

@MicroTed Thanks for making those comparisons. Yup, the fluctuation is small, but the control suite didn't show clear fluctuation.

@grantfirl
Copy link
Collaborator

@MicroTed Just a reminder that in addition to updating the submodules for ccpp/physics and gfdl_atmos_cubed_sphere with the newly merged authoritative branches (using git add in your fv3atm branch), please revert the changes to the .gitmodules file so that it points back to the authoritative branches. Thanks!

@junwang-noaa
Copy link
Collaborator

@MicroTed the CCPP physics PR and dycore PR are merged, please update your fv3atm to point to the latest official branch. Thanks. @grantfirl FYI.

@grantfirl
Copy link
Collaborator

@MicroTed Also consider removing the https://github.com/NOAA-EMC/fv3atm/pull/472/files#diff-2d9cb70297ca8f2d11a65437015590d50b81a3972e9931cbdf3b2d84d595d7ae and https://github.com/NOAA-EMC/fv3atm/pull/472/files#diff-d4a0a40faccabed62779161f7366eaa547180d9f655443ede4a8e1f14b2daa95 SDFs if they are not needed (e.g. if they were only for testing). If they will be used for experiments, etc., then it's fine to leave them in the repo, but if not, we don't want to clutter up the SDF directory.

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.

@MicroTed did a thorough and careful job of adding NSSL MP. The only thing that I saw that might be good to clean up is that the new otsptflag variable was added in the interstitial DDT when it should probably be in the control DDT because it is persistent and is only ever used as input in the physics (never changed). The interstitial DDT should probably be reserved for variables that are reset every physics timestep, and otsptflag is left out of the interstitial_reset subroutines. I understand why it was put in interstitial, namely because there are many other variables, particularly related to various tracer indices, that were already there, but I'd argue that those should be in control too. Or, perhaps, have distinct interstitial_persistent and interstitial_ephemeral DDTs for variables that only are used in physics but need to stay in memory or be reset, respectively. But, this is a discussion for a later day.

Approved, and nice job, @MicroTed!

@junwang-noaa junwang-noaa merged commit 47d391c into NOAA-EMC:develop Mar 4, 2022
@MicroTed
Copy link
Contributor Author

MicroTed commented Mar 4, 2022

@grantfirl I think I updated per your suggestions. Let me know if I missed anything.

As for the otsptflag thing, I'm open to anything there.

@grantfirl
Copy link
Collaborator

Yep, everything looks good. I think the organization of which DDTs various variables belong in requires a larger conversation and is only tangentially related to anything that you've done here.

SamuelTrahanNOAA added a commit to NOAA-GSL/fv3atm that referenced this pull request May 19, 2022
* Feature/ccpp codeowners (NOAA-EMC#442)

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

* Code cleanup. Remove used code/variables. Fix minor inconsistencies. (NOAA-EMC#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 (NOAA-EMC#443)

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

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

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

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

This PR contains the ccpp physics PR NOAA-EMC#808 and NOAA-EMC#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. (NOAA-EMC#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 (NOAA-EMC#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 (NOAA-EMC#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 (NOAA-EMC#449)

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

* Wrapper for ccpp-physics NOAA-EMC#812 (NOAA-EMC#453)

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

* MYNN sfclay (RAP suite) restart reproducibility, P8 suite definition files (NOAA-EMC#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 <[email protected]>

* Fixes on initializing snow depth over ice and changes z0ice (NOAA-EMC#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 (NOAA-EMC#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 (NOAA-EMC#465)

* Thompson MP cloud tuning (NOAA-EMC#463)

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

* Feature/hwrf legacy (NOAA-EMC#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 (NOAA-EMC#462)

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

* Unified write_netcdf, add single file 'cubed_sphere_grid' output (NOAA-EMC#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 (NOAA-EMC#467)

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

* Add code to enable ESMF managed threading (NOAA-EMC#469)

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

* Revisions to repair iovr=5 cloud overlap option (NOAA-EMC#471)

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

* Add 2d decomposition on the write grid comp (NOAA-EMC#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 <[email protected]>

* 4DIAU bug when iau_filter_increments=T  (NOAA-EMC#458)

* Add lsm_cold_start variable for RUC LSM SCM support and gwdps bugfix (combined) (NOAA-EMC#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 (NOAA-EMC#476)

* Multiple output grids (NOAA-EMC#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 <[email protected]>

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

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

* Add support for Stochastically Perturbed Parameterizations (SPP) in FV3 and add the FV3_RRFS_v1alpha SDF. (NOAA-EMC#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 (NOAA-EMC#482)

* Feature: NSSL Microphysics support (NOAA-EMC#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 (NOAA-EMC#491)

* add p8 suite files
* fix 2phases intermediate restart

Co-authored-by: Raffaele Montuoro <[email protected]>
Co-authored-by: Jun Wang <[email protected]>

* Split CCPP finalize into physics_finalize and (framework) finalize; minor CCPP cleanup and documentation updates (NOAA-EMC#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 (NOAA-EMC#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 <[email protected]>
Co-authored-by: Grant Firl <[email protected]>

* Fix Lambert Conformal Conic mapping in the write component on the southern hemisphere (NOAA-EMC#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 (NOAA-EMC#509)

* update upp revision (NOAA-EMC#505)

* move some parameters in mynn surface layer to namelist options

* land surface upgrades for p8c (NOAA-EMC#499)

* Added capability for cdmbgwd(1) to scale GSL blocking drag (NOAA-EMC#502)

* release/p8c: it is related to ccpp-physics PBL and cumulus updates plus a bug fix to the Thompson scheme PR NOAA-EMC#882 (NOAA-EMC#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 429d046.

* sync upp to 0185bb9

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

* Bring AQM model into UFS (NOAA-EMC#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 <[email protected]>

* RRTMGP for prototype 8 (NOAA-EMC#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 (NOAA-EMC#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 <[email protected]>
Co-authored-by: Dom Heinzeller <[email protected]>
Co-authored-by: Grant Firl <[email protected]>
Co-authored-by: Daniel Rosen <[email protected]>
Co-authored-by: man.zhang <[email protected]>
Co-authored-by: William Ramstrom <[email protected]>
Co-authored-by: Ufuk Turuncoglu <[email protected]>
Co-authored-by: Dusan Jovic <[email protected]>
Co-authored-by: A-Kyle <[email protected]>
Co-authored-by: Gerhard Theurich <[email protected]>
Co-authored-by: Dusan Jovic <[email protected]>

* Split GFS_typedefs.F90, rename CCPP_interstitial, import ccpp_t from ccpp_types (NOAA-EMC#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 (NOAA-EMC#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  (NOAA-EMC#520)

* Update ccpp_prebuild_config.py for one-to-one CCPP physics schemes/files (NOAA-EMC#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  (NOAA-EMC#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  (NOAA-EMC#528)

* Combine PROD and REPRO build options into 'Release' build type (NOAA-EMC#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 (NOAA-EMC#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 (NOAA-EMC#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 (NOAA-EMC#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 (NOAA-EMC#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 <[email protected]>
Co-authored-by: Dom Heinzeller <[email protected]>
Co-authored-by: Grant Firl <[email protected]>
Co-authored-by: mzhangw <[email protected]>
Co-authored-by: WenMeng-NOAA <[email protected]>
Co-authored-by: Denise Worthen <[email protected]>
Co-authored-by: SMoorthi-emc <[email protected]>
Co-authored-by: ChunxiZhang-NOAA <[email protected]>
Co-authored-by: Jun Wang <[email protected]>
Co-authored-by: Ted Mansell <[email protected]>
Co-authored-by: Jeff Whitaker <[email protected]>
Co-authored-by: Gerhard Theurich <[email protected]>
Co-authored-by: DomHeinzeller <[email protected]>
Co-authored-by: Raffaele Montuoro <[email protected]>
Co-authored-by: JeffBeck-NOAA <[email protected]>
Co-authored-by: MatthewPyle-NOAA <[email protected]>
Co-authored-by: Ted Mansell <[email protected]>
Co-authored-by: Jessica Meixner <[email protected]>
Co-authored-by: Jun Wang <[email protected]>
Co-authored-by: joeolson42 <[email protected]>
Co-authored-by: HelinWei-NOAA <[email protected]>
Co-authored-by: mdtoyNOAA <[email protected]>
Co-authored-by: Brian Curtis <[email protected]>
Co-authored-by: dustinswales <[email protected]>
Co-authored-by: Bin Liu <[email protected]>
Co-authored-by: Dom Heinzeller <[email protected]>
Co-authored-by: Grant Firl <[email protected]>
Co-authored-by: Daniel Rosen <[email protected]>
Co-authored-by: man.zhang <[email protected]>
Co-authored-by: William Ramstrom <[email protected]>
Co-authored-by: Ufuk Turuncoglu <[email protected]>
Co-authored-by: Dusan Jovic <[email protected]>
Co-authored-by: A-Kyle <[email protected]>
Co-authored-by: ClaraDraper-NOAA <[email protected]>
Co-authored-by: BinLi-NOAA <[email protected]>
SamuelTrahanNOAA added a commit to NOAA-GSL/fv3atm that referenced this pull request Jun 27, 2022
* Merge NOAA-EMC develop into gsl/develop (#126)

* Feature/ccpp codeowners (NOAA-EMC#442)

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

* Code cleanup. Remove used code/variables. Fix minor inconsistencies. (NOAA-EMC#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 (NOAA-EMC#443)

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

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

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

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

This PR contains the ccpp physics PR NOAA-EMC#808 and NOAA-EMC#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. (NOAA-EMC#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 (NOAA-EMC#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 (NOAA-EMC#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 (NOAA-EMC#449)

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

* Wrapper for ccpp-physics NOAA-EMC#812 (NOAA-EMC#453)

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

* MYNN sfclay (RAP suite) restart reproducibility, P8 suite definition files (NOAA-EMC#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 <[email protected]>

* Fixes on initializing snow depth over ice and changes z0ice (NOAA-EMC#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 (NOAA-EMC#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 (NOAA-EMC#465)

* Thompson MP cloud tuning (NOAA-EMC#463)

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

* Feature/hwrf legacy (NOAA-EMC#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 (NOAA-EMC#462)

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

* Unified write_netcdf, add single file 'cubed_sphere_grid' output (NOAA-EMC#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 (NOAA-EMC#467)

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

* Add code to enable ESMF managed threading (NOAA-EMC#469)

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

* Revisions to repair iovr=5 cloud overlap option (NOAA-EMC#471)

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

* Add 2d decomposition on the write grid comp (NOAA-EMC#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 <[email protected]>

* 4DIAU bug when iau_filter_increments=T  (NOAA-EMC#458)

* Add lsm_cold_start variable for RUC LSM SCM support and gwdps bugfix (combined) (NOAA-EMC#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 (NOAA-EMC#476)

* Multiple output grids (NOAA-EMC#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 <[email protected]>

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

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

* Add support for Stochastically Perturbed Parameterizations (SPP) in FV3 and add the FV3_RRFS_v1alpha SDF. (NOAA-EMC#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 (NOAA-EMC#482)

* Updating pointer to ccpp/physics.

* Point to Christina's branches.

* Point to NOAA-GSL gsl/develop for ccpp/physics

Co-authored-by: Samuel Trahan (NOAA contractor) <[email protected]>
Co-authored-by: Dusan Jovic <[email protected]>
Co-authored-by: Dom Heinzeller <[email protected]>
Co-authored-by: Grant Firl <[email protected]>
Co-authored-by: mzhangw <[email protected]>
Co-authored-by: WenMeng-NOAA <[email protected]>
Co-authored-by: Denise Worthen <[email protected]>
Co-authored-by: SMoorthi-emc <[email protected]>
Co-authored-by: ChunxiZhang-NOAA <[email protected]>
Co-authored-by: Jun Wang <[email protected]>
Co-authored-by: Ted Mansell <[email protected]>
Co-authored-by: Jeff Whitaker <[email protected]>
Co-authored-by: Gerhard Theurich <[email protected]>
Co-authored-by: DomHeinzeller <[email protected]>
Co-authored-by: Raffaele Montuoro <[email protected]>
Co-authored-by: JeffBeck-NOAA <[email protected]>
Co-authored-by: MatthewPyle-NOAA <[email protected]>
Co-authored-by: samuel.trahan <[email protected]>

* Remove GF Consistency Check & Add SDFs - V2 (#127)

* - Removes consistency check in GF, allows GF to run with different or no shallow scheme
- Add additional RAP based SDF

* Point to gsl/develop for ccpp/physics

Co-authored-by: Samuel Trahan <[email protected]>

* Update to top of gsl/physics to get codeowners (#130)

* updates related to MYNN-EDMF (#135)

* adding new variable (Sm3D) stability function for momentum

* update submodule pointer for ccpp-physics

* Point to gsl/develop for ccpp/physics

Co-authored-by: samuel.trahan <[email protected]>

* GWD, LSM and MYNN physics updates from RRFS_dev branch (#136)

* GWD, LSM and MYNN physics updates from RRFS_dev branch

* Point to gsl/develop for ccpp/physics

Co-authored-by: samuel.trahan <[email protected]>

* Point to top of gsl/develop for ccpp-physics

* gsl/develop RRFS-Smoke (#141)

* "add for smoke"

* "update to pass GNU compiler"

* "following Joe's comments to add nchem,ndvel as input to MYNN"

* "update fv3atm to point to gsl/develop-smoke"

* "to point to physics branch of gsl/develop-smoke"

* Point to gsl/develop-smoke for ccpp-physics

* "point ot gsl/develop-smoke branch"

* "update GFS_typedefs.meta with rrfs_smoke active flag"

* "update the 3rd dimension readin of GBBEPx for smoke"

* Remove an extra read that went out of bounds

* Point to NOAA-GSL gsl/develop for ccpp-physics

Co-authored-by: samuel.trahan <[email protected]>

* Correction to prior commit: point ccpp-physics to NOAA-GSL gsl/develop

* Merge May 16 EMC develop to gsl/develop (#144)

* Feature/ccpp codeowners (NOAA-EMC#442)

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

* Code cleanup. Remove used code/variables. Fix minor inconsistencies. (NOAA-EMC#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 (NOAA-EMC#443)

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

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

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

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

This PR contains the ccpp physics PR NOAA-EMC#808 and NOAA-EMC#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. (NOAA-EMC#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 (NOAA-EMC#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 (NOAA-EMC#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 (NOAA-EMC#449)

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

* Wrapper for ccpp-physics NOAA-EMC#812 (NOAA-EMC#453)

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

* MYNN sfclay (RAP suite) restart reproducibility, P8 suite definition files (NOAA-EMC#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 <[email protected]>

* Fixes on initializing snow depth over ice and changes z0ice (NOAA-EMC#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 (NOAA-EMC#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 (NOAA-EMC#465)

* Thompson MP cloud tuning (NOAA-EMC#463)

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

* Feature/hwrf legacy (NOAA-EMC#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 (NOAA-EMC#462)

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

* Unified write_netcdf, add single file 'cubed_sphere_grid' output (NOAA-EMC#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 (NOAA-EMC#467)

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

* Add code to enable ESMF managed threading (NOAA-EMC#469)

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

* Revisions to repair iovr=5 cloud overlap option (NOAA-EMC#471)

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

* Add 2d decomposition on the write grid comp (NOAA-EMC#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 <[email protected]>

* 4DIAU bug when iau_filter_increments=T  (NOAA-EMC#458)

* Add lsm_cold_start variable for RUC LSM SCM support and gwdps bugfix (combined) (NOAA-EMC#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 (NOAA-EMC#476)

* Multiple output grids (NOAA-EMC#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 <[email protected]>

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

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

* Add support for Stochastically Perturbed Parameterizations (SPP) in FV3 and add the FV3_RRFS_v1alpha SDF. (NOAA-EMC#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 (NOAA-EMC#482)

* Feature: NSSL Microphysics support (NOAA-EMC#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 (NOAA-EMC#491)

* add p8 suite files
* fix 2phases intermediate restart

Co-authored-by: Raffaele Montuoro <[email protected]>
Co-authored-by: Jun Wang <[email protected]>

* Split CCPP finalize into physics_finalize and (framework) finalize; minor CCPP cleanup and documentation updates (NOAA-EMC#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 (NOAA-EMC#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 <[email protected]>
Co-authored-by: Grant Firl <[email protected]>

* Fix Lambert Conformal Conic mapping in the write component on the southern hemisphere (NOAA-EMC#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 (NOAA-EMC#509)

* update upp revision (NOAA-EMC#505)

* move some parameters in mynn surface layer to namelist options

* land surface upgrades for p8c (NOAA-EMC#499)

* Added capability for cdmbgwd(1) to scale GSL blocking drag (NOAA-EMC#502)

* release/p8c: it is related to ccpp-physics PBL and cumulus updates plus a bug fix to the Thompson scheme PR NOAA-EMC#882 (NOAA-EMC#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 429d046.

* sync upp to 0185bb9

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

* Bring AQM model into UFS (NOAA-EMC#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 <[email protected]>

* RRTMGP for prototype 8 (NOAA-EMC#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 (NOAA-EMC#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 <[email protected]>
Co-authored-by: Dom Heinzeller <[email protected]>
Co-authored-by: Grant Firl <[email protected]>
Co-authored-by: Daniel Rosen <[email protected]>
Co-authored-by: man.zhang <[email protected]>
Co-authored-by: William Ramstrom <[email protected]>
Co-authored-by: Ufuk Turuncoglu <[email protected]>
Co-authored-by: Dusan Jovic <[email protected]>
Co-authored-by: A-Kyle <[email protected]>
Co-authored-by: Gerhard Theurich <[email protected]>
Co-authored-by: Dusan Jovic <[email protected]>

* Split GFS_typedefs.F90, rename CCPP_interstitial, import ccpp_t from ccpp_types (NOAA-EMC#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 (NOAA-EMC#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  (NOAA-EMC#520)

* Update ccpp_prebuild_config.py for one-to-one CCPP physics schemes/files (NOAA-EMC#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  (NOAA-EMC#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  (NOAA-EMC#528)

* Combine PROD and REPRO build options into 'Release' build type (NOAA-EMC#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 (NOAA-EMC#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 (NOAA-EMC#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 (NOAA-EMC#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 (NOAA-EMC#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 <[email protected]>
Co-authored-by: Dom Heinzeller <[email protected]>
Co-authored-by: Grant Firl <[email protected]>
Co-authored-by: mzhangw <[email protected]>
Co-authored-by: WenMeng-NOAA <[email protected]>
Co-authored-by: Denise Worthen <[email protected]>
Co-authored-by: SMoorthi-emc <[email protected]>
Co-authored-by: ChunxiZhang-NOAA <[email protected]>
Co-authored-by: Jun Wang <[email protected]>
Co-authored-by: Ted Mansell <[email protected]>
Co-authored-by: Jeff Whitaker <[email protected]>
Co-authored-by: Gerhard Theurich <[email protected]>
Co-authored-by: DomHeinzeller <[email protected]>
Co-authored-by: Raffaele Montuoro <[email protected]>
Co-authored-by: JeffBeck-NOAA <[email protected]>
Co-authored-by: MatthewPyle-NOAA <[email protected]>
Co-authored-by: Ted Mansell <[email protected]>
Co-authored-by: Jessica Meixner <[email protected]>
Co-authored-by: Jun Wang <[email protected]>
Co-authored-by: joeolson42 <[email protected]>
Co-authored-by: HelinWei-NOAA <[email protected]>
Co-authored-by: mdtoyNOAA <[email protected]>
Co-authored-by: Brian Curtis <[email protected]>
Co-authored-by: dustinswales <[email protected]>
Co-authored-by: Bin Liu <[email protected]>
Co-authored-by: Dom Heinzeller <[email protected]>
Co-authored-by: Grant Firl <[email protected]>
Co-authored-by: Daniel Rosen <[email protected]>
Co-authored-by: man.zhang <[email protected]>
Co-authored-by: William Ramstrom <[email protected]>
Co-authored-by: Ufuk Turuncoglu <[email protected]>
Co-authored-by: Dusan Jovic <[email protected]>
Co-authored-by: A-Kyle <[email protected]>
Co-authored-by: ClaraDraper-NOAA <[email protected]>
Co-authored-by: BinLi-NOAA <[email protected]>

* followup to gsl/develop PR (#145)

* Fix from Joe to remove code that was added back in by the big merge.

* Change suite_FV3_GFS_v15_thompson_mynn to not use mynn surface layer scheme (from Tanya Smirnova)

* move physics/smoke to physics/physics/smoke

* Switch to rad_sw_pre in ccpp/suites/suite_FV3_GFS_v15_thompson_mynn.xml which replaced rrtmg_sw_pre.F90 a while ago

* point to gsl/develop for ccpp/physics

* update submodule pointer for ccpp-physics

* emergency fix to mynn theta calculation

* Merge dom's rap GF b4b fix

* point to gsl/develop

* merge gsl/develop to ccpp/physics

* changes to get this to compile

* Convince FV3GFS_io to use FV3GFS_io_generic

* Remove accidental changes to ccpp/suites/suite_FV3_HAFS_v0_thompson_tedmf_gfdlsf.xml

* FV3GFS NetCDF I/O works again

* Remove unneeded code in ccpp/physics

* fix typos

* Bugfix: writing to pointer before allocating it

* Default diag_flux is always false

* point to RRFS_dev for ccpp/physics

Co-authored-by: Christina Holt <[email protected]>
Co-authored-by: Dusan Jovic <[email protected]>
Co-authored-by: Dom Heinzeller <[email protected]>
Co-authored-by: Grant Firl <[email protected]>
Co-authored-by: mzhangw <[email protected]>
Co-authored-by: WenMeng-NOAA <[email protected]>
Co-authored-by: Denise Worthen <[email protected]>
Co-authored-by: SMoorthi-emc <[email protected]>
Co-authored-by: ChunxiZhang-NOAA <[email protected]>
Co-authored-by: Jun Wang <[email protected]>
Co-authored-by: Ted Mansell <[email protected]>
Co-authored-by: Jeff Whitaker <[email protected]>
Co-authored-by: Gerhard Theurich <[email protected]>
Co-authored-by: DomHeinzeller <[email protected]>
Co-authored-by: Raffaele Montuoro <[email protected]>
Co-authored-by: JeffBeck-NOAA <[email protected]>
Co-authored-by: MatthewPyle-NOAA <[email protected]>
Co-authored-by: Hannah C Barnes <[email protected]>
Co-authored-by: Joseph Olson <[email protected]>
Co-authored-by: mdtoyNOAA <[email protected]>
Co-authored-by: haiqinli <[email protected]>
Co-authored-by: Ted Mansell <[email protected]>
Co-authored-by: Jessica Meixner <[email protected]>
Co-authored-by: Jun Wang <[email protected]>
Co-authored-by: joeolson42 <[email protected]>
Co-authored-by: HelinWei-NOAA <[email protected]>
Co-authored-by: Brian Curtis <[email protected]>
Co-authored-by: dustinswales <[email protected]>
Co-authored-by: Bin Liu <[email protected]>
Co-authored-by: Dom Heinzeller <[email protected]>
Co-authored-by: Grant Firl <[email protected]>
Co-authored-by: Daniel Rosen <[email protected]>
Co-authored-by: man.zhang <[email protected]>
Co-authored-by: William Ramstrom <[email protected]>
Co-authored-by: Ufuk Turuncoglu <[email protected]>
Co-authored-by: Dusan Jovic <[email protected]>
Co-authored-by: A-Kyle <[email protected]>
Co-authored-by: ClaraDraper-NOAA <[email protected]>
Co-authored-by: BinLi-NOAA <[email protected]>
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.

5 participants