Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
96 commits
Select commit Hold shift + click to select a range
d3521d5
Updates to support NSSL microphysics in CCPP
MicroTed Oct 16, 2021
2a3a156
Switched atmos and ccpp modules to NSSL versions
MicroTed Oct 19, 2021
5564af5
Update to my atmos_cubed_sphere
LarissaReames Oct 22, 2021
9b0c228
Update submodule
LarissaReames Oct 22, 2021
99c9579
Bug fix for allocating/loading array2d
MicroTed Oct 28, 2021
c485881
Made setting of otsptflag more logical
MicroTed Oct 29, 2021
7655fc5
Fixed size and logic of otsptflag
MicroTed Nov 10, 2021
fa5bfc6
Merge branch 'feature/nsslmicro' of https://github.com/MicroTed/fv3at…
MicroTed Nov 10, 2021
4e524c8
Merge remote-tracking branch 'tedsrepo/feature/nsslmicro' into featur…
MicroTed Jan 20, 2022
81d33d9
Revert URL to default in .gitmodules
MicroTed Jan 20, 2022
40a3c66
Removed commented line and added whitespace
MicroTed Jan 20, 2022
3d721e8
Update to current version of atmos_cubed_sphere
LarissaReames Nov 15, 2021
2e0abb7
Merge remote-tracking branch 'tedsrepo/develop' into feature/nsslmicr…
MicroTed Jan 27, 2022
2dfb094
Update GFS_diagnostics.F90 and submodules
MicroTed Jan 27, 2022
7901983
Add suite file
MicroTed Jan 28, 2022
59c2453
Update .gitmodules
MicroTed Jan 29, 2022
23287bd
change dimensions of flag_convective_tracer_transport_interstitial to…
grantfirl Jan 31, 2022
91daade
Merge branch 'feature/nsslmicro-merge' into feature/nsslmicro-merge_gjf
grantfirl Feb 1, 2022
09f57a2
Merge pull request #1 from grantfirl/feature/nsslmicro-merge_gjf
MicroTed Feb 1, 2022
bb1207f
ccpp/physics update
MicroTed Feb 2, 2022
6613a8c
Update submodule
MicroTed Feb 11, 2022
381f1c3
Update atmos_cubed_sphere
LarissaReames Feb 14, 2022
dd3d27c
Switched to Ted's NSSL branch of ccpp
LarissaReames Feb 14, 2022
574411a
Point to correct atmos_cubed_sphere
LarissaReames Feb 14, 2022
6766fa0
Merge branch 'feature/nsslmicro-merge' of https://github.com/MicroTed…
LarissaReames Feb 14, 2022
8e5e159
Merge branch 'feature/ideal-new' of https://github.com/LarissaReames-…
LarissaReames Feb 14, 2022
aaea304
Minor text fix to gitmodules
LarissaReames Feb 14, 2022
09dd2ff
Merge branch 'develop' of https://github.com/LarissaReames-NOAA/fv3at…
LarissaReames Feb 14, 2022
157b1af
Updated atmos_cubed_sphere with new idealized sounding capabilities.
LarissaReames Feb 16, 2022
5cecf83
Update atmos_cubed_sphere
LarissaReames Feb 17, 2022
f85fad8
Add flags and code for 3-moment rain/graupel/hail in NSSL microphysi…
MicroTed Apr 10, 2023
864fb1b
Merge remote-tracking branch 'larissa/feature/ideal-new' into feature…
MicroTed Apr 10, 2023
77d250d
Update submodules and add suites for ideal
MicroTed Apr 11, 2023
9cdcb76
Added fix to re-implement ideal (doubly periodic) grid capability in …
LarissaReames Apr 13, 2023
d90c372
Update to correct branch of atmos_cubed_sphere
LarissaReames Apr 13, 2023
652c0bf
Update otsptflag for 3moment variables
MicroTed Apr 16, 2023
cae9c22
Fixed missing routine from ideal suite
MicroTed Apr 18, 2023
12b6b8e
Update submodule
MicroTed Apr 18, 2023
55d4b54
Merge commit 'bbc5bf8' into feature/ideal-new-nssl3m
MicroTed Sep 20, 2023
45de372
Submodule update
MicroTed Sep 23, 2023
da84b17
Submodule update
MicroTed Sep 23, 2023
d78bc9b
Merge branch 'develop' into ideal-periodic
MicroTed Nov 10, 2023
ba27e2b
Set correct submodules
MicroTed Nov 10, 2023
28a4346
Commented phys_tend in suite_FV3_RRFS_v1nssl_ideal.xml, but need to …
MicroTed Nov 10, 2023
d6b7416
Updated and renamed two suites for idealized model setup
MicroTed Nov 14, 2023
f03b664
Update commit for atmos_cubed_sphere
MicroTed Nov 14, 2023
e6a7a6c
Workaround to turn off radiation by adding a flag 'do_radiation' to …
MicroTed Nov 15, 2023
2cd4f2d
Updated atmos_cubed_sphere state
LarissaReames Nov 29, 2023
0c8915a
Merge branch 'ideal-periodic' of https://github.com/MicroTed/fv3atm i…
LarissaReames Nov 29, 2023
3a688e3
Added radiation block to ideal_mp_nssl suite. Changed atmos_cubed_sph…
LarissaReames Dec 8, 2023
01bb3e2
Merge branch 'develop' of https://github.com/LarissaReames-NOAA/fv3at…
LarissaReames Dec 8, 2023
589b7bd
updated atmos_cubed_sphere
LarissaReames Dec 11, 2023
75abfcb
Updated atmos_cubed_sphere
LarissaReames Jan 25, 2024
e8bc76b
Merge branch 'ideal-periodic' of https://github.com/LarissaReames-NOA…
LarissaReames Jan 25, 2024
ac265df
Merge branch 'develop' of https://github.com/NOAA-EMC/fv3atm into ide…
LarissaReames Jan 25, 2024
5df206d
Update atmos_cubed_sphere for ideal test changes
LarissaReames Jan 2, 2025
e56385c
Merge branch 'develop' of https://github.com/NOAA-EMC/fv3atm into ide…
LarissaReames Jan 2, 2025
ef1101d
Updated ccpp submodules
LarissaReames Jan 2, 2025
a6d4260
Update CCPP submodules ... again
LarissaReames Jan 2, 2025
bfa340a
Merge branch 'develop' of https://github.com/NOAA-EMC/fv3atm into ide…
LarissaReames Jan 3, 2025
71e353d
Updates to ideal test code structure and CCPP suites.
LarissaReames Jan 10, 2025
85e8507
Merge pull request #1 from NOAA-EMC/develop
LarissaReames Jan 13, 2025
d5d075b
Remove do_radiation flag as ccpp can now properly handle empty sections
LarissaReames Jan 14, 2025
6fd8966
Remove extranesous ccpp suites. Remove extraneous code used for debug…
LarissaReames Jan 14, 2025
5fa7e69
Minor text fixes
LarissaReames Jan 14, 2025
2b4130f
Add umove and vmove options
LarissaReames Jan 14, 2025
2b6e9a8
Empty out radiation loop of ideal_mp ccpp suite
LarissaReames Jan 14, 2025
406089e
Update atmos_cubed_sphere with NISE commentary upgrade
LarissaReames Jan 14, 2025
3dac7b9
Update atmos_cubed_sphere with bug fixes for model crashes.
LarissaReames Jan 16, 2025
f86afff
Update ideal ccpp suites
LarissaReames Jan 16, 2025
09eb0f6
Replace use of read_data from old fms_io with read_data from fms2_io.
LarissaReames Jan 21, 2025
b21f6f0
Correct grid_type=4 configuration to use single tile ESMF Grid
LarissaReames Jan 21, 2025
bf9587b
Modified logic in SetServices to combine grid_type=4 and nests.
LarissaReames Jan 22, 2025
3067624
Removed commented lines.
LarissaReames Jan 22, 2025
69d16d0
Merge branch 'NOAA-EMC:develop' into ideal-periodic
LarissaReames Jan 24, 2025
b96c58f
Update changes to atmos_cubed_sphere
LarissaReames Jan 27, 2025
c646465
Remove code from debugging
LarissaReames Jan 13, 2025
c50ca72
Update atmos_cubed_sphere
LarissaReames Feb 13, 2025
2c2e69b
Update atmos_cubed_sphere
LarissaReames Feb 13, 2025
81d86ce
Revert "Update atmos_cubed_sphere"
LarissaReames Feb 13, 2025
1bbe922
Merge branch 'develop' into ideal-periodic
LarissaReames Feb 13, 2025
89f1c42
update atmos_cubed_sphere
LarissaReames Feb 13, 2025
86377c8
Update .gitmodules
MicroTed Apr 3, 2025
02b8259
Merge remote-tracking branch 'tedsrepo/develop' into ideal-periodic
MicroTed Apr 3, 2025
e3890b2
Updates from atmos_cubed and fixes to ideal Process Model suites
MicroTed Apr 24, 2025
32591df
Update atmos_cubed_sphere
MicroTed Apr 24, 2025
5874fd8
Merge remote-tracking branch 'upstream/develop' into ideal-periodic
MicroTed Apr 25, 2025
d818a34
Update fv3/atmos_cubed_sphere
MicroTed Apr 25, 2025
c9291e4
update atmos_cubed_sphere
MicroTed Apr 25, 2025
b1ecf78
module_fcst_grid_comp.F90 : Undo cosmetic changes
MicroTed Apr 25, 2025
f03306b
Update atmos_cubed_sphere
MicroTed Apr 28, 2025
2855720
Update hash of fv3/atmos_cubed_sphere
MicroTed May 5, 2025
04d69f4
Merge branch 'ideal-periodic' of https://github.com/MicroTed/fv3atm i…
MicroTed May 5, 2025
33b6c78
Merge branch 'develop' into ideal-periodic
MicroTed May 5, 2025
449e596
Merge commit 'e5b040c' into ideal-periodic
MicroTed Jul 28, 2025
6f5e0fb
update acs hash and revert changes in gitmodules
jkbk2004 Aug 6, 2025
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
44 changes: 44 additions & 0 deletions ccpp/suites/suite_FV3_ideal_mp_nssl.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8"?>

