Skip to content

Commit 721e6f7

Browse files
laurenchiluttibensonrmenzel-gfdlMatthewPyle-NOAAlharris4
authored
Dev/gfdl test (#222)
* updated fv_regional_bc.F90 to read levsp from GFS_ctl file (#152) * Updating a continue statement in fv_nudge (#153) * update in fv_nudge to fix 666 label logic * fix logic errors (#138) * update to external_ic::remap_scale to skip remapping non-existent IC tracers (#159) * Fix nudge logic (#157) * fix logic errors * fix answer changes * adding back a line that was mistakenly deleted in a previous commit (#166) * Release 042022 (#184) * Merge of updates from GFDL Weather and Climate Dynamics Division (202204): *add license header to missing files and fix typo in header *updates needed for fv3_gfsphysics to have access to bounded_domain *remove obsoleted driver/SHiELD files *updating to fix bug where long_name and units attributes were not being captured in the RESTARTS *remove unused function fv_diagnostics::max_vorticity_hy1 *remove avec timer remnants *adding ability to specify prefix and directory when reading and writing restarts *remove old style namelist read in favor of read from internal character variable *Added option for a mean wind *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. *fv_mapz: Cleanup and added helpful annotations to avoid getting lost so easily * remove duplicate code and fix lstatus on all grids depending on gfs_data and gfs_data.tile1 * New idealized tests *Makes the non-hydrostatic restart variables optional for reads to allow hydrostatic ICs *Fix the hydrostatic TE remapping; Add GMAO cubic for TE remapping, which is used if kord_tm=0 and remap_te=.true. *Add a TE remapping option (kord_tm=0) *Addressing GNU Warnings *Add the L75 vertical config from HAFS * clean up fms_mp_mod and remove mp_bcst * cherry pick 5193c6b from dev/emc * Attempt at integrating fixes on top of dev/emc branch. (#173) * remove outdated GFDL_tools/fv_diag_column.F90 which exists as the result of an improper merge. The correct file is tools/fv_diag_column.F90 (#191) * various io fixes (#192) * fixes io performance issues by making everyone a reader when io_layout=1,1 adds capability to use FMS feature to ignore data integrity checksums in restarts * rename enforce_rst_cksum to ignore_rst_cksum and change the default value for compatibility * fix index error (#196) * New notebooks (#190) * Moving source files into source directory * Added advection notebook * Fixed subplot spacing * New 3D case notebooks * New idealized tests Updated mtn_wave_tests_1km to restore missing graphics. * first try at held-suarez * Updated H-S superrotation notebook * New level placement tool in an interactive note * Minor updates to notebooks; deleted fv_eta binary. * Regional decomposition test fix (when nrows_blend > 0) (#194) (#200) * Regional bc blend changes to extend into interior halos and overlap on corners. Still not working for u and v. dyn_core.F90 : Fix from Jun Wang to correct sync of u,v fv_regional_bc.F90 : add check for nrows_blend > tile size; fix error when nrows_blend=1 Conflicts (not taken during chery-pick): driver/SHiELD/atmosphere.F90 model/fv_sg.F90 Co-authored-by: Ted Mansell <37668594+MicroTed@users.noreply.github.com> * Implementing CI (#207) * CI Parallelworks update (#211) * Update call to read_input_nml and remove unnecessary code. (#161) * Removing use of INTERNAL_FILE_NML and cleaning up read_namelist_test_cases to remove unused argument * deleting duplicate call to read_namelist_test_case_nml in fv_control * removing commented code in fv_control Co-authored-by: Rusty Benson <6594772+bensonr@users.noreply.github.com> Co-authored-by: menzel-gfdl <43218622+menzel-gfdl@users.noreply.github.com> Co-authored-by: Rusty Benson <Rusty.Benson@noaa.gov> Co-authored-by: MatthewPyle-NOAA <48285220+MatthewPyle-NOAA@users.noreply.github.com> Co-authored-by: lharris4 <53020884+lharris4@users.noreply.github.com> Co-authored-by: Ted Mansell <37668594+MicroTed@users.noreply.github.com>
1 parent 6702139 commit 721e6f7

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+22456
-4980
lines changed
+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
name: Compile SHiELD SOLO and run tests
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- main
7+
jobs:
8+
checkout:
9+
runs-on: [self-hosted]
10+
name: Checkout Code
11+
steps:
12+
- run: python3 /pw/storage/PWscripts/FV3checkoutStartClusters.py $GITHUB_REF
13+
14+
build:
15+
runs-on: [self-hosted]
16+
name: SOLO SHiELD build
17+
needs: [checkout]
18+
strategy:
19+
fail-fast: true
20+
max-parallel: 3
21+
matrix:
22+
runpath: [/pw/storage/PWscripts]
23+
runscript: [FV3swStartClusters.py, FV3nhStartClusters.py, FV3hydroStartClusters.py]
24+
steps:
25+
- env:
26+
RUNPATH: ${{ matrix.runpath }}
27+
RUNSCRIPT: ${{ matrix.runscript }}
28+
run: python3 $RUNPATH/$RUNSCRIPT $GITHUB_REF
29+
30+
test:
31+
runs-on: [self-hosted]
32+
name: SOLO SHiELD test suite
33+
needs: [checkout, build]
34+
strategy:
35+
fail-fast: false
36+
max-parallel: 3
37+
matrix:
38+
runpath: [/pw/storage/PWscripts]
39+
runscript: [FV3C128r20.solo.superCStartClusters.py]
40+
steps:
41+
- env:
42+
RUNPATH: ${{ matrix.runpath }}
43+
RUNSCRIPT: ${{ matrix.runscript }}
44+
run: python3 $RUNPATH/$RUNSCRIPT $GITHUB_REF
45+
46+
shutdowncluster:
47+
runs-on: [self-hosted]
48+
name: Shutdown cluster
49+
if: always()
50+
needs: [checkout, build, test]
51+
steps:
52+
- run: python3 /home/Lauren.Chilutti/pw/storage/PWscripts/stopClusters.py cifv3

CODE_STYLE.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@
7070
!* (at your option) any later version.
7171
!*
7272
!* The FV3 dynamical core is distributed in the hope that it will be
73-
!* useful, but WITHOUT ANYWARRANTY; without even the implied warranty
73+
!* useful, but WITHOUT ANY WARRANTY; without even the implied warranty
7474
!* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
7575
!* See the GNU General Public License for more details.
7676
!*

GFDL_tools/fv_ada_nudge.F90

+37-18
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
!* (at your option) any later version.
1111
!*
1212
!* The FV3 dynamical core is distributed in the hope that it will be
13-
!* useful, but WITHOUT ANYWARRANTY; without even the implied warranty
13+
!* useful, but WITHOUT ANY WARRANTY; without even the implied warranty
1414
!* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
1515
!* See the GNU General Public License for more details.
1616
!*
@@ -262,7 +262,7 @@ module fv_ada_nudge_mod
262262
contains
263263

264264

265-
subroutine fv_ada_nudge ( Time, dt, npx, npy, npz, ps_dt, u_dt, v_dt, t_dt, q_dt, zvir, ptop, &
265+
subroutine fv_ada_nudge ( Time, dt, npx, npy, npz, ps_dt, u_dt, v_dt, t_dt, q_dt, zvir, &
266266
ak, bk, ts, ps, delp, ua, va, pt, nwat, q, phis, gridstruct, &
267267
bd, domain )
268268

@@ -271,7 +271,7 @@ subroutine fv_ada_nudge ( Time, dt, npx, npy, npz, ps_dt, u_dt, v_dt, t_dt, q_dt
271271
integer, intent(in):: npz ! vertical dimension
272272
integer, intent(in):: nwat
273273
real, intent(in):: dt
274-
real, intent(in):: zvir, ptop
274+
real, intent(in):: zvir
275275
type(domain2d), intent(INOUT), target :: domain
276276
type(fv_grid_bounds_type), intent(IN) :: bd
277277
real, intent(in ), dimension(npz+1):: ak, bk
@@ -435,7 +435,7 @@ subroutine fv_ada_nudge ( Time, dt, npx, npy, npz, ps_dt, u_dt, v_dt, t_dt, q_dt
435435

436436

437437
call get_obs(Time, dt, zvir, ak, bk, ps, ts, ps_obs, delp, pt, nwat, q, u_obs, v_obs, t_obs, q_obs, &
438-
phis, gz_int, ua, va, u_dt, v_dt, npx, npy, npz, factor, mask, ptop, bd, gridstruct, domain)
438+
phis, gz_int, ua, va, u_dt, v_dt, npx, npy, npz, factor, mask, bd, gridstruct, domain)
439439
! *t_obs* is virtual temperature
440440
#ifdef ENABLE_ADA ! snz
441441

@@ -1269,10 +1269,10 @@ end subroutine compute_slp
12691269

12701270

12711271
subroutine get_obs(Time, dt, zvir, ak, bk, ps, ts, ps_obs, delp, pt, nwat, q, u_obs, v_obs, t_obs, q_obs, &
1272-
phis, gz_int, ua, va, u_dt, v_dt, npx, npy, npz, factor, mask, ptop, bd, gridstruct, domain)
1272+
phis, gz_int, ua, va, u_dt, v_dt, npx, npy, npz, factor, mask, bd, gridstruct, domain)
12731273
type(time_type), intent(in):: Time
12741274
integer, intent(in):: npz, nwat, npx, npy
1275-
real, intent(in):: zvir, ptop
1275+
real, intent(in):: zvir
12761276
real, intent(in):: dt, factor
12771277
real, intent(in), dimension(npz+1):: ak, bk
12781278
type(fv_grid_bounds_type), intent(IN) :: bd
@@ -1423,26 +1423,26 @@ subroutine get_obs(Time, dt, zvir, ak, bk, ps, ts, ps_obs, delp, pt, nwat, q, u_
14231423
if ( nudge_winds ) then
14241424

14251425
call remap_uv(npz, ak, bk, ps(is:ie,js:je), delp, ut, vt, &
1426-
km, ps_dat(is:ie,js:je,1), u_dat(:,:,:,1), v_dat(:,:,:,1), ptop, bd )
1426+
km, ps_dat(is:ie,js:je,1), u_dat(:,:,:,1), v_dat(:,:,:,1), bd )
14271427

14281428
u_obs(:,:,:) = alpha*ut(:,:,:)
14291429
v_obs(:,:,:) = alpha*vt(:,:,:)
14301430

14311431
call remap_uv(npz, ak, bk, ps(is:ie,js:je), delp, ut, vt, &
1432-
km, ps_dat(is:ie,js:je,2), u_dat(:,:,:,2), v_dat(:,:,:,2), ptop, bd )
1432+
km, ps_dat(is:ie,js:je,2), u_dat(:,:,:,2), v_dat(:,:,:,2), bd )
14331433

14341434
u_obs(:,:,:) = u_obs(:,:,:) + beta*ut(:,:,:)
14351435
v_obs(:,:,:) = v_obs(:,:,:) + beta*vt(:,:,:)
14361436
endif
14371437

14381438
call remap_tq(npz, ak, bk, ps(is:ie,js:je), delp, ut, vt, &
1439-
km, ps_dat(is:ie,js:je,1), t_dat(:,:,:,1), q_dat(:,:,:,1), zvir, ptop, bd)
1439+
km, ps_dat(is:ie,js:je,1), t_dat(:,:,:,1), q_dat(:,:,:,1), zvir, bd)
14401440

14411441
t_obs(:,:,:) = alpha*ut(:,:,:)
14421442
q_obs(:,:,:) = alpha*vt(:,:,:)
14431443

14441444
call remap_tq(npz, ak, bk, ps(is:ie,js:je), delp, ut, vt, &
1445-
km, ps_dat(is:ie,js:je,2), t_dat(:,:,:,2), q_dat(:,:,:,2), zvir, ptop, bd)
1445+
km, ps_dat(is:ie,js:je,2), t_dat(:,:,:,2), q_dat(:,:,:,2), zvir, bd)
14461446

