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

Release 042022 #184

Merged
merged 6 commits into from
Apr 7, 2022
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Remove some commented out code, update release notes.
  • Loading branch information
laurenchilutti committed Apr 6, 2022
commit d9019f274425f7147c2f831458f83ee7c4553cdf
16 changes: 13 additions & 3 deletions RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,21 @@ This version has been tested against the current SHiELD physics
and with FMS release 2022.01 from https://github.com/NOAA-GFDL/FMS

This release includes the following:
- Release of stand-alone solo_core functionality with simple physics.
- Release of stand-alone solo_core functionality with simple physics.
- Updated GFDL Microphysics, used for real-time 2021 C-SHiELD and T-SHiELD. (L Zhou)
- Merges numerous updates from dev/emc
- Merges numerous updates from dev/emc.
- Leverage DA functionality from UFS with additional changes (M Tong).
- Updates to use the latest FMS release, including fms2_io
- Updates to use the latest FMS release, including fms2_io.
- Adds license header to missing files and fixes typo in header.
- Fixes a bug where long_name and units attributes were not being captured in restart files.
- Adds the ability to specify prefix and directory when reading and writing restarts.
- The planetary radius and rotation rate are now re-scalable by a namelist parameter (small_earth_scale) instead of using exclusively the hard-coded FMS constant.
- Removes obsolete driver/SHiELD files.
- Removes unused function fv_diagnostics::max_vorticity_hy1.
- Removes avec timer remnants.
- Removes old style namelist read in favor of read from internal character variable.
- Adds option for a mean wind.
- Addresses GNU warnings.


# RELEASE NOTES for FV3 202107: Summary
Expand Down
8 changes: 0 additions & 8 deletions tools/external_ic.F90
Original file line number Diff line number Diff line change
Expand Up @@ -215,14 +215,6 @@ subroutine get_external_ic( Atm, fv_domain, cold_start, icdir )
call prt_maxmin('cld_amt', Atm%q(:,:,:,cld_amt), is, ie, js, je, ng, Atm%npz, 1.)
endif

!Now in fv_restart
!!$ call p_var(Atm%npz, is, ie, js, je, Atm%ak(1), ptop_min, &
!!$ Atm%delp, Atm%delz, Atm%pt, Atm%ps, &
!!$ Atm%pe, Atm%peln, Atm%pk, Atm%pkz, &
!!$ kappa, Atm%q, ng, Atm%ncnst, Atm%gridstruct%area_64, Atm%flagstruct%dry_mass, &
!!$ Atm%flagstruct%adjust_dry_mass, Atm%flagstruct%mountain, Atm%flagstruct%moist_phys, &
!!$ Atm%flagstruct%hydrostatic, Atm%flagstruct%nwat, Atm%domain, Atm%flagstruct%adiabatic, Atm%flagstruct%make_nh)

end subroutine get_external_ic


Expand Down
6 changes: 0 additions & 6 deletions tools/fv_eta.F90
Original file line number Diff line number Diff line change
Expand Up @@ -632,12 +632,6 @@ subroutine set_eta(km, ks, ptop, ak, bk, npz_type,fv_eta_file)
stretch_fac = 1.03
auto_routine = 1

!case (75) ! HS-SGO test configuration
! pint = 100.E2
! ptop = 10.E2
! stretch_fac = 1.035
! auto_routine = 6