<suite name="FV3_ideal_mp_nssl" lib="ccppphys" ver="1">
<!-- <init></init> -->
<group name="time_vary">
<subcycle loop="1">
<scheme>GFS_time_vary_pre</scheme>
<scheme>GFS_phys_time_vary</scheme>
</subcycle>
</group>
<group name="radiation">
<subcycle loop="1">
</subcycle>
</group>

<group name="phys_ps">
<subcycle loop="1">
</subcycle>
</group>

<group name="phys_ts">
<!-- Surface iteration loop -->
<!-- End of surface iteration loop -->
<subcycle loop="1">
<scheme>GFS_suite_stateout_update</scheme>
<!-- <scheme>h2ophys</scheme> -->
<scheme>get_prs_fv3</scheme>
<scheme>get_phi_fv3</scheme>
<scheme>GFS_MP_generic_pre</scheme>
<scheme>mp_nssl</scheme>
<scheme>GFS_MP_generic_post</scheme>
<scheme>maximum_hourly_diagnostics</scheme>
<scheme>GFS_physics_post</scheme>
<!-- <scheme>phys_tend</scheme> -->
</subcycle>
</group>
<!--
<group name="stochastics">
<subcycle loop="1">
</subcycle>
</group>
-->
<!-- <finalize></finalize> -->
</suite>
62 changes: 62 additions & 0 deletions ccpp/suites/suite_FV3_ideal_pbl_mp_nssl.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8"?>