14471447
t_obs(:,:,:) = t_obs(:,:,:) + beta*ut(:,:,:)
14481448
q_obs(:,:,:) = q_obs(:,:,:) + beta*vt(:,:,:)
@@ -2309,9 +2309,9 @@ end subroutine get_int_hght
23092309

23102310

23112311
subroutine remap_tq( npz, ak, bk, ps, delp, t, q, &
2312-
kmd, ps0, ta, qa, zvir, ptop, bd)
2312+
kmd, ps0, ta, qa, zvir, bd)
23132313
integer, intent(in):: npz, kmd
2314-
real, intent(in):: zvir, ptop
2314+
real, intent(in):: zvir
23152315
real, intent(in):: ak(npz+1), bk(npz+1)
23162316
type(fv_grid_bounds_type), intent(IN) :: bd
23172317
real, intent(in), dimension(bd%is:bd%ie,bd%js:bd%je):: ps0
@@ -2373,7 +2373,7 @@ subroutine remap_tq( npz, ak, bk, ps, delp, t, q, &
23732373
qp(i,k) = qa(i,j,k)
23742374
enddo
23752375
enddo
2376-
call mappm(kmd, pe0, qp, npz, pe1, qn1, is,ie, 0, kord_data, ptop)
2376+
call mappm(kmd, pe0, qp, npz, pe1, qn1, is,ie, 0, kord_data)
23772377
do k=1,npz
23782378
do i=is,ie
23792379
q(i,j,k) = qn1(i,k)
@@ -2388,7 +2388,7 @@ subroutine remap_tq( npz, ak, bk, ps, delp, t, q, &
23882388
tp(i,k) = ta(i,j,k)
23892389
enddo
23902390
enddo
2391-
call mappm(kmd, pn0, tp, npz, pn1, qn1, is,ie, 1, kord_data, ptop)
2391+
call mappm(kmd, pn0, tp, npz, pn1, qn1, is,ie, 1, kord_data)
23922392

23932393
do k=1,npz
23942394
do i=is,ie
@@ -2401,9 +2401,8 @@ subroutine remap_tq( npz, ak, bk, ps, delp, t, q, &
24012401
end subroutine remap_tq
24022402

24032403

2404-
subroutine remap_uv(npz, ak, bk, ps, delp, u, v, kmd, ps0, u0, v0, ptop, bd)
2404+
subroutine remap_uv(npz, ak, bk, ps, delp, u, v, kmd, ps0, u0, v0, bd)
24052405
integer, intent(in):: npz
2406-
real, intent(IN):: ptop
24072406
real, intent(in):: ak(npz+1), bk(npz+1)
24082407
type(fv_grid_bounds_type), intent(IN) :: bd
24092408
real, intent(inout):: ps(bd%is:bd%ie,bd%js:bd%je)
@@ -2460,7 +2459,7 @@ subroutine remap_uv(npz, ak, bk, ps, delp, u, v, kmd, ps0, u0, v0, ptop, bd)
24602459
qt(i,k) = u0(i,j,k)
24612460
enddo
24622461
enddo
2463-
call mappm(kmd, pe0, qt, npz, pe1, qn1, is,ie, -1, kord_data, ptop)
2462+
call mappm(kmd, pe0, qt, npz, pe1, qn1, is,ie, -1, kord_data)
24642463
do k=1,npz
24652464
do i=is,ie
24662465
u(i,j,k) = qn1(i,k)
@@ -2474,7 +2473,7 @@ subroutine remap_uv(npz, ak, bk, ps, delp, u, v, kmd, ps0, u0, v0, ptop, bd)
24742473
qt(i,k) = v0(i,j,k)
24752474
enddo
24762475
enddo
2477-
call mappm(kmd, pe0, qt, npz, pe1, qn1, is,ie, -1, kord_data, ptop)
2476+
call mappm(kmd, pe0, qt, npz, pe1, qn1, is,ie, -1, kord_data)
24782477
do k=1,npz
24792478
do i=is,ie
24802479
v(i,j,k) = qn1(i,k)
@@ -2516,14 +2515,34 @@ subroutine fv_ada_nudge_end
25162515
call fv_io_register_axis(ada_driver_restart, numx=1, numy=1, numz=1, zsize=(/size(Atm_var%u_adj,3)/))
25172516
call register_restart_field(ada_driver_restart, &
25182517
& "u_adj", Atm_var%u_adj(:,:,:), dim_names_4d)
2518+
call register_variable_attribute(ada_driver_restart, &
2519+
& "u_adj", "long_name", "u_adj", str_len=len("u_adj"))
2520+
call register_variable_attribute(ada_driver_restart, &
2521+
& "u_adj", "units", "none", str_len=len("none"))
25192522
call register_restart_field(ada_driver_restart, &
25202523
& "v_adj", Atm_var%v_adj(:,:,:), dim_names_4d)
2524+
call register_variable_attribute(ada_driver_restart, &
2525+
& "v_adj", "long_name", "v_adj", str_len=len("v_adj"))
2526+
call register_variable_attribute(ada_driver_restart, &
2527+
& "v_adj", "units", "none", str_len=len("none"))
25212528
call register_restart_field(ada_driver_restart, &
25222529
& "t_adj", Atm_var%t_adj(:,:,:), dim_names_4d)
2530+
call register_variable_attribute(ada_driver_restart, &
2531+
& "t_adj", "long_name", "t_adj", str_len=len("t_adj"))
2532+
call register_variable_attribute(ada_driver_restart, &
2533+
& "t_adj", "units", "none", str_len=len("none"))
25232534
call register_restart_field(ada_driver_restart, &
25242535
& "q_adj", Atm_var%q_adj(:,:,:), dim_names_4d)
2536+
call register_variable_attribute(ada_driver_restart, &
2537+
& "q_adj", "long_name", "q_adj", str_len=len("q_adj"))
2538+
call register_variable_attribute(ada_driver_restart, &
2539+
& "q_adj", "units", "none", str_len=len("none"))
25252540
call register_restart_field(ada_driver_restart, &
25262541
& "ps_adj", Atm_var%ps_adj(:,:), dim_names_4d)
2542+
call register_variable_attribute(ada_driver_restart, &
2543+
& "ps_adj", "long_name", "ps_adj", str_len=len("ps_adj"))
2544+
call register_variable_attribute(ada_driver_restart, &
2545+
& "ps_adj", "units", "none", str_len=len("none"))
25272546
call write_restart(ada_driver_restart)
25282547
call close_file(ada_driver_restart)
25292548
endif

GFDL_tools/fv_climate_nudge.F90

+8-10
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
!* (at your option) any later version.
1111
!*
1212
!* The FV3 dynamical core is distributed in the hope that it will be
13-
!* useful, but WITHOUT ANYWARRANTY; without even the implied warranty
13+
!* useful, but WITHOUT ANY WARRANTY; without even the implied warranty
1414
!* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
1515
!* See the GNU General Public License for more details.
1616
!*
@@ -262,12 +262,11 @@ end subroutine fv_climate_nudge_init
262262
!###################################################################################
263263

264264
subroutine fv_climate_nudge (Time, dt, is, ie, js, je, npz, pfull, &
265-
lon, lat, phis, ptop, ak, bk, &
265+
lon, lat, phis, ak, bk, &
266266
ps, u, v, t, q, psdt, udt, vdt, tdt, qdt )
267267
type(time_type), intent(in) :: Time
268268
real, intent(in) :: dt
269269
integer, intent(in) :: is, ie, js, je, npz
270-
real, intent(IN) :: ptop
271270

272271
real, intent(in) :: phis(is:ie,js:je)
273272
real, intent(in) :: lon (is:ie,js:je)
@@ -439,15 +438,15 @@ subroutine fv_climate_nudge (Time, dt, is, ie, js, je, npz, pfull, &
439438
enddo
440439

441440
if (get_wind) then
442-
call remap_3d (is, ie, js, je, nlev_obs, npz, phaf_obs, u_obs, phaf, State(n)%u, -1, ptop)
443-
call remap_3d (is, ie, js, je, nlev_obs, npz, phaf_obs, v_obs, phaf, State(n)%v, -1, ptop)
441+
call remap_3d (is, ie, js, je, nlev_obs, npz, phaf_obs, u_obs, phaf, State(n)%u, -1)
442+
call remap_3d (is, ie, js, je, nlev_obs, npz, phaf_obs, v_obs, phaf, State(n)%v, -1)
444443
endif
445444
if (get_qhum .or. get_temp) then
446-
call remap_3d (is, ie, js, je, nlev_obs, npz, phaf_obs, q_obs, phaf, State(n)%q(:,:,:,1), 0, ptop)
445+
call remap_3d (is, ie, js, je, nlev_obs, npz, phaf_obs, q_obs, phaf, State(n)%q(:,:,:,1), 0)
447446
endif
448447
if (get_temp) then
449448
! use logp
450-
call remap_3d (is, ie, js, je, nlev_obs, npz, lphaf_obs, t_obs, lphaf, State(n)%t, 1, ptop)
449+
call remap_3d (is, ie, js, je, nlev_obs, npz, lphaf_obs, t_obs, lphaf, State(n)%t, 1)
451450
State(n)%t = State(n)%t/(1.+ZVIR*State(n)%q(:,:,:,1)) ! virtual effect
452451
endif
453452

@@ -1023,7 +1022,7 @@ end subroutine remap_ps
10231022
!---------------------------------------------------
10241023

10251024
subroutine remap_3d( is, ie, js, je, km, npz, &
1026-
pe0, qn0, pe1, qn1, n, ptop )
1025+
pe0, qn0, pe1, qn1, n )
10271026

10281027
!--------
10291028
! Input:
@@ -1035,7 +1034,6 @@ subroutine remap_3d( is, ie, js, je, km, npz, &
10351034
real, intent(in):: qn0(is:ie,js:je,km) ! scalar quantity on input data levels
10361035
real, intent(in):: pe1(is:ie,js:je,npz+1) ! pressure at layer interfaces for model data
10371036
integer, intent(in):: n ! -1 wind; 0 sphum; +1 ptemp
1038-
real, intent(IN):: ptop
10391037

10401038
!--------
10411039
! Output:
@@ -1046,7 +1044,7 @@ subroutine remap_3d( is, ie, js, je, km, npz, &
10461044
integer :: i, j, k
10471045

10481046
do j = js,je
1049-
call mappm(km, pe0(is:ie,j,:), qn0(is:ie,j,:), npz, pe1(is:ie,j,:), qn1(is:ie,j,:), is,ie, n, 8, ptop)
1047+
call mappm(km, pe0(is:ie,j,:), qn0(is:ie,j,:), npz, pe1(is:ie,j,:), qn1(is:ie,j,:), is,ie, n, 8)
10501048
enddo
10511049

10521050
end subroutine remap_3d

GFDL_tools/fv_cmip_diag.F90

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
!* (at your option) any later version.
1111
!*
1212
!* The FV3 dynamical core is distributed in the hope that it will be
13-
!* useful, but WITHOUT ANYWARRANTY; without even the implied warranty
13+
!* useful, but WITHOUT ANY WARRANTY; without even the implied warranty
1414
!* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
1515
!* See the GNU General Public License for more details.
1616
!*

GFDL_tools/read_climate_nudge_data.F90

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
!* (at your option) any later version.
1212
!*
1313
!* The FV3 dynamical core is distributed in the hope that it will be
14-
!* useful, but WITHOUT ANYWARRANTY; without even the implied warranty
14+
!* useful, but WITHOUT ANY WARRANTY; without even the implied warranty
1515
!* of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
1616
!* See the GNU General Public License for more details.
1717
!*

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# GFDL_atmos_cubed_sphere
22

3-
The source contained herein merges in the [2021 January Release](https://github.com/NOAA-GFDL/GFDL_atmos_cubed_sphere/releases/tag/FV3-202101-public) of the Finite Volume Cubed-Sphere Dynamical Core (FV3) for use in the current GFDL models (AM4/CM4/ESM4/SPEAR).
3+
The source contained herein merges in the [2022 April Release](https://github.com/NOAA-GFDL/GFDL_atmos_cubed_sphere/releases/tag/FV3-202204-public) of the Finite Volume Cubed-Sphere Dynamical Core (FV3) for use in the current GFDL models (AM4/CM4/ESM4/SPEAR).
44

55
# Where to find information
66

RELEASE.md

+22
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,26 @@
11
# RELEASE NOTES for GFDL FV3: Summary
2+
GFDL_2022.XX.YY --- July 2022
3+
4+
This version has been tested against the current SHiELD physics
5+
and with FMS release 2022.01 from https://github.com/NOAA-GFDL/FMS
6+
7+
This release includes the following:
8+
- Release of stand-alone solo_core functionality with simple physics.
9+
- Updated GFDL Microphysics, used for real-time 2021 C-SHiELD and T-SHiELD. (L Zhou)
10+
- Merges numerous updates from dev/emc.
11+
- Leverage DA functionality from UFS with additional changes (M Tong).
12+
- Updates to use the latest FMS release, including fms2_io.
13+
- Adds license header to missing files and fixes typo in header.
14+
- Fixes a bug where long_name and units attributes were not being captured in restart files.
15+
- Adds the ability to specify prefix and directory when reading and writing restarts.
16+
- 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.
17+
- Removes obsolete driver/SHiELD files.
18+
- Removes unused function fv_diagnostics::max_vorticity_hy1.
19+
- Removes avec timer remnants.
20+
- Removes old style namelist read in favor of read from internal character variable.
21+
- Adds option for a mean wind.
22+
- Addresses GNU warnings.
23+
224

325
# RELEASE NOTES for GFDL_2021.03.01: Summary
426
GFDL_2021.03.01 --- August 2021

0 commit comments

Comments
 (0)