Skip to content

Commit

Permalink
Merge #606
Browse files Browse the repository at this point in the history
606: Use more ClimaCore operators r=charleskawczynski a=charleskawczynski

This PR adds more use of ClimaCore operators, and removes `∇f2c`.

Co-authored-by: Charles Kawczynski <kawczynski.charles@gmail.com>
  • Loading branch information
bors[bot] and charleskawczynski committed Dec 2, 2021
2 parents 2c3d583 + 2c0408a commit 4f3f607
Show file tree
Hide file tree
Showing 3 changed files with 142 additions and 172 deletions.
234 changes: 117 additions & 117 deletions integration_tests/utils/mse_tables.jl
Original file line number Diff line number Diff line change
Expand Up @@ -5,151 +5,151 @@
all_best_mse = OrderedCollections.OrderedDict()
#
all_best_mse["ARM_SGP"] = OrderedCollections.OrderedDict()
all_best_mse["ARM_SGP"]["qt_mean"] = 0.2168481056759379
all_best_mse["ARM_SGP"]["updraft_area"] = 335.7539895403522
all_best_mse["ARM_SGP"]["updraft_w"] = 141.34182245002341
all_best_mse["ARM_SGP"]["updraft_qt"] = 28.853373752094676
all_best_mse["ARM_SGP"]["updraft_thetal"] = 172.0164260314829
all_best_mse["ARM_SGP"]["qt_mean"] = 0.21737134203993727
all_best_mse["ARM_SGP"]["updraft_area"] = 335.7834365982586
all_best_mse["ARM_SGP"]["updraft_w"] = 141.1587669399275
all_best_mse["ARM_SGP"]["updraft_qt"] = 28.749924553099145
all_best_mse["ARM_SGP"]["updraft_thetal"] = 172.01631016339743
all_best_mse["ARM_SGP"]["u_mean"] = 1.3235797273549681e-5
all_best_mse["ARM_SGP"]["tke_mean"] = 1316.4917384310684
all_best_mse["ARM_SGP"]["temperature_mean"] = 0.0001082181780699289
all_best_mse["ARM_SGP"]["ql_mean"] = 175.95635277110452
all_best_mse["ARM_SGP"]["tke_mean"] = 1316.4279212492831
all_best_mse["ARM_SGP"]["temperature_mean"] = 0.00010840588401041275
all_best_mse["ARM_SGP"]["ql_mean"] = 175.1025524760891
all_best_mse["ARM_SGP"]["qi_mean"] = "NA"
all_best_mse["ARM_SGP"]["thetal_mean"] = 9.958712388569612e-5
all_best_mse["ARM_SGP"]["Hvar_mean"] = 9668.53465535487
all_best_mse["ARM_SGP"]["QTvar_mean"] = 6103.977072764711
all_best_mse["ARM_SGP"]["thetal_mean"] = 9.975389264604457e-5
all_best_mse["ARM_SGP"]["Hvar_mean"] = 9776.669139911524
all_best_mse["ARM_SGP"]["QTvar_mean"] = 6141.141745285046
#
all_best_mse["Bomex"] = OrderedCollections.OrderedDict()
all_best_mse["Bomex"]["qt_mean"] = 0.08644453399564382
all_best_mse["Bomex"]["updraft_area"] = 130.2809909098728
all_best_mse["Bomex"]["updraft_w"] = 16.122620693101627
all_best_mse["Bomex"]["updraft_qt"] = 6.880000589559592
all_best_mse["Bomex"]["updraft_thetal"] = 69.7848621599872
all_best_mse["Bomex"]["v_mean"] = 66.82493041097646
all_best_mse["Bomex"]["u_mean"] = 0.3188832812535331
all_best_mse["Bomex"]["tke_mean"] = 73.70834468446468
all_best_mse["Bomex"]["temperature_mean"] = 3.207465124895895e-5
all_best_mse["Bomex"]["ql_mean"] = 6.232488986712181
all_best_mse["Bomex"]["qt_mean"] = 0.08902156165996829
all_best_mse["Bomex"]["updraft_area"] = 129.85781084934789
all_best_mse["Bomex"]["updraft_w"] = 16.972131630478962
all_best_mse["Bomex"]["updraft_qt"] = 7.173032970957646
all_best_mse["Bomex"]["updraft_thetal"] = 69.7960113618126
all_best_mse["Bomex"]["v_mean"] = 66.94425590430814
all_best_mse["Bomex"]["u_mean"] = 0.31897748469437087
all_best_mse["Bomex"]["tke_mean"] = 74.34290167982732
all_best_mse["Bomex"]["temperature_mean"] = 3.344523987816515e-5
all_best_mse["Bomex"]["ql_mean"] = 7.276937337574645
all_best_mse["Bomex"]["qi_mean"] = "NA"
all_best_mse["Bomex"]["thetal_mean"] = 3.239532572942192e-5
all_best_mse["Bomex"]["Hvar_mean"] = 5344.417026958787
all_best_mse["Bomex"]["QTvar_mean"] = 1877.0011009021864
all_best_mse["Bomex"]["thetal_mean"] = 3.3816806958384686e-5
all_best_mse["Bomex"]["Hvar_mean"] = 4640.882966589211
all_best_mse["Bomex"]["QTvar_mean"] = 1650.5016993413567
#
all_best_mse["DryBubble"] = OrderedCollections.OrderedDict()
all_best_mse["DryBubble"]["updraft_area"] = 247.2783430339785
all_best_mse["DryBubble"]["updraft_w"] = 142.9702778560111
all_best_mse["DryBubble"]["updraft_thetal"] = 1.7616133287043466e-5
all_best_mse["DryBubble"]["updraft_area"] = 0.0
all_best_mse["DryBubble"]["updraft_w"] = 0.0
all_best_mse["DryBubble"]["updraft_thetal"] = 0.0
all_best_mse["DryBubble"]["u_mean"] = 0.0
all_best_mse["DryBubble"]["tke_mean"] = 1164.4365231249758
all_best_mse["DryBubble"]["temperature_mean"] = 6.952571290283491e-6
all_best_mse["DryBubble"]["thetal_mean"] = 5.995900668770712e-6
all_best_mse["DryBubble"]["Hvar_mean"] = 260.83318563630115
all_best_mse["DryBubble"]["tke_mean"] = 0.0
all_best_mse["DryBubble"]["temperature_mean"] = 0.0
all_best_mse["DryBubble"]["thetal_mean"] = 0.0
all_best_mse["DryBubble"]["Hvar_mean"] = 0.0
#
all_best_mse["DYCOMS_RF01"] = OrderedCollections.OrderedDict()
all_best_mse["DYCOMS_RF01"]["qt_mean"] = 0.023212519341802868
all_best_mse["DYCOMS_RF01"]["ql_mean"] = 10.386177011555919
all_best_mse["DYCOMS_RF01"]["updraft_area"] = 30.410925790757634
all_best_mse["DYCOMS_RF01"]["updraft_w"] = 4.130260834795395
all_best_mse["DYCOMS_RF01"]["updraft_qt"] = 2.1540022341709038
all_best_mse["DYCOMS_RF01"]["updraft_thetal"] = 46.18817110524182
all_best_mse["DYCOMS_RF01"]["v_mean"] = 0.0029837917800329228
all_best_mse["DYCOMS_RF01"]["u_mean"] = 0.07895046484972484
all_best_mse["DYCOMS_RF01"]["tke_mean"] = 21.324213982458993
all_best_mse["DYCOMS_RF01"]["temperature_mean"] = 7.603315305417386e-5
all_best_mse["DYCOMS_RF01"]["thetal_mean"] = 7.64195766398993e-5
all_best_mse["DYCOMS_RF01"]["Hvar_mean"] = 1288.1655958979954
all_best_mse["DYCOMS_RF01"]["QTvar_mean"] = 518.9269069757165
all_best_mse["DYCOMS_RF01"]["qt_mean"] = 0.023212519342551398
all_best_mse["DYCOMS_RF01"]["ql_mean"] = 10.386176996291866
all_best_mse["DYCOMS_RF01"]["updraft_area"] = 30.41092578710095
all_best_mse["DYCOMS_RF01"]["updraft_w"] = 4.130260833631465
all_best_mse["DYCOMS_RF01"]["updraft_qt"] = 2.154002234018074
all_best_mse["DYCOMS_RF01"]["updraft_thetal"] = 46.18817110524134
all_best_mse["DYCOMS_RF01"]["v_mean"] = 0.0029837917840054473
all_best_mse["DYCOMS_RF01"]["u_mean"] = 0.0789504648584413
all_best_mse["DYCOMS_RF01"]["tke_mean"] = 21.324213988229797
all_best_mse["DYCOMS_RF01"]["temperature_mean"] = 7.603315308934618e-5
all_best_mse["DYCOMS_RF01"]["thetal_mean"] = 7.641957667570056e-5
all_best_mse["DYCOMS_RF01"]["Hvar_mean"] = 1288.165595901374
all_best_mse["DYCOMS_RF01"]["QTvar_mean"] = 518.9269069904977
#
all_best_mse["GABLS"] = OrderedCollections.OrderedDict()
all_best_mse["GABLS"]["updraft_thetal"] = 4.771810607399444e-13
all_best_mse["GABLS"]["v_mean"] = 4.1385162643955854e-8
all_best_mse["GABLS"]["u_mean"] = 7.461743288615101e-9
all_best_mse["GABLS"]["tke_mean"] = 2.272939363604381e-7
all_best_mse["GABLS"]["temperature_mean"] = 4.748712149090183e-13
all_best_mse["GABLS"]["thetal_mean"] = 4.754164808913402e-13
all_best_mse["GABLS"]["Hvar_mean"] = 5.5331952320659595e-8
all_best_mse["GABLS"]["QTvar_mean"] = 1.5991891895845967e-7
all_best_mse["GABLS"]["qt_mean"] = 1.7165317800999744e-7
all_best_mse["GABLS"]["updraft_thetal"] = 0.0
all_best_mse["GABLS"]["v_mean"] = 1.7360793445471185e-30
all_best_mse["GABLS"]["u_mean"] = 3.291245656151812e-32
all_best_mse["GABLS"]["tke_mean"] = 1.9692565602897876e-31
all_best_mse["GABLS"]["temperature_mean"] = 0.0
all_best_mse["GABLS"]["thetal_mean"] = 0.0
all_best_mse["GABLS"]["Hvar_mean"] = 1.4251367023044919e-30
all_best_mse["GABLS"]["QTvar_mean"] = 1.8246903290131838e-31
all_best_mse["GABLS"]["qt_mean"] = 1.4760416396537064e-31
#
all_best_mse["life_cycle_Tan2018"] = OrderedCollections.OrderedDict()
all_best_mse["life_cycle_Tan2018"]["qt_mean"] = 0.00018123376845153463
all_best_mse["life_cycle_Tan2018"]["ql_mean"] = 0.1735038602078808
all_best_mse["life_cycle_Tan2018"]["updraft_area"] = 0.010249972978276267
all_best_mse["life_cycle_Tan2018"]["updraft_w"] = 0.015800071088238412
all_best_mse["life_cycle_Tan2018"]["updraft_qt"] = 0.004716830473042369
all_best_mse["life_cycle_Tan2018"]["updraft_thetal"] = 2.9872789571136883e-6
all_best_mse["life_cycle_Tan2018"]["v_mean"] = 0.0077709441630507935
all_best_mse["life_cycle_Tan2018"]["u_mean"] = 1.8783540216766204e-5
all_best_mse["life_cycle_Tan2018"]["tke_mean"] = 0.0011470830984952963
all_best_mse["life_cycle_Tan2018"]["temperature_mean"] = 8.713692436085383e-8
all_best_mse["life_cycle_Tan2018"]["thetal_mean"] = 8.739316799147827e-8
all_best_mse["life_cycle_Tan2018"]["Hvar_mean"] = 8074.885737613594
all_best_mse["life_cycle_Tan2018"]["QTvar_mean"] = 6799.59551567804
all_best_mse["life_cycle_Tan2018"]["qt_mean"] = 1.614555200253563e-6
all_best_mse["life_cycle_Tan2018"]["ql_mean"] = 0.025027433825555126
all_best_mse["life_cycle_Tan2018"]["updraft_area"] = 0.0019483479006229157
all_best_mse["life_cycle_Tan2018"]["updraft_w"] = 0.005995636965802342
all_best_mse["life_cycle_Tan2018"]["updraft_qt"] = 0.002498308535895045
all_best_mse["life_cycle_Tan2018"]["updraft_thetal"] = 1.5450924230978956e-6
all_best_mse["life_cycle_Tan2018"]["v_mean"] = 9.931979537254658e-6
all_best_mse["life_cycle_Tan2018"]["u_mean"] = 3.160026903746296e-8
all_best_mse["life_cycle_Tan2018"]["tke_mean"] = 0.0002759378899791923
all_best_mse["life_cycle_Tan2018"]["temperature_mean"] = 8.508459184125422e-10
all_best_mse["life_cycle_Tan2018"]["thetal_mean"] = 8.39557101644837e-10
all_best_mse["life_cycle_Tan2018"]["Hvar_mean"] = 447.2965625521691
all_best_mse["life_cycle_Tan2018"]["QTvar_mean"] = 10.039314739930065
#
all_best_mse["Nieuwstadt"] = OrderedCollections.OrderedDict()
all_best_mse["Nieuwstadt"]["updraft_area"] = 98.71183705131654
all_best_mse["Nieuwstadt"]["updraft_w"] = 12.592404882912827
all_best_mse["Nieuwstadt"]["updraft_thetal"] = 117.64850314670097
all_best_mse["Nieuwstadt"]["u_mean"] = 13.892871604112267
all_best_mse["Nieuwstadt"]["tke_mean"] = 312.58309558950236
all_best_mse["Nieuwstadt"]["temperature_mean"] = 9.597760139238232e-6
all_best_mse["Nieuwstadt"]["thetal_mean"] = 9.911276290855934e-6
all_best_mse["Nieuwstadt"]["Hvar_mean"] = 1280.2007439046527
all_best_mse["Nieuwstadt"]["updraft_area"] = 98.67593623256796
all_best_mse["Nieuwstadt"]["updraft_w"] = 12.625247347368722
all_best_mse["Nieuwstadt"]["updraft_thetal"] = 117.60675393310149
all_best_mse["Nieuwstadt"]["u_mean"] = 13.628095281604015
all_best_mse["Nieuwstadt"]["tke_mean"] = 312.64682482837145
all_best_mse["Nieuwstadt"]["temperature_mean"] = 9.603920737810662e-6
all_best_mse["Nieuwstadt"]["thetal_mean"] = 9.918038065424692e-6
all_best_mse["Nieuwstadt"]["Hvar_mean"] = 1280.1426321136419
#
all_best_mse["Rico"] = OrderedCollections.OrderedDict()
all_best_mse["Rico"]["qt_mean"] = 1.469235733046362
all_best_mse["Rico"]["updraft_area"] = 476.19535317964454
all_best_mse["Rico"]["updraft_w"] = 104.74228813123943
all_best_mse["Rico"]["updraft_qt"] = 12.038843093271895
all_best_mse["Rico"]["updraft_thetal"] = 133.6947087778616
all_best_mse["Rico"]["v_mean"] = 0.6978533155440705
all_best_mse["Rico"]["u_mean"] = 0.6170337535068033
all_best_mse["Rico"]["tke_mean"] = 89.5440458255196
all_best_mse["Rico"]["temperature_mean"] = 0.0006587963574399482
all_best_mse["Rico"]["ql_mean"] = 69.90674343466216
all_best_mse["Rico"]["qt_mean"] = 1.4724407307559406
all_best_mse["Rico"]["updraft_area"] = 476.35790530287727
all_best_mse["Rico"]["updraft_w"] = 105.95436636312475
all_best_mse["Rico"]["updraft_qt"] = 12.026811166164618
all_best_mse["Rico"]["updraft_thetal"] = 133.7740568019201
all_best_mse["Rico"]["v_mean"] = 0.6966671652004376
all_best_mse["Rico"]["u_mean"] = 0.6162130275653832
all_best_mse["Rico"]["tke_mean"] = 89.43109640085738
all_best_mse["Rico"]["temperature_mean"] = 0.0006594373186778334
all_best_mse["Rico"]["ql_mean"] = 69.6411844222439
all_best_mse["Rico"]["qi_mean"] = "NA"
all_best_mse["Rico"]["qr_mean"] = 765.9242409924442
all_best_mse["Rico"]["thetal_mean"] = 0.0006484899438524044
all_best_mse["Rico"]["Hvar_mean"] = 25460.51965808035
all_best_mse["Rico"]["QTvar_mean"] = 4989.677652711574
all_best_mse["Rico"]["qr_mean"] = 766.1360809900632
all_best_mse["Rico"]["thetal_mean"] = 0.0006491239043817516
all_best_mse["Rico"]["Hvar_mean"] = 21202.247144736506
all_best_mse["Rico"]["QTvar_mean"] = 4198.409713624805
#
all_best_mse["Soares"] = OrderedCollections.OrderedDict()
all_best_mse["Soares"]["qt_mean"] = 0.12590699401939734
all_best_mse["Soares"]["updraft_area"] = 96.41430255271982
all_best_mse["Soares"]["updraft_w"] = 11.436990967848162
all_best_mse["Soares"]["updraft_qt"] = 23.6134436752903
all_best_mse["Soares"]["updraft_thetal"] = 65.73551769877126
all_best_mse["Soares"]["u_mean"] = 93.88261658457166
all_best_mse["Soares"]["tke_mean"] = 241.02600430226136
all_best_mse["Soares"]["temperature_mean"] = 1.091358378402831e-5
all_best_mse["Soares"]["thetal_mean"] = 1.0342987059826188e-5
all_best_mse["Soares"]["Hvar_mean"] = 1116.3067840713586
all_best_mse["Soares"]["qt_mean"] = 0.12535843248300022
all_best_mse["Soares"]["updraft_area"] = 96.18614939610606
all_best_mse["Soares"]["updraft_w"] = 11.420795317219621
all_best_mse["Soares"]["updraft_qt"] = 23.60624867129775
all_best_mse["Soares"]["updraft_thetal"] = 65.72194276789573
all_best_mse["Soares"]["u_mean"] = 94.29205636289723
all_best_mse["Soares"]["tke_mean"] = 241.1576281306055
all_best_mse["Soares"]["temperature_mean"] = 1.091363052317317e-5
all_best_mse["Soares"]["thetal_mean"] = 1.0341972049219889e-5
all_best_mse["Soares"]["Hvar_mean"] = 1118.6896137411466
#
all_best_mse["TRMM_LBA"] = OrderedCollections.OrderedDict()
all_best_mse["TRMM_LBA"]["qt_mean"] = 4.174353143678498
all_best_mse["TRMM_LBA"]["updraft_area"] = 7584.705680191678
all_best_mse["TRMM_LBA"]["updraft_w"] = 29889.947957861004
all_best_mse["TRMM_LBA"]["updraft_qt"] = 263.4316256952156
all_best_mse["TRMM_LBA"]["updraft_thetal"] = 1961.8421251555044
all_best_mse["TRMM_LBA"]["v_mean"] = 286.3713814588329
all_best_mse["TRMM_LBA"]["u_mean"] = 113.72625106694022
all_best_mse["TRMM_LBA"]["tke_mean"] = 25452.126311234966
all_best_mse["TRMM_LBA"]["temperature_mean"] = 0.0012046572342071203
all_best_mse["TRMM_LBA"]["ql_mean"] = 10993.735216967067
all_best_mse["TRMM_LBA"]["qt_mean"] = 4.190601236985571
all_best_mse["TRMM_LBA"]["updraft_area"] = 7586.640446561381
all_best_mse["TRMM_LBA"]["updraft_w"] = 29881.549493263992
all_best_mse["TRMM_LBA"]["updraft_qt"] = 263.00035101064714
all_best_mse["TRMM_LBA"]["updraft_thetal"] = 1961.5465247375523
all_best_mse["TRMM_LBA"]["v_mean"] = 286.3261883847675
all_best_mse["TRMM_LBA"]["u_mean"] = 113.71711812101952
all_best_mse["TRMM_LBA"]["tke_mean"] = 25223.906769484114
all_best_mse["TRMM_LBA"]["temperature_mean"] = 0.0012081077645631536
all_best_mse["TRMM_LBA"]["ql_mean"] = 10883.24994594084
all_best_mse["TRMM_LBA"]["qi_mean"] = "NA"
all_best_mse["TRMM_LBA"]["qr_mean"] = "NA"
all_best_mse["TRMM_LBA"]["qs_mean"] = "NA"
all_best_mse["TRMM_LBA"]["thetal_mean"] = 0.021137110623114058
all_best_mse["TRMM_LBA"]["Hvar_mean"] = 4239.480303118116
all_best_mse["TRMM_LBA"]["QTvar_mean"] = 2806.3356672678656
all_best_mse["TRMM_LBA"]["thetal_mean"] = 0.02113556969940258
all_best_mse["TRMM_LBA"]["Hvar_mean"] = 4213.089811111284
all_best_mse["TRMM_LBA"]["QTvar_mean"] = 2796.4348624448894
#
all_best_mse["LES_driven_SCM"] = OrderedCollections.OrderedDict()
all_best_mse["LES_driven_SCM"]["qt_mean"] = 3.5426896192913415
all_best_mse["LES_driven_SCM"]["v_mean"] = 1.3014002541505871
all_best_mse["LES_driven_SCM"]["u_mean"] = 0.44960587397235896
all_best_mse["LES_driven_SCM"]["temperature_mean"] = 0.001277374918304062
all_best_mse["LES_driven_SCM"]["ql_mean"] = 51419.71702521599
all_best_mse["LES_driven_SCM"]["thetal_mean"] = 0.0015100332232996475
all_best_mse["LES_driven_SCM"]["qt_mean"] = 3.542397679456969
all_best_mse["LES_driven_SCM"]["v_mean"] = 1.3014841295443356
all_best_mse["LES_driven_SCM"]["u_mean"] = 0.4496178750626866
all_best_mse["LES_driven_SCM"]["temperature_mean"] = 0.0012773561917120524
all_best_mse["LES_driven_SCM"]["ql_mean"] = 51370.14680895877
all_best_mse["LES_driven_SCM"]["thetal_mean"] = 0.0015099416716750035
#
#################################
#################################
Expand Down
19 changes: 0 additions & 19 deletions src/Operators.jl
Original file line number Diff line number Diff line change
Expand Up @@ -17,25 +17,6 @@ end
struct Extrapolate <: AbstractBC end
struct FreeBoundary <: AbstractBC end # when no BC is used (one-sided derivative at surface that takes first and second interior points)

