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 WAM molecular diffusion #120

Merged
merged 40 commits into from
Oct 26, 2021
Merged
Show file tree
Hide file tree
Changes from 29 commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
571bff1
Henry's Molecular Diffusion
akubaryk Oct 2, 2019
8580aa3
Merge branch 'dev/emc' of https://github.com/akubaryk/GFDL_atmos_cube…
akubaryk Oct 2, 2019
788d1cf
finalize explicit molecular diffusion.
HenryJuang-NOAA Nov 19, 2019
244637c
make MOLECULAR_DIFFUSION on without MULTI_GASES.
HenryJuang-NOAA May 8, 2020
b26282f
change molecular diffusion for U V without extra interpolation effect
HenryJuang-NOAA Jun 17, 2020
4ce3d16
modify code to avoid UV extra interpolation effect back to molecular …
HenryJuang-NOAA Jun 17, 2020
5bd3593
molecular diffusion on cell edge D grid + non-slip option for update+…
HenryJuang-NOAA Sep 10, 2020
66cdda9
For all IDEA-physics rouines working with IPD
Oct 19, 2020
5d5d906
Update new molecular diffusion on D grid.
HenryJuang-NOAA Oct 19, 2020
5991334
Merge branch 'udhmhj.03' of https://github.com/HenryJuang-NOAA/GFDL_a…
HenryJuang-NOAA Oct 22, 2020
747e267
modify for 32bit compilation
HenryJuang-NOAA Oct 26, 2020
74a4fd3
Merge branch 'dadsk.03' of https://github.com/akubaryk/GFDL_atmos_cub…
HenryJuang-NOAA Oct 26, 2020
35e69ee
Merge branch 'dev/emc' into udhmhj.04
HenryJuang-NOAA Nov 5, 2020
18551f4
use Cmake and can be compiled in orion
HenryJuang-NOAA Nov 14, 2020
ecb1f0c
add md_reflev with option 0.
HenryJuang-NOAA Nov 15, 2020
3640214
add first DEEP_ATMOS_DYNAMICS in edge_profile routine with nonslip BC
HenryJuang-NOAA Nov 18, 2020
b433057
change spfox to spox for consistency with sphum.
HenryJuang-NOAA Feb 19, 2021
fd4d342
modify with molecular diffusion and tau_w.
HenryJuang-NOAA Apr 21, 2021
bd44e14
Merge NOAA-GFDL dev/emc to md
May 4, 2021
f76c5ba
Merge NOAA-GFDL dev.emc to md
XiaqiongZhou-NOAA Jun 10, 2021
2e2beb4
Correction for merge
XiaqiongZhou-NOAA Jun 21, 2021
600af78
Add md_tadj_layers to do thermosphere vertical temperature adjustment.
HenryJuang-NOAA Jul 21, 2021
8ea1172
Merge the HenryJuang/udhmhj.07
XiaqiongZhou-NOAA Jul 21, 2021
0ac3741
Merge remote-tracking branch 'NOAA-GFDL/dev/emc' into md
XiaqiongZhou-NOAA Jul 22, 2021
12ee1e1
Correct the errors from the branch merge
XiaqiongZhou-NOAA Jul 23, 2021
f0be049
Change file permission
XiaqiongZhou-NOAA Jul 27, 2021
84ccc79
Change files' format back
XiaqiongZhou-NOAA Jul 29, 2021
d4a2fe4
Modification based on code reviewer
XiaqiongZhou-NOAA Jul 29, 2021
4484e6f
Change file permission back
XiaqiongZhou-NOAA Jul 29, 2021
af88dc2
Change the molecular diffusion from a compiling option to a runtime o…
XiaqiongZhou-NOAA Aug 5, 2021
b2fd6b2
Merge remot-tracking 'NOAA-GFDL/dev/emc' into md
XiaqiongZhou-NOAA Sep 7, 2021
b54b0fe
name fixes
XiaqiongZhou-NOAA Sep 13, 2021
d7482ce
Remove extra white space
XiaqiongZhou-NOAA Sep 15, 2021
aefa03e
The time_total calculation is moved to fv_dynamics
XiaqiongZhou-NOAA Sep 20, 2021
a8e1368
Revise the description for tau_w
XiaqiongZhou-NOAA Oct 5, 2021
81024dd
Merge remote-tracking 'NOAA-GFDL/dev/emc' into md
XiaqiongZhou-NOAA Oct 6, 2021
64b4a04
Fix the error for the gnucompiler
XiaqiongZhou-NOAA Oct 11, 2021
13f1e9f
Fix the memory issue of compiling jobs on WCOSS_DELL_P3
XiaqiongZhou-NOAA Oct 14, 2021
2c8363e
Revise back the range definition form. The compiling issue on DELL ca…
XiaqiongZhou-NOAA Oct 21, 2021
3e25208
Merge remote-tracking branch 'GFDL/dev/emc' into md
XiaqiongZhou-NOAA Oct 21, 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
20 changes: 15 additions & 5 deletions driver/fvGFS/atmosphere.F90
Original file line number Diff line number Diff line change
Expand Up @@ -646,6 +646,8 @@ subroutine atmosphere_dynamics ( Time )
integer :: k, w_diff, nt_dyn, n_split_loc, seconds, days
logical :: used
real :: rdt
real time_total

