ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
ERF_WDM6_Fortran_Interface.H
Go to the documentation of this file.
1 #ifndef ERF_WDM6_FORTRAN_INTERFACE_H
2 #define ERF_WDM6_FORTRAN_INTERFACE_H
3 
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
7 
8 // WDM6 initialization
9 // Adds ccn0 parameter compared to WSM6
10 void mp_wdm6_init_c(double den0, double denr, double dens,
11  double cl, double cpv, double ccn0, int hail_opt);
12 
13 // WDM6 run interface
14 // Adds nn, nc, nr arrays and ccn0, xland parameters compared to WSM6
16  double* t,
17  double* qv, double* qc, double* qi, double* qr, double* qs, double* qg,
18  double* nn, double* nc, double* nr, // WDM6: number concentrations
19  double* den, double* p, double* delz,
20  double delt, double g, double cpd, double cpv, double rd, double rv,
21  double t0c, double ep1, double ep2, double qmin, double xls,
22  double xlv0, double xlf0, double den0, double denr, double cliq, double cice, double psat,
23  double ccn0, // WDM6: CCN concentration
24  double* xland, // WDM6: land/water mask
25  double* rain, double* rainncv, double* sr,
26  double* snow, double* snowncv, double* graupel, double* graupelncv,
27  int ims, int ime, int jms, int jme, int kms, int kme,
28  int its, int ite, int jts, int jte, int kts, int kte,
29  int microphysics_debug, int diag_i_dbg, int diag_j_dbg);
30 
31 #ifdef __cplusplus
32 }
33 #endif
34 
35 #endif
void mp_wdm6_run_c(double *t, double *qv, double *qc, double *qi, double *qr, double *qs, double *qg, double *nn, double *nc, double *nr, double *den, double *p, double *delz, double delt, double g, double cpd, double cpv, double rd, double rv, double t0c, double ep1, double ep2, double qmin, double xls, double xlv0, double xlf0, double den0, double denr, double cliq, double cice, double psat, double ccn0, double *xland, double *rain, double *rainncv, double *sr, double *snow, double *snowncv, double *graupel, double *graupelncv, int ims, int ime, int jms, int jme, int kms, int kme, int its, int ite, int jts, int jte, int kts, int kte, int microphysics_debug, int diag_i_dbg, int diag_j_dbg)
void mp_wdm6_init_c(double den0, double denr, double dens, double cl, double cpv, double ccn0, int hail_opt)
@ qv
Definition: ERF_Kessler.H:30
@ nc
Definition: ERF_Morrison.H:45
@ nr
Definition: ERF_Morrison.H:46
@ qc
Definition: ERF_SatAdj.H:41
@ qi
Definition: ERF_WDM6.H:27
@ qg
Definition: ERF_WDM6.H:30
@ qs
Definition: ERF_WDM6.H:29
@ nn
Definition: ERF_WDM6.H:31
@ graupel
Definition: ERF_NOAHMP_Fields.H:133
@ rain
Definition: ERF_NOAHMP_Fields.H:131
@ snow
Definition: ERF_NOAHMP_Fields.H:132
@ den
Definition: ERF_AdvanceWDM6.cpp:270
@ qr
Definition: ERF_AdvanceWDM6.cpp:269
@ delz
Definition: ERF_WSM6.H:192
@ t
Definition: ERF_WSM6.H:183
@ p
Definition: ERF_WSM6.H:191
real(c_double), parameter cice
Definition: ERF_module_model_constants.F90:30
real(c_double), parameter g
Definition: ERF_module_model_constants.F90:19
real(c_double), parameter cliq
Definition: ERF_module_model_constants.F90:29
real(c_double), parameter xlv0
Definition: ERF_module_model_constants.F90:51
real(c_double), parameter cpv
Definition: ERF_module_model_constants.F90:26
real(c_double), parameter xls
Definition: ERF_module_model_constants.F90:56
real(c_double), parameter psat
Definition: ERF_module_model_constants.F90:31
real(kind=kind_phys), parameter, private dens
Definition: ERF_module_mp_wdm6.F90:61