Skip to content

Commit c5c88df

Browse files
authored
Merge pull request #1077 from mzhangw/scidoc_v7
Scientific documentation for CCPP-SCM v7.0.0
2 parents f0fbb34 + 33595ba commit c5c88df

File tree

165 files changed

+6083
-2040
lines changed

Some content is hidden

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

165 files changed

+6083
-2040
lines changed

physics/CONV/Grell_Freitas/cu_gf_deep.F90

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
!>\file cu_gf_deep.F90
22
!! This file is the Grell-Freitas deep convection scheme.
33

4+
!> This module contains the Grell_Freitas deep convection scheme
45
module cu_gf_deep
56
use machine , only : kind_phys
67
use physcons, only : qamin

physics/CONV/Grell_Freitas/cu_gf_driver.F90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
!>\file cu_gf_driver.F90
22
!! This file is scale-aware Grell-Freitas cumulus scheme driver.
33

4-
4+
!> This module contains the scale-aware Grell-Freitas cumulus scheme driver.
55
module cu_gf_driver
66

77
! DH* TODO: replace constants with arguments to cu_gf_driver_run

physics/CONV/Grell_Freitas/cu_gf_driver_post.F90

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
!> \file cu_gf_driver_post.F90
22
!! Contains code related to GF convective schemes to be used within the GFS physics suite.
33

4+
!> This module contains code related to GF convective schemes to be used within the GFS physics suite
45
module cu_gf_driver_post
56

67
implicit none

physics/CONV/Grell_Freitas/cu_gf_driver_pre.F90

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
!> \file cu_gf_driver_pre.F90
22
!! Contains code related to GF convective schemes to be used within the GFS physics suite.
33

4+
!> This module contains code related to GF convective schemes to be used within the GFS physics suite.
45
module cu_gf_driver_pre
56

67
implicit none

physics/CONV/Grell_Freitas/cu_gf_sh.F90

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
!>\file cu_gf_sh.F90
22
!! This file contains Grell-Freitas shallow convection scheme.
33

4+
!> This module contains the Grell-Freitas shallow convection scheme
45
module cu_gf_sh
56
use machine , only : kind_phys
67
!real(kind=kind_phys), parameter:: c1_shal=0.0015! .0005

physics/CONV/SAMF/samfaerosols.F

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
!>\file samfaerosols.F
2+
!!
13
module samfcnv_aerosols
24

35
implicit none

physics/CONV/SAMF/samfshalcnv.f

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
!> \file samfshalcnv.f
2-
!! This file contains the Scale-Aware mass flux Shallow Convection scheme.
2+
!!
33

4+
!> This module contains the Scale-Aware mass flux Shallow Convection scheme.
45
module samfshalcnv
56

67
use samfcnv_aerosols, only : samfshalcnv_aerosols