<suite name="FV3_ideal_pbl_mp_nssl" lib="ccppphys" ver="5">
<!-- <init></init> -->
<group name="time_vary">
<subcycle loop="1">
<scheme>GFS_time_vary_pre</scheme>
<scheme>GFS_rrtmg_setup</scheme>
<scheme>GFS_rad_time_vary</scheme>
<scheme>GFS_phys_time_vary</scheme>
</subcycle>
</group>
<group name="radiation">
<subcycle loop="1">
<scheme>sgscloud_radpre</scheme>
<scheme>GFS_rrtmg_pre</scheme>
<scheme>GFS_radiation_surface</scheme>
<scheme>rad_sw_pre</scheme>
<scheme>rrtmg_sw</scheme>
<scheme>rrtmg_sw_post</scheme>
<scheme>rrtmg_lw</scheme>
<scheme>sgscloud_radpost</scheme>
<scheme>rrtmg_lw_post</scheme>
<scheme>GFS_rrtmg_post</scheme>
</subcycle>
</group>
<group name="phys_ps">
<subcycle loop="1">
<scheme>GFS_suite_stateout_reset</scheme>
<scheme>get_prs_fv3</scheme>
<scheme>GFS_suite_interstitial_1</scheme>
<scheme>GFS_surface_generic_pre</scheme>
<scheme>GFS_surface_composites_pre</scheme>
<scheme>dcyc2t3</scheme>
<scheme>GFS_surface_composites_inter</scheme>
<scheme>GFS_suite_interstitial_2</scheme>
</subcycle>
<!-- Surface iteration loop -->
<subcycle loop="2">
<scheme>mynnsfc_wrapper</scheme>
<scheme>GFS_surface_loop_control_part1</scheme>
<scheme>sfc_nst_pre</scheme>
<scheme>sfc_nst</scheme>
<scheme>sfc_nst_post</scheme>
<scheme>noahmpdrv</scheme>
<scheme>sfc_sice</scheme>
<scheme>GFS_surface_loop_control_part2</scheme>
</subcycle>
<!-- End of surface iteration loop -->
</group>
<group name="phys_ts">
<subcycle loop="1">
<scheme>mynnedmf_wrapper</scheme>
<scheme>get_phi_fv3</scheme>
<scheme>GFS_MP_generic_pre</scheme>
<scheme>mp_nssl</scheme>
<scheme>GFS_MP_generic_post</scheme>
<scheme>maximum_hourly_diagnostics</scheme>
<scheme>GFS_physics_post</scheme>
</subcycle>
</group>
</suite>
3 changes: 2 additions & 1 deletion fv3/atmos_model.F90
Original file line number Diff line number Diff line change
Expand Up @@ -144,6 +144,7 @@ module atmos_model_mod
! (they correspond to the x, y, pfull, phalf axes)
integer, pointer :: pelist(:) =>null() ! pelist where atmosphere is running.
integer :: layout(2) ! computer task laytout
integer :: grid_type
logical :: regional ! true if domain is regional
logical :: nested ! true if there is a nest
logical :: moving_nest_parent ! true if this grid has a moving nest child
Expand Down Expand Up @@ -580,7 +581,7 @@ subroutine atmos_model_init (Atmos, Time_init, Time, Time_step)
call atmosphere_resolution (mlon, mlat, global=.true.)
call atmosphere_domain (Atmos%domain, Atmos%domain_for_read, Atmos%layout, &
Atmos%regional, Atmos%nested, &
Atmos%ngrids, Atmos%mygrid, Atmos%pelist)
Atmos%ngrids, Atmos%mygrid, Atmos%pelist, Atmos%grid_type)
Atmos%moving_nest_parent = .false.
Atmos%is_moving_nest = .false.
#ifdef MOVING_NEST
Expand Down
8 changes: 5 additions & 3 deletions fv3/module_fcst_grid_comp.F90
Original file line number Diff line number Diff line change
Expand Up @@ -201,7 +201,7 @@ subroutine SetServicesNest(nest, rc)
grid_typekind = ESMF_TYPEKIND_R8
endif

