-
Notifications
You must be signed in to change notification settings - Fork 0
/
GFDL_MP.tex
2432 lines (1968 loc) · 187 KB
/
GFDL_MP.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Source Code of the 'GFDL Cloud Microphysics' Document
% Maintainer: Linjiong Zhou (linjiong.zhou@noaa.gov)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\documentclass[letterpaper,titlepage,10pt]{article}
\usepackage[margin=1in]{geometry}
\usepackage{natbib}
\usepackage{color}
\usepackage{bm}
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{diagbox}
%\usepackage{indentfirst}
\usepackage{natbib}
\PassOptionsToPackage{hyphens}{url}\usepackage{hyperref}
%\usepackage{hyperref}
\usepackage[titletoc,title]{appendix}
\usepackage{longtable}
\hypersetup{
colorlinks=true,
linkcolor=blue,
filecolor=blue,
urlcolor=blue,
anchorcolor=blue,
citecolor=blue,
}
\urlstyle{same}
\setlength\parindent{0pt}
\setlength{\parskip}{0.5em}
\setlength{\bibsep}{0pt plus 0.3ex}
\linespread{1.2}
\numberwithin{equation}{section}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
%\lhead{\leftmark}
%\cfoot{\thepage}
\fancyhead[RE,LO]{\leftmark}
\fancyfoot[C]{\thepage}
\renewcommand{\sectionmark}[1]{
\ifnum\value{section}>0
\markboth{\thesection{} \ \ \uppercase{#1}}{}
\else
\markboth{\uppercase{#1}}{}
\fi}
\begin{document}
%------------------------------------------------------------------------------
\begin{titlepage}
\title{\textbf{\Huge{The GFDL Cloud Microphysics Parameterization}}}
\author{\Large{Linjiong Zhou}\\[0.2cm]\large{\emph{Princeton University}}\\[0.2cm]\Large{Lucas Harris}\\[0.2cm]\large{\emph{NOAA-GFDL}}\\[0.2cm]\Large{Jan-Huey Chen}\\[0.2cm]\large{\emph{UCAR / NOAA-GFDL}}\\[8cm]}
\date{\textbf{Document Version 4.0}\\[0.2cm]July 1, 2022}
\end{titlepage}
\maketitle
%------------------------------------------------------------------------------
\setlength{\parskip}{0em}
\pagenumbering{gobble}
\tableofcontents
\newpage
\pagenumbering{arabic}
\setlength{\parskip}{1.2em}
%------------------------------------------------------------------------------
\section{Introduction}
Clouds play critical roles in our daily weather and in the global energy and water budgets that regulate the climate of the Earth \citep{lamb2011phys, houze2014clou}. The formation and evolution of clouds significantly impact precipitation forecasts in numerical weather prediction \citep{seifert2005atwo, morrison2008anov, baldauf2011oper, bauer2015theq}. Clouds and their impacts on solar and thermal radiation are among the most challenging aspects of climate prediction \citep{trenberth2009eart, stephens2012anup, wild2019thec}. Therefore, the representation of clouds in atmospheric models has to be paid particular attention to. Among all physical processes in a model, cloud microphysics is less well represented but is of critical importance. Because the processes are not readily resolved in time and space, cloud microphysics parameterization is essential from large-eddy to global simulations \citep{morrison2008anov, kogan2013acum, nogherotto2016nume}.
%------------------------------------------------------------------------------
\subsection{History}
Two cloud microphysics schemes have been developed at the Geophysical Fluid Dynamics Laboratory (GFDL) for use in global climate and weather models. One is the Rotstayn-Klein cloud microphysics scheme \citep{rotstayn1997aphy, klein1999vali, rotstayn2000asch, jakob2000apar}; the other one is a single-moment five-category cloud microphysics scheme \citep{chen2011ther, chen2013seas, zhou2019towa, harris2020gfdl, zhou2022impr}. This document focuses on the latter one. The single-moment five-category cloud microphysics scheme (GFDL MP for short hereafter) was developed based on the Lin-Lord-Krueger cloud microphysics scheme \citep{lin1983bulk, lord1984role, krueger1995impr} formerly used in the GFDL ZETAC regional model \citep{pauluis2006sens, knutson2007simu, knutson2008simu}. It was substantially revised and redesigned by Dr. Shian-Jiann Lin for the GFDL global high-resolution model HiRAM (High-Resolution Atmospheric Model) in the early 2000s \citep{zhao2009simu, chen2011ther, chen2013seas, harris2016high, gao2017impa, gao2019impr}. This version can be called as GFDL MP version 0 (GFDL MP v0). It is being continually developed and maintained by the FV3 team for various applications ranging from convective-scale to seasonal-scale prediction, from regional to global domains. We released GFDL MP v1 as in \citep{zhou2019towa}, and GFDL MP v2 as in \citet{harris2020gfdl}. In addition, for climate and very-long-time simulation, it is widely recognized that a double-moment scheme (or other added complexity schemes such as triple-moment or spectral bin schemes) can improve the representation of clouds and cloud feedbacks \citep{reisner1998expl, swann1998sens, luo2008arct, morrison2009impa, dawson2010comp, milbrandt2010sedi, jung2012ense, molthan2012comp, vanweverberg2012sens, baba2014depe, jin2014thei, igel2015make}. Therefore, the GFDL MP was rewritten entirely in early 2021 to allow the future development of the double-moment capability for climate simulation and the weather to seasonal prediction \citep{zhou2022impr}. This version can be called as GFDL MP v3. This document has been updated to represent the GFDL MP v2 that was briefly described in \citet{harris2020gfdl}. The latest development in GFDL MP v3 described in \citet{zhou2022impr} will be included in the next release of this document.
%------------------------------------------------------------------------------
\subsection{Features}
The GFDL MP was designed to be integrated within the Finite-Volume Cubed-Sphere Dynamical Core (FV3), thus it has the following featured attributes that are more or less originated from the FV3 \citep{zhou2019towa, harris2020gfdl}. The first feature is inline cloud microphysics. All cloud processes are embedded within the Lagrangian-to-Eulerian remapping in the FV3 dynamical core and can be updated more frequently than the rest of the physics. The second feature is fast and stable sedimentation. Time-implicit monotonic scheme and piecewise parabolic method are applied to falling condensates, ensuring shape preservation and stability without subcycling (see section \ref{sec:sed}). The third feature is consistent thermodynamics. Thermodynamic consistency is maintained between the dynamics and the physics by considering the heat content of the condensates. As a result, the total moist energy is precisely conserved within the cloud microphysics scheme (see section \ref{sec:the}). The fourth feature is sedimentation effect. Condensates carry heat and momentum during the sedimentation processes (see section \ref{sec:sed}). The fifth feature is scale awareness. Scale awareness is achieved by an assumed horizontal subgrid variability and a second-order finite-volume-type vertical reconstruction for autoconversion processes (see section \ref{sec:the}).
%------------------------------------------------------------------------------
\subsection{Application}
The GFDL MP was originally developed within HiRAM as one of its essential components. HiRAM showed excellent performance in the convective-scale forecast, sub-seasonal to seasonal prediction, and climate simulation \citep{chen2011ther, chen2013seas, harris2016high, gao2017impa, gao2019impr}. This cloud microphysics scheme has also been an option of the GFDL modeling system suites for most 25-km resolution configurations and radiative-convective equilibrium (RCE) simulations \citep{jeevanjee2017vert, jeevanjee2022onth}. In 2011, this cloud microphysics scheme has been adopted by the climate modeling system of the Institute of Atmospheric Physics (IAP) at the Chinese Academy of Sciences (CAS). The IAP / CAS model with this cloud microphysics scheme achieves excellent global energy and water balance, improved Madden-Julian Oscillation (MJO), and hurricane predictions \citep{zhou2015glob, li2019eval, he2019casf}. In 2016, the GFDL MP was implemented into the Next Generation Global Prediction System (NGGPS) to replace the current Zhao-Carr cloud microphysics scheme \citep{zhao1997apro}. With this upgrade, the NGGPS significantly outperforms the "Legacy" Spectral Global Forecast System (GFS) in the global forecast skill \citep{zhou2019towa, harris2020gfdl, zhou2022impr} and hurricane prediction \citep{chen2019adva, chen2019eval}. This model also shows skillful predictions of convective storms over the contiguous United States \citep{zhou2019towa, harris2019expl}. On June 12, 2019, the National Weather Service (NWS) upgraded its operational GFS to version 15 which included the FV3 dynamical core as well as the GFDL MP (\url{https://www.emc.ncep.noaa.gov/gmb/STATS/html/model_changes.html}). The most up-to-date GFS version 16 still adopts the GFDL MP since it helps to produce excellent forecasts. The NWS's Hurricane Analysis and Forecast System (HAFS) is also using this cloud microphysics scheme for hurricane predictions\citep{dong2020thee, hazelton2021unde}. More recently, the National Aeronautics and Space Administration (NASA) Goddard Earth Observing System Model, Version 5 (GEOS-5) adopted this cloud microphysics scheme in their cloud-resolving simulations \citep{arnold2020impa}.
%------------------------------------------------------------------------------
\subsection{Structure}
This document is organized as follows: Section 2 describes the basic theory of the cloud microphysics scheme, which includes basic equations, definition of meteorological fields, size distribution, subgrid variability, conversion rate, saturation water vapor pressure, and energy conservation. Section 3 describes all cloud microphysical processes, which includes saturation adjustment, accretion, autoconversion, freezing / melting, and others. Section 4 describes the equations to calculate sedimentation and precipitation. Section 5 describes some diagnosis outputs, which are cloud fraction, radar reflectivity, cloud effective radius. The appendices provide further information on symbols, constants used in this document, namelist of parameters, and update records.
%------------------------------------------------------------------------------
\newpage
\section{Theory}
\label{sec:the}
%------------------------------------------------------------------------------
\subsection{Basic Equations}
Like many other single-moment bulk cloud microphysics schemes \citep{rutledge1983them, rutledge1984them, cotton1986nume, dudhia1989nume, tao1993godd, walko1995newr, thompson2004expl, hong2006thew, nogherotto2016nume}, the GFDL MP consists of water vapor ($q_{vapor}$) and five categories of hydrometeors defined as the mass mixing ratio of cloud water ($q_{water}$), cloud ice ($q_{ice}$), rain ($q_{rain}$), snow ($q_{snow}$), and graupel or hail ($q_{graupel}$ or $q_{hail}$) and contains various processes to parameterize the conversions between them (Figure \ref{fig:fig1}). As a single-moment cloud microphysics scheme, all other moments of the hydrometeor size distribution are prescribed or diagnosed. For example, the number concentration (zeroth moment) is prescribed as a constant for all categories of hydrometeors. The effective radius (third moment divided by second moment) and radar reflectivity (sixth moment) are diagnosed at the end of the cloud microphysics scheme.
\begin{figure}[!h]
\centering
\includegraphics[width=\textwidth]{fig1.pdf}
\caption{Schematic of the GFDL MP. The yellow box indicates prognostic water vapor, blue boxes indicate prognostic liquid-phase hydrometeors, and gray boxes indicate prognostic solid-phase hydrometeors. Red / Blue arrows indicate processes involving heating / cooling from phase changes, while green arrows indicate conversion and sedimentation processes. The bottom panel shows symbols defined in Table \ref{tab:tab1p} and in Equations \eqref{eqn:1:1} to \eqref{eqn:1:13}. This figure is revised from \citet{zhou2019towa}.}
\label{fig:fig1}
\end{figure}
The prognostic equations governing the mass mixing ratio conversion between hydrometeors shown in Figure \ref{fig:fig1} are written as:
\begin{align}
\dfrac{\partial q_{vapor}}{\partial t} = & Pevap + Pisub + Prevp + Pssub + Pgsub \nonumber \\ & - Pcond - Pidep - Psdep - Pgdep \label{eqn:1:1}\\
\dfrac{\partial q_{water}}{\partial t} = & Pcond + \alpha Pimlt + \epsilon Psmlt + \epsilon Psacw + \epsilon Psacr + \epsilon Pracs \nonumber \\ & - Pevap - Pifr - Pracw - Praut - Pgacw - Pcomp - Pbigg \\
\dfrac{\partial q_{ice}}{\partial t} = & Pidep + \beta Pifr + Pcomp + Pbigg \nonumber \\ & - Pisub - Pimlt - Psaci - Psaut - Pgaci \\
\dfrac{\partial q_{rain}}{\partial t} = & Pracw + Praut + (1 - \alpha) Pimlt + (1 - \epsilon) Psmlt + Pgmlt + (1 - \epsilon) Pascr \nonumber \\ & + (1 - \epsilon) Pracs + (1 - \epsilon) Psacw + Pgacw + Pgacr \nonumber \\ & - Prevp - Psacr - Pgacr - Pgfr \\
\dfrac{\partial q_{snow}}{\partial t} = & Psdep + (1 - \beta) Pifr + Psaci + Psaut + Psacr \nonumber \\ & - Pssub - Psmlt - Pracs - Pgacs - Pgaut - Psacw - Psacr \\
\dfrac{\partial q_{graupel}}{\partial t} = & Pgdep + Pgacw + Pgaci + Pgacr + Pgfr + Pgacs + Pgaut \nonumber \\ & - Pgsub - Pgmlt - Pgacw - Pgacr \label{eqn:1:13},
\end{align}
where $\alpha$, $\beta$, and $\epsilon$ represent the partitioning of $Pimlt$, $Pifr$, $Psmlt$, $Psacw$, $Psacr$, and $Pracs$ in separated microphysical processes. Note that all relevant hydrometeors and temperature are updated immediately after each cloud microphysical process based on exact mass conservation and moist total energy conservation. The meaning and source of each item on the right-hand side of Equations \eqref{eqn:1:1} to \eqref{eqn:1:13} and in Figure \ref{fig:fig1} are demonstrated in Table \ref{tab:tab1p}. Conversion between hydrometeors in different phases involves heating and cooling of the air, while that between hydrometeors in the same phases does not. Most of the microphysical processes, as well as the parameters, are revised from \citet{lin1983bulk, hong2004arev, hong2006thew}.
\begin{table}[!h]
\caption{The symbols used in the prognostic mass mixing ratio equations and Figure \ref{fig:fig1}.}
\label{tab:tab1p}
\begin{tabular}{p{0.1\textwidth}p{0.85\textwidth}}
\hline
Symbol & Meaning and Source \\
\hline
Pcond & Condensational growth of cloud water \citep{hong2006thew}. \\
Pevep & Evaporation of cloud water \citep{hong2006thew}. \\
Pifr & Freezing of cloud water to form cloud ice \citep{lin1983bulk, hong2006thew}. Auto-convert to snow if cloud ice exceeds a threshold. \\
Pbigg & Bigg freezing of cloud water to form cloud ice \citep{bigg1953thes}. \\
Pcomp & Complete freezing of cloud water to form cloud ice \citep{lin1983bulk, hong2006thew} \\
Pidep & Depositional growth of cloud ice \citep{hong2004arev}. \\
Pisub & Sublimation of cloud ice \citep{hong2004arev}. \\
Pimlt & Melting of cloud ice to form cloud water \citep{lin1983bulk}. Auto-convert to rain if cloud water exceeds a threshold. \\
Prevp & Evaporation of rain \citep{lin1983bulk}. \\
Praut & Auto-conversion of cloud water to form rain \citep{hong2004arev}. \\
Pracw & Accretion of cloud water by rain \citep{lin1983bulk}. \\
Pracs & Accretion of snow by rain; produces graupel if rain or snow exceeds a threshold and $T < T_{freez}$ \citep{lin1983bulk}. \\
Psacw & Accretion of cloud water by snow; produces snow if $T < T_{freez}$ or rain if $T \geq T_{freez}$ \citep{lin1983bulk}. \\
Psacr & Accretion of rain by snow. For $T < T_{freez}$, produces graupel if rain or snow exceeds a threshold; if not, produces snow \citep{lin1983bulk}. \\
Psaci & Accretion of cloud ice by snow \citep{lin1983bulk}. \\
Psaut & Auto-conversion (aggregation) of cloud ice to form snow \citep{lin1983bulk}. \\
Psdep & Depositional growth of snow \citep{lin1983bulk}. \\
Pssub & Sublimation of snow \citep{lin1983bulk}. \\
Psmlt & Melting of snow to form cloud water \citep{lin1983bulk}. Auto-convert to rain if cloud water exceeds a threshold. \\
Pgaut & Auto-conversion (aggregation) of snow to form graupel \citep{lin1983bulk}. \\
Pgfr & Freezing of rain to form graupel \citep{lin1983bulk}. \\
Pgacw & Accretion of cloud water by graupel \citep{lin1983bulk}. \\
Pgaci & Accretion of cloud ice by graupel \citep{lin1983bulk}. \\
Pgacr & Accretion of rain by graupel \citep{lin1983bulk}. \\
Pgacs & Accretion of snow by graupel \citep{lin1983bulk}. \\
Pgdep & Depositional growth of graupel \citep{lin1983bulk}. \\
Pgsub & Sublimation of graupel \citep{lin1983bulk}. \\
Pgmlt & Melting of graupel to form rain, $T \geq T_{freez}$ \citep{lin1983bulk}. \\
Ppi & Sedimentation of cloud ice \citep{deng2008cirr, heymsfield1990asch}. \\
Ppr & Sedimentation of rain \citep{lin1983bulk}. \\
Pps & Sedimentation of snow \citep{lin1983bulk}. \\
Ppg & Sedimentation of graupel \citep{lin1983bulk}. \\
\hline
\end{tabular}
\end{table}
There are several definitions, assumptions, and conservations that are different from other cloud microphysics schemes. The mass of a grid cell includes that of water vapor and of all hydrometeors; that latent heat coefficients are functions of air temperature; dry air, water vapor, liquid water, and solid water have their own heat capacities; cloud droplet number concentrations are prescribed; subgrid variability is piecewise-linear and scale-aware; saturation water vapor pressure is derived explicitly; latent heating and cooling follow the exact moist total energy conservation. More details will be depicted in this section.
%------------------------------------------------------------------------------
\subsection{Vertical Placement of the Meteorological Fields}
It is important to clarify in advance where the meteorological fields are located in the model vertical levels / layers. Model levels are defined as the boundaries of the model layers. Thus the number of model levels is equal to one more than the number of model layers. Sometimes, model levels are called as interfaces or layer edges. Meteorological fields at model layers in FV3 are always defined as layer-mean values. However, those at model levels are defined as interface (cell face-mean) values.
As it is shown in Figure \ref{fig:fig2}, interface height ($z_{int}$) and interface air pressure ($p_{int}$) are defined at model levels. Zonal wind ($u$), meridional wind ($v$), vertical velocity ($w$), air temperature ($T$), the mass mixing ratio of hydrometeors ($q$), height thickness (negative) ($dz$), pressure thickness or air mass (positive) ($dp$) are defined at model layers. Those are layer-mean variables. We can also get the middle layer height ($z$) and layer-mean air pressure ($p$) using gas law and hydrostatic equilibrium:
\begin{gather}
p = - \dfrac{dp}{gdz} R_{dry} T_v
\end{gather}
where $T_v$ is virtual temperature, and $R_{dry}$ is dry air constant.
\begin{figure}[h]
\centering
\includegraphics[width=\textwidth]{fig2.pdf}
\caption{Schematic of model layers, model levels, and the location of different meteorological fields.}
\label{fig:fig2}
\end{figure}
%------------------------------------------------------------------------------
\subsection{Size Distribution of Hydrometeors}
The size distribution of hydrometeors is central to a cloud microphysics scheme \citep{khain2018phys}. Many microphysical variables and processes are directly derived from the integration over the size distribution. For example, the mass mixing ratio of hydrometeors is the third moment. The number concentration of hydrometeor is the zeroth moment, the effective radius is the ratio of the third moment and the second moment, and the radar reflectivity is the sixth moment. The terminal velocity and collision are mostly determined by the higher moments of the size distribution. According to observations, the size distribution of non-precipitable hydrometeors (e.g. cloud water and cloud ice) is represented as a gamma distribution, while precipitable hydrometeors (e.g. rain, snow, and graupel) is represented as a exponential distribution \citep{pruppacher2010micr}. The exponential distribution can be treated as a simplified gamma distribution.
However, the size distribution of cloud water and cloud ice in the GFDL MP is assumed to be uniform so far, which is simple but unrealistic. Therefore, the number concentration, effective radius, radar reflectivity, and terminal velocity of cloud water and cloud ice are either prescribed as constant or empirically diagnosed from other variables. The size distribution of rain ($n_{rain}$), snow ($n_{snow}$), and graupel ($n_{graupel}$) is assumed as an exponential distribution and follows \citet{lin1983bulk}:
\begin{gather}
n_{rain} (D) = n_{rain,0} \exp \left(- \lambda_{rain} D \right) \\
n_{snow} (D) = n_{snow,0} \exp \left(- \lambda_{snow} D \right) \\
n_{graupel} (D) = n_{graupel,0} \exp \left(- \lambda_{graupel} D \right)
\end{gather}
where $D$ is the diameter of hydrometeor. $n_{rain,0}$, $n_{snow,0}$, and $n_{graupel,0}$ are the intercept parameters of the rain, snow, and graupel size distributions prescribed as constants. The slope parameters of the rain ($\lambda_{rain}$), snow ($\lambda_{snow}$), and graupel ($\lambda_{graupel}$) size distributions can be derived from the integration of size distribution for all sizes and the mass mixing ratio of hydrometeor:
\begin{gather}
\lambda_{rain} = \left(\dfrac{\pi \rho_{rain} n_{rain,0}}{\rho q_{rain}} \right)^{0.25} \\
\lambda_{snow} = \left(\dfrac{\pi \rho_{snow} n_{snow,0}}{\rho q_{snow}} \right)^{0.25} \\
\lambda_{graupel} = \left(\dfrac{\pi \rho_{graupel} n_{graupel,0}}{\rho q_{graupel}} \right)^{0.25}
\end{gather}
where $\rho_{rain}$, $\rho_{snow}$, and $\rho_{graupel}$ are the density of rain, snow, and graupel. $\rho$ is air density.
%------------------------------------------------------------------------------
\subsection{Air Mass and Mass Mixing Ratio of Hydrometeors}
Air mass per unit area ($M_{dry}$) and the mass mixing ratio of hydrometeors ($q_*$) in the GFDL MP are defined for dry air at the model layers:
\begin{gather}
M_{dry} = \dfrac{dp}{g} \\
q_* = \dfrac{M_{*}}{M_{dry}}
\end{gather}
where $dp$ is dry air thickness, $q_*$ can be $q_{vapor}$, $q_{water}$, $q_{ice}$, $q_{rain}$, $q_{snow}$, or $q_{graupel}$, $M_*$ can be $M_{vapor}$, $M_{water}$, $M_{ice}$, $M_{rain}$, $M_{snow}$, or $M_{graupel}$. That is different from those in the FV3 dynamical core, which are defined for moist air (dry air + all hydrometeors) thickness ($dp'$) and the specific ratio of hydrometeors ($q'_*$):
\begin{gather}
dp' = \left(M_{dry} + M_{vapor} + M_{water} + M_{ice} + M_{rain} + M_{snow} + M_{graupel}\right)g \\
q'_* = \dfrac{M_{*}}{M_{dry} + M_{vapor} + M_{water} + M_{ice} + M_{rain} + M_{snow} + M_{graupel}}
\end{gather}
At the beginning of the cloud microphysics scheme, moist air thickness ($dp'$) is converted to dry air thickness ($dp$), specific ratio of hydrometeors ($q'_*$) is converted to mass mixing ratio of hydrometeors ($q_*$):
\begin{gather}
dp = dp' \left[1 - \left(q'_{vapor} + q'_{water} + q'_{ice} + q'_{rain} + q'_{snow} + q'_{graupel} \right) \right] \\
q_* = \dfrac{q'_*}{1 - \left(q'_{vapor} + q'_{water} + q'_{ice} + q'_{rain} + q'_{snow} + q'_{graupel} \right)}
\end{gather}
At the end of the cloud microphysics scheme, dry air thickness ($dp$) converts back to moist air thickness ($dp'$), mass mixing ratio of hydrometeors ($q_*$) converts back to specific ratio of hydrometeors ($q'_*$):
\begin{gather}
dp' = dp \left[1 + \left(q_{vapor} + q_{water} + q_{ice} + q_{rain} + q_{snow} + q_{graupel} \right) \right] \\
q'_* = \dfrac{q_*}{1 + \left(q_{vapor} + q_{water} + q_{ice} + q_{rain} + q_{snow} + q_{graupel} \right)}
\end{gather}
It is important to note that air mass is exactly conserved in the GFDL MP.
%------------------------------------------------------------------------------
\subsection{Number Concentration of Hydrometeors}
In the GFDL MP, the number concentration of hydrometeors are not prognostic variables. For cloud water, the number concentration is only used for cloud water to rain autoconversion and cloud water freezing to form cloud ice. It will be described later that the cloud water number concentration is from the prescribed cloud droplet number concentration, which has constant values over land and over ocean. For cloud ice, the number concentration should be from ice nucleation or cloud ice deposition. For now, it follows the calculation in \citet{hong2004arev}:
\begin{gather}
N_{ice} = 5.38 \times 10^7 \left(\rho q_{ice} \right)^{0.75}
\end{gather}
Optionally, $N_{ice}$ can also be calculated from \citet{meyers1992newp}:
\begin{gather}
N_{ice} = \exp \left[-2.80 + 0.262 \times \left(T_{freez} - T \right) \right] \times 1000.0
\end{gather}
or
\begin{gather}
N_{ice} = \exp \left[-0.639 + 12.96 \times \left(\dfrac{q_{vapor}}{q_{s2}} - 1 \right) \right] \times 1000.0
\end{gather}
$N_{ice}$ can also calculated from \citet{cooper1986icei}:
\begin{gather}
N_{ice} = 5 \times 10^{-3} \times \exp \left[0.304 \times \left(T_{freez} - T \right) \right] \times 1000.0
\end{gather}
One more option is from \citet{fletcher1962thep}:
\begin{gather}
N_{ice} = 1 \times 10^{-5} \times \exp \left[0.5 \times \left(T_{freez} - T \right) \right] \times 1000.0
\end{gather}
Since rain, snow, and graupel follow the exponential size distribution, Their number concentrations ($N_{rain}$, $N_{snow}$, and $N_{graupel}$) are the integration of size distributions:
\begin{gather}
N_{rain} = \int_0^{\infty} n_{rain} (D) dD = \dfrac{n_{rain,0}}{\lambda_{rain}} \\
N_{snow} = \int_0^{\infty} n_{snow} (D) dD = \dfrac{n_{snow,0}}{\lambda_{snow}} \\
N_{graupel} = \int_0^{\infty} n_{graupel} (D) dD = \dfrac{n_{graupel,0}}{\lambda_{graupel}}
\end{gather}
If, in the future, number concentration is a prognostic variable in this cloud microphysics scheme, $n_{rain,0}$, $n_{snow,0}$, and $n_{graupel,0}$ will no longer be constants. Instead, they are updated upon the change of mass mixing ratio and number concentration written as:
\begin{gather}
n_{rain,0} = \left(\dfrac{\pi \rho_{rain}}{\rho q_{rain}} \right)^{1/3} N_{rain}^{4/3} \\
n_{snow,0} = \left(\dfrac{\pi \rho_{snow}}{\rho q_{snow}} \right)^{1/3} N_{snow}^{4/3} \\
n_{graupel,0} = \left(\dfrac{\pi \rho_{graupel}}{\rho q_{graupel}} \right)^{1/3} N_{graupel}^{4/3}
\end{gather}
%------------------------------------------------------------------------------
\subsection{Air Density}
Many assumptions in the GFDL MP depend on whether the model, particularly the FV3 dynamical core, is designed to be hydrostatic or non-hydrostatic. For climate modeling, the hydrostatic assumption is appropriate. In this case, the GFDL MP uses the consistent definition of constants and parameters as other physical parameterizations. As the resolutions approach the grey zone, the hydrostatic assumption is no longer as accurate and it is more appropriate to use non-hydrostatic dynamics. In either case, energy conservation and the consistency of constants and parameterizations are critical.
In hydrostatic case, moist air thickness ($dp'$) and air temperature ($T$) are both prognostic variables in the dynamical core. So air density ($\rho$) is calculated using the ideal gas law and the hypsometric equation:
\begin{gather}
\rho = \dfrac{p}{R_{dry} T_v} = \dfrac{dp'}{d \ln p' R_{dry} T_v}
\end{gather}
where $T_v$ is virtual temperature, $R_{dry}$ is dry air gas constant.
In non-hydrostatic case, the height thickness (negative) ($dz$) is also a prognostic variable. So air density ($\rho$) is calculated from its definition:
\begin{gather}
\rho = - \dfrac{dp'}{g dz}
\end{gather}
where $g$ is gravitational acceleration.
%------------------------------------------------------------------------------
\subsection{Virtual Temperature}
The virtual temperature ($T_{v}$) of a moist air parcel is the temperature at which a theoretical dry air parcel would have a total pressure and density equal to the moist parcel of air. Thus all hydrometeors are considered to calculate virtual temperature:
\begin{equation}
T_v = T \left(1 + z_{vir} q_{vapor} \right) \left[1 - \left(q_{vapor} + q_{water} + q_{ice} + q_{rain} + q_{snow} + q_{graupel} \right) \right] \footnote{This differs slightly from the IFS formula: $T_v = T \left[1 + z_{vir} q_{vapor} - \left(q_{vapor} + q_{water} + q_{ice} + q_{rain} + q_{snow} + q_{graupel} \right) \right]$ (\url{https://www.ecmwf.int/en/elibrary/18714-part-iv-physical-processes} Chapter 12. The difference is of order $q_{vapor}q_{*} \ll q_{*}$ while reducing the number of computations within the code.)}
\end{equation}
where $z_{vir}$ is the ratio of the gas constants of water vapor ($R_{vapor}$) and dry air ($R_{dry}$):
\begin{gather}
z_{vir} = \dfrac{R_{vapor}}{R_{dry}} - 1
\end{gather}
%------------------------------------------------------------------------------
\subsection{Specific Heat Capacity}
In the real atmosphere, the air contains water vapor and hydrometeors. Thus, the specific heat capacity consists of contributions from both dry air, water vapor, and each hydrometeor. In the GFDL MP, the constant-volume or constant-pressure specific heat capacity for moist air ($c_{v,moist}$ or $c_{p,moist}$) is defined as:
\begin{gather}
c_{v,moist} = c_{v,dry} + q_{vapor} c_{v,vapor} + q_{liquid} c_{v,liquid} + q_{solid} c_{v,solid} \\
c_{p,moist} = c_{p,dry} + q_{vapor} c_{p,vapor} + q_{liquid} c_{p,liquid} + q_{solid} c_{p,solid}
\end{gather}
where $c_{v,dry}$, $c_{v,vapor}$, $c_{v,liquid}$, and $c_{v,solid}$ are the constant-volume specific heat capacities of dry air, water vapor, liquid water (at the triple point of water $T_{freez}$), and solid water (at the triple point of water $T_{freez}$). Similarly, $c_{p,dry}$, $c_{p,vapor}$, $c_{p,liquid}$, and $c_{p,solid}$ are the corresponding specific heat capacities at constant pressure. Liquid water and solid water barely change in volume and pressure during heating or cooling that their constant-volume and constant-pressure specific heat capacities are the same and defined as:
\begin{gather}
c_{liquid} = c_{v,liquid} = c_{p,liquid} \\
c_{solid} = c_{v,solid} = c_{p,solid}
\end{gather}
$q_{liquid}$ is the mass mixing ratio of liquid water defined as the sum of the mass mixing ratio of cloud water and rain:
\begin{gather}
q_{liquid} = q_{water} + q_{rain}
\end{gather}
and $q_{solid}$ is the mass mixing ratio of solid water defined as the sum of mass mixing ratio of cloud ice, snow, and graupel:
\begin{gather}
q_{solid} = q_{ice} + q_{snow} + q_{graupel}
\end{gather}
The sum of the mass mixing ratio of liquid and solid water ($q_{cond}$) is written as:
\begin{gather}
q_{cond} = q_{liquid} + q_{solid}
\end{gather}
Different from most existing cloud microphysics schemes, the GFDL MP was built at the height coordinate. That means heating or cooling in this cloud microphysics scheme uses the constant-volume specific heat capacity. Pressure thickness is later adjusted according to the change of hydrometeors content in the grid box. This treatment is consistent with what is being used in FV3's nonhydrostatic solver \citep{lin2004aver}, and the Nonhydrostatic ICosahedral Atmospheric Model (NICAM) \citep{satoh2008nonh}. Theoretically and actually, the constant-pressure specific heat capacity is about $40\%$ larger than the constant-volume specific heat capacity. It indicates the heating or cooling by using constant-pressure specific heat capacity is $40\%$ smaller than that using constant-volume specific heat capacity. Since the height thickness will be later adjusted according to temperature change, the eventual impact of the microphysics processes on the atmosphere is similar in these two different approaches. In the following sections, we use $c_{moist}$ instead of $c_{v,moist}$ as default.
%------------------------------------------------------------------------------
\subsection{Latent Heat Coefficient}
According to the Kirchhoff's equation under constant volume \citep{emanuel1994atmo}, the latent heat coefficient of condensation / evaporation ($L_{v2l}$), melting / freezing ($L_{l2s}$), and deposition / sublimation ($L_{v2s}$) are a function of temperature ($T$):
\begin{gather}
L_{v2l} = L_{vap} + \left(c_{vapor} - c_{liquid} \right) \left( T - T_{freez} \right) \\
L_{l2s} = L_{fus} + \left(c_{liquid} - c_{solid} \right) \left( T - T_{freez} \right) \\
L_{v2s} = L_{vap} + L_{fus} + \left(c_{vapor} - c_{solid} \right) \left( T - T_{freez} \right)
\end{gather}
where $L_{vap}$ and $L_{fus}$ are the latent heat coefficient of condensation / evaporation and melting / freezing at the triple point temperature of water ($T_{freez}$). $c_{vapor} = c_{p,vapor}$ in hydrostatic case. $c_{vapor} = c_{v,vapor}$ in non-hydrostatic case.
A special latent heat coefficient of condensation / evaporation ($L'_{v2l}$) for saturated water vapor is defined as:
\begin{gather}
L'_{v2l} = L_{v2l} + L_{l2s} \max \left[0, \min \left(1, \dfrac{T_{freez} - T}{T_{freez} - T_{wfr}} \right) \right]
\end{gather}
If temperature is higher than freezing temperature ($T > T_{freez}$), $L'_{v2l} = L_{v2l}$; If temperature is lower than critical freezing temperature ($T < T_{wfr}$), $L'_{v2l} = L_{v2s}$; otherwise ($T_{wfr}< T < T_{freez}$), $L_{v2l}< L'_{v2l} < L_{v2s}$.
%------------------------------------------------------------------------------
\subsection{Cloud Condensation Nuclei and Cloud Droplet Number Concentration}
Cloud condensation nuclei (CCN) is used in cloud seeding, that tries to promote condensation into cloud water by seeding the air with condensation nuclei. It is a major source of cloud water formation. The cloud droplet number concentration (CDNC) activated from CCN determines how much cloud water can be auto-converted to rain. However, since there is no cloud water activation built in this cloud microphysics scheme, the cloud droplet number concentration (CDNC, $N_c$) is either prescribed over land ($N_{c,land}$) and ocean ($N_{c,ocean}$) respectively:
\begin{gather}
N_c = \left[N_{c,land} \cdot LSM + N_{c,ocean} \cdot \left(1 - LSM \right) \right] \times 10^6
\end{gather}
or calculated from aerosol mass mixing ratio ($q_{aerosol}$) following \citet{boucher1995thes}:
\begin{gather}
N_c = \left[10^{2.24} \times \left(10^9 \rho q_{aerosol} \right)^{0.257} \cdot LSM + 10^{2.06} \times \left(10^9 \rho q_{aerosol} \right)^{0.48} \cdot \left(1 - LSM \right) \right] \times 10^{6}
\end{gather}
where $LSM$ is the land-sea mask, with value 1 over land and value 0 over ocean. $\rho_{bot}$ is the bottom layer air density. The former method is used in the current operational GFS, NASA GEOS-5, HiRAM, IAP climate model. The latter method is an option in the GFDL modeling system suites. The number concentration of cloud then from the cloud droplet number concentration (CDNC):
\begin{gather}
N_{water} = N_c
\end{gather}
%------------------------------------------------------------------------------
\subsection{Subgrid Variability}
In a model that is unable to resolve cloud microphysical processes explicitly, it is useful to prescribe the subgrid distribution of quantities (e.g., hydrometeors) in the grid box. Regardless of which algorithm is used, it is some kind of empirical assumption. The simplest one is a linear assumption. In the GFDL MP, it presumed a linear background horizontal variability ($h_{var}$) and vertical variability ($z_{var}$) for hydrometeors following \citet{lin1994acla}.
The horizontal subgrid variability is a function of cell area:
\begin{gather}
h_{var} = \min \left(0.2, \max \left\{0.01, \left[D_{land} \cdot LSM + D_{ocean} \cdot \left(1 - LSM \right) \right] \sqrt{\dfrac{x}{10^5}} \right\} \right)
\end{gather}
where $x$ is grid size. $D_{land}$ and $D_{ocean}$ are basic value for subgrid variability over land and ocean. These are tunable parameters. This formula indicates larger subgrid variability appears in the larger cell area. $D_{land}$ and $D_{ocean}$ can adjust the strength of the subgrid variability. The subgrid variability function enables the GFDL MP to be flexibly adapted to simulations in different resolutions and variable resolution. Theoretically, this assumption can be applied to all condensation / evaporation, freezing / melting, and deposition / sublimation processes. In the current version of GFDL MP, horizontal subgrid variability is mainly used in the calculation of cloud water to rain autoconversion and cloud fraction diagnostic.
The vertical subgrid variability depends on the distribution of the three adjacent mass mixing ratio of hydrometeors: for model top ($k = 1$) and bottom layer ($k = kbot$):
\begin{gather}
z_{var,1} = 0 \\
z_{var,kbot} = 0
\end{gather}
for all other model layers ($k = 2, kbot - 1$), use twice the strength of the positive definiteness limiter \citep{lin1994acla}. Four conditions are considered shown in Figure \ref{fig:fig3}:
\begin{figure}[h]
\centering
\includegraphics[width=\textwidth]{fig3.pdf}
\caption{Four different conditions of hydrometeor vertical profile in the adjacent three layers. Blue, orange, and red vertical profiles are three different possibles in each condition.}
\label{fig:fig3}
\end{figure}
1) When $q_{k+1} > q_{k}$, and $q_{k} > q_{k-1}$, monotonically increasing from up to down:
\begin{gather}
z_{var,k} = \dfrac{1}{2} \min \left(\left|\dfrac{q_{k+1} - q_{k-1}}{2} \right|, \dfrac{q_{k}}{2} \right)
\end{gather}
2) When $q_{k+1} < q_{k}$, and $q_{k} < q_{k-1}$, monotonically decreasing from up to down:
\begin{gather}
z_{var,k} = \dfrac{1}{2} \min \left(\left|\dfrac{q_{k+1} - q_{k-1}}{2} \right|, \dfrac{q_{k}}{2} \right)
\end{gather}
3) When $q_{k+1} \leq q_{k}$, and $q_{k} > q_{k-1}$, maximum value at the center:
\begin{gather}
z_{var,k} = \min \left[\dfrac{1}{2} \min \left(\left|\dfrac{q_{k+1} - q_{k-1}}{2} \right|, \dfrac{q_{k}}{2} \right), \dfrac{q_{k} - q_{k-1}}{2}, - \dfrac{q_{k+1} - q_{k}}{2} \right]
\end{gather}
4) When $q_{k+1} \geq q_{k}$, and $q_{k} \leq q_{k-1}$, minimum value at the center:
\begin{gather}
z_{var,k} = 0.0
\end{gather}
Impose a presumed background horizontal variability that is proportional to the value itself:
\begin{gather}
z_{var,k} = \max \left(z_{var,k}, q_{minvapor}, h_{var} q_k \right), \quad k = 1,...,kbot
\end{gather}
Note that $z_{var}$ is a function of $q$, so $z_{var}$ is different in each hydrometeor. $q_{minvapor}$ is minimum value for water vapor. Vertical subgrid variability is mainly used in the calculation of cloud water to rain autoconversion.
%------------------------------------------------------------------------------
\subsection{Rate of Conversion}
In general, conversion between two hydrometeors is not done instantaneously except for some extreme conditions. In most cases, it is a function of time. If the cloud microphysics scheme is embedded in the FV3 dynamical core, it will use the vertical remapping time step ($dt_m$), which is a sub-cycle of physics time step ($dt_p$) controlled by \textit{k\_split} in the namelists. If the cloud microphysics scheme is inside the normal physics package, it uses a relative smaller cloud microphysics time step ($dt_c$), which is also a sub-cycle of physics time step ($dt_p$). $dt_p$, $dt_m$, $dt_c$ at this stage are the same. However, $dt_p$, $dt_m$ and $dt_c$ have much freedom to control separately, especially for higher resolution.
In many microphysical processes of this cloud microphysics scheme, the effective conversion rate from $x$ to $y$ over a time step $dt$, assuming an exponential decrease of $x$, is calculated as:
\begin{gather}
f_{x2y} = 1 - \exp \left(-\dfrac{dt}{\tau_{x2y}} \right)
\end{gather}
where $x$ and $y$ can be $v$ (water vapor), $w$ (cloud water), $i$ (cloud ice), $r$ (rain), $s$ (snow), or $g$ (graupel). $dt$ can be $dt_{m}$ or $dt_{c}$. Note that $\tau_{x2y}$ and $\alpha$ are both tunable parameters controlling the conversion rate. The larger of $\tau_{x2y}$, the slower the conversion.
%------------------------------------------------------------------------------
\subsection{Fix Negative Hydrometeors}
Unphysical negative hydrometeor concentrations are difficult to completely avoid in finite-precision arithmetic. Fixing negative hydrometeors in the GFDL MP is straightforward and mass conserved. The easiest way to fix negative hydrometeor is to borrow mass from other hydrometeors. Negative hydrometeor then is fixed to zero. Assume hydrometeor $x$ is negative, and borrow mass from hydrometeor $y$:
\begin{gather} \label{eq:negfix}
q_y = q_y + q_x \\
q_x = 0.0
\end{gather}
In some certain conditions, $q_y$ could become negative after this process. Then $q_y$ need to be fixed from other hydrometeors except for $q_x$. In general, the direction of negative fixing follows:
\begin{gather}
q_{ice} \leftarrow q_{snow} \leftarrow q_{graupel} \leftarrow q_{rain} \leftarrow q_{water} \leftarrow q_{vapor}
\end{gather}
That is to say, if $q_{ice}$ is negative, borrow mass from $q_{snow}$; if $q_{snow}$ is negative, borrow mass from $q_{graupel}$; etc. However, to prevent overdoing, Equation (\ref{eq:negfix}) can be revised as:
\begin{gather}
q_{tmp} = \min \left[ - q_x, \max \left(0, q_y \right) \right] \\
q_x = q_x + q_{tmp} \\
q_y = q_y - q_{tmp}
\end{gather}
If this is a phase change, latent heating and cooling should also be applied.
In the GFDL MP, water vapor can be used to fix all other negative hydrometeors. However, when water vapor is negative, it can borrow from above and below layers. From $k = 1$ to $kbot - 1$, when water vapor at $k$ layer is negative, borrow it from below:
\begin{gather}
q_{vapor,k+1} = q_{vapor,k+1} + \dfrac{q_{vapor,k} dp_k}{dp_{k+1}} \\
q_{vapor,k} = 0
\end{gather}
when water vapor at the bottom layer is negative, borrow it from above if the water vapor in $kbot - 1$ is positive:
\begin{gather}
dq = \min \left[-q_{vapor,kbot} dp_{kbot}, q_{vapor,kbot-1} dp_{kbot-1} \right] \\
q_{vapor,kbot-1} = q_{vapor,kbot-1} - \dfrac{dq}{dp_{kbot-1}} \\
q_{vapor,kbot} = q_{vapor,kbot} + \dfrac{dq}{dp_{kbot}}
\end{gather}
%------------------------------------------------------------------------------
\subsection{Saturation Water Vapor Pressure}
Saturation water vapor pressure is calculated using lookup tables. Five lookup tables are designed for different purposes for the GFDL MP. First of all, define a scaled temperature
\begin{gather}
T'^* = \min \left\{2621, 10 \left[T - \left(T_{freez} - 160 \right) \right] + 1 \right\} \\
T^* = \textrm{INT} \left(T'^* \right)
\end{gather}
$\textrm{INT}$ here means forcing a variable to be an integer. Different from most existing tables of saturation water vapor pressure, which are basically written as empirical formula, the ones in the GFDL MP are directly derived by integrating of the Clausius-Claperyron equation \citep{wallace1977atmo}:
\begin{gather}
\dfrac{d \ln e_{s*}}{dT} = \dfrac{L_*}{R_{vapor} T^2}
\end{gather}
where $e_{s*}$ can be $e_s0$, $e_{s1}$, or $e_{s2}$ detailedly described in the following sub-sections. $L_*$ can be $L_{v2l}$, $L_{l2s}$, or $L_{v2s}$.
%------------------------------------------------------------------------------
\subsubsection*{Table N}
The table N of saturation water vapor pressure ($e_{s0}$) was built only over water with temperature ranged from $-160^\circ C$ to $102^\circ C$ defined as:
\begin{gather}
T_{tmp} = T_{freez} - 160 + 0.1\left( T^* - 1 \right) \\
\alpha = {\dfrac{\left(c_{p,vapor} - c_{liquid} \right) \ln \dfrac{T_{tmp}}{T_{freez}} + \left[L_{vap} - T_{freez} \left(c_{p,vapor} - c_{liquid} \right) \right] \dfrac{T_{tmp} - T_{freez}}{T_{tmp} T_{freez}}}{R_{vapor}}} \\
e_{s0}(T^*) = e_0 e^{\alpha}
\end{gather}
%------------------------------------------------------------------------------
\subsubsection*{Table I}
The table I of saturation water vapor pressure ($e_{s1}$) was built based on three temperature categories:
1) When $T^*$ ranges from 1 to 1600 ($T$ ranges from $-160^\circ C$ to $0^\circ C$), compute saturation water vapor pressure ($e_{s1}$) over ice:
\begin{gather}
T_{tmp} = T_{freez} - 160 + 0.1\left( T^* - 1 \right) \\
\alpha = {\dfrac{\left(c_{p,vapor} - c_{solid} \right) \ln \dfrac{T_{tmp}}{T_{freez}} + \left[L_{vap} + L_{fus} - T_{freez} \left(c_{p,vapor} - c_{solid} \right) \right] \dfrac{T_{tmp} - T_{freez}}{T_{tmp} T_{freez}}}{R_{vapor}}} \\
e_{s1}(T^*) = e_0 e^{\alpha}
\end{gather}
where $e_0$ is saturation vapor pressure at $T_{freez}$.
2) When $T^*$ ranges from 1401 to 2621 ($T$ ranges from $-20^\circ C$ to $102^\circ C$), compute saturation water vapor pressure ($e_{s1}$) over water:
\begin{gather}
T_{tmp} = T_{freez} - 20 + 0.1\left( T^* - 1400 - 1 \right) \\
\alpha = {\dfrac{\left(c_{p,vapor} - c_{liquid} \right) \ln \dfrac{T_{tmp}}{T_{freez}} + \left[L_{vap} - T_{freez} \left(c_{p,vapor} - c_{liquid} \right) \right] \dfrac{T_{tmp} - T_{freez}}{T_{tmp} T_{freez}}}{R_{vapor}}} \\
e_{s1}(T^*) = e_0 e^{\alpha}
\end{gather}
3) When $T^*$ ranges from 1401 to 1600 ($T$ ranges from $-20^\circ C$ to $0^\circ C$), compute saturation water vapor pressure ($e_{s1}$) over ice and supercooled water:
\begin{gather}
T_{tmp} = T_{freez} - 20 + 0.1\left( T^* - 1400 - 1 \right) \\
e_{s1}(T^*) = \dfrac{\left(T_{freez} - T_{tmp} \right)}{20} e_{s1}(T^*) + \dfrac{\left[T_{tmp} - \left(T_{freez} - 20 \right) \right]}{20} e_{s1}(T^*)
\end{gather}
Note that the first $e_{s1}(T^*)$ on the right hand side comes from saturation water vapor pressure over ice between $-160^\circ C$ and $0^\circ C$, and the second $e_{s1}(T^*)$ on the right hand side comes from saturation water vapor pressure over water between $-20^\circ C$ and $102^\circ C$.
%------------------------------------------------------------------------------
\subsubsection*{Table II}
The table II of saturation water vapor pressure ($e_{s2}$) was built based on two categories:
1) When $T^*$ ranges from 1 to 1600 ($T$ ranges from $-160^\circ C$ to $0^\circ C$), compute saturation water vapor pressure ($e_{s2}$) over ice:
\begin{gather}
T_{tmp} = T_{freez} - 160 + 0.1\left( T^* - 1 \right) \\
\alpha = {\dfrac{\left(c_{p,vapor} - c_{solid} \right) \ln \dfrac{T_{tmp}}{T_{freez}} + \left[L_{vap} + L_{fus} - T_{freez} \left(c_{p,vapor} - c_{solid} \right) \right] \dfrac{T_{tmp} - T_{freez}}{T_{tmp} T_{freez}}}{R_{vapor}}} \\
e_{s2}(T^*) = e_0 e^{\alpha}
\end{gather}
2) When $T^*$ ranges from 1601 to 2621 ($T$ ranges from $0^\circ C$ to $102^\circ C$), compute saturation water vapor pressure ($e_{s2}$) over water:
\begin{gather}
T_{tmp} = T_{freez} - 160 + 0.1\left( T^* - 1 \right) \\
\alpha = {\dfrac{\left(c_{p,vapor} - c_{liquid} \right) \ln \dfrac{T_{tmp}}{T_{freez}} + \left[L_{vap} - T_{freez} \left(c_{p,vapor} - c_{liquid} \right) \right] \dfrac{T_{tmp} - T_{freez}}{T_{tmp} T_{freez}}}{R_{vapor}}} \\
e_{s2}(T^*) = e_0 e^{\alpha}
\end{gather}
A smoother was added to $e_{s2}$ where temperature is around $0^\circ C$ ($T^* = 1600$ and $T^* = 1601$):
\begin{gather}
e_{s2}(T^*) = 0.25 e_{s2}(T^*-1) + 2 e_s(T^*) + e_{s2}(T^*+1)
\end{gather}
%------------------------------------------------------------------------------
\subsubsection*{Table III}
The table III of saturation water vapor pressure ($e_{s3}$) is the same as Table I except using the Smithsonian formula \citet{smithsonian1951smith}:
1) When $T^*$ ranges from 1 to 1600 ($T$ ranges from $-160^\circ C$ to $0^\circ C$), compute saturation water vapor pressure ($e_{s3}$) over ice:
\begin{gather}
T_{tmp} = T_{freez} - 160 + 0.1\left( T^* - 1 \right) \\
a = - 9.09718 \times \left(\dfrac{T_{freez}}{T_{tmp}} - 1 \right) \\
b = - 3.56654 \times \log_{10} \left(\dfrac{T_{freez}}{T_{tmp}} \right) \\
c = - 0.876793 \times \left(\dfrac{T_{tmp}}{T_{freez}} - 1 \right) \\
e = \log_{10} \left(6107.1 \right) \\
e_{s3}(T^*) = 0.1 \times 10^{a + b + c + d}
\end{gather}
2) When $T^*$ ranges from 1401 to 2621 ($T$ ranges from $-20^\circ C$ to $102^\circ C$), compute saturation water vapor pressure ($e_{s3}$) over water:
\begin{gather}
T_{tmp} = T_{freez} - 20 + 0.1\left( T^* - 1400 - 1 \right) \\
a = - 7.90298 \times \left(\dfrac{T_{freez} + 100}{T_{tmp}} - 1. \right) \\
b = 5.02808 \times \log_{10} \left(\dfrac{T_{freez} + 100}{T_{tmp}} \right) \\
c = - 1.3816 \times 10^{-7} \times \left[10^{11.344 \times \left(1 - \dfrac{T_{tmp}}{T_{freez} + 100} \right)} - 1 \right] \\
d = 8.1328 \times 10^{-3} \times \left[10^{3.49149 \times \left(1 - \dfrac{T_{freez} + 100}{T_{tmp}} \right)} - 1. \right] \\
e = \log_{10} \left(1013246.0 \right) \\
e_{s3}(T^*) = 0.1 \times 10^{a + b + c + d}
\end{gather}
3) When $T^*$ ranges from 1401 to 1600 ($T$ ranges from $-20^\circ C$ to $0^\circ C$), compute saturation water vapor pressure ($e_{s3}$) over ice and supercooled water:
\begin{gather}
T_{tmp} = T_{freez} - 20 + 0.1\left( T^* - 1400 - 1 \right) \\
e_{s3}(T^*) = \dfrac{\left(T_{freez} - T_{tmp} \right)}{20} e_{s3}(T^*) + \dfrac{\left[T_{tmp} - \left(T_{freez} - 20 \right) \right]}{20} e_{s3}(T^*)
\end{gather}
Note that the first $e_{s3}(T^*)$ on the right hand side comes from saturation water vapor pressure over ice between $-160^\circ C$ and $0^\circ C$, and the second $e_{s3}(T^*)$ on the right hand side comes from saturation water vapor pressure over water between $-20^\circ C$ and $102^\circ C$.
%------------------------------------------------------------------------------
\subsubsection*{Table IV}
The table IV of saturation water vapor pressure ($e_{s4}$) is the same as Table II except using the Smithsonian formula \citet{smithsonian1951smith}:
1) When $T^*$ ranges from 1 to 1600 ($T$ ranges from $-160^\circ C$ to $0^\circ C$), compute saturation water vapor pressure ($e_{s4}$) over ice:
\begin{gather}
T_{tmp} = T_{freez} - 160 + 0.1\left( T^* - 1 \right) \\
a = - 9.09718 \times \left(\dfrac{T_{freez}}{T_{tmp}} - 1 \right) \\
b = - 3.56654 \times \log_{10} \left(\dfrac{T_{freez}}{T_{tmp}} \right) \\
c = - 0.876793 \times \left(\dfrac{T_{tmp}}{T_{freez}} - 1 \right) \\
e = \log_{10} \left(6107.1 \right) \\
e_{s3}(T^*) = 0.1 \times 10^{a + b + c + d}
\end{gather}
2) When $T^*$ ranges from 1601 to 2621 ($T$ ranges from $0^\circ C$ to $102^\circ C$), compute saturation water vapor pressure ($e_{s4}$) over water:
\begin{gather}
T_{tmp} = T_{freez} - 20 + 0.1\left( T^* - 1400 - 1 \right) \\
a = - 7.90298 \times \left(\dfrac{T_{freez} + 100}{T_{tmp}} - 1. \right) \\
b = 5.02808 \times \log_{10} \left(\dfrac{T_{freez} + 100}{T_{tmp}} \right) \\
c = - 1.3816 \times 10^{-7} \times \left[10^{11.344 \times \left(1 - \dfrac{T_{tmp}}{T_{freez} + 100} \right)} - 1 \right] \\
d = 8.1328 \times 10^{-3} \times \left[10^{3.49149 \times \left(1 - \dfrac{T_{freez} + 100}{T_{tmp}} \right)} - 1. \right] \\
e = \log_{10} \left(1013246.0 \right) \\
e_{s3}(T^*) = 0.1 \times 10^{a + b + c + d}
\end{gather}
A smoother was added to $e_{s4}$ where temperature is around $0^\circ C$ ($T^* = 1600$ and $T^* = 1601$):
\begin{gather}
e_{s4}(T^*) = 0.25 e_{s4}(T^*-1) + 2 e_s(T^*) + e_{s4}(T^*+1)
\end{gather}
%------------------------------------------------------------------------------
\subsubsection*{Finally}
The increment of saturation water vapor pressure is defined as:
\begin{gather}
de_{s}(T^*) = \max \left[0, e_{s}(T^*+1) - e_{s}(T^*) \right]
\end{gather}
Then the saturated specific humidity is calculated as:
\begin{gather}
q_{s}(T) = \dfrac{\rho_{s}}{\rho} = \dfrac{\dfrac{e_s}{R_{vapor}T}}{\rho} = \dfrac{e_{s}(T^*) + \left[T'^* - T^* \right] de_{s}(T^*)}{\rho R_{vapor} T}
\end{gather}
Then the gradient of saturated specific humidity is calculated as:
\begin{gather}
T^*_{tmp} = \textrm{INT} \left(T'^* - 0.5 \right) \\
\dfrac{1}{\rho R_{vapor} T} \dfrac{de_{s}(T)}{dT} = \dfrac{e_{s}(T + 0.1) - e_{s}(T)}{0.1 \rho R_{vapor} T} = 10 \dfrac{de_{s}(T^*_{tmp}) + \left(T'^* - T^*_{tmp} \right)\left[de_{s}(T^*_{tmp} + 1) - de_{s}(T^*_{tmp}) \right]}{\rho R_{vapor} T}
\end{gather}
Here we use finite temperature difference: $dT = 0.1$.
%------------------------------------------------------------------------------
\subsection{Energy Conservation}
The total energy is precisely conserved all the time in the GFDL MP. Total energy consists of internal energy, potential energy, and kinetic energy. For cloud microphysics processes except for sedimentation, the internal energy is the only one need to be conserved during phase change. Internal energy ($IE$) is defined following \citet{emanuel1994atmo} using the moist specific heat capacity:
\begin{gather}
IE = c_{moist} T + L_v q_{vapor} - L_f \left(q_{ice} + q_{snow} + q_{graupel} \right)
\end{gather}
where $L_v = L_{vap} - \left(c_{v,vapor} - c_{v,liquid} \right) T_{freez}$ is a constant latent heat coefficient for condensation / evaporation at $0\ K$, $L_f = L_{fus} - \left(c_{v,liquid} - c_{v,solid} \right) T_{freez}$ is a constant latent heat coefficient for freezing / melting at $0\ K$. We can derive the temperature change ($\Delta T$) for condensation / evaporation, freezing / melting, and deposition / sublimation with $\Delta q$ as
\begin{align}
\Delta T =
\begin{cases}
\dfrac{L^n_{v2l}}{c^{n+1}_{moist}} \cdot \Delta q, & \text{condensation / evaporation} \\[1em]
\dfrac{L^n_{l2s}}{c^{n+1}_{moist}} \cdot \Delta q, & \text{freezing / melting} \\[1em]
\dfrac{L^n_{v2s}}{c^{n+1}_{moist}} \cdot \Delta q, & \text{deposition / sublimation}
\end{cases}
\end{align}
where $\Delta T = T^{n+1} - T^n$, and $\Delta q = q^{n+1} - q^n$. $n$ and $n+1$ denote the states before and after the microphysical process. The traditional method to calculate heating in most cloud microphysics schemes is using the constant-pressure specific heat for dry air and latent heat coefficient at $T_{freez}$.
%------------------------------------------------------------------------------
\newpage
\section{Cloud Microphysical Processes}
Many cloud microphysical processes parameterized in this scheme as shown in Figure \ref{fig:fig1}. They can be categorized as the following groups:
\begin{itemize}
\setlength\itemsep{0em}
\item Phase change involved water vapor, e.g., condensation and evaporation, deposition and sublimation;
\item Phase change between liquid water and solid water, e.g., freezing and melting;
\item Phase change within the same water phase, e.g., autoconversion or aggregation;
\item Accretion or collision between two different categories.
\end{itemize}
%------------------------------------------------------------------------------
\subsection{Cloud Water Condensation and Evaporation}
When water vapor is saturated, water vapor condenses to cloud water. When water vapor is undersaturated, cloud water evaporates to water vapor. The algorithms of these conversions follow Equation (A46) in \citet{hong2006thew}, which followed \citet{yau1979amod}, but revised using temperature gradient of saturated specific humidity followed Clausius-Clapeyron equation:
\begin{gather}
\dfrac{d \ln e_{s*}}{d T} = \dfrac{L_*}{R_{vapor} T^2}
\end{gather}
or
\begin{gather}
\dfrac{1}{e_{s*}} \dfrac{d e_{s*}}{d T} = \dfrac{1}{q_{s*} \rho R_v T} \dfrac{d e_{s*}}{d T} = \dfrac{L_* }{R_{vapor} T^2} \rightarrow \dfrac{1}{\rho R_v T} \dfrac{d e_{s*}}{d T} = \dfrac{L_* q_{s*}}{R_{vapor} T^2}
\end{gather}
where $q_{s*}$ can be $q_{s0}$, $q_{s1}$, or $q_{s2}$. $L_*$ can be $L_{v2l}$ or $L'_{v2l}$, So the amount of condensation / evaporation per time step can be written as:
\begin{align}
Pcond' = \dfrac{q_{vapor} - q_{s0}}{\left(1 + \dfrac{L'_{v2l}}{c_{moist}} \dfrac{1}{\rho R_v T} \dfrac{de_{s0}}{dT} \right) dt}, & \quad q_{vapor} > q_{s0} \\
Pevap' = - \dfrac{q_{vapor} - q_{s0}}{\left(1 + \dfrac{L'_{v2l}}{c_{moist}} \dfrac{1}{\rho R_v T} \dfrac{de_{s0}}{dT} \right) dt}, & \quad q_{vapor} \leq q_{s0}
\end{align}
1) If water vapor is under-saturated ($q_{vapor} \leq q_{s0}$), cloud water will evaporate to water vapor using $f_{w2v}$ and relative humidity ($RH = q_{vapor} / q_{s0}$) as scaling factors. So the amount of cloud water evaporated to water vapor per time step can be written as:
\begin{gather}
Pevap = \min \left[\dfrac{q_{water}}{dt}, \min \left(1, f_{w2v} \dfrac{1 - RH}{1.0 - 0.9} \right) Pevap' \right]
\end{gather}
It is designed for that when relative humidity is low, it would be easier to evaporate, while relative humidity is high, it would be harder to evaporate.
2) If water vapor is saturated ($q_{vapor} > q_{s0}$), use $f_{v2w}$ and relative humidity ($RH = q_{vapor} / q_{s0}$) to prevent over-condensation. So the amount of water vapor condensed to cloud water per time step can be written as:
\begin{gather}
Pcond = \min \left[\dfrac{q_{vapor}}{dt}, \min \left(1, f_{v2w} \dfrac{RH - 1}{1.0 - 0.9} \right) Pcond' \right]
\end{gather}
3) If no condensation time scale is predefined, the amount of water vapor condensed to cloud water per time step can be simplified as:
\begin{gather}
Pcond = \min \left[\dfrac{q_{vapor}}{dt}, Pcond' \right]
\end{gather}
%------------------------------------------------------------------------------
\subsection{Evaporation of Rain to Water Vapor}
When rain exists at where temperature ($T$) is higher than $T_{wfr}$. The evaporation of rain follows the Equation (52) in \citet{lin1983bulk}, but with substantial revision. Firstly, the presence of clouds suppresses the rain evaporation. So define a 'liquid-frozen water temperature' assuming all cloud water have been evaporated:
\begin{gather}
T_{in} = \dfrac{c_{moist} T - L_v q_{water}}{c_{v,dry} + \left(q_{vapor} + q_{water}\right) c_{v,vapor} + q_{rain} c_{liquid} + \left(q_{ice} + q_{snow} + q_{graupel} \right) c_{solid}}
\end{gather}
Hence the whole rain evaporation process is using $T_{in}$ instead of $T$. Consistently, assume that all cloud water has been evaporated to water vapor. Secondly, subgrid variability is applied here. Subgrid variability defines an upper bound ($q_{plus}$) and a lower bound ($q_{minus}$). Calculation of upper bound and lower bound is based on the linear theory \citep{lin1994acla}. The dispersion of $q_{vapor} + q_{water}$ is controlled by the horizontal subgrid variability $h_{var}$ and constrained by cloud water amount. Meanwhile, the dispersion should not exceed its $20\%$:
\begin{gather}
q_h = \min \left\{\max \left[q_{water}, h_{var} \max \left(q_{vapor} + q_{water}, q_{mincond} \right) \right], 0.2 \left(q_{vapor} + q_{water} \right) \right\} \label{eqn:qh}
\end{gather}
where $q_{mincond}$ is the minimum value for cloud condensates. Therefore, the upper bound and lower bound are defined as:
\begin{gather}
q_{plus} = q_{vapor} + q_{water} + q_h \\
q_{minus} = q_{vapor} + q_{water} - q_h
\end{gather}
Rain evaporation starts when water vapor is undersaturated ($q_{vapor} + q_{minvapor} < q_{s0}$) and $q_{minus} < q_{s0}$. The supersaturation of $q_{vapor} + q_{water}$ is defined as:
\begin{align}
dq =
\begin{cases}
q_{s0} - \left(q_{vapor} + q_{water} \right), & \quad \text{if}\ q_{plus} < q_{s0} \\
0.25 \dfrac{\left(q_{s0} - q_{minus} \right)^2}{q_h}, & \quad \text{if}\ q_{minus} < q_{s0} \leq q_{plus}
\end{cases}
\end{align}
Here $q_{s0}$ is calculated based on $T_{in}$. According to this formula, if $q_{s0} = q_{minus}$, $dq = 0$; if $q_{s0} = q_{vapor} + q_{water}$, $dq = 0.25 q_h$; if $q_{s0} = q_{plus}$, $dq = q_h$.
The amount of rain evaporated to water vapor per time step following Equation (52) in \citet{lin1983bulk}:
\begin{gather}
C = \dfrac{\rho L^2_{vap}}{K_a R_{vapor} T_{in}^2} \\
D = \dfrac{1}{q_{s0} \chi} \\
Prevp' = \dfrac{2 \pi dq}{q_{s0} \left(C + D \right)} n_{rain,0}
\left[0.78 \lambda^{-2}_{rain} + 0.31 S^{1/3}_c \Gamma \left(\dfrac{b + 5}{2} \right) a^{1/2} \left(\dfrac{\rho_{sfc}}{\rho} \right)^{1/4} \nu^{-1/2} \lambda^{- (b + 5) / 2}_{rain} \right]
\end{gather}
where $a$ and $b$ are constant in empirical formula for $U_R$ defined in \citet{lin1983bulk}.
Meanwhile, rain evaporation can be achieved through saturation adjustment. The amount of rain evaporated to water vapor per time step can be written as:
\begin{gather}
Prevp'' = - \dfrac{q_{vapor} - q_{s0}}{\left(1 + \dfrac{L_{v2l}}{c_{moist}} \dfrac{1}{\rho R_v T} \dfrac{de_{s0}}{dT} \right) dt}
\end{gather}
Evaporation will stop when all rain is evaporated, or the water vapor is saturated. So the amount of rain evaporated to water vapor per time step can be rewritten as
\begin{gather}
Prevp = \min \left[\dfrac{q_{rain}}{dt}, f_{r2v} Prevp', Prevp'' \right]
\end{gather}
Note that rain evaporation is scaled by the relaxation time $f_{r2v}$. There is an optional threshold ($RH_{revap}$) that above of which the rain evaporation is shut off.
%------------------------------------------------------------------------------
\subsection{Minimum Evaporation of Rain to Water Vapor}
In GFDL MP, there is an option to turn on alternative minimum evaporation in the dry environmental air. Define the relative humidity for rain
\begin{gather}
RH_{rain} = \max \left(0.35, RH_{adj} - RH_{inr} \right)
\end{gather}
Here $0.35$ is a lower bound of relative humidity for rain, smaller value makes the rain evaporation harder, vice verses. $RH_{inr}$ is relative humidity increment for minimum evaporation of rain. Evaporation will stop when all rain is evaporated, or the water vapor reaches the rain evaporation saturation. So the amount of rain evaporated to water vapor per time step can be written as:
\begin{gather}
Prevp = \min \left[\dfrac{q_{rain}}{dt}, - \dfrac{\min \left(q_{vapor} - RH_{rain} q_{s0}, 0 \right)}{\left(1 + \dfrac{L_{v2l}}{c_{moist}} \dfrac{1}{\rho R_v T} \dfrac{de_{s0}}{dT} \right) dt} \right]
\end{gather}
%------------------------------------------------------------------------------
\subsection{Cloud Ice Sublimation and Deposition}
Cloud ice sublimation or deposition starts only when air temperature ($T$) is lower than freezing temperature ($T_{freez}$). To mimic cloud ice nucleation, cloud ice deposition ($Pidep'$) starts when cloud ice exists. $Pidep'$ is defined using Equation (9) in \citet{hong2004arev}, its A and B are defined in Equation (B8) in \citet{dudhia1989nume}, and Equation (A15) in \citet{rutledge1984them}. The amount of water vapor deposited to cloud ice per time step can be written as:
\begin{gather}
A = \dfrac{\rho \left(L_{vap} + L_{fus} \right)^2}{K_a R_{vapor} T^2} \\
B = \dfrac{1}{q_{s2} \chi} \\
Pidep' = \dfrac{4 \bar{D}_{conice} \left(q_{vapor} - q_{s2} \right) \left(\rho q_{ice} N_{ice} \right)^{0.5}}{q_{s2} \left(A + B \right)}
\end{gather}
where $\bar{D}_{conice}$ uses the same as Equation (5b) in \citet{hong2004arev}, $N_{ice}$ is the number concentration of cloud ice, $K_a$ is thermal conductivity of air. $\chi$ is diffusivity of water vapor in the air. $N_{ice}$ has the option to get the value from $N_i$, which comes from cloud ice activation or nucleation.
Meanwhile, cloud ice sublimation or deposition can be achieved through saturation adjustment. The amount of water vapor deposited to cloud ice per time step can be written as:
\begin{gather}
Pidep'' = \dfrac{q_{vapor} - q_{s2}}{\left(1 + \dfrac{L_{v2s}}{c_{moist}} \dfrac{1}{\rho R_v T} \dfrac{de_{s2}}{dT} \right) dt}
\end{gather}
1) If water vapor is saturated ($q_{vapor} > q_{s2}$), water vapor deposits to cloud ice until temperature reaches freezing temperature $T_{freez}$. So the amount of water vapor deposited to cloud ice per time step can be written as:
\begin{gather} \label{eq:pv2i}
Pidep = \min \left[Pidep'', \max \left(\dfrac{q_{crtice} - q_{ice}}{dt}, Pidep'\right), - \dfrac{c_{moist}}{L_{v2s}} \dfrac{T - T_{freez}}{dt} \right]
\end{gather}
where $q_{crtice}$ is initial ice nuclei mass mixing ratio revised from $q_{I0}$ in Equation (7) in \citet{hong2004arev}:
\begin{gather} \label{eq:qcrtice}
q_{crtice} = \dfrac{q_{genice}}{\rho} \min \left(q_{limice}, - \dfrac{T - T_{freez}}{10} \right)
\end{gather}
where $q_{genice}$ is maximum cloud ice generated during remapping time step. $q_{limice}$ is a cloud ice limiter to prevent large ice build-up.
2) If water vapor is under saturated ($q_{vapor} \leq q_{s2}$), cloud ice sublimates to water vapor until temperature ($T$) reaches the super low temperature ($T_{sub}$) or all cloud ice is sublimated. So the amount of cloud ice sublimated to water vapor per time step can be written as:
\begin{gather} \label{eq:pi2v}
Pisub = \min \left\{\dfrac{q_{ice}}{dt}, - Pidep'', - \min \left[1, \dfrac{\max \left(T - T_{sub}, 0 \right)}{5} \right] Pidep' \right\}
\end{gather}
%------------------------------------------------------------------------------
\subsection{Snow Sublimation and Deposition}
Snow sublimation or deposition starts only when air temperature ($T$) is lower than freezing temperature ($T_{freez}$). To mimic cloud ice nucleation, snow deposition ($Psdep'$) starts when snow exists. $Psdep'$ is defined using Equation (31) in \citet{lin1983bulk}. The amount of water vapor deposited to snow per time step can be written as:
\begin{gather}
Psdep' = \dfrac{2 \pi \left(q_{varpor} - q_{s2} \right)}{q_{s2} \left(A + B \right)} n_{snow,0} \left[0.78 \lambda^{-2}_{snow} + 0.31 S^{1/3}_c \Gamma \left(\dfrac{d + 5}{2} \right) c^{1/2} \left(\dfrac{\rho_{sfc}}{\rho} \right)^{1/4} \nu^{-1/2} \lambda^{- (d + 5) / 2}_{snow} \right]
\end{gather}
where $S_c$ is Schmidt number. $c$ and $d$ are constant in empirical formula for $U_S$ defined in \citet{lin1983bulk}. $\nu$ is kinematic viscosity of air.
Meanwhile, snow sublimation or deposition can be achieved through saturation adjustment. The amount of water vapor deposited to snow per time step can be written as:
\begin{gather}
Psdep'' = \dfrac{q_{vapor} - q_{s2}}{\left(1 + \dfrac{L_{v2s}}{c_{moist}} \dfrac{1}{\rho R_v T} \dfrac{de_{s2}}{dT} \right) dt}
\end{gather}
1) If water vapor is saturated ($q_{vapor} > q_{s2}$), water vapor deposits to snow until temperature freezing temperature $T_{freez}$. So the amount of water vapor deposited to snow per time step can be written as:
\begin{gather}
Psdep = \min \left[Psdep'', Psdep', - \dfrac{c_{moist}}{L_{v2s}} \dfrac{T - T_{freez}}{dt} \right]
\end{gather}
2) If water vapor is under saturated ($q_{vapor} \leq q_{s2}$), snow sublimates to water vapor until temperature ($T$) reaches the super low temperature ($T_{sub}$) or all snow is sublimated. So the amount of snow sublimated to water vapor per time step can be written as:
\begin{gather}
Pssub = \min \left[\dfrac{q_{snow}}{dt}, - \min \left(1, \dfrac{T - T_{sub}}{5} \right) Psdep' \right]
\end{gather}
%------------------------------------------------------------------------------
\subsection{Graupel Sublimation and Deposition}
Graupel sublimation or deposition starts only when air temperature ($T$) is lower than freezing temperature ($T_{freez}$). To mimic cloud ice nucleation, graupel deposition ($Pgdep'$) starts when graupel exists. $Pgdep'$ is defined using Equation (46) in \citet{lin1983bulk}. The amount of water vapor deposited to graupel per time step can be written as:
\begin{gather}
Pgdep' = \dfrac{2 \pi \left(q_{varpor} - q_{s2} \right)}{q_{s2} \left(A + B \right)} n_{graupel,0} \left[0.78 \lambda^{-2}_{greupel} + 0.31 S^{1/3}_c \Gamma \left(\dfrac{f + 5}{2} \right) e^{1/2} \left(\dfrac{4 g \rho_{graupel}}{3 C_D \rho} \right)^{1/4} \nu^{-1/2} \lambda^{- (f + 5) / 2}_{graupel} \right]
\end{gather}
where $C_D$ follows Equation (46) in \citet{lin1983bulk} defined as:
\begin{gather}
C_D = \dfrac{4 g \rho_{graupel}}{3 \rho_{sfc} 40.74^2}
\end{gather}
Meanwhile, graupel sublimation or deposition can be achieved through saturation adjustment. The amount of water vapor deposited to graupel per time step can be written as:
\begin{gather}
Pgdep'' = \dfrac{q_{vapor} - q_{s2}}{\left(1 + \dfrac{L_{v2s}}{c_{moist}} \dfrac{1}{\rho R_v T} \dfrac{de_{s2}}{dT} \right) dt}
\end{gather}
1) If water vapor is saturated ($q_{vapor} > q_{s2}$), water vapor deposits to graupel until temperature freezing temperature $T_{freez}$. So the amount of water vapor deposited to graupel per time step can be written as:
\begin{gather}
Pgdep = \min \left[Pgdep'', Pgdep', - \dfrac{c_{moist}}{L_{v2s}} \dfrac{T - T_{freez}}{dt} \right]
\end{gather}
2) If water vapor is under saturated ($q_{vapor} \leq q_{s2}$), graupel sublimates to water vapor until temperature ($T$) reaches the super low temperature ($T_{sub}$) or all graupel is sublimated. So the amount of snow sublimated to water vapor per time step can be written as:
\begin{gather}
Pgsub = \min \left[\dfrac{q_{graupel}}{dt}, - \min \left(1, \dfrac{T - T_{sub}}{5} \right) Pgdep' \right]
\end{gather}
%------------------------------------------------------------------------------
\subsection{Instantaneous Deposition of Water Vapor}
If the air temperature ($T$) is super low ($T < T_{sub}$), where $T_{sub}$ is the minimum temperature for the sublimation of cloud ice, freeze water vapor as a fix because it is too cold to be accurate. So the amount of water vapor deposited to cloud ice per time step can be written as:
\begin{gather}
Pidep = \dfrac{q_{vapor} - q_{mincond}}{dt}
\end{gather}
%------------------------------------------------------------------------------
\subsection{Instantaneous Evaporation / Sublimation of Cloud Water / Cloud Ice}
If the relative humidity is lower than a certain threshold ($RH_{adj}$), all clouds should evaporate or sublimate to water vapor, results in cloud-free. Assume all cloud water is evaporated to water vapor, all cloud ice is sublimated to water vapor, a new air temperature named 'liquid-frozen water temperature' ($T_{in}$) is defined:
\begin{gather}
T_{in} = \dfrac{c_{moist} T - L_f q_{ice} - L_v \left(q_{water} + q_{ice} \right)}{c_{v,dry} + \left(q_{vapor} + q_{water} + q_{ice} \right) c_{v,vapor} + q_{rain} c_{liquid} + \left(q_{snow} + q_{graupel} \right) c_{solid}}
\end{gather}
$T_{in}$ then is used to calculate saturated water vapor pressure $q_{s2}$. Define relative humidity considering water vapor, cloud water, and cloud ice assumed all cloud water evaporates and all cloud ice sublimates:
\begin{gather}
RH = \dfrac{q_{vapor} + q_{water} + q_{ice}}{q_{s2}}
\end{gather}
Instant evaporation / sublimation happens when temperature $T_{in}$ is higher than $T_{sub} + 6$, and relative humidity $RH$ is lower than $RH_{adj}$. So the amount of cloud water / cloud ice evaporated / sublimated to water vapor per time step can be written as:
\begin{gather}
Pevap = \dfrac{q_{water}}{dt} \\
Pisub = \dfrac{q_{ice}}{dt}
\end{gather}
Here the definition of $RH_{adj}$ using horizontal subgrid variability:
\begin{gather}
RH_{adj} = 1 - h_{var} - RH_{inc}
\end{gather}
where $RH_{inc}$ is relative humidity increment for complete evaporation / sublimation of cloud water / cloud ice.
%------------------------------------------------------------------------------
\subsection{Melting of Cloud Ice to Cloud Water and Rain}
When cloud ice exists at where temperature ($T$) is higher than freezing temperature ($T_{freez}$), cloud ice melts to cloud water or rain. The amount of cloud ice melted per time step can be written as:
\begin{gather}
Pimlt' = f_{i2w} \dfrac{c_{moist}}{L_{l2s}} \dfrac{T - T_{freez}}{dt}
\end{gather}
Note that the melting process is scaled by a relaxation time $f_{i2w}$. Melting stops when temperature reaches the freezing temperature or all cloud ice is melted:
\begin{gather}
Pimlt = \min \left(\dfrac{q_{ice}}{dt}, Pimlt' \right)
\end{gather}
Define $q_{mltwater}$, maximum value of cloud water allowed from melted cloud ice, exceed of which is converted to rain. It is used to prevent excessive cloud water. So the ratio of converted cloud water and total melted cloud ice ($\alpha$) can be written as:
\begin{gather}
\alpha = \min \left[1, \dfrac{\max \left(q_{mltwater} - q_{water}, 0 \right)}{Pimlt \cdot dt} \right]
\end{gather}
Thus, the ratio of converted rain and total melted cloud ice is $1 - \alpha$.
%------------------------------------------------------------------------------
\subsection{Complete Freezing of Cloud Water to Cloud Ice}
When temperature ($T$) is below a critical temperature ($T_{wfr}$), all cloud water is enforced to freeze to cloud ice. The amount of cloud water frozen to cloud ice per time step can be written as:
\begin{gather}
Pcomp' = - \dfrac{T - T_{wfr}}{dt_{fr}} \dfrac{q_{water}}{dt}
\end{gather}
Freezing stops when temperature reaches the critical temperature or all cloud water is frozen:
\begin{gather}
Pcomp = \min \left(\dfrac{q_{water}}{dt}, Pcomp', - \dfrac{c_{moist}}{L_{l2s}} \dfrac{T - T_{wfr}}{dt} \right)
\end{gather}
%------------------------------------------------------------------------------
\subsection{Homogeneous Freezing of Cloud Water to Cloud Ice and Snow}
Homogeneous freezing is the process by which a supercooled liquid drop freezes without the assistance of ice nuclei. Homogeneous freezing starts when the temperature ($T$) is lower than $T_{wfr}$. Cloud water below $T_{wfr} - dt_{fr}$ would be enforced to convert to cloud ice completely. Between $T_{wfr} - dt_{fr}$ and $T_{wfr}$, the conversion rate is a linear function of temperature. The amount of frozen cloud water per time step can be written as:
\begin{gather}
Pifr' = - \dfrac{T - T_{wfr}}{dt_{fr}} \dfrac{q_{water}}{dt}
\end{gather}
The freezing process stops when the temperature reaches $T_{wfr}$ or all cloud water is frozen:
\begin{gather}
Pifr = \min \left(\dfrac{q_{water}}{dt}, Pifr', - \dfrac{c_{moist}}{L_{l2s}} \dfrac{T - T_{wfr}}{dt} \right)
\end{gather}
At this point, $Pift = Pcomp$. However, homogeneous freezing allows exceeded cloud ice to autoconvert to snow. The ratio of converted cloud ice to total frozen cloud water ($\beta$) can be written as:
\begin{gather}
\beta = \min \left[1, \dfrac{\max \left(\dfrac{q_{autice}}{\rho} - q_{ice}, 0 \right)}{Pifr \cdot dt} \right]
\end{gather}
Thus, the ratio of converted snow and total frozen cloud water is $1 - \beta$.
%------------------------------------------------------------------------------
\subsection{Bigg Freezing of Cloud Water to Cloud Ice}
Different from complete or homogeneous freezing above, \citet{bigg1953thes} confirmed that there was a linear relationship between the logarithm of the cloud water diameter and the mean freezing temperature and interpreting his results in terms of simple probability theory. \citet{bigg1953thes} can be treated as heterogeneous freezing. Heterogeneous freezing is the process by which a supercooled liquid drop freezes with the assistance of a solid aerosol particle which can act as ice nuclei. The constants are similar to Equation (A.22) in \citet{reisner1998expl} or Equation (A44) in \citet{hong2006thew}. When cloud water exists at where temperature ($T$) is lower than freezing temperature ($T_{freez}$). The amount of cloud water frozen to cloud ice per time step can be written as:
\begin{gather}
Pbigg' = B' \left\{\exp \left[- A' \left( T - T_{freez}\right) - 1 \right] \right\} \dfrac{\rho q_{water}^2}{\rho_{water} N_{water}}
\end{gather}
where $A'$ and $B'$ are tunable parameters, $\rho_{water}$ is the density of cloud water, $N_{water}$ is the number concentration of cloud water. The number concentration of cloud water ($N_{water}$) is from the cloud droplet number concentration ($N_c$). The freezing process stops when the temperature reaches freezing temperature, or all cloud water is frozen:
\begin{gather}
Pbigg = \min \left(\dfrac{q_{water}}{dt}, Pbigg', - \dfrac{c_{moist}}{L_{l2i}} \dfrac{T - T_{freez}}{dt} \right)
\end{gather}
%------------------------------------------------------------------------------
\subsection{Melting of Snow to Cloud Water and Rain, Simple Version}
Snow can melt to cloud water and rain when snow exist at where temperature ($T$) is higher than freezing temperature ($T_{freez}$). The amount of snow melted per time step can be written as:
\begin{gather}
Psmlt' = \left(\dfrac{T - T_{freez}}{10} \right)^2 \dfrac{q_{snow}}{dt}
\end{gather}
The melting process will stop when temperature reaches $T_{freez}$ or all snow is melted:
\begin{gather}
Psmlt = \min \left(\dfrac{q_{snow}}{dt}, Psmlt', f_{s2r} \dfrac{c_{moist}}{L_{l2i}} \dfrac{T - T_{freez}}{dt} \right)
\end{gather}
Note that the melting is scaled by a relaxation time $f_{s2r}$. Define $q_{mltsnow}$, maximum value of cloud water allowed from melted snow, exceed of which would be conversed to rain. It is used to prevent excessive cloud water. So the ratio of converted cloud water and total melted snow ($\epsilon$) can be written as:
\begin{gather}
\epsilon = \min \left[1, \dfrac{\max \left(q_{mltsnow} - q_{water}, 0 \right)}{Psmlt \cdot dt} \right]
\end{gather}
Thus, the ratio of converted rain and total melted snow is $1 - \epsilon$.
%------------------------------------------------------------------------------
\subsection{Melting of Snow to Cloud Water and Rain}
Unlike the previous melting of snow to cloud water and rain process, which simply considers the temperature difference, here the snow melting considers the accretion between cloud water and snow, rain and snow. Snow starts to melt when the temperature ($T$) is higher than the freezing temperature ($T_{freez}$). The calculation of melted snow follows Equation (32) in \citet{lin1983bulk}:
\begin{multline}
Psmlt' = - \dfrac{2 \pi}{\rho L_{l2s}} \left[K_a \left(T - T_{freez} \right) - L_{v2l} \psi \rho \left(q_{s2} - q_{vapor} \right) \right] n_{snow,0} \\
\left[0.78 \lambda^{-2}_{snow} + 0.31 S^{1/3}_c \Gamma \left(\dfrac{d + 5}{2} \right) c^{1/2} \left(\dfrac{\rho_{sfc}}{\rho} \right)^{1/4} \nu^{-1/2} \lambda^{-\left(d + 5 \right)/2}_{snow} \right] \\
- \dfrac{c_{liquid} \left(T - T_{freez} \right)}{L_{l2s}} \left(Psacw + Psacr \right)
\end{multline}
Melting of snow will stop when all snow has been melted, temperature ($T$) reaches freezing temperature ($T_{freez}$):
\begin{gather}
Psmlt = \min \left[\dfrac{q_{snow}}{dt}, \max \left(0, Psmlt' \right) + Pracs, \dfrac{c_{moist}}{L_{l2s}} \dfrac{T - T_{freez}}{dt} \right]
\end{gather}
Define $q_{mltsnow}$, the maximum value of cloud water allowed from melted snow, exceed of which would be conversed to rain. It is used to prevent excessive cloud water. So the ratio of converted cloud water and total melted snow ($\epsilon$) can be written as:
\begin{gather}
\epsilon = \min \left[1, \dfrac{\max \left(q_{mltsnow} - q_{water}, 0 \right)}{Psmlt \cdot dt} \right]
\end{gather}
Thus, the ratio of converted rain and total melted snow is $1 - \epsilon$.
%------------------------------------------------------------------------------
\subsection{Melting of Graupel to Rain}
Graupel melting considers the accretion between cloud water and graupel, rain and graupel. graupel starts to melt when the temperature ($T$) is higher than the freezing temperature ($T_{freez}$). The calculation of melted graupel follows Equation (47) in \citet{lin1983bulk}:
\begin{multline}
Pgmlt' = - \dfrac{2 \pi}{\rho L_{l2s}} \left[K_a \left(T - T_{freez} \right) - L_{v2l} \psi \rho \left(q_{s2} - q_{vapor} \right) \right] n_{graupel,0} \\
\left[0.78 \lambda^{-2}_{graupel} + 0.31 S^{1/3}_c \Gamma \left(\dfrac{f + 5}{2} \right) e^{1/2} \left(\dfrac{4 g \rho_{graupel}}{3 C_D \rho} \right)^{1/4} \nu^{-1/2} \lambda^{-\left(f + 5 \right)/2}_{graupel} \right] \\
- \dfrac{c_{liquid} \left(T - T_{freez} \right)}{L_{l2s}} \left(Pgacw + Pgacr \right)
\end{multline}
Melting of graupel will stop when all graupel has been melted, temperature ($T$) reaches freezing temperature ($T_{freez}$):
\begin{gather}
Pgmlt = \min \left[\dfrac{q_{graupel}}{dt}, \max \left(0, Pgmlt' \right), \dfrac{c_{moist}}{L_{l2s}} \dfrac{T - T_{freez}}{dt} \right]