Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
60847e2
slvr blk ice common
pdziekan Nov 20, 2024
d67c876
adding paremeters
Nov 22, 2024
8cbed0f
slvr blk ice common: calc_forces, update_rhs
pdziekan Nov 22, 2024
6b613dc
ct_params for blk_1m ice
pdziekan Nov 22, 2024
d1cf694
temp: test blk_1m_ice compilation
pdziekan Nov 22, 2024
569435f
slvr_blk_1m_ice.hpp
pdziekan Nov 28, 2024
17510b8
adding run_hlpr for ice
Nov 28, 2024
2e58a15
adding 3D solver and opts for ice
Nov 29, 2024
c9a3062
fixing problems
Nov 29, 2024
8c4e45b
ice puddle
Dec 6, 2024
5fb625e
solver type tags for blk1m and blk1m_ice
Dec 10, 2024
28defe2
solver type tags for blk2m, lgrngn, dry
Dec 10, 2024
ec50ef4
new case
Dec 16, 2024
7d95743
trying to fix problems
Dec 17, 2024
6594387
including slvr_blk_1m in run_hlpr
Dec 20, 2024
a7e7c89
initialization of ria, rib
Jan 16, 2025
3d4bc7f
perturbation only below 1 km
Jan 22, 2025
10c2532
radiative cooling data
Jan 22, 2025
20e9040
function with time interpolation
Jan 22, 2025
0cc9067
time dependent radiative cooling
Jan 23, 2025
3eb5d83
fixing the radiative cooling
Jan 29, 2025
17310d8
adding "real_t()"
Feb 11, 2025
0089087
changing horizontal domain size
Feb 12, 2025
6bf5669
Merge branch 'ice_1m' of github.com:AgnieszkaMakulska/UWLCM into ice_1m
Feb 12, 2025
b01be33
trying to fix surface fluxes
Feb 27, 2025
60ef21d
correct formulas for fluxes
Feb 27, 2025
6a41441
fixing the hetB flag
Mar 10, 2025
01074e8
mem barrier
Mar 31, 2025
21e868e
correct rv perturbation and comments
Mar 31, 2025
52182c7
storing puddle correctly
Apr 9, 2025
a439aab
enum for puddle
Apr 9, 2025
4090649
renaming case
AgnieszkaMakulska Aug 25, 2025
bd7d711
case name fix
AgnieszkaMakulska Aug 25, 2025
ae3a35f
Merge branch 'master' into ice_1m
AgnieszkaMakulska Oct 22, 2025
27f9d20
th_pres_opts in blk_ice
AgnieszkaMakulska Oct 22, 2025
37f12cb
uncomment nancheck
AgnieszkaMakulska Oct 27, 2025
758bfb3
rename daytime_convection to daytime_convection_LBA; add it and blk_1…
pdziekan Oct 27, 2025
00c7423
Merge branch 'ice_1m' of https://github.com/pdziekan/UWLCM into ice_1m
AgnieszkaMakulska Oct 29, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 7 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,12 @@ if(UWLCM_DISABLE)
if(NOT "3D_BLK_1M" IN_LIST UWLCM_DISABLE)
target_sources(uwlcm PRIVATE src/run_hlpr_3d_blk_1m.cpp)
endif()
if(NOT "2D_BLK_1M_ICE" IN_LIST UWLCM_DISABLE)
target_sources(uwlcm PRIVATE src/run_hlpr_2d_blk_1m_ice.cpp)
endif()
if(NOT "3D_BLK_1M_ICE" IN_LIST UWLCM_DISABLE)
target_sources(uwlcm PRIVATE src/run_hlpr_3d_blk_1m_ice.cpp)
endif()
if(NOT "2D_BLK_2M" IN_LIST UWLCM_DISABLE)
target_sources(uwlcm PRIVATE src/run_hlpr_2d_blk_2m.cpp)
endif()
Expand All @@ -107,7 +113,7 @@ if(UWLCM_DISABLE)
endif()
else()
# if no options were disabled, add all sources
target_sources(uwlcm PRIVATE src/run_hlpr_2d_blk_1m.cpp src/run_hlpr_3d_blk_1m.cpp src/run_hlpr_2d_blk_2m.cpp src/run_hlpr_3d_blk_2m.cpp src/run_hlpr_2d_lgrngn.cpp src/run_hlpr_3d_lgrngn.cpp src/run_hlpr_2d_none.cpp src/run_hlpr_3d_none.cpp)
target_sources(uwlcm PRIVATE src/run_hlpr_2d_blk_1m.cpp src/run_hlpr_3d_blk_1m.cpp src/run_hlpr_2d_blk_1m_ice.cpp src/run_hlpr_3d_blk_1m_ice.cpp src/run_hlpr_2d_blk_2m.cpp src/run_hlpr_3d_blk_2m.cpp src/run_hlpr_2d_lgrngn.cpp src/run_hlpr_3d_lgrngn.cpp src/run_hlpr_2d_none.cpp src/run_hlpr_3d_none.cpp)
endif()

