337.1 / 777.4 nm photometer

Physicist verification companion · source release r4 · mathematical checks and unresolved limits

Review index · Download raw source

reference/legacy/run_boundary_checks.jl

1include("photometer_model.jl")2ENV["CLOUDSCAT_DEBUG_REDUCTION"]="1"3out=joinpath(MCROOT,"boundary_checks"); mkpath(out)4open(joinpath(out,"summary.csv"),"w") do io5    println(io,"case_id,batch,N,total_fluence,after_12ms_fraction,seconds")6    for (i,(id,kw)) in enumerate([7        ("clear_full_air",(beta=0.,domainbottom=0.,domainradius=400000.,domaintop=120000.)),8        ("top_full_air",(zsrc=18000.,beta=.005,domainbottom=0.,domainradius=400000.,domaintop=120000.)),9        ("above_full_air",(zsrc=18000.,ztop=17000.,zbottom=11000.,beta=.005,domainbottom=0.,domainradius=400000.,domaintop=120000.)),10        ("tau100_50ms",(beta=.05,window=.050)),11        ("tau10_1us",(beta=.005,dt=1e-6)),12    ])13        for b in 1:414            N=id=="tau100_50ms" ? 12500 : 5000015            r,secs,_,_,_=makecase(;N=N,seed=20262000+10i+b,kw...)16            dt=length(r.time)>1 ? r.time[2]-r.time[1] : DT17            F=sum(r.photo)*dt18            tail=sum(r.photo[r.time.>=.012])*dt/F19            writecurve(joinpath(out,id*"_batch"*string(b)*".csv"),r)20            println(io,join((id,b,N,F,tail,secs),','));flush(io)21            println("BOUNDARY ",id," batch",b," seconds=",secs," tail=",tail);flush(stdout)22        end23    end24end25