! kgao: introduce EMC's L75 config
case (75)
if (trim(npz_type) == 'emc') then
Expand Down
2 changes: 1 addition & 1 deletion tools/fv_grid_tools.F90
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ module fv_grid_tools_mod
spherical_linear_interpolation, big_number
use fv_timing_mod, only: timing_on, timing_off
use fv_mp_mod, only: is_master, fill_corners, XDir, YDir
use fv_mp_mod, only: mp_reduce_max, mp_stop, grids_master_procs
use fv_mp_mod, only: grids_master_procs
use sorted_index_mod, only: sorted_inta, sorted_intb
use mpp_mod, only: mpp_error, FATAL, get_unit, mpp_chksum, mpp_pe, stdout, &
mpp_send, mpp_recv, mpp_sync_self, EVENT_RECV, mpp_npes, &
Expand Down
8 changes: 0 additions & 8 deletions tools/fv_restart.F90
Original file line number Diff line number Diff line change
Expand Up @@ -718,14 +718,6 @@ subroutine fv_restart(fv_domain, Atm, dt_atmos, seconds, days, cold_start, grid_
Atm(n)%flagstruct%srf_init = .true.
endif

!if (n==this_grid) then
! if (Atm(n)%flagstruct%external_ic) then
! call fv_io_write_atminput(Atm(n))
! else
! call fv_io_write_atminput(Atm(n),'atmrst','ATMRST')
! endif
!endif

end do ! n_tile

end subroutine fv_restart
Expand Down
37 changes: 0 additions & 37 deletions tools/test_cases.F90
Original file line number Diff line number Diff line change
Expand Up @@ -803,8 +803,6 @@ subroutine init_case(u,v,w,pt,delp,q,phis, ps,pe,peln,pk,pkz, uc,vc, ua,va, ak,
! call mpp_update_domains( vor0, domain )
! call mpp_update_domains( divg, domain )
! call mpp_update_domains( vort, domain )
!!$ call get_scalar_stats( divg, div0, npx, npy, ndims, nregions, &
!!$ pmin, pmax, L1_norm, L2_norm, Linf_norm, gridstruct, tile)
200 format(i4.4,'x',i4.4,'x',i4.4,' ',e21.14,' ',e21.14,' ',e21.14,' ',e21.14,' ',e21.14,' ',e21.14,' ',e21.14,' ',e21.14)
201 format(' ',A,e21.14,' ',e21.14)
202 format(' ',A,i4.4,'x',i4.4,'x',i4.4)
Expand Down Expand Up @@ -836,8 +834,6 @@ subroutine init_case(u,v,w,pt,delp,q,phis, ps,pe,peln,pk,pkz, uc,vc, ua,va, ak,
ua0 = ua
va0 = va
div0(:,:) = 1.e-20
!!$ call get_scalar_stats( divg, div0, npx, npy, ndims, nregions, &
!!$ pmin, pmax, L1_norm, L2_norm, Linf_norm, gridstruct, tile)
if ( is_master() ) then
write(*,*) ' Error Norms of Analytical Divergence field A-Winds initialized'
write(*,201) 'Divergence MAX error : ', pmax
Expand Down Expand Up @@ -866,8 +862,6 @@ subroutine init_case(u,v,w,pt,delp,q,phis, ps,pe,peln,pk,pkz, uc,vc, ua,va, ak,
enddo
enddo
div0(:,:) = 1.e-20
!!$ call get_scalar_stats( divg, div0, npx, npy, ndims, nregions, &
!!$ pmin, pmax, L1_norm, L2_norm, Linf_norm, gridstruct, tile)
if ( is_master() ) then
write(*,*) ' Error Norms of Analytical Divergence field D-Winds initialized'
write(*,201) 'Divergence MAX error : ', pmax
Expand Down Expand Up @@ -1231,11 +1225,6 @@ subroutine init_case(u,v,w,pt,delp,q,phis, ps,pe,peln,pk,pkz, uc,vc, ua,va, ak,
pt8 = gh_jet(npy, grid(i+1,j+1,2))
pt9 = gh_jet(npy, grid(i ,j+1,2))
ftmp = 0.25*pt1 + 0.125*(pt2+pt3+pt4+pt5) + 0.0625*(pt6+pt7+pt8+pt9)
!!$ delp(i,j,1) = ftmp + 120.*grav*cos(agrid(i,j,2)) * &
!!$ exp( -(3.*(agrid(i,j,1)-pi))**2 ) * exp( -(15.*(agrid(i,j,2)-pi/4.))**2 )
!!$! phis(i,j) = ftmp
!!$! delp(i,j,1) = 10.E3*grav + 120.*grav*cos(agrid(i,j,2)) * &
!!$! exp( -(3.*(agrid(i,j,1)-pi))**2 ) * exp( -(15.*(agrid(i,j,2)-pi/4.))**2 )
! Using great circle dist:
p1(:) = agrid(i,j,1:2)
delp(i,j,1) = ftmp
Expand Down Expand Up @@ -1572,24 +1561,6 @@ subroutine init_case(u,v,w,pt,delp,q,phis, ps,pe,peln,pk,pkz, uc,vc, ua,va, ak,
!For consistency with earlier single-grid simulations use gh0 = 1.0e-6 and p1(1) = 195.*pi/180.
q(:,:,:,:) = 0.

!!$ gh0 = 1.0e-3
!!$ r0 = radius/3. !RADIUS radius/3.
!!$ p1(2) = 51.*pi/180.
!!$ p1(1) = 205.*pi/180. !231.*pi/180.
!!$ do k=1,npz
!!$ do j=jsd,jed
!!$ do i=isd,ied
!!$ p2(1) = agrid(i,j,1)
!!$ p2(2) = agrid(i,j,2)
!!$ r = great_circle_dist( p1, p2, radius )
!!$ if (r < r0 .and. .not.( abs(p1(2)-p2(2)) < 1./18. .and. p2(1)-p1(1) < 5./36.) .and. k > 16) then
!!$ q(i,j,k,1) = gh0
!!$ else
!!$ q(i,j,k,1) = 0.
!!$ endif
!!$ enddo
!!$ enddo
!!$ enddo

! Initialize surface Pressure
ps(:,:) = 1.e5
Expand Down Expand Up @@ -4763,14 +4734,6 @@ subroutine init_double_periodic(u,v,w,pt,delp,q,phis, ps,pe,peln,pk,pkz, uc,vc,
enddo


!!$ do k=1,npz
!!$ do j=jsd,jed
!!$ do i=isd,ied
!!$ ptmp = delp(i,j,k)/(peln(i,k+1,j)-peln(i,k,j))
!!$! pt(i,j,k) = t00
!!$ enddo
!!$ enddo
!!$ enddo

call p_var(npz, is, ie, js, je, ptop, ptop_min, delp, delz, pt, ps, &
pe, peln, pk, pkz, kappa, q, ng, ncnst, area, dry_mass, .false., .false., &
Expand Down