type(time_type) :: atmos_time

!---- Call FV dynamics -----
Expand All @@ -655,6 +657,8 @@ subroutine atmosphere_dynamics ( Time )
n = mygrid

call get_time (time, seconds, days)
time_total = seconds + 86400. * days

! if (seconds < 10800 .and. days == 0) then
! n_split_loc = (Atm(n)%flagstruct%n_split * 3) / 2
if (seconds < nint(3600*Atm(n)%flagstruct%fhouri) .and. Atm(n)%flagstruct%fac_n_spl > 1.0) then
Expand Down Expand Up @@ -698,7 +702,7 @@ subroutine atmosphere_dynamics ( Time )
Atm(n)%gridstruct, Atm(n)%flagstruct, &
Atm(n)%neststruct, Atm(n)%idiag, Atm(n)%bd, &
Atm(n)%parent_grid, Atm(n)%domain,Atm(n)%diss_est, &
Atm(n)%inline_mp)
Atm(n)%inline_mp, time_total)

call timing_off('fv_dynamics')

Expand Down Expand Up @@ -1760,6 +1764,7 @@ subroutine adiabatic_init(zvir,nudge_dz,time)
real:: xt, p00, q00
integer:: isc, iec, jsc, jec, npz
integer:: m, n, i,j,k, ngc, n_split_loc, days
real time_total

character(len=80) :: errstr

Expand Down Expand Up @@ -1833,6 +1838,7 @@ subroutine adiabatic_init(zvir,nudge_dz,time)
enddo