# ensure that uwlcm is not built before current git_revision file is created
Expand Down
489 changes: 489 additions & 0 deletions src/cases/DaytimeConvectionLBA.hpp

Large diffs are not rendered by default.

80 changes: 80 additions & 0 deletions src/cases/detail/LBA_sounding/input_sounding.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
#pragma once

/*
Initial sounding from Large-Scale Biosphere–Atmosphere (LBA) experiment, described in Grabowski et al. (2006)
*/

namespace
{

//individual profiles

std::vector<double> LBA_sounding_z_abs_km = { // absolute height in km
0.130, 0.464, 0.573, 1.100, 1.653, 2.216, 2.760,
3.297, 3.824, 4.327, 4.787, 5.242, 5.686, 6.131,
6.578, 6.996, 7.431, 7.881, 8.300, 8.718, 9.149,
9.611, 10.084, 10.573, 11.008, 11.460, 11.966, 12.472,
12.971, 13.478, 13.971, 14.443, 14.956, 15.458, 16.019,
16.491, 16.961, 17.442, 17.934, 18.397, 18.851, 19.331,
19.809, 20.321, 20.813, 21.329, 30.000
};

std::vector<double> LBA_sounding_z = { // relative height (starting from 0) in meters
0., 334., 443., 970., 1523., 2086., 2630., 3167.,
3694., 4197., 4657., 5112., 5556., 6001., 6448., 6866.,
7301., 7751., 8170., 8588., 9019., 9481., 9954., 10443.,
10878., 11330., 11836., 12342., 12841., 13348., 13841., 14313.,
14826., 15328., 15889., 16361., 16831., 17312., 17804., 18267.,
18721., 19201., 19679., 20191., 20683., 21199., 29870.
};

std::vector<double> LBA_sounding_p = { // pressure in hPa
991.3, 954.2, 942.0, 886.9, 831.5, 778.9, 729.8, 684.0,
641.7, 603.2, 570.1, 538.6, 509.1, 480.4, 454.0, 429.6,
405.7, 382.5, 361.1, 340.9, 321.2, 301.2, 281.8, 263.1,
246.1, 230.1, 213.2, 197.0, 182.3, 167.9, 154.9, 143.0,
131.1, 119.7, 108.9, 100.1, 92.1, 84.6, 77.5, 71.4,
65.9, 60.7, 55.9, 51.3, 47.2, 43.3, 10.3
};

std::vector<double> LBA_sounding_T = { // temperature in Celsius
23.70, 23.30, 22.57, 19.90, 16.91, 14.09, 11.13,
8.29, 5.38, 2.29, -0.66, -3.02, -5.28, -7.42,
-10.34, -12.69, -15.70, -19.21, -21.81, -24.73, -27.76,
-30.93, -34.62, -38.58, -42.30, -46.07, -50.03, -54.67,
-59.16, -63.60, -67.68, -70.77, -74.41, -77.51, -80.64,
-80.69, -80.00, -81.38, -81.17, -78.32, -74.77, -74.52,
-72.62, -70.87, -69.19, -66.90, -66.90
};

std::vector<double> LBA_sounding_RH = { // relative humidity in %
98.00, 86.00, 88.56, 87.44, 86.67, 83.67, 79.56,
84.78, 84.78, 89.33, 94.33, 92.00, 85.22, 77.33,
80.11, 66.11, 72.11, 72.67, 52.22, 54.67, 51.00,
43.78, 40.56, 43.11, 54.78, 46.11, 42.33, 43.22,
45.33, 39.78, 33.78, 28.78, 24.67, 20.67, 17.67,
17.11, 16.22, 14.22, 13.00, 13.00, 12.22, 9.56,
7.78, 5.89, 4.33, 3.00, 3.00
};

std::vector<double> LBA_sounding_u = { // E-W wind component (m/s)
0.00, 0.81, 1.17, 3.44, 3.53, 3.88, 4.09,
3.97, 1.22, 0.16, -1.22, -1.72, -2.77, -2.65,
-0.64, -0.07, -1.90, -2.70, -2.99, -3.66, -5.05,
-6.64, -4.74, -5.30, -6.07, -4.26, -7.52, -8.88,
-9.00, -7.77, -5.37, -3.88, -1.15, -2.36, -9.20,
-8.01, -5.68, -8.83, -14.51, -15.55, -15.36, -17.67,
-17.82, -18.94, -15.92, -15.32, -15.32
};

std::vector<double> LBA_sounding_v = { //N-S wind component (m/s)
-0.40, -3.51, -3.88, -4.77, -5.28, -5.85, -5.60,
-2.67, -1.47, 0.57, 0.89, -0.08, 1.11, 2.15,
3.12, 3.22, 3.34, 1.91, 1.15, 1.01, -0.57,
-0.67, 0.31, 2.97, 2.32, 2.66, 4.79, 3.40,
3.14, 3.93, 7.57, 2.58, 2.50, 6.44, 6.84,
0.19, -2.20, -3.60, 0.56, 6.68, 9.41, 7.03,
5.32, 1.14, -0.65, 5.27, 5.27
};

};
64 changes: 64 additions & 0 deletions src/cases/detail/LBA_sounding/radiative_cooling.hpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
#pragma once