physics/CONV/SAS/shalcnv.F

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,12 @@
1-
!> \defgroup SASHAL Mass-Flux Shallow Convection
2-
!! @{
3-
!! \brief The Mass-Flux shallow convection scheme parameterizes the effect of shallow convection on the environment much like the \ref SAS scheme with a few key modifications. Perhaps most importantly, no quasi-equilibrium assumption is necessary since the shallow cloud base mass flux is parameterized from the surface buoyancy flux. Further, there are no convective downdrafts, the entrainment rate is greater than for deep convection, and the shallow convection is limited to not extend over the level where \f$p=0.7p_{sfc}\f$.
1+
!> \file shalcnv.F
2+
!! Contains the entire SAS shallow convection scheme.
3+
4+
!> \brief The Mass-Flux shallow convection scheme parameterizes the effect of shallow convection on the environment much like the \ref SAS scheme with a few key modifications. Perhaps most importantly, no quasi-equilibrium assumption is necessary since the shallow cloud base mass flux is parameterized from the surface buoyancy flux. Further, there are no convective downdrafts, the entrainment rate is greater than for deep convection, and the shallow convection is limited to not extend over the level where \f$p=0.7p_{sfc}\f$.
45
!!
56
!! This scheme was designed to replace the previous eddy-diffusivity approach to shallow convection with a mass-flux based approach as it is used for deep convection. Differences between the shallow and deep SAS schemes are presented in Han and Pan (2011) \cite han_and_pan_2011 . Like the deep scheme, it uses the working concepts put forth in Arakawa and Schubert (1974) \cite arakawa_and_schubert_1974 but includes modifications and simplifications from Grell (1993) \cite grell_1993 such as only one cloud type (the deepest possible, up to \f$p=0.7p_{sfc}\f$), rather than a spectrum based on cloud top heights or assumed entrainment rates, although it assumes no convective downdrafts. It contains many modifications associated with deep scheme as discussed in Han and Pan (2011) \cite han_and_pan_2011 , including the calculation of cloud top, a greater CFL-criterion-based maximum cloud base mass flux, and the inclusion of convective overshooting.
67
!!
7-
!! \section diagram Calling Hierarchy Diagram
8+
!! \section diagram_sashal Calling Hierarchy Diagram
89
!! \image html Shallow_SAS_Flowchart.png "Diagram depicting how the SAS shallow convection scheme is called from the GSM physics time loop" height=2cm
9-
!! \section intraphysics Intraphysics Communication
10-
!! This space is reserved for a description of how this scheme uses information from other scheme types and/or how information calculated in this scheme is used in other scheme types.
11-
12-
!> \file shalcnv.F
13-
!! Contains the entire SAS shallow convection scheme.
1410
module shalcnv
1511

1612
implicit none
@@ -80,17 +76,17 @@ end subroutine shalcnv_init
8076
!! \param[out] cnvw convective cloud water (kg/kg)
8177
!! \param[out] cnvc convective cloud cover (unitless)
8278
!!
83-
!! \section general General Algorithm
79+
!! \section general_shalcnv General Algorithm
8480
!! -# Compute preliminary quantities needed for the static and feedback control portions of the algorithm.
8581
!! -# Perform calculations related to the updraft of the entraining/detraining cloud model ("static control").
8682
!! -# Calculate the tendencies of the state variables (per unit cloud base mass flux) and the cloud base mass flux.
8783
!! -# For the "feedback control", calculate updated values of the state variables by multiplying the cloud base mass flux and the tendencies calculated per unit cloud base mass flux from the static control.
88-
!! \section detailed Detailed Algorithm
84+
!! \section detailed_shalcnv Detailed Algorithm
8985
!!
9086
!! \section arg_table_shalcnv_run Argument Table
9187
!! \htmlinclude shalcnv_run.html
9288
!!
93-
!! @{
89+
!> @{
9490
subroutine shalcnv_run( &
9591
& grav,cp,hvap,rv,fv,t0c,rd,cvap,cliq,eps,epsm1, &
9692
& im,km,jcap,delt,delp,prslp,psp,phil,qlc,qli, &
@@ -1341,4 +1337,3 @@ end subroutine shalcnv_run
13411337
13421338
end module shalcnv
13431339
!> @}
1344-
!! @}

physics/CONV/progsigma_calc.f90

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,9 @@
1+
!>\file progsigma_calc.f90
2+
3+
!> This module contains the subroutine that calculates the prognostic
4+
!! updraft area fraction that is used for closure computations in
5+
!! saSAS deep and shallow convection, based on a moisture budget
6+
!! as described in Bengtsson et al. 2022 \cite Bengtsson_2022.
17
module progsigma
28

39
implicit none
@@ -6,14 +12,6 @@ module progsigma
612

713
contains
814

9-
!>\file progsigma_calc.f90
10-
!! This file contains the subroutine that calculates the prognostic
11-
!! updraft area fraction that is used for closure computations in
12-
!! saSAS deep and shallow convection, based on a moisture budget
13-
!! as described in Bengtsson et al. 2022 \cite Bengtsson_2022.
14-
15-
!>\ingroup SAMFdeep
16-
!>\ingroup SAMF_shal
1715
!> This subroutine computes a prognostic updraft area fraction
1816
!! used in the closure computations in the samfdeepcnv.f scheme
1917
!! This subroutine computes a prognostic updraft area fracftion

physics/GWD/cires_orowam2017.f

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
!>\file cires_orowam2017.f
2+
!!
23

3-
4+
!> This module includes the OROGW solver of WAM2017.
45
module cires_orowam2017
56
contains
67

78
!>\defgroup cires_orowam2017_mod CIRES UGWP orowam2017 Module
89
!>This is the OROGW-solver of WAM2017.
9-
!>@{
1010

1111
!>
1212
subroutine oro_wam_2017(im, levs,npt,ipt, kref,kdt,me,master,
@@ -394,4 +394,3 @@ subroutine ugwpv0_tofd1d(levs, sigflt, elvmax, zsurf,
394394
!
395395
end subroutine ugwpv0_tofd1d
396396
end module cires_orowam2017
397-
!>@}

physics/GWD/cires_tauamf_data.F90

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
!>\file cires_tauamf_data.F90
2+
!!
3+
14
module cires_tauamf_data
25

36
use machine, only: kind_phys
@@ -16,6 +19,7 @@ module cires_tauamf_data
1619

1720
contains
1821

22+
!>
1923
subroutine read_tau_amf(me, master, errmsg, errflg)
2024

2125
use netcdf
@@ -70,6 +74,7 @@ subroutine read_tau_amf(me, master, errmsg, errflg)
7074

7175
end subroutine read_tau_amf
7276

77+
!>
7378
subroutine cires_indx_ugwp (npts, me, master, dlat,j1_tau,j2_tau, w1_j1tau, w2_j2tau)
7479

7580
use machine, only: kind_phys
@@ -110,6 +115,7 @@ subroutine cires_indx_ugwp (npts, me, master, dlat,j1_tau,j2_tau, w1_j1tau, w2_j
110115
return
111116
end subroutine cires_indx_ugwp
112117

118+
!>
113119
subroutine tau_amf_interp(me, master, im, idate, fhour, j1_tau,j2_tau, ddy_j1, ddy_j2, tau_ddd)
114120
use machine, only: kind_phys
115121
implicit none
@@ -163,6 +169,7 @@ subroutine tau_amf_interp(me, master, im, idate, fhour, j1_tau,j2_tau, ddy_j1, d
163169

164170
end subroutine tau_amf_interp
165171

172+
!>
166173
subroutine gfs_idate_calendar(idate, fhour, ddd, fddd)
167174

168175
use machine, only: kind_phys

physics/GWD/cires_ugwp.F90

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,17 @@
11
!> \file cires_ugwp.F90
22
!! This file contains the Unified Gravity Wave Physics (UGWP) scheme by Valery Yudin (University of Colorado, CIRES)
3+
4+
!> This module contains the UGWP v0 scheme by Valery Yudin (University of Colorado, CIRES)
5+
!!
36
!! See Valery Yudin's presentation at 2017 NGGPS PI meeting:
47
!! Gravity waves (GWs): Mesoscale GWs transport momentum, energy (heat) , and create eddy mixing in the whole atmosphere domain; Breaking and dissipating GWs deposit: (a) momentum; (b) heat (energy); and create (c) turbulent mixing of momentum, heat, and tracers
58
!! To properly incorporate GW effects (a-c) unresolved by DYCOREs we need GW physics
69
!! "Unified": a) all GW effects due to both dissipation/breaking; b) identical GW solvers for all GW sources; c) ability to replace solvers.
710
!! Unified Formalism:
8-
!! 1. GW Sources: Stochastic and physics based mechanisms for GW-excitations in the lower atmosphere, calibrated by the high-res analyses/forecasts, and observations (3 types of GW sources: orography, convection, fronts/jets).
9-
!! 2. GW Propagation: Unified solver for "propagation, dissipation and breaking" excited from all type of GW sources.
10-
!! 3. GW Effects: Unified representation of GW impacts on the "resolved" flow for all sources (energy-balanced schemes for momentum, heat and mixing).
11+
!! - GW Sources: Stochastic and physics based mechanisms for GW-excitations in the lower atmosphere, calibrated by the high-res analyses/forecasts, and observations (3 types of GW sources: orography, convection, fronts/jets).
12+
!! - GW Propagation: Unified solver for "propagation, dissipation and breaking" excited from all type of GW sources.
13+
!! - GW Effects: Unified representation of GW impacts on the "resolved" flow for all sources (energy-balanced schemes for momentum, heat and mixing).
1114
!! https://www.weather.gov/media/sti/nggps/Presentations%202017/02%20NGGPS_VYUDIN_2017_.pdf
12-
13-
1415
module cires_ugwp
1516

1617
use machine, only: kind_phys
@@ -33,9 +34,7 @@ module cires_ugwp
3334
! ------------------------------------------------------------------------
3435
! CCPP entry points for CIRES Unified Gravity Wave Physics (UGWP) scheme v0
3536
! ------------------------------------------------------------------------
36-
!>\defgroup cires_ugwp_run_mod CIRES Unified Gravity Wave Physics v0 Module
37-
!> @{
38-
!>@ The subroutine initializes the CIRES UGWP V0.
37+
!> The subroutine initializes the CIRES UGWP V0.
3938
!> \section arg_table_cires_ugwp_init Argument Table
4039
!! \htmlinclude cires_ugwp_init.html
4140
!!
@@ -112,7 +111,7 @@ end subroutine cires_ugwp_init
112111
! finalize of cires_ugwp (_finalize)
113112
! -----------------------------------------------------------------------
114113

115-
!>@brief The subroutine finalizes the CIRES UGWP
114+
!> The subroutine finalizes the CIRES UGWP
116115
#if 0
117116
!> \section arg_table_cires_ugwp_finalize Argument Table
118117
!! \htmlinclude cires_ugwp_finalize.html
@@ -445,5 +444,4 @@ subroutine cires_ugwp_run(do_ugwp, me, master, im, levs, ntrac, dtp, kdt, lonr
445444
endif
446445

447446
end subroutine cires_ugwp_run
448-
!> @}
449447
end module cires_ugwp

physics/GWD/cires_ugwp_initialize.F90

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
! init gw-background dissipation
77
!===============================
88

9-
!> Define constants
9+
!> This module contains UGWP v0 initialization schemes
1010
module ugwp_common_v0
1111
!
1212
use machine, only: kind_phys
@@ -95,6 +95,7 @@ end subroutine init_global_gwdis_v0
9595
! ugwpv0_oro_init
9696
!
9797
!=========================================================================
98+
!> This module contains orographic wave source schemes for UGWP v0.
9899
module ugwpv0_oro_init
99100

100101
use ugwp_common_v0, only : bnv2min, grav, grcp, fv, grav, cpd, grcp, pi
@@ -225,6 +226,7 @@ end module ugwpv0_oro_init
225226
! Part -3 init wave solvers
226227
!===============================
227228

229+
!> This module contains initialization of wave solvers for UGWP v0
228230
module ugwpv0_lsatdis_init
229231
implicit none
230232

@@ -270,6 +272,7 @@ end subroutine initsolv_lsatdis_v0
270272
end module ugwpv0_lsatdis_init
271273
!
272274
!
275+
!>This module contains init-solvers for "broad" non-stationary multi-wave spectra
273276
module ugwpv0_wmsdis_init
274277

275278
use ugwp_common_v0, only : pi, pi2

physics/GWD/cires_ugwp_module.F90

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
!>\file cires_ugwp_module.F90
2+
!!
23

4+
!>This module contains the UGWPv0 driver
35
module cires_ugwpv0_module
46

57
!
@@ -9,33 +11,33 @@ module cires_ugwpv0_module
911
implicit none
1012
logical :: module_is_initialized
1113

12-
logical :: do_physb_gwsrcs = .false. ! control for physics-based GW-sources
13-
logical :: do_rfdamp = .false. ! control for Rayleigh friction inside ugwp_driver
14+
logical :: do_physb_gwsrcs = .false. !< control for physics-based GW-sources
15+
logical :: do_rfdamp = .false. !< control for Rayleigh friction inside ugwp_driver
1416

1517
real, parameter :: arad=6370.e3
1618
real, parameter :: pi = atan(1.0)
1719
real, parameter :: pi2 = 2.*pi
1820
real, parameter :: hps = 7000.
1921
real, parameter :: hpskm = hps/1000.
2022
!
21-
real :: kxw = 6.28e-3/100. ! single horizontal wavenumber of ugwp schemes
23+
real :: kxw = 6.28e-3/100. !< single horizontal wavenumber of ugwp schemes
2224
real, parameter :: ricrit = 0.25
2325
real, parameter :: frcrit = 0.50
2426
real, parameter :: linsat = 1.00
2527
real, parameter :: linsat2 = linsat*linsat
2628
!
2729

28-
integer :: knob_ugwp_solver=1 ! 1, 2, 3, 4 - (linsat, ifs_2010, ad_gfdl, dsp_dis)
29-
integer, dimension(4) :: knob_ugwp_source ! [1,1,1,0] - (oro, fronts, conv, imbf-owp]
30-
integer, dimension(4) :: knob_ugwp_wvspec ! number of waves for- (oro, fronts, conv, imbf-owp]
31-
integer, dimension(4) :: knob_ugwp_azdir ! number of wave azimuths for- (oro, fronts, conv, imbf-owp]
32-
integer, dimension(4) :: knob_ugwp_stoch ! 1 - deterministic ; 0 - stochastic
33-
real, dimension(4) :: knob_ugwp_effac ! efficiency factors for- (oro, fronts, conv, imbf-owp]
30+
integer :: knob_ugwp_solver=1 !< 1, 2, 3, 4 - (linsat, ifs_2010, ad_gfdl, dsp_dis)
31+
integer, dimension(4) :: knob_ugwp_source !< [1,1,1,0] - (oro, fronts, conv, imbf-owp]
32+
integer, dimension(4) :: knob_ugwp_wvspec !< number of waves for- (oro, fronts, conv, imbf-owp]
33+
integer, dimension(4) :: knob_ugwp_azdir !< number of wave azimuths for- (oro, fronts, conv, imbf-owp]
34+
integer, dimension(4) :: knob_ugwp_stoch !< 1 - deterministic ; 0 - stochastic
35+
real, dimension(4) :: knob_ugwp_effac !< efficiency factors for- (oro, fronts, conv, imbf-owp]
3436

35-
integer :: knob_ugwp_doaxyz=1 ! 1 -gwdrag
36-
integer :: knob_ugwp_doheat=1 ! 1 -gwheat
37-
integer :: knob_ugwp_dokdis=0 ! 1 -gwmixing
38-
integer :: knob_ugwp_ndx4lh = 2 ! n-number of "unresolved" "n*dx" for lh_gw
37+
integer :: knob_ugwp_doaxyz=1 !< 1 -gwdrag
38+
integer :: knob_ugwp_doheat=1 !< 1 -gwheat
39+
integer :: knob_ugwp_dokdis=0 !< 1 -gwmixing
40+
integer :: knob_ugwp_ndx4lh = 2 !< n-number of "unresolved" "n*dx" for lh_gw
3941
!
4042
integer :: ugwp_azdir
4143
integer :: ugwp_stoch
@@ -45,12 +47,12 @@ module cires_ugwpv0_module
4547
real :: ugwp_effac
4648

4749
!
48-
data knob_ugwp_source / 1,0, 1, 0 / ! oro-conv-fjet-okw-taub_lat: 1-active 0-off
49-
data knob_ugwp_wvspec /1,32,32,32/ ! number of waves for- (oro, fronts, conv, imbf-owp, taulat]
50-
data knob_ugwp_azdir /2, 4, 4,4/ ! number of wave azimuths for- (oro, fronts, conv, imbf-okwp]
51-
data knob_ugwp_stoch /0, 0, 0,0/ ! 0 - deterministic ; 1 - stochastic, non-activated option
52-
data knob_ugwp_effac /1.,1.,1.,1./ ! efficiency factors for- (oro, fronts, conv, imbf-owp]
53-
integer :: knob_ugwp_version = 0 ! version control had sense under IPD in CCPP=> to SUITES
50+
data knob_ugwp_source / 1,0, 1, 0 / !< oro-conv-fjet-okw-taub_lat: 1-active 0-off
51+
data knob_ugwp_wvspec /1,32,32,32/ !< number of waves for- (oro, fronts, conv, imbf-owp, taulat]
52+
data knob_ugwp_azdir /2, 4, 4,4/ !< number of wave azimuths for- (oro, fronts, conv, imbf-okwp]
53+
data knob_ugwp_stoch /0, 0, 0,0/ !< 0 - deterministic ; 1 - stochastic, non-activated option
54+
data knob_ugwp_effac /1.,1.,1.,1./ !< efficiency factors for- (oro, fronts, conv, imbf-owp]
55+
integer :: knob_ugwp_version = 0 !< version control had sense under IPD in CCPP=> to SUITES
5456
integer :: launch_level = 55
5557
!
5658
namelist /cires_ugwp_nml/ knob_ugwp_solver, knob_ugwp_source,knob_ugwp_wvspec, knob_ugwp_azdir, &

physics/GWD/cires_ugwp_post.F90

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
!> \file cires_ugwp_post.F90
2-
!! This file contains
2+
!! This file contains the calcualtion of the UGWP v0 diagnostics
33

4+
!> This module contains the calculation of the UGWP v0 diagnostics (ldiag_ugwp)
45
module cires_ugwp_post
56

67
contains

physics/GWD/cires_ugwp_triggers.F90

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
!>\file cires_ugwp_triggers.F90
22
!!
33

4+
!> This module contains routines describing the the latitudinal shape of
5+
!! vertical momentum flux function in UGWP v0.
46
module cires_ugwp_triggers
57
contains
68
!
79

10+
!>
811
subroutine slat_geos5_tamp_v0(im, tau_amp, xlatdeg, tau_gw)
912
!=================
1013
! GEOS-5 & MERRA-2 lat-dependent GW-source function tau(z=Zlaunch) =rho*<u'w'>
@@ -38,6 +41,7 @@ subroutine slat_geos5_tamp_v0(im, tau_amp, xlatdeg, tau_gw)
3841
!
3942
end subroutine slat_geos5_tamp_v0
4043

44+
!>
4145
subroutine slat_geos5_v0(im, xlatdeg, tau_gw)
4246
!=================
4347
! GEOS-5 & MERRA-2 lat-dependent GW-source function tau(z=Zlaunch) =rho*<u'w'>
@@ -76,7 +80,8 @@ subroutine slat_geos5_v0(im, xlatdeg, tau_gw)
7680
enddo
7781
!
7882
end subroutine slat_geos5_v0
79-
!
83+
84+
!>
8085
subroutine init_nazdir_v0(naz, xaz, yaz)
8186
use ugwp_common_v0 , only : pi2
8287
implicit none

physics/GWD/cires_ugwpv1_initialize.F90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
! Part-0 specifications of common constants, limiters and "criiical" values
1313
!
1414
!
15-
15+
!> This module contains common constants, limiters and "critical" values in
1616
module ugwp_common
1717
!
1818
use machine, only : kind_phys

0 commit comments

Comments
 (0)