1
0
Fork 0

AW domain-based clouds utilize transparency parameter

This commit is contained in:
Thorsten Renk 2014-11-17 12:59:48 +02:00
parent 9855d16735
commit 403c35d544
2 changed files with 34 additions and 4 deletions

View file

@ -228,9 +228,11 @@ for (var j=0; j<arg.n_domains; j=j+1)
var lat = arg.blat + m_to_lat * (y * math.cos(arg.dir) - x * math.sin(arg.dir));
var lon = arg.blon + m_to_lon * (x * math.cos(arg.dir) + y * math.sin(arg.dir));
var alt = arg.balt + arg.alt_var * 2 * (rand() - 0.5);
local_weather.alpha_factor = arg.halo_alpha - 0.2 + rand() * 0.2;
if ((math.abs(x-domain_pos_x) < 0.3 * domain_size_x) or (math.abs(y-domain_pos_y) < 0.3 * domain_size_y))
{path = select_cloud_model(arg.htype,arg.hsubtype);
create_cloud_vec(path, lat, lon, alt, 0.0);}
local_weather.alpha_factor = 1.0;
}
for (i=0; i<n_bulk; i=i+1)
{
@ -239,11 +241,13 @@ for (var j=0; j<arg.n_domains; j=j+1)
lat = arg.blat + m_to_lat * (y * math.cos(arg.dir) - x * math.sin(arg.dir));
lon = arg.blon + m_to_lon * (x * math.cos(arg.dir) + y * math.sin(arg.dir));
alt = arg.balt + arg.alt_var * 2 * (rand() - 0.5);
local_weather.alpha_factor = arg.bulk_alpha - 0.2 + rand() * 0.2;
if ((math.abs(x-domain_pos_x) < 0.4 * domain_size_x) or (math.abs(y-domain_pos_y) < 0.4 * domain_size_y))
{
path = select_cloud_model(arg.type,arg.subtype);
create_cloud_vec(path, lat, lon, alt, 0.0);
}
local_weather.alpha_factor = 1.0;
}
for (i=0; i<n_node; i=i+1)
{
@ -252,8 +256,10 @@ for (var j=0; j<arg.n_domains; j=j+1)
lat = arg.blat + m_to_lat * (y * math.cos(arg.dir) - x * math.sin(arg.dir));
lon = arg.blon + m_to_lon * (x * math.cos(arg.dir) + y * math.sin(arg.dir));
alt = arg.balt + arg.alt_var * 2 * (rand() - 0.5);
local_weather.alpha_factor = arg.node_alpha - 0.2 + rand() * 0.2;
path = select_cloud_model(arg.ntype,arg.nsubtype);
create_cloud_vec(path, lat, lon, alt, 0.0);
local_weather.alpha_factor = 1.0;
}
}

View file

@ -669,8 +669,7 @@ if (rand() < small_scale_persistence)
else
{rnd_store = rn;}
#rn = 0.85;
rn = 0.91;
if (rn > 0.9)
{
@ -682,7 +681,8 @@ if (rn > 0.9)
#y = 2.0 * (rand()-0.5) * 5000;
#local_weather.create_streak("Altocumulus",blat+get_lat(x,y,phi), blon+get_lon(x,y,phi), 12000.0+alt+alt_offset,1500.0,30,1000.0,0.2,1200.0,30,1000.0,0.2,1200.0,alpha ,1.0);
create_2_8_altocumulus_domains(blat, blon, alt+alt_offset +12000.0, alpha);
#create_2_8_altocumulus_domains(blat, blon, alt+alt_offset +12000.0, alpha);
create_2_8_cirrocumulus_domains(blat, blon, alt+alt_offset +12000.0, alpha);
# and specify the atmosphere
local_weather.set_atmosphere_ipoint(blat, blon, vis + 10000.0, alt+alt_offset, vis + 15000.0, 0.0, alt+alt_offset +20000.0, alt+alt_offset + 25000.0, 0.85, alt+alt_offset, alt+alt_offset + 2500.0);
@ -897,7 +897,7 @@ if (rand() < small_scale_persistence)
else
{rnd_store = rn;}
#rn = 0.01;
# rn = 0.91;
if (rn > 0.9)
{
@ -3254,6 +3254,9 @@ arg.min_domain_size_y = 5000.0;
arg.max_domain_size_y = 24000.0;
arg.node_fraction = 0.0;
arg.halo_fraction = 0.4;
arg.node_alpha = 1.0;
arg.bulk_alpha = 0.8;
arg.halo_alpha = 0.4;
arg.n_domains = 12;
arg.n = 30;
arg.blat = lat;
@ -3577,6 +3580,9 @@ arg.min_domain_size_y = 10000.0;
arg.max_domain_size_y = 20000.0;
arg.node_fraction = 0.0;
arg.halo_fraction = 0.6;
arg.node_alpha = 1.0;
arg.bulk_alpha = 1.0;
arg.halo_alpha = 0.5;
arg.n_domains = 8;
arg.n = 30;
arg.blat = lat;
@ -3638,6 +3644,9 @@ arg.min_domain_size_y = 3000.0;
arg.max_domain_size_y = 6000.0;
arg.node_fraction = 0.1;
arg.halo_fraction = 0.7;
arg.node_alpha = 1.0;
arg.bulk_alpha = 0.8;
arg.halo_alpha = 0.3;
arg.n_domains = 40;
arg.n = 30;
arg.blat = lat;
@ -3798,6 +3807,9 @@ arg.min_domain_size_y = 3000.0;
arg.max_domain_size_y = 6000.0;
arg.node_fraction = 0.1;
arg.halo_fraction = 0.7;
arg.node_alpha = 1.0;
arg.bulk_alpha = 0.8;
arg.halo_alpha = 0.3;
arg.n_domains = 20;
arg.n = 30;
arg.blat = lat;
@ -3829,6 +3841,9 @@ arg.min_domain_size_y = 10000.0;
arg.max_domain_size_y = 10000.0;
arg.node_fraction = 0.0;
arg.halo_fraction = 0.6;
arg.node_alpha = 1.0;
arg.bulk_alpha = 0.7;
arg.halo_alpha = 0.5;
arg.n_domains = 15;
arg.n = 60;
arg.blat = lat;
@ -3861,6 +3876,9 @@ arg.min_domain_size_y = 6000.0;
arg.max_domain_size_y = 8000.0;
arg.node_fraction = 0.1;
arg.halo_fraction = 0.6;
arg.node_alpha = 0.8;
arg.bulk_alpha = 0.5;
arg.halo_alpha = 0.5;
arg.n_domains = 14;
arg.n = 30;
arg.blat = lat;
@ -3890,6 +3908,9 @@ arg.min_domain_size_y = 3000.0;
arg.max_domain_size_y = 5000.0;
arg.node_fraction = 0.0;
arg.halo_fraction = 0.7;
arg.node_alpha = 1.0;
arg.bulk_alpha = 0.7;
arg.halo_alpha = 0.7;
arg.n_domains = 10;
arg.n = 200;
arg.blat = lat;
@ -4117,6 +4138,9 @@ arg.min_domain_size_y = 3000.0;
arg.max_domain_size_y = 6000.0;
arg.node_fraction = 0.1;
arg.halo_fraction = 0.7;
arg.node_alpha = 1.0;
arg.bulk_alpha = 0.8;
arg.halo_alpha = 0.3;
arg.n_domains = 7;
arg.n = 30;
arg.blat = lat;