/*
Time-dependent radiatie cooling from Large-Scale Biosphere–Atmosphere (LBA) experiment, described in Grabowski et al. (2006)
*/

namespace
{

std::vector<double> rad_cooling_z = { // absolute height in m
42.50, 200.92, 456.28, 743.00, 1061.08, 1410.52, 1791.32, 2203.48, 2647.00,
3121.88, 3628.12, 4165.72, 4734.68, 5335.00, 5966.68, 6629.72, 7324.12,
8049.88, 8807.00, 9595.48, 10415.32, 11266.52, 12149.08, 13063.00, 14008.28,
14984.92, 15992.92, 17032.28, 18103.00, 19205.08, 20338.52, 21503.32, 22699.48
};

std::vector<double> rad_cooling_time = { // time in min
10.0, 20.0, 30.0, 40.0, 50.0, 60.0, 70.0, 80.0, 90.0, 100.0,
110.0, 120.0, 130.0, 140.0, 150.0, 160.0, 170.0, 180.0, 190.0,
200.0, 210.0, 220.0, 230.0, 240.0, 250.0, 260.0, 270.0, 280.0,
290.0, 300.0, 310.0, 320.0, 330.0, 340.0, 350.0, 360.0
};

std::vector<std::vector<double>> rad_cooling = { // K / day
{-1.386, -1.927, -2.089, -1.969, -1.805, -1.585, -1.406, -1.317, -1.188, -1.106, -1.103, -1.025, -0.955, -1.045, -1.144, -1.119, -1.068, -1.092, -1.196, -1.253, -1.266, -1.306, -0.950, 0.122, 0.255, 0.258, 0.322, 0.135, 0.000, 0.000, 0.000, 0.000, 0.000},
{-1.230, -1.824, -2.011, -1.895, -1.729, -1.508, -1.331, -1.241, -1.109, -1.024, -1.018, -0.940, -0.867, -0.953, -1.046, -1.018, -0.972, -1.006, -1.119, -1.187, -1.209, -1.259, -0.919, 0.122, 0.264, 0.262, 0.326, 0.137, 0.000, 0.000, 0.000, 0.000, 0.000},
{-1.043, -1.692, -1.906, -1.796, -1.630, -1.410, -1.233, -1.142, -1.010, -0.921, -0.911, -0.829, -0.754, -0.837, -0.923, -0.890, -0.847, -0.895, -1.021, -1.101, -1.138, -1.201, -0.880, 0.131, 0.286, 0.259, 0.332, 0.140, 0.000, 0.000, 0.000, 0.000, 0.000},
{-0.944, -1.613, -1.832, -1.720, -1.555, -1.339, -1.163, -1.068, -0.935, -0.846, -0.835, -0.750, -0.673, -0.751, -0.833, -0.798, -0.760, -0.817, -0.952, -1.042, -1.088, -1.159, -0.853, 0.138, 0.291, 0.265, 0.348, 0.136, 0.000, 0.000, 0.000, 0.000, 0.000},
{-0.833, -1.526, -1.757, -1.648, -1.485, -1.270, -1.093, -0.998, -0.867, -0.778, -0.761, -0.672, -0.594, -0.671, -0.748, -0.709, -0.676, -0.742, -0.887, -0.986, -1.041, -1.119, -0.825, 0.143, 0.296, 0.271, 0.351, 0.138, 0.000, 0.000, 0.000, 0.000, 0.000},
{-0.719, -1.425, -1.657, -1.550, -1.392, -1.179, -1.003, -0.909, -0.778, -0.688, -0.667, -0.573, -0.492, -0.566, -0.639, -0.596, -0.568, -0.647, -0.804, -0.914, -0.981, -1.070, -0.793, 0.151, 0.303, 0.279, 0.355, 0.141, 0.000, 0.000, 0.000, 0.000, 0.000},
{-0.724, -1.374, -1.585, -1.482, -1.328, -1.116, -0.936, -0.842, -0.715, -0.624, -0.598, -0.503, -0.421, -0.494, -0.561, -0.514, -0.490, -0.580, -0.745, -0.863, -0.938, -1.035, -0.764, 0.171, 0.291, 0.284, 0.358, 0.144, 0.000, 0.000, 0.000, 0.000, 0.000},
{-0.587, -1.280, -1.513, -1.416, -1.264, -1.052, -0.874, -0.781, -0.655, -0.561, -0.532, -0.436, -0.354, -0.424, -0.485, -0.435, -0.417, -0.517, -0.691, -0.817, -0.898, -1.000, -0.740, 0.176, 0.297, 0.289, 0.360, 0.146, 0.000, 0.000, 0.000, 0.000, 0.000},
{-0.506, -1.194, -1.426, -1.332, -1.182, -0.972, -0.795, -0.704, -0.578, -0.480, -0.445, -0.347, -0.267, -0.336, -0.391, -0.337, -0.325, -0.436, -0.620, -0.756, -0.847, -0.960, -0.714, 0.180, 0.305, 0.317, 0.348, 0.158, 0.000, 0.000, 0.000, 0.000, 0.000},
{-0.472, -1.140, -1.364, -1.271, -1.123, -0.914, -0.738, -0.649, -0.522, -0.422, -0.386, -0.287, -0.207, -0.273, -0.322, -0.267, -0.260, -0.379, -0.569, -0.712, -0.811, -0.931, -0.696, 0.183, 0.311, 0.320, 0.351, 0.160, 0.000, 0.000, 0.000, 0.000, 0.000},
{-0.448, -1.091, -1.305, -1.214, -1.068, -0.858, -0.682, -0.594, -0.469, -0.368, -0.329, -0.229, -0.149, -0.213, -0.257, -0.200, -0.199, -0.327, -0.523, -0.668, -0.774, -0.903, -0.678, 0.186, 0.315, 0.323, 0.355, 0.162, 0.000, 0.000, 0.000, 0.000, 0.000},
{-0.405, -1.025, -1.228, -1.139, -0.996, -0.789, -0.615, -0.527, -0.402, -0.300, -0.256, -0.156, -0.077, -0.136, -0.173, -0.115, -0.121, -0.259, -0.463, -0.617, -0.732, -0.869, -0.656, 0.190, 0.322, 0.326, 0.359, 0.164, 0.000, 0.000, 0.000, 0.000, 0.000},
{-0.391, -0.983, -1.174, -1.085, -0.945, -0.739, -0.566, -0.478, -0.354, -0.251, -0.205, -0.105, -0.027, -0.082, -0.114, -0.056, -0.069, -0.213, -0.420, -0.579, -0.699, -0.840, -0.642, 0.173, 0.327, 0.329, 0.362, 0.165, 0.000, 0.000, 0.000, 0.000, 0.000},
{-0.385, -0.946, -1.121, -1.032, -0.898, -0.695, -0.523, -0.434, -0.307, -0.203, -0.157, -0.057, 0.021, -0.031, -0.059, -0.001, -0.018, -0.168, -0.381, -0.546, -0.672, -0.819, -0.629, 0.176, 0.332, 0.332, 0.364, 0.166, 0.000, 0.000, 0.000, 0.000, 0.000},
{-0.383, -0.904, -1.063, -0.972, -0.834, -0.632, -0.464, -0.378, -0.251, -0.144, -0.096, 0.001, 0.079, 0.032, 0.011, 0.069, 0.044, -0.113, -0.332, -0.504, -0.637, -0.791, -0.611, 0.181, 0.338, 0.335, 0.367, 0.167, 0.000, 0.000, 0.000, 0.000, 0.000},
{-0.391, -0.873, -1.016, -0.929, -0.794, -0.591, -0.423, -0.337, -0.212, -0.104, -0.056, 0.043, 0.121, 0.077, 0.058, 0.117, 0.088, -0.075, -0.298, -0.475, -0.613, -0.772, -0.599, 0.183, 0.342, 0.337, 0.370, 0.168, 0.000, 0.000, 0.000, 0.000, 0.000},
{-0.359, -0.836, -0.976, -0.888, -0.755, -0.554, -0.386, -0.300, -0.175, -0.067, -0.018, 0.081, 0.160, 0.119, 0.103, 0.161, 0.129, -0.039, -0.266, -0.448, -0.591, -0.755, -0.587, 0.187, 0.345, 0.339, 0.372, 0.169, 0.000, 0.000, 0.000, 0.000, 0.000},
{-0.328, -0.792, -0.928, -0.842, -0.709, -0.508, -0.341, -0.256, -0.131, -0.022, 0.029, 0.128, 0.208, 0.170, 0.158, 0.216, 0.179, 0.005, -0.228, -0.415, -0.564, -0.733, -0.573, 0.190, 0.384, 0.313, 0.375, 0.170, 0.000, 0.000, 0.000, 0.000, 0.000},
{-0.324, -0.767, -0.893, -0.807, -0.676, -0.476, -0.310, -0.225, -0.101, 0.008, 0.060, 0.159, 0.239, 0.204, 0.195, 0.252, 0.212, 0.034, -0.203, -0.394, -0.546, -0.719, -0.564, 0.192, 0.386, 0.315, 0.377, 0.171, 0.000, 0.000, 0.000, 0.000, 0.000},
{-0.310, -0.740, -0.860, -0.775, -0.647, -0.449, -0.283, -0.197, -0.073, 0.036, 0.089, 0.188, 0.269, 0.235, 0.229, 0.285, 0.242, 0.061, -0.179, -0.374, -0.530, -0.706, -0.556, 0.194, 0.388, 0.317, 0.402, 0.158, 0.000, 0.000, 0.000, 0.000, 0.000},
{-0.244, -0.694, -0.818, -0.730, -0.605, -0.415, -0.252, -0.163, -0.037, 0.072, 0.122, 0.220, 0.303, 0.273, 0.269, 0.324, 0.277, 0.093, -0.152, -0.350, -0.510, -0.691, -0.546, 0.196, 0.390, 0.320, 0.403, 0.159, 0.000, 0.000, 0.000, 0.000, 0.000},
{-0.284, -0.701, -0.803, -0.701, -0.568, -0.381, -0.225, -0.142, -0.017, 0.092, 0.143, 0.242, 0.325, 0.298, 0.295, 0.350, 0.300, 0.112, -0.134, -0.334, -0.497, -0.680, -0.540, 0.198, 0.392, 0.321, 0.404, 0.160, 0.000, 0.000, 0.000, 0.000, 0.000},
{-0.281, -0.686, -0.783, -0.680, -0.547, -0.359, -0.202, -0.119, 0.005, 0.112, 0.163, 0.261, 0.345, 0.321, 0.319, 0.371, 0.319, 0.130, -0.118, -0.321, -0.486, -0.671, -0.534, 0.199, 0.393, 0.323, 0.405, 0.161, 0.000, 0.000, 0.000, 0.000, 0.000},
{-0.269, -0.667, -0.760, -0.655, -0.522, -0.336, -0.181, -0.096, 0.029, 0.136, 0.188, 0.286, 0.370, 0.346, 0.345, 0.396, 0.342, 0.150, -0.102, -0.307, -0.473, -0.661, -0.528, 0.200, 0.393, 0.324, 0.405, 0.162, 0.000, 0.000, 0.000, 0.000, 0.000},
{-0.255, -0.653, -0.747, -0.643, -0.511, -0.325, -0.169, -0.082, 0.042, 0.149, 0.204, 0.304, 0.388, 0.363, 0.360, 0.409, 0.354, 0.164, -0.085, -0.289, -0.457, -0.649, -0.523, 0.193, 0.394, 0.326, 0.406, 0.162, 0.000, 0.000, 0.000, 0.000, 0.000},
{-0.265, -0.650, -0.739, -0.634, -0.500, -0.314, -0.159, -0.072, 0.052, 0.159, 0.215, 0.316, 0.398, 0.374, 0.374, 0.424, 0.370, 0.181, -0.065, -0.265, -0.429, -0.627, -0.519, 0.180, 0.394, 0.326, 0.406, 0.162, 0.000, 0.000, 0.000, 0.000, 0.000},
{-0.276, -0.647, -0.731, -0.626, -0.492, -0.307, -0.152, -0.064, 0.058, 0.166, 0.227, 0.329, 0.411, 0.389, 0.390, 0.441, 0.389, 0.207, -0.032, -0.228, -0.394, -0.596, -0.494, 0.194, 0.376, 0.326, 0.406, 0.162, 0.000, 0.000, 0.000, 0.000, 0.000},
{-0.271, -0.646, -0.730, -0.625, -0.489, -0.303, -0.149, -0.061, 0.062, 0.169, 0.229, 0.332, 0.412, 0.388, 0.389, 0.439, 0.387, 0.206, -0.028, -0.209, -0.347, -0.524, -0.435, 0.195, 0.381, 0.313, 0.405, 0.162, 0.000, 0.000, 0.000, 0.000, 0.000},
{-0.267, -0.647, -0.734, -0.628, -0.490, -0.304, -0.151, -0.062, 0.061, 0.168, 0.229, 0.329, 0.408, 0.385, 0.388, 0.438, 0.386, 0.206, -0.024, -0.194, -0.319, -0.480, -0.360, 0.318, 0.405, 0.335, 0.394, 0.162, 0.000, 0.000, 0.000, 0.000, 0.000},
{-0.274, -0.656, -0.745, -0.640, -0.500, -0.313, -0.158, -0.068, 0.054, 0.161, 0.223, 0.325, 0.402, 0.379, 0.384, 0.438, 0.392, 0.221, 0.001, -0.164, -0.278, -0.415, -0.264, 0.445, 0.402, 0.304, 0.389, 0.157, 0.000, 0.000, 0.000, 0.000, 0.000},
{-0.289, -0.666, -0.753, -0.648, -0.508, -0.320, -0.164, -0.073, 0.049, 0.156, 0.220, 0.321, 0.397, 0.374, 0.377, 0.430, 0.387, 0.224, 0.014, -0.139, -0.236, -0.359, -0.211, 0.475, 0.400, 0.308, 0.375, 0.155, 0.000, 0.000, 0.000, 0.000, 0.000},
{-0.302, -0.678, -0.765, -0.659, -0.517, -0.329, -0.176, -0.085, 0.038, 0.145, 0.208, 0.310, 0.386, 0.362, 0.366, 0.421, 0.381, 0.224, 0.022, -0.119, -0.201, -0.300, -0.129, 0.572, 0.419, 0.265, 0.364, 0.154, 0.000, 0.000, 0.000, 0.000, 0.000},
{-0.314, -0.696, -0.786, -0.681, -0.539, -0.349, -0.196, -0.105, 0.019, 0.127, 0.189, 0.289, 0.364, 0.340, 0.346, 0.403, 0.370, 0.222, 0.036, -0.081, -0.133, -0.205, -0.021, 0.674, 0.383, 0.237, 0.359, 0.151, 0.000, 0.000, 0.000, 0.000, 0.000},
{-0.341, -0.719, -0.807, -0.702, -0.558, -0.367, -0.211, -0.120, 0.003, 0.111, 0.175, 0.277, 0.351, 0.325, 0.331, 0.390, 0.360, 0.221, 0.048, -0.046, -0.074, -0.139, 0.038, 0.726, 0.429, 0.215, 0.347, 0.151, 0.000, 0.000, 0.000, 0.000, 0.000},
{-0.350, -0.737, -0.829, -0.724, -0.577, -0.385, -0.229, -0.136, -0.011, 0.098, 0.163, 0.266, 0.338, 0.310, 0.316, 0.378, 0.354, 0.221, 0.062, -0.009, -0.012, -0.063, 0.119, 0.811, 0.319, 0.201, 0.343, 0.148, 0.000, 0.000, 0.000, 0.000, 0.000},
{-0.344, -0.750, -0.856, -0.757, -0.607, -0.409, -0.250, -0.156, -0.033, 0.076, 0.143, 0.246, 0.316, 0.287, 0.293, 0.361, 0.345, 0.225, 0.082, 0.035, 0.071, 0.046, 0.172, 0.708, 0.255, 0.210, 0.325, 0.146, 0.000, 0.000, 0.000, 0.000, 0.000},
};


};
13 changes: 13 additions & 0 deletions src/cases/detail/formulas.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,17 @@ namespace formulas
static const real_t z_0 = 1.5e-4; // [m]
return pow(log(z_ref / z_0) / log(z / z_0), real_t(2));
}

