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

Add a WAM regression test with the MULTI_GASES and MOLECULAR_DIFFUSION options on #354

Merged
merged 70 commits into from
Oct 27, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
70 commits
Select commit Hold shift + click to select a range
4a1f4c2
VLab issue # 76949. Update FV3-WAM from IPD to CCPP
SajalKar-NOAA Apr 6, 2020
1c3214a
Update FV3-WAM from IPD to CCPP
SajalKar-NOAA Apr 9, 2020
492308c
Changed machine-dependency for Orion.
Apr 27, 2020
ed3653a
consistent commit for dadhmhj.01a for FV3
Apr 27, 2020
a05e5a6
make MOLECULAR_DIFFUSION on without MULTI_GASES
HenryJuang-NOAA May 8, 2020
bca93e9
fix ccpp_build.sh due to SION
HenryJuang-NOAA May 11, 2020
da39cfd
update for dadhmhj.02
HenryJuang-NOAA May 12, 2020
643aadb
Added IDEA-physics files from soon-to-be-operational WAM-GSM.
May 13, 2020
cd97843
update .gitmodules to have submodules point to udhmhj.02
HenryJuang-NOAA Jun 3, 2020
3140151
change UV molecular diffusion without extra interpolation
HenryJuang-NOAA Jun 17, 2020
0202cb5
modify molecular diffusion for u and v without extra inter[pation effect
HenryJuang-NOAA Jun 17, 2020
1435cf0
molecular diffusion on cell edge D grid + non-sli[ BC for update_dz_c…
HenryJuang-NOAA Sep 10, 2020
187bf5a
All IDEA-physics routines working with IPD
Oct 19, 2020
0787fc4
Update molecular diffusion on D grid
HenryJuang-NOAA Oct 19, 2020
1346a34
Added a new file
Oct 22, 2020
54c5b95
Merge branch 'udhmhj.03' of https://github.com/HenryJuang-NOAA/fv3atm…
HenryJuang-NOAA Oct 22, 2020
86a85fc
merged *cub* and ccpp/physics with dadsk.03
HenryJuang-NOAA Oct 26, 2020
d24eca9
Merge branch 'dadsk.03' of https://github.com/akubaryk/fv3atm into ud…
HenryJuang-NOAA Oct 26, 2020
9811e91
update to udhmhj.04
HenryJuang-NOAA Oct 30, 2020
38d08a2
Merge branch 'develop' into udhmhj.04
HenryJuang-NOAA Nov 5, 2020
205896d
incremental commit
HenryJuang-NOAA Nov 12, 2020
950af36
use Cmake and can be compiled in orion with all options MG MD IP
HenryJuang-NOAA Nov 14, 2020
eebae13
add md_reflev option 0 and some fixes for typedefs
HenryJuang-NOAA Nov 15, 2020
1eb3a5f
add first DEEP_ATMOS_DYNAMICS
HenryJuang-NOAA Nov 18, 2020
273a332
fix spfox for ntoz, nto, and nto2.
HenryJuang-NOAA Feb 18, 2021
33224bb
change spfox to spox for consisyency with sphum.
HenryJuang-NOAA Feb 19, 2021
150fa71
modify molecular diffusion and tau_w/
HenryJuang-NOAA Apr 21, 2021
6515c51
Point to new personal branch
XiaqiongZhou-NOAA Apr 22, 2021
63f7923
Merge with NOAA-EMC
XiaqiongZhou-NOAA Apr 22, 2021
d21d081
Update dycore
XiaqiongZhou-NOAA Apr 23, 2021
e6f9b45
Merge remote-tracking branch 'NOAA-EMC/develop' into udhmhj
XiaqiongZhou-NOAA Apr 23, 2021
47a2881
Update submodules to new versions
XiaqiongZhou-NOAA Jun 11, 2021
d71a842
Merge remote-tracking branch 'NOAA-EMC/develop' into udhmhj6
XiaqiongZhou-NOAA Jun 14, 2021
e354812
correct merge errors
XiaqiongZhou-NOAA Jun 14, 2021
ed77ccd
Correct merge errors
XiaqiongZhou-NOAA Jun 15, 2021
317f945
Update CCPP suites for the MULTI_GASES RT
XiaqiongZhou-NOAA Jun 18, 2021
8966998
Update atmos_cubed_sphere to a new version
XiaqiongZhou-NOAA Jun 21, 2021
1cedea4
add md_tadj_layers and fix o3mr with spo3
HenryJuang-NOAA Jul 21, 2021
11c0879
Merge HenryJuang's branch
XiaqiongZhou-NOAA Jul 22, 2021
f2b834b
update submodules
XiaqiongZhou-NOAA Jul 22, 2021
f65537d
Merge remote-tracking branch 'NOAA-EMC/develop' into udhmhj6
XiaqiongZhou-NOAA Jul 22, 2021
1676052
Update atmos_cubed_sphere and ccpp/physics submodules
XiaqiongZhou-NOAA Jul 27, 2021
31fe9be
Merge NOAA-EMC/develop to udhmhj6
XiaqiongZhou-NOAA Jul 27, 2021
7aafeed
Change file permissions
XiaqiongZhou-NOAA Jul 27, 2021
c2b4241
Change file permisssions and update submodules
XiaqiongZhou-NOAA Jul 27, 2021
433772b
Delete the suites are not used
XiaqiongZhou-NOAA Jul 27, 2021
777f427
Delete the part related to the IDEA physics. It will be added in CCPP…
XiaqiongZhou-NOAA Jul 28, 2021
b3e3d9a
Delete the part related to the IDEA physics. It will be added in CCPP…
XiaqiongZhou-NOAA Jul 28, 2021
17ee674
Delete unneeded whitespace
XiaqiongZhou-NOAA Jul 29, 2021
a7c8070
Delete more whitespace
XiaqiongZhou-NOAA Jul 29, 2021
0978a40
Update GFS_typedefs.F90
XiaqiongZhou-NOAA Jul 29, 2021
0ba5ac9
Remove the molecular diffusion compiling option
XiaqiongZhou-NOAA Aug 5, 2021
a7d8f77
Update atmos_cubed_sphere and ccpp/physics submodules
XiaqiongZhou-NOAA Sep 7, 2021
6152cde
Merge remote tracking NOAA-EMC/develop to udhmhj6
XiaqiongZhou-NOAA Sep 7, 2021
7f45030
Update framework submodule
XiaqiongZhou-NOAA Sep 7, 2021
be7bbd2
Merge remote-tracking branch 'NOAA-EMC/develop' into udhmhj6
XiaqiongZhou-NOAA Sep 7, 2021
5e6fe37
update the ccpp/physics and atmos_cubed-sphere submodules
XiaqiongZhou-NOAA Oct 6, 2021
b94a696
Merge remote-tracking branch 'NOAA-EMC/develop' into udhmhj6
XiaqiongZhou-NOAA Oct 6, 2021
b87bd5e
Update the ccpp/framework submodule
XiaqiongZhou-NOAA Oct 6, 2021
7999c2e
Update ccpp/physics
XiaqiongZhou-NOAA Oct 9, 2021
c4a4182
Merge remote-tracking branch 'NOAA-EMC/develop' into udhmhj6
XiaqiongZhou-NOAA Oct 9, 2021
f2cfbdd
Update the atmos_cubed_sphere submodule
XiaqiongZhou-NOAA Oct 11, 2021
051274a
Update atmos_cubed_sphere
XiaqiongZhou-NOAA Oct 14, 2021
ba7eac8
Update the submodule atmos_cubed_sphere to a new version
XiaqiongZhou-NOAA Oct 21, 2021
dbd452e
Merge remote-tracking branch 'NOAA-EMC/develop' into udhmhj6
XiaqiongZhou-NOAA Oct 21, 2021
88d4b04
Update ccpp/physics submodule
XiaqiongZhou-NOAA Oct 22, 2021
7924ef0
Merge remote-tracking branch 'NOAA-EMC/develop' into udhmhj6
XiaqiongZhou-NOAA Oct 23, 2021
7e5c506
Update ccpp-physiscs
XiaqiongZhou-NOAA Oct 25, 2021
3d011a9
Merge remote-tracking branch NOAA-EMC/develop to udhmhj6
XiaqiongZhou-NOAA Oct 25, 2021
75a0007
Point submodules to the public version
XiaqiongZhou-NOAA Oct 26, 2021
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
4 changes: 4 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,10 @@ set_target_properties(fv3atm PROPERTIES Fortran_MODULE_DIRECTORY ${CMAKE_CURRENT
target_include_directories(fv3atm INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/mod>
$<INSTALL_INTERFACE:mod>)

if(MULTI_GASES)
list(APPEND _fv3atm_defs_private MULTI_GASES)
endif()

target_link_libraries(fv3atm PUBLIC fv3
fv3ccpp
stochastic_physics
Expand Down
3 changes: 3 additions & 0 deletions ccpp/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,9 @@ if(MULTI_GASES)
add_definitions(-DMULTI_GASES)
endif()

if(IDEA_PHYS)
add_definitions(-DIDEA_PHYS)
endif()
#------------------------------------------------------------------------------
# Build CCPP framework and physics

Expand Down
31 changes: 21 additions & 10 deletions ccpp/data/GFS_typedefs.F90
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
#undef MULTI_GASES

module GFS_typedefs

Expand Down Expand Up @@ -2185,10 +2184,10 @@ module GFS_typedefs
type(ty_source_func_lw) :: sources !< RRTMGP DDT

!-- GSL drag suite
real (kind=kind_phys), pointer :: varss(:) => null() !<
real (kind=kind_phys), pointer :: ocss(:) => null() !<
real (kind=kind_phys), pointer :: oa4ss(:,:) => null() !<
real (kind=kind_phys), pointer :: clxss(:,:) => null() !<
real (kind=kind_phys), pointer :: varss(:) => null() !<
real (kind=kind_phys), pointer :: ocss(:) => null() !<
real (kind=kind_phys), pointer :: oa4ss(:,:) => null() !<
real (kind=kind_phys), pointer :: clxss(:,:) => null() !<

!-- 3D diagnostics
integer :: rtg_ozone_index, rtg_tke_index
Expand Down Expand Up @@ -3572,7 +3571,14 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
!--- coupling parameters
cplflx, cplice, cplocn2atm, cplwav, cplwav2atm, cplchm, &
cpl_imp_mrg, cpl_imp_dbg, &
use_cice_alb, lsidea, &
use_cice_alb, &
#ifdef IDEA_PHYS
lsidea, weimer_model, f107_kp_size, f107_kp_interval, &
f107_kp_skip_size, f107_kp_data_size, f107_kp_read_in_start, &
ipe_to_wam_coupling, &
#else
lsidea, &
#endif
!--- radiation parameters
fhswr, fhlwr, levr, nfxr, iaerclm, iflip, isol, ico2, ialb, &
isot, iems, iaer, icliq_sw, iovr, ictm, isubc_sw, &
Expand Down Expand Up @@ -3872,6 +3878,10 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
print *,' LSIDEA is active but needs to be reworked for FV3 - shutting down'
stop
endif
#ifdef IDEA_PHYS
!--- integrated dynamics through earth's atmosphere
Model%weimer_model = weimer_model
#endif

!--- calendars and time parameters and activation triggers
Model%dtp = dt_phys
Expand Down Expand Up @@ -4472,11 +4482,13 @@ subroutine control_initialize (Model, nlunit, fn_nml, me, master, &
Model%tracer_names(:) = tracer_names(:)
Model%ntqv = 1
#ifdef MULTI_GASES
Model%nto = get_tracer_index(Model%tracer_names, 'spfo', Model%me, Model%master, Model%debug)
Model%nto2 = get_tracer_index(Model%tracer_names, 'spfo2', Model%me, Model%master, Model%debug)
Model%ntoz = get_tracer_index(Model%tracer_names, 'spfo3', Model%me, Model%master, Model%debug)
Model%nto = get_tracer_index(Model%tracer_names, 'spo', Model%me, Model%master, Model%debug)
Model%nto2 = get_tracer_index(Model%tracer_names, 'spo2', Model%me, Model%master, Model%debug)
Model%ntoz = get_tracer_index(Model%tracer_names, 'spo3', Model%me, Model%master, Model%debug)
#else
Model%ntoz = get_tracer_index(Model%tracer_names, 'o3mr', Model%me, Model%master, Model%debug)
if( Model%ntoz <= 0 ) &
Model%ntoz = get_tracer_index(Model%tracer_names, 'spo3', Model%me, Model%master, Model%debug)
#endif
Model%ntcw = get_tracer_index(Model%tracer_names, 'liq_wat', Model%me, Model%master, Model%debug)
Model%ntiw = get_tracer_index(Model%tracer_names, 'ice_wat', Model%me, Model%master, Model%debug)
Expand Down Expand Up @@ -5482,7 +5494,6 @@ subroutine control_print(Model)
print *, ' cpl_imp_mrg : ', Model%cpl_imp_mrg
print *, ' cpl_imp_dbg : ', Model%cpl_imp_dbg
print *, ' '
print *, 'integrated dynamics through earth atmosphere'
print *, ' lsidea : ', Model%lsidea
print *, ' '
print *, 'calendars and time parameters and activation triggers'
Expand Down
2 changes: 1 addition & 1 deletion ccpp/physics
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>

<suite name="FV3_GFS_2017_fv3wam" version="1">
<suite name="FV3_GFS_v16_fv3wam" version="1">
<!-- <init></init> -->
<group name="time_vary">
<subcycle loop="1">
Expand Down Expand Up @@ -52,14 +52,15 @@
<scheme>sfc_diag_post</scheme>
<scheme>GFS_surface_generic_post</scheme>
<scheme>GFS_PBL_generic_pre</scheme>
<scheme>hedmf</scheme>
<scheme>satmedmfvdifq</scheme>
<scheme>GFS_PBL_generic_post</scheme>
<scheme>GFS_GWD_generic_pre</scheme>
<scheme>cires_ugwp</scheme>
<scheme>cires_ugwp_post</scheme>
<scheme>GFS_GWD_generic_post</scheme>
<scheme>GFS_suite_stateout_update</scheme>
<scheme>ozphys</scheme>
<scheme>ozphys_2015</scheme>
<scheme>h2ophys</scheme>
<scheme>get_phi_fv3</scheme>
<scheme>GFS_suite_interstitial_3</scheme>
<scheme>GFS_DCNV_generic_pre</scheme>
Expand All @@ -71,17 +72,17 @@
<scheme>GFS_suite_interstitial_4</scheme>
<scheme>cnvc90</scheme>
<scheme>GFS_MP_generic_pre</scheme>
<scheme>zhaocarr_gscond</scheme>
<scheme>zhaocarr_precpd</scheme>
<scheme>gfdl_cloud_microphys</scheme>
<scheme>GFS_MP_generic_post</scheme>
<scheme>maximum_hourly_diagnostics</scheme>
<scheme>phys_tend</scheme>
</subcycle>
</group>
<group name="stochastics">
<subcycle loop="1">
<scheme>GFS_stochastics</scheme>
<scheme>phys_tend</scheme>
</subcycle>
</group>

<!-- <finalize></finalize> -->
</suite>
4 changes: 4 additions & 0 deletions io/FV3GFS_io.F90
Original file line number Diff line number Diff line change
Expand Up @@ -2831,7 +2831,11 @@ subroutine fv3gfs_diag_output(time, diag, atm_block, nx, ny, levs, ntcw, ntoz, &
used=send_data(Diag(idx)%id, var3, Time, is_in=is_in, js_in=js_in, ks_in=1)
endif
!--- ozone mixing ration tendency
#ifdef MULTI_GASES
if (trim(Diag(idx)%name) == 'dspo3_dt') then
#else
if (trim(Diag(idx)%name) == 'do3mr_dt') then
#endif
var3(1:nx,1:ny,1:levs) = RESHAPE(Statein%qgrs(1:ngptc,levs:1:-1,ntoz:ntoz), (/nx,ny,levs/))
var3(1:nx,1:ny,1:levs) = (RESHAPE(Stateout%gq0(1:ngptc,levs:1:-1,ntoz:ntoz), (/nx,ny,levs/)) &
- var3(1:nx,1:ny,1:levs))*rdt
Expand Down
4 changes: 4 additions & 0 deletions io/post_gfs.F90
Original file line number Diff line number Diff line change
Expand Up @@ -2172,7 +2172,11 @@ subroutine set_postvars_gfs(wrt_int_state,mpicomp,setvar_atmfile, &
endif

! model level ozone mixing ratio
#ifdef MULTI_GASES
if(trim(fieldname)=='spo3') then
#else
if(trim(fieldname)=='o3mr') then
#endif
!$omp parallel do default(none) private(i,j,l) shared(lm,jsta,jend,ista,iend,o3,arrayr43d)
do l=1,lm
do j=jsta,jend
Expand Down