@@ -3596,13 +3596,13 @@ subroutine GFS_externaldiag_populate (ExtDiag, Model, Statein, Stateout, Sfcprop
3596
3596
3597
3597
! idx = idx + 1
3598
3598
! ExtDiag(idx)%axes = 2
3599
- ! ExtDiag(idx)%name = 'ktop_shallow '
3599
+ ! ExtDiag(idx)%name = 'ktop_plume '
3600
3600
! ExtDiag(idx)%desc = 'k-level of plume top'
3601
3601
! ExtDiag(idx)%unit = 'n/a'
3602
3602
! ExtDiag(idx)%mod_name = 'gfs_sfc'
3603
3603
! allocate (ExtDiag(idx)%data(nblks))
3604
3604
! do nb = 1,nblks
3605
- ! ExtDiag(idx)%data(nb)%var2 => real(IntDiag(nb)%ktop_shallow (:),kind=kind_phys)
3605
+ ! ExtDiag(idx)%data(nb)%var2 => real(IntDiag(nb)%ktop_plume (:),kind=kind_phys)
3606
3606
! enddo
3607
3607
3608
3608
idx = idx + 1
@@ -3707,6 +3707,120 @@ subroutine GFS_externaldiag_populate (ExtDiag, Model, Statein, Stateout, Sfcprop
3707
3707
do nb = 1 ,nblks
3708
3708
ExtDiag(idx)% data (nb)% var3 = > Tbd(nb)% QKE(:,:)
3709
3709
enddo
3710
+
3711
+ if (Model% bl_mynn_output > 0 ) then
3712
+
3713
+ idx = idx + 1
3714
+ ExtDiag(idx)% axes = 3
3715
+ ExtDiag(idx)% name = ' edmf_a'
3716
+ ExtDiag(idx)% desc = ' updraft area fraction (from mynn)'
3717
+ ExtDiag(idx)% unit = ' -'
3718
+ ExtDiag(idx)% mod_name = ' gfs_phys'
3719
+ allocate (ExtDiag(idx)% data (nblks))
3720
+ do nb = 1 ,nblks
3721
+ ExtDiag(idx)% data (nb)% var3 = > IntDiag(nb)% edmf_a(:,:)
3722
+ enddo
3723
+
3724
+ idx = idx + 1
3725
+ ExtDiag(idx)% axes = 3
3726
+ ExtDiag(idx)% name = ' edmf_w'
3727
+ ExtDiag(idx)% desc = ' mean updraft vertical veloctity (mynn)'
3728
+ ExtDiag(idx)% unit = ' m s-1'
3729
+ ExtDiag(idx)% mod_name = ' gfs_phys'
3730
+ allocate (ExtDiag(idx)% data (nblks))
3731
+ do nb = 1 ,nblks
3732
+ ExtDiag(idx)% data (nb)% var3 = > IntDiag(nb)% edmf_w(:,:)
3733
+ enddo
3734
+
3735
+ idx = idx + 1
3736
+ ExtDiag(idx)% axes = 3
3737
+ ExtDiag(idx)% name = ' edmf_qt'
3738
+ ExtDiag(idx)% desc = ' updraft total water (from mynn)'
3739
+ ExtDiag(idx)% unit = ' kg kg-1'
3740
+ ExtDiag(idx)% mod_name = ' gfs_phys'
3741
+ allocate (ExtDiag(idx)% data (nblks))
3742
+ do nb = 1 ,nblks
3743
+ ExtDiag(idx)% data (nb)% var3 = > IntDiag(nb)% edmf_qt(:,:)
3744
+ enddo
3745
+
3746
+ idx = idx + 1
3747
+ ExtDiag(idx)% axes = 3
3748
+ ExtDiag(idx)% name = ' edmf_thl'
3749
+ ExtDiag(idx)% desc = ' mean liquid potential temperature (mynn)'
3750
+ ExtDiag(idx)% unit = ' K'
3751
+ ExtDiag(idx)% mod_name = ' gfs_phys'
3752
+ allocate (ExtDiag(idx)% data (nblks))
3753
+ do nb = 1 ,nblks
3754
+ ExtDiag(idx)% data (nb)% var3 = > IntDiag(nb)% edmf_thl(:,:)
3755
+ enddo
3756
+
3757
+ idx = idx + 1
3758
+ ExtDiag(idx)% axes = 3
3759
+ ExtDiag(idx)% name = ' edmf_ent'
3760
+ ExtDiag(idx)% desc = ' updraft entrainment rate (from mynn)'
3761
+ ExtDiag(idx)% unit = ' m-1'
3762
+ ExtDiag(idx)% mod_name = ' gfs_phys'
3763
+ allocate (ExtDiag(idx)% data (nblks))
3764
+ do nb = 1 ,nblks
3765
+ ExtDiag(idx)% data (nb)% var3 = > IntDiag(nb)% edmf_ent(:,:)
3766
+ enddo
3767
+
3768
+ idx = idx + 1
3769
+ ExtDiag(idx)% axes = 3
3770
+ ExtDiag(idx)% name = ' edmf_qc'
3771
+ ExtDiag(idx)% desc = ' mean updraft liquid water (mynn)'
3772
+ ExtDiag(idx)% unit = ' kg kg-1'
3773
+ ExtDiag(idx)% mod_name = ' gfs_phys'
3774
+ allocate (ExtDiag(idx)% data (nblks))
3775
+ do nb = 1 ,nblks
3776
+ ExtDiag(idx)% data (nb)% var3 = > IntDiag(nb)% edmf_qc(:,:)
3777
+ enddo
3778
+
3779
+ idx = idx + 1
3780
+ ExtDiag(idx)% axes = 3
3781
+ ExtDiag(idx)% name = ' sub_thl'
3782
+ ExtDiag(idx)% desc = ' subsidence temperature tendency (from mynn)'
3783
+ ExtDiag(idx)% unit = ' K s-1'
3784
+ ExtDiag(idx)% mod_name = ' gfs_phys'
3785
+ allocate (ExtDiag(idx)% data (nblks))
3786
+ do nb = 1 ,nblks
3787
+ ExtDiag(idx)% data (nb)% var3 = > IntDiag(nb)% sub_thl(:,:)
3788
+ enddo
3789
+
3790
+ idx = idx + 1
3791
+ ExtDiag(idx)% axes = 3
3792
+ ExtDiag(idx)% name = ' sub_sqv'
3793
+ ExtDiag(idx)% desc = ' subsidence water vapor tendency (mynn)'
3794
+ ExtDiag(idx)% unit = ' kg kg-1 s-1'
3795
+ ExtDiag(idx)% mod_name = ' gfs_phys'
3796
+ allocate (ExtDiag(idx)% data (nblks))
3797
+ do nb = 1 ,nblks
3798
+ ExtDiag(idx)% data (nb)% var3 = > IntDiag(nb)% sub_sqv(:,:)
3799
+ enddo
3800
+
3801
+ idx = idx + 1
3802
+ ExtDiag(idx)% axes = 3
3803
+ ExtDiag(idx)% name = ' det_thl'
3804
+ ExtDiag(idx)% desc = ' detrainment temperature tendency (from mynn)'
3805
+ ExtDiag(idx)% unit = ' K s-1'
3806
+ ExtDiag(idx)% mod_name = ' gfs_phys'
3807
+ allocate (ExtDiag(idx)% data (nblks))
3808
+ do nb = 1 ,nblks
3809
+ ExtDiag(idx)% data (nb)% var3 = > IntDiag(nb)% det_thl(:,:)
3810
+ enddo
3811
+
3812
+ idx = idx + 1
3813
+ ExtDiag(idx)% axes = 3
3814
+ ExtDiag(idx)% name = ' det_sqv'
3815
+ ExtDiag(idx)% desc = ' detrainment water vapor tendency (mynn)'
3816
+ ExtDiag(idx)% unit = ' kg kg-1 s-1'
3817
+ ExtDiag(idx)% mod_name = ' gfs_phys'
3818
+ allocate (ExtDiag(idx)% data (nblks))
3819
+ do nb = 1 ,nblks
3820
+ ExtDiag(idx)% data (nb)% var3 = > IntDiag(nb)% det_sqv(:,:)
3821
+ enddo
3822
+
3823
+ endif
3710
3824
endif
3711
3825
#endif
3712
3826
@@ -3910,6 +4024,40 @@ subroutine GFS_externaldiag_populate (ExtDiag, Model, Statein, Stateout, Sfcprop
3910
4024
! rab ExtDiag(idx)%unit = 'kg/kg/s'
3911
4025
! rab ExtDiag(idx)%mod_name = 'gfs_phys'
3912
4026
4027
+ ! Auxiliary 2d arrays to output (for debugging)
4028
+ do num= 1 ,Model% naux2d
4029
+ write (xtra,' (I2.2)' ) num
4030
+ idx = idx + 1
4031
+ ExtDiag(idx)% axes = 2
4032
+ ExtDiag(idx)% name = ' aux2d_' // trim (xtra)
4033
+ ExtDiag(idx)% desc = ' auxiliary 2d array ' // trim (xtra)
4034
+ ExtDiag(idx)% unit = ' unknown'
4035
+ ExtDiag(idx)% mod_name = ' gfs_phys'
4036
+ ExtDiag(idx)% intpl_method = ' bilinear'
4037
+ ExtDiag(idx)% time_avg = Model% aux2d_time_avg(num)
4038
+ allocate (ExtDiag(idx)% data (nblks))
4039
+ do nb = 1 ,nblks
4040
+ ExtDiag(idx)% data (nb)% var2 = > IntDiag(nb)% aux2d(:,num)
4041
+ enddo
4042
+ enddo
4043
+
4044
+ ! Auxiliary 3d arrays to output (for debugging)
4045
+ do num= 1 ,Model% naux3d
4046
+ write (xtra,' (I2.2)' ) num
4047
+ idx = idx + 1
4048
+ ExtDiag(idx)% axes = 3
4049
+ ExtDiag(idx)% name = ' aux3d_' // trim (xtra)
4050
+ ExtDiag(idx)% desc = ' auxiliary 3d array ' // trim (xtra)
4051
+ ExtDiag(idx)% unit = ' unknown'
4052
+ ExtDiag(idx)% mod_name = ' gfs_phys'
4053
+ ExtDiag(idx)% intpl_method = ' bilinear'
4054
+ ExtDiag(idx)% time_avg = Model% aux3d_time_avg(num)
4055
+ allocate (ExtDiag(idx)% data (nblks))
4056
+ do nb = 1 ,nblks
4057
+ ExtDiag(idx)% data (nb)% var3 = > IntDiag(nb)% aux3d(:,:,num)
4058
+ enddo
4059
+ enddo
4060
+
3913
4061
end subroutine GFS_externaldiag_populate
3914
4062
3915
4063
#ifdef CCPP
0 commit comments