// function used for sensible and latent heat fluxes from Grabowski et al. (2006)
template<class real_t>
real_t surf_flux_function(real_t t) //[s]
{
real_t t_hours = t / real_t(3600);
real_t hrl = real_t(7.5) + t_hours;
real_t thea = boost::math::constants::pi<real_t>() / real_t(2) * (real_t(12.75) - hrl) / real_t(5.25);
real_t xfact = cos(thea);
if (xfact < real_t(0)) xfact = real_t(0);
return xfact;
}

};
20 changes: 20 additions & 0 deletions src/detail/ct_params.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,26 @@ struct ct_params_3D_blk_1m : ct_params_common
}; };
};

struct ct_params_2D_blk_1m_ice : ct_params_common
{
enum { n_dims = 2 };
enum { n_eqns = 8 };
struct ix { enum {
u, w, th, rv, rc, rr, ria, rib,
vip_i=u, vip_j=w, vip_den=-1
}; };
};

struct ct_params_3D_blk_1m_ice : ct_params_common
{
enum { n_dims = 3 };
enum { n_eqns = 9 };
struct ix { enum {
u, v, w, th, rv, rc, rr, ria, rib,
vip_i=u, vip_j=v, vip_k=w, vip_den=-1
}; };
};

struct ct_params_2D_dry : ct_params_common
{
enum { n_dims = 2 };
Expand Down
5 changes: 1 addition & 4 deletions src/opts/opts_blk_1m.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,7 @@ void setopts_micro(
typename solver_t::rt_params_t &rt_params,
const user_params_t &user_params,
const case_ptr_t &case_ptr,
typename std::enable_if<std::is_same<
decltype(solver_t::rt_params_t::cloudph_opts),
libcloudphxx::blk_1m::opts_t<typename solver_t::real_t>
>::value>::type* = 0
uwlcm_blk_1m_family_tag
)
{
po::options_description opts("Single-moment bulk microphysics options");
Expand Down
Loading
Loading