∇f2c(f_dual::SA.SVector, grid::Grid, k; bottom = UseBoundaryValue(), top = UseBoundaryValue()) =
∇f2c(f_dual, grid, k, bottom, top)

function ∇f2c(f_dual::SA.SVector, grid::Grid, k, bottom::AbstractBC, top::AbstractBC)
if is_surface_center(grid, k)
return ∇f2c(f_dual, grid, BottomBCTag(), bottom)
elseif is_toa_center(grid, k)
return ∇f2c(f_dual, grid, TopBCTag(), top)
else
return ∇f2c(f_dual, grid, InteriorTag())
end
end
∇f2c(f::SA.SVector, grid::Grid, k, ::UseBoundaryValue, top::UseBoundaryValue) = ∇f2c(f, grid, InteriorTag())
∇f2c(f::SA.SVector, grid::Grid, ::InteriorTag) = (f[2] - f[1]) * grid.Δzi
∇f2c(f::SA.SVector, grid::Grid, ::TopBCTag, bc::SetValue) = (bc.value - f[1]) * grid.Δzi
∇f2c(f::SA.SVector, grid::Grid, ::TopBCTag, bc::SetGradient) = bc.value
∇f2c(f::SA.SVector, grid::Grid, ::BottomBCTag, bc::SetValue) = (f[2] - bc.value) * grid.Δzi
∇f2c(f::SA.SVector, grid::Grid, ::BottomBCTag, bc::SetGradient) = bc.value

∇c2f(f_dual::SA.SVector, grid::Grid, k; bottom = UseBoundaryValue(), top = UseBoundaryValue()) =
∇c2f(f_dual, grid, k, bottom, top)

Expand Down
Loading

0 comments on commit 4f3f607

Please sign in to comment.