if (trim(name)=="global") then
if (trim(name) == "global" .and. Atmos%grid_type /= 4) then
! global domain
call ESMF_InfoGet(info, key="tilesize", value=tilesize, rc=rc); ESMF_ERR_ABORT(rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, line=__LINE__, file=__FILE__)) return
Expand All @@ -219,7 +219,7 @@ subroutine SetServicesNest(nest, rc)
name="fcst_grid", rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, line=__LINE__, file=__FILE__)) return
else
! nest domain
! nest and doubly periodic domain
call ESMF_InfoGet(info, key="nx", value=nx, rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, line=__LINE__, file=__FILE__)) return
call ESMF_InfoGet(info, key="ny", value=ny, rc=rc)
Expand All @@ -239,6 +239,7 @@ subroutine SetServicesNest(nest, rc)

! - Create coordinate arrays around allocations held within Atmos data structure and set in Grid


call ESMF_GridGet(grid, staggerloc=ESMF_STAGGERLOC_CENTER, distgrid=distgrid, rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, line=__LINE__, file=__FILE__)) return

Expand Down Expand Up @@ -841,7 +842,8 @@ subroutine fcst_initialize(fcst_comp, importState, exportState, clock, rc)
call ESMF_InfoGetFromHost(fcstGridComp(n), info=info, rc=rc); ESMF_ERR_ABORT(rc)
call ESMF_InfoSet(info, key="layout", values=layout, rc=rc); ESMF_ERR_ABORT(rc)
call ESMF_InfoSet(info, key="tilesize", value=Atmos%mlon, rc=rc); ESMF_ERR_ABORT(rc)

call ESMF_InfoSet(info, key="nx", value=nx, rc=rc); ESMF_ERR_ABORT(rc)
call ESMF_InfoSet(info, key="ny", value=ny, rc=rc); ESMF_ERR_ABORT(rc)
call ESMF_GridCompSetServices(fcstGridComp(n), SetServicesNest, userrc=urc, rc=rc)
if (ESMF_LogFoundError(rcToCheck=rc, msg=ESMF_LOGERR_PASSTHRU, line=__LINE__, file=__FILE__)) return
if (ESMF_LogFoundError(rcToCheck=urc, msg=ESMF_LOGERR_PASSTHRU, line=__LINE__, file=__FILE__, rcToReturn=rc)) return
Expand Down