Skip to content

Commit

Permalink
202411 Release of SHiELD_physics (#58)
Browse files Browse the repository at this point in the history
* release of FV3Team development of phsyics for SHiELD
  • Loading branch information
laurenchilutti authored Dec 18, 2024
1 parent b68d4c0 commit 7ea294b
Show file tree
Hide file tree
Showing 30 changed files with 1,918 additions and 953 deletions.
477 changes: 345 additions & 132 deletions FV3GFS/FV3GFS_io.F90

Large diffs are not rendered by default.

12 changes: 8 additions & 4 deletions GFS_layer/GFS_driver.F90
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,7 @@ subroutine GFS_initialize (Model, Statein, Stateout, Sfcprop, &
si = (Init_parm%ak + Init_parm%bk * p_ref - Init_parm%ak(Model%levr+1)) &
/ (p_ref - Init_parm%ak(Model%levr+1))
call rad_initialize (si, Model%levr, Model%ictm, Model%isol, &
Model%ico2, Model%iaer, Model%ialb, &
Model%ico2, Model%fco2_scaling , Model%iaer, Model%ialb, &
Model%disable_radiation_quasi_sea_ice, Model%iems, &
Model%ntcw, Model%num_p2d, Model%num_p3d, &
Model%npdf3d, Model%ntoz, &
Expand Down Expand Up @@ -266,9 +266,10 @@ subroutine GFS_initialize (Model, Statein, Stateout, Sfcprop, &
!-----------------------------------------------------------------------

if (Model%do_cosp) then
do nb = 1, nblks
call cosp2_init (size(Grid(nb)%xlon,1), Model%levs)
enddo
!ONLY call with the first block, which will be equal to the blocksize.
! this will (should?) allocate the right amount of data. Then calls to
! COSP will have the right data set up.
call cosp2_init (size(Grid(1)%xlon,1), Model%levs)
endif
#endif

Expand Down Expand Up @@ -645,6 +646,9 @@ subroutine GFS_rad_time_vary (Model, Statein, Tbd, sec)
!--- for testing purposes, replace numrdm with '100'
Tbd(nb)%icsdsw(ix) = numrdm(i+Model%isc-1 + (j+Model%jsc-2)*Model%cnx)
Tbd(nb)%icsdlw(ix) = numrdm(i+Model%isc-1 + (j+Model%jsc-2)*Model%cnx + Model%cnx*Model%cny)
#if defined (USE_COSP)
!add random seeds for COSP here
#endif
enddo
enddo
endif ! isubc_lw and isubc_sw
Expand Down
127 changes: 96 additions & 31 deletions GFS_layer/GFS_physics_driver.F90

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions GFS_layer/GFS_radiation_driver.F90
Original file line number Diff line number Diff line change
Expand Up @@ -552,7 +552,7 @@ subroutine radinit( si, NLAY, me )
& ' May 01 2007'
print *, VTAGRAD !print out version tag
print *,' - Selected Control Flag settings: ICTMflg=',ictmflg, &
& ' ISOLar =',isolar, ' ICO2flg=',ico2flg,' IAERflg=',iaerflg, &
& ' ISOLar =',isolar, ' ICO2flg=',ico2flg,' CO2_scaling=',co2_scaling, ' IAERflg=',iaerflg, &
& ' IALBflg=',ialbflg,' IEMSflg=',iemsflg,' ICLDflg=',icldflg, &
& ' ICMPHYS=',icmphys,' IOZNflg=',ioznflg
print *,' IVFLIP=',ivflip,' IOVRSW=',iovrsw,' IOVRLW=',iovrlw, &
Expand Down Expand Up @@ -1627,7 +1627,7 @@ subroutine GFS_radiation_driver &
tracer1(:,1:lmk,Model%ntiw), &
tracer1(:,1:lmk,Model%ntsw), &
tracer1(:,1:lmk,Model%ntgl), qa, &
Sfcprop%slmsk, Sfcprop%snowd, &
Sfcprop%slmsk, &
tracer1(:,1:lmk,Model%ntclamt),&
im, lmk, lmp, clouds, cldsa, mtopa, mbota) ! --- outputs
endif
Expand Down
105 changes: 97 additions & 8 deletions GFS_layer/GFS_typedefs.F90

Large diffs are not rendered by default.

6 changes: 2 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# SHiELD_physics

The source contained herein reflects the 202305 release of the SHiELD_physics from GFDL.
The source contained herein reflects the 202411 release of the SHiELD_physics from GFDL.

SHiELD_physics contains the infrastructure and physical parameterizations used within the SHiELD atmosphere model.

Expand All @@ -12,9 +12,7 @@ More information is available on the [GFDL SHiELD page](https://www.gfdl.noaa.go

```IPD_layer``` was developed by GFDL personnel, with community input, under funding from NWS Office of Science and Technology Integration.

```atmos_drivers``` is derivative code from the NOAA-GFDL [Atmospheric Drivers project](https://github.com/NOAA-GFDL/atmos_drivers). This will be removed in a future release.

```simple_coupler``` is derivative code from the NOAA-GFDL [FMS Coupler project](https://github.com/NOAA-GFDL/FMSCoupler). This will be removed in a future release.
```atmos_shared``` contains files needed to compile SHiELD with the full FMS coupler.

# Disclaimer

Expand Down
56 changes: 56 additions & 0 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,59 @@
# RELEASE NOTES for FV3 202411: Summary
FV3-202411-public --- November 2024
Lucas Harris, GFDL [email protected]

This version has been tested with:
FV3 Dynamical Core release FV3-202411-public from https://github.com/NOAA-GFDL/GFDL_atmos_cubed_sphere
FMS release 2024.03 from https://github.com/NOAA-GFDL/FMS
FMS Coupler release 2024.03.01 from https://github.com/NOAA-GFDL/FMScoupler
Atmos Drivers release FV3-202411-public from https://github.com/NOAA-GFDL/atmos_drivers

This release includes the following:
- Support for running SHiELD in the full FMSCoupler (Joseph)
- GFDL Microphysics (Linjiong)
- Replaced the hardcoded qa with aerosol data
- Replaced the hardcoded hydrostatic with the input hydrostatic variable
- Added two namelist options (fast_fr_mlt and fast_dep_sub) to control freezing/melting and deposition/sublimation in the fast microphysics.
- Included a missing term in the energy conservation formula (credit: Tristan Abbott). May affect prediction of processes depending strongly on microphysics. Compile the model with -DENG_CNV_OLD to revert this change.
- Added diagnostic cloud content and cloud effective radii of all cloud hydrometeors (qc*, re*).
- Added diagnostic microphysical process rate (mpp*).
- Removed unused Keihl et al. (1994) cloud water effective radius diagnosis.
- A new COSP output variable named clisccp was added.
- Surface processes and PBL (Kun, Linjiong, Kai, Spencer)
- Brought EMC updates from dev/emc branch related to TKE-EDMF, deep and shallow convection schemes
- Added a constraint to the PBL bottom layer to prevent negative water vapor.
- Revise the surface process to prevent excessive downward latent heat transfer
- Exposed additional tunable parameters in TKE-EDMF PBL scheme
- Fix miscalculated albedo over the ocean when ialb = 2
- Slab ocean bug fixes and enhancements
- Upgraded land-ice related processes in Noah-MP based on version 4.5 of the official Noah-MP repository and some updates from NCAR/ccpp-physics, mostly from EMC.
- Computing the snow height within the snowwater_glacier and snowwater subroutines
- Limiting the compaction of snow in various places
- Calculating the equilibrium state of snow only if snow exists. The maximum water depth becomes a tunable parameter and its default value remains 5 m.
- Prescribed soil color capability
- Prescribed snow albedo capability
- Convection schemes (Kun, Linjiong)
- Brought EMC updates from dev/emc branch
- Merged samfshalcnv_gfdl.f and samfshalcnv.f. Use gfs_physics_nml::limit_shal_conv = .true. to recover samfshalcnv_gfdl.
- Created the shallow convection option 5 based on option 3, to turn off the shallow convection scheme if the diagnosed cloud depth or cloud top exceeds certain critical values (set by cthk_shal and top_shal, respectively)
- Added a parameter dxcrtas to the deep convection; for grid-spacing less than this (default 8000 m) the AS's quasi-equilibrium assumption is considered invalid.
- Radiation (Kai)
- Added a namelist option, gfs_physics_nml::fco2_scaling to uniformly scale CO2
- Diagnostics (Spencer)
- Added pressure_level_extrapolate, blended-area-weighted, and simplest model_level_area_weighted coarse-graining strategies.
- Implemented area-weighted mean over the dominant surface type for the snoalb, shdmin, and shdmax surface fields.
- Fixed a bug that affected coarse-graining the soil type field and some other soil properties downstream.
- Additional CO2 and surface-type fraction diagnostics.
- Software updates (Spencer, Lucas, Joseph)
- Updates for running SHiELD in the FV3net Python wrapper
- Bugfix in ozphys.F for ldiag3d = .true..
- Cleaned up obscure diagnostics in radiation_astronomy.f.
- Namelist option gfs_physics_nml::landseaprt to allow turning off land/sea partitioned global intervals in stdout.
- Added variable-by-variable defined missing_value to gfdl_diag_type.
- Add additional atmos driver files to run SHiELD and SHiEMOM with the full FMScoupler, mimicking the structure of AM4 atmos_phys.
- Several diagnostic bug fixes.


# RELEASE NOTES for FV3 202305: Summary
FV3-202305-public --- May 2023
Lucas Harris, GFDL [email protected]
Expand Down
3 changes: 2 additions & 1 deletion gsmphys/gcycle.F90
Original file line number Diff line number Diff line change
Expand Up @@ -191,7 +191,8 @@ SUBROUTINE GCYCLE (nblks, Model, Grid, Sfcprop, Cldprop)
size(Model%input_nml_file), &
Model%input_nml_file, &
Model%ialb, Model%isot, Model%ivegsrc, &
trim(tile_num_ch), i_index, j_index)
trim(tile_num_ch), i_index, j_index, &
Model%sst_perturbation)
#ifndef INTERNAL_FILE_NML
close (Model%nlunit)
#endif
Expand Down
Loading

0 comments on commit 7ea294b

Please sign in to comment.