call get_time (time, seconds, days)
time_total = seconds + 86400. * days
if (seconds < nint(3600*Atm(mygrid)%flagstruct%fhouri) .and. Atm(mygrid)%flagstruct%fac_n_spl > 1.0) then
n_split_loc = nint(Atm(mygrid)%flagstruct%n_split * Atm(mygrid)%flagstruct%fac_n_spl)
else
Expand All @@ -1857,7 +1863,8 @@ subroutine adiabatic_init(zvir,nudge_dz,time)
Atm(mygrid)%cx, Atm(mygrid)%cy, Atm(mygrid)%ze0, Atm(mygrid)%flagstruct%hybrid_z, &
Atm(mygrid)%gridstruct, Atm(mygrid)%flagstruct, &
Atm(mygrid)%neststruct, Atm(mygrid)%idiag, Atm(mygrid)%bd, Atm(mygrid)%parent_grid, &
Atm(mygrid)%domain,Atm(mygrid)%diss_est, Atm(mygrid)%inline_mp)
Atm(mygrid)%domain,Atm(mygrid)%diss_est, &
Atm(mygrid)%inline_mp, time_total)
! Backward
call fv_dynamics(Atm(mygrid)%npx, Atm(mygrid)%npy, npz, nq, Atm(mygrid)%ng, -dt_atmos, 0., &
Atm(mygrid)%flagstruct%fill, Atm(mygrid)%flagstruct%reproduce_sum, kappa, cp_air, zvir, &
Expand All @@ -1872,7 +1879,8 @@ subroutine adiabatic_init(zvir,nudge_dz,time)
Atm(mygrid)%cx, Atm(mygrid)%cy, Atm(mygrid)%ze0, Atm(mygrid)%flagstruct%hybrid_z, &
Atm(mygrid)%gridstruct, Atm(mygrid)%flagstruct, &
Atm(mygrid)%neststruct, Atm(mygrid)%idiag, Atm(mygrid)%bd, Atm(mygrid)%parent_grid, &
Atm(mygrid)%domain,Atm(mygrid)%diss_est, Atm(mygrid)%inline_mp)
Atm(mygrid)%domain,Atm(mygrid)%diss_est, &
Atm(mygrid)%inline_mp, time_total)
!Nudging back to IC
!$omp parallel do default (none) &
!$omp shared (pref, npz, jsc, jec, isc, iec, n, sphum, Atm, u0, v0, t0, dp0, xt, zvir, mygrid, nudge_dz, dz0) &
Expand Down Expand Up @@ -1948,7 +1956,8 @@ subroutine adiabatic_init(zvir,nudge_dz,time)
Atm(mygrid)%cx, Atm(mygrid)%cy, Atm(mygrid)%ze0, Atm(mygrid)%flagstruct%hybrid_z, &
Atm(mygrid)%gridstruct, Atm(mygrid)%flagstruct, &
Atm(mygrid)%neststruct, Atm(mygrid)%idiag, Atm(mygrid)%bd, Atm(mygrid)%parent_grid, &
Atm(mygrid)%domain,Atm(mygrid)%diss_est, Atm(mygrid)%inline_mp)
Atm(mygrid)%domain,Atm(mygrid)%diss_est, &
Atm(mygrid)%inline_mp, time_total)
! Forward call
call fv_dynamics(Atm(mygrid)%npx, Atm(mygrid)%npy, npz, nq, Atm(mygrid)%ng, dt_atmos, 0., &
Atm(mygrid)%flagstruct%fill, Atm(mygrid)%flagstruct%reproduce_sum, kappa, cp_air, zvir, &
Expand All @@ -1962,7 +1971,8 @@ subroutine adiabatic_init(zvir,nudge_dz,time)
Atm(mygrid)%cx, Atm(mygrid)%cy, Atm(mygrid)%ze0, Atm(mygrid)%flagstruct%hybrid_z, &
Atm(mygrid)%gridstruct, Atm(mygrid)%flagstruct, &
Atm(mygrid)%neststruct, Atm(mygrid)%idiag, Atm(mygrid)%bd, Atm(mygrid)%parent_grid, &
Atm(mygrid)%domain,Atm(mygrid)%diss_est, Atm(mygrid)%inline_mp)
Atm(mygrid)%domain,Atm(mygrid)%diss_est, &
Atm(mygrid)%inline_mp, time_total)
! Nudging back to IC
!$omp parallel do default (none) &
!$omp shared (nudge_dz,npz, jsc, jec, isc, iec, n, sphum, Atm, u0, v0, t0, dz0, dp0, xt, zvir, mygrid) &
Expand Down
10 changes: 10 additions & 0 deletions driver/fvGFS/fv_nggps_diag.F90
Original file line number Diff line number Diff line change
Expand Up @@ -123,9 +123,19 @@ module fv_nggps_diags_mod
logical :: use_wrtgridcomp_output=.false.
integer :: sphum, liq_wat, ice_wat !< GFDL physics
integer :: rainwat, snowwat, graupel
#ifdef MOLECULAR_DIFFUSION
real :: vrange(2) = (/ -830., 830. /) !< winds for wam
real :: wrange(2) = (/ -300., 300. /) !< vertical wind for wam
real :: trange(2) = (/ 100., 3000. /) !< temperature for wam
#else
real :: vrange(2) = (/ -330., 330. /) !< winds
real :: wrange(2) = (/ -100., 100. /) !< vertical wind
#ifdef MULTI_GASES
real :: trange(2) = (/ 100., 3000. /) !< temperature
#else
real :: trange(2) = (/ 100., 350. /) !< temperature
#endif
#endif
real :: skrange(2) = (/ -10000000.0, 10000000.0 /) !< dissipation estimate for SKEB

! file name
Expand Down
1 change: 1 addition & 0 deletions makefile
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ SRCS_F =
SRCS_F90 = \
./model/a2b_edge.F90 \
./model/multi_gases.F90 \
./model/molecular_diffusion.F90 \
./model/boundary.F90 \
./model/dyn_core.F90 \
./model/fv_arrays.F90 \
Expand Down
Loading