From bb52b7937baea4cae2f2cb617d87e0e9f87e1ee4 Mon Sep 17 00:00:00 2001 From: Kyle Shores Date: Fri, 17 Mar 2023 10:10:59 -0500 Subject: [PATCH 01/15] specifying platforms for docker --- .github/workflows/publish-package.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/publish-package.yml b/.github/workflows/publish-package.yml index 5d20cc0c..61f30278 100644 --- a/.github/workflows/publish-package.yml +++ b/.github/workflows/publish-package.yml @@ -40,6 +40,7 @@ jobs: uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc with: context: . + platforms: linux/amd64,linux/arm64,linux/arm push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} \ No newline at end of file From 0c49a2c36e4cb2aadbe7f52feb7cb7487c25ae0f Mon Sep 17 00:00:00 2001 From: Kyle Shores Date: Thu, 13 Apr 2023 15:45:38 -0500 Subject: [PATCH 02/15] starting to add new integration test for cloud mode --- .../input_use_cases/9/camp_data/config.json | 6 + .../9/camp_data/mechanism.json | 162 ++++++++++++++++++ .../input_use_cases/9/camp_data/species.json | 54 ++++++ .../integration/input_use_cases/9/config.json | 94 ++++++++++ .../input_use_cases/9/config_camp.json | 32 ++++ .../input_use_cases/9/expected_output.csv | 37 ++++ .../9/expected_output_camp.csv | 37 ++++ .../integration/input_use_cases/9/initial.csv | 2 + test/integration/input_use_cases/9/run.sh | 25 +++ .../integration/input_use_cases/9/run_camp.sh | 25 +++ .../9/run_preprocessed_data.sh | 25 +++ .../9/run_preprocessed_data_camp.sh | 25 +++ .../input_use_cases/9/run_preprocessor.sh | 24 +++ .../9/run_preprocessor_camp.sh | 24 +++ 14 files changed, 572 insertions(+) create mode 100644 test/integration/input_use_cases/9/camp_data/config.json create mode 100644 test/integration/input_use_cases/9/camp_data/mechanism.json create mode 100644 test/integration/input_use_cases/9/camp_data/species.json create mode 100644 test/integration/input_use_cases/9/config.json create mode 100644 test/integration/input_use_cases/9/config_camp.json create mode 100644 test/integration/input_use_cases/9/expected_output.csv create mode 100644 test/integration/input_use_cases/9/expected_output_camp.csv create mode 100644 test/integration/input_use_cases/9/initial.csv create mode 100755 test/integration/input_use_cases/9/run.sh create mode 100755 test/integration/input_use_cases/9/run_camp.sh create mode 100755 test/integration/input_use_cases/9/run_preprocessed_data.sh create mode 100755 test/integration/input_use_cases/9/run_preprocessed_data_camp.sh create mode 100755 test/integration/input_use_cases/9/run_preprocessor.sh create mode 100755 test/integration/input_use_cases/9/run_preprocessor_camp.sh diff --git a/test/integration/input_use_cases/9/camp_data/config.json b/test/integration/input_use_cases/9/camp_data/config.json new file mode 100644 index 00000000..4629149f --- /dev/null +++ b/test/integration/input_use_cases/9/camp_data/config.json @@ -0,0 +1,6 @@ +{ + "camp-files" : [ + "camp_data/species.json", + "camp_data/mechanism.json" + ] +} diff --git a/test/integration/input_use_cases/9/camp_data/mechanism.json b/test/integration/input_use_cases/9/camp_data/mechanism.json new file mode 100644 index 00000000..174d2e9b --- /dev/null +++ b/test/integration/input_use_cases/9/camp_data/mechanism.json @@ -0,0 +1,162 @@ +{ + "camp-data" : [ + { + "name" : "Chapman", + "type" : "MECHANISM", + "reactions" : [ + { + "type" : "PHOTOLYSIS", + "reactants" : { + "O2" : { } + }, + "products" : { + "O" : { "yield" : 2.0 } + }, + "MUSICA name" : "O2_1" + }, + { + "type" : "PHOTOLYSIS", + "reactants" : { + "O3" : { } + }, + "products" : { + "O1D" : { }, + "O2" : { } + }, + "MUSICA name" : "O3_1" + }, + { + "type" : "PHOTOLYSIS", + "reactants" : { + "O3" : { } + }, + "products" : { + "O" : { }, + "O2" : { } + }, + "MUSICA name" : "O3_2" + }, + { + "type" : "ARRHENIUS", + "reactants" : { + "O1D" : { }, + "N2" : { } + }, + "products" : { + "O" : { }, + "N2" : { } + }, + "A" : 2.15e-11, + "C" : 110.0 + }, + { + "type" : "ARRHENIUS", + "reactants" : { + "O1D" : { }, + "O2" : { } + }, + "products" : { + "O" : { }, + "O2" : { } + }, + "A" : 3.3e-11, + "C" : 55.0 + }, + { + "type" : "ARRHENIUS", + "reactants" : { + "O" : { }, + "O3" : { } + }, + "products" : { + "O2" : { "yield" : 2.0 } + }, + "A" : 8.0e-12, + "C" : -2060.00 + }, + { + "type" : "ARRHENIUS", + "reactants" : { + "O" : { }, + "O2" : { }, + "M" : { } + }, + "products" : { + "O3" : { }, + "M" : { } + }, + "A" : 6.0e-34, + "B" : 2.4 + }, + { + "type" : "EMISSION", + "species" : "O1D", + "MUSICA name" : "O1D" + }, + { + "type" : "EMISSION", + "species" : "O", + "MUSICA name" : "O" + }, + { + "type" : "EMISSION", + "species" : "O3", + "MUSICA name" : "O3" + }, + { + "type" : "FIRST_ORDER_LOSS", + "species" : "N2", + "MUSICA name" : "N2" + }, + { + "type" : "FIRST_ORDER_LOSS", + "species" : "O2", + "MUSICA name" : "O2" + }, + { + "type" : "FIRST_ORDER_LOSS", + "species" : "CO2", + "MUSICA name" : "CO2" + }, + { + "type" : "FIRST_ORDER_LOSS", + "species" : "Ar", + "MUSICA name" : "Ar" + }, + { + "type" : "FIRST_ORDER_LOSS", + "species" : "H2O", + "MUSICA name" : "H2O" + } + ] + }, + { + "name" : "droplet phase", + "type" : "AERO_PHASE", + "species" : ["H2O"], + "some property" : 12.2 + }, + { + "type" : "AERO_REP_MODAL_BINNED_MASS", + "name" : "cloud", + "modes/bins" : + { + "single phase mode" : + { + "type" : "MODAL", + "phases" : [ "droplet phase" ], + "shape" : "LOG_NORMAL" + }, + "binned aerosol" : + { + "type" : "BINNED", + "phases" : [ "droplet phase" ], + "bins" : 1, + "minimum diameter [m]" : 8.0e-9, + "maximum diameter [m]" : 1.0e-6, + "scale" : "LOG" + } + } + } + ] +} diff --git a/test/integration/input_use_cases/9/camp_data/species.json b/test/integration/input_use_cases/9/camp_data/species.json new file mode 100644 index 00000000..948aca00 --- /dev/null +++ b/test/integration/input_use_cases/9/camp_data/species.json @@ -0,0 +1,54 @@ +{ + "camp-data" : [ + { + "type" : "RELATIVE_TOLERANCE", + "value" : 1.0e-4 + }, + { + "name" : "M", + "type" : "CHEM_SPEC", + "tracer type" : "CONSTANT" + }, + { + "name" : "Ar", + "type" : "CHEM_SPEC", + "absolute tolerance" : 1.0e-12 + }, + { + "name" : "CO2", + "type" : "CHEM_SPEC", + "absolute tolerance" : 1.0e-12 + }, + { + "name" : "H2O", + "type" : "CHEM_SPEC", + "absolute tolerance" : 1.0e-12 + }, + { + "name" : "N2", + "type" : "CHEM_SPEC", + "absolute tolerance" : 1.0e-12 + }, + { + "name" : "O1D", + "type" : "CHEM_SPEC", + "absolute tolerance" : 1.0e-12 + }, + { + "name" : "O", + "type" : "CHEM_SPEC", + "absolute tolerance" : 1.0e-12 + }, + { + "name" : "O2", + "type" : "CHEM_SPEC", + "absolute tolerance" : 1.0e-12 + }, + { + "name" : "O3", + "type" : "CHEM_SPEC", + "absolute tolerance" : 1.0e-12 + } + ] +} + diff --git a/test/integration/input_use_cases/9/config.json b/test/integration/input_use_cases/9/config.json new file mode 100644 index 00000000..fd2d482e --- /dev/null +++ b/test/integration/input_use_cases/9/config.json @@ -0,0 +1,94 @@ +{ + "box model options" : { + "grid" : "box", + "chemistry time step [min]" : 5.0, + "output time step [hr]" : 1.0, + "simulation length [hr]" : 2.5, + "simulation start" : { + "time zone" : "UTC-8", + "year" : 2020, + "month" : 6, + "day" : 10, + "hour" : 13 + } + }, + "initial conditions" : { + "initial.csv" : { + "delimiter" : "&" + } + }, + "evolving conditions" : { + "emissions.csv" : { + "properties" : { + "time.hr" : { + "shift first entry to" :{ + "time zone" : "UTC-8", + "year" : 2020, + "month" : 6, + "day" : 10, + "hour" : 13 + } + } + } + }, + "wall_loss_rates_011519.txt" : { + "delimiter" : ";", + "time axis" : "columns", + "properties" : { + "simtime" : { + "MusicBox name" : "time", + "units" : "hr", + "shift first entry to" :{ + "time zone" : "UTC-8", + "year" : 2020, + "month" : 6, + "day" : 10, + "hour" : 13 + } + }, + "*" : { + "MusicBox name" : "LOSS.*", + "units" : "min-1" + } + } + }, + "parking_lot_photo_rates.nc" : { + "time offset" : { "years" : 15 }, + "properties" : { + "*" : { "MusicBox name" : "PHOT.*" }, + "time" : { + "MusicBox name" : "time", + "shift first entry to" : { + "year" : 2020, + "month" : 1, + "day" : 1, + "time zone" : "UTC-8" + } + } + } + } + }, + "model components" : [ + { + "type" : "MICM", + "override species" : { + "M" : { "mixing ratio mol mol-1" : 1.0 } + }, + "suppress output" : { + "M" : { } + }, + "solver" : { + "type" : "Rosenbrock", + "chemistry time step [min]" : 5.0, + "absolute tolerance" : 1.0e-12, + "relative tolerance" : 1.0e-4 + } + }, + { + "type" : "musica-emissions" + }, + { + "type" : "musica-loss" + } + ] +} diff --git a/test/integration/input_use_cases/9/config_camp.json b/test/integration/input_use_cases/9/config_camp.json new file mode 100644 index 00000000..21c58a94 --- /dev/null +++ b/test/integration/input_use_cases/9/config_camp.json @@ -0,0 +1,32 @@ +{ + "box model options" : { + "grid" : "box", + "chemistry time step [min]" : 5.0, + "output time step [hr]" : 1.0, + "simulation length [hr]" : 2.5, + "simulation start" : { + "time zone" : "UTC-8", + "year" : 2020, + "month" : 6, + "day" : 10, + "hour" : 13 + } + }, + "initial conditions" : { + "initial.csv" : { + "delimiter" : "&" + } + }, + "model components" : [ + { + "type" : "CAMP", + "configuration file" : "camp_data/config.json", + "override species" : { + "M" : { "mixing ratio mol mol-1" : 1.0 } + }, + "suppress output" : { + "M" : { } + } + } + ] +} diff --git a/test/integration/input_use_cases/9/expected_output.csv b/test/integration/input_use_cases/9/expected_output.csv new file mode 100644 index 00000000..1c44ce72 --- /dev/null +++ b/test/integration/input_use_cases/9/expected_output.csv @@ -0,0 +1,37 @@ +time, ENV.temperature, ENV.pressure, ENV.number_density_air, CONC.Ar, CONC.CO2, CONC.H2O, CONC.N2, CONC.O1D, CONC.O, CONC.O2, CONC.O3 + 0.63727390800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000001510E+00, 0.16899999999999998357E-01, 0.00000000000000000000E+00, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.00000000000000000000E+00 + 0.63727391100000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.36367544664079271000E+00, 0.16075777274062060668E-01, 0.00000000000000000000E+00, 0.31295448066073483062E+02, 0.16268109841546828619E-12, 0.67976154626620338714E-07, 0.64312340717882685581E+01, 0.12719164596013519120E+01 + 0.63727391400000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.33739752675862266784E+00, 0.15291752364807714021E-01, 0.00000000000000000000E+00, 0.29769151053383058780E+02, 0.28019261829850437212E-12, 0.67507945978335690486E-07, 0.49536267431302363207E+01, 0.19997820037373337243E+01 + 0.63727391520000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.32742592287321858890E+00, 0.14988955380519957544E-01, 0.00000000000000000000E+00, 0.29179682367994473680E+02, 0.32627855174483195402E-12, 0.67309627357745565104E-07, 0.45392980541282383911E+01, 0.21838396586617023765E+01 + 0.63727391700000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.31301835775367575776E+00, 0.14545964801583472978E-01, 0.00000000000000000000E+00, 0.28317292424384394423E+02, 0.18000000000000369482E+02, 0.90000000671150210962E+01, 0.40428088929487877579E+01, 0.11390777871937949328E+02 + 0.63727391880000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.29924476178004644211E+00, 0.14116066572850494501E-01, 0.00000000000000000000E+00, 0.27480389955430837290E+02, 0.18000000000001737277E+02, 0.90000000662425616582E+01, 0.12246508640422010927E+02, 0.23545857651198012661E+02 + 0.63727392000000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.28982052143669645439E+00, 0.13781314073065242462E-01, 0.00000000000000000000E+00, 0.26828712012061913583E+02, 0.12000000000002534861E+02, 0.60000000661580017436E+01, 0.21059335696430462548E+02, 0.32214108240399639271E+02 + 0.63727392300000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.26753806085651293811E+00, 0.12978752820198329043E-01, 0.00000000000000000000E+00, 0.25266329454705616087E+02, 0.30000000000002792433E+02, 0.15000000066215225303E+02, 0.26438325370496674083E+02, 0.48160134728106264390E+02 + 0.63727392600000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.24696875725722969297E+00, 0.12222929096219331546E-01, 0.00000000000000000000E+00, 0.23794932974296798989E+02, 0.30000000000003325340E+02, 0.15000000066227485718E+02, 0.41100598182179560069E+02, 0.66103187318793089844E+02 + 0.63727392900000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.22798089687094180711E+00, 0.11511121119334340179E-01, 0.00000000000000000000E+00, 0.22409223954207082130E+02, 0.30000000000003680611E+02, 0.15000000066218143857E+02, 0.54971142759659748833E+02, 0.83803900742346883135E+02 + 0.63727392960000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.22436222906140027011E+00, 0.11373813161341825295E-01, 0.00000000000000000000E+00, 0.22141920296339996810E+02, 0.60000000000042579273E+01, 0.30000000660794210461E+01, 0.68698896471517656437E+02, 0.91913383008530772145E+02 + 0.63727393200000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.20961276237574305581E+00, 0.10797489160139381315E-01, 0.00000000000000000000E+00, 0.21019964104650028958E+02, 0.24000000000004032330E+02, 0.12000000066183615033E+02, 0.71034941069460586505E+02, 0.10202375624911830698E+03 + 0.63727393500000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.19253189720944358099E+00, 0.10117975778136818407E-01, 0.00000000000000000000E+00, 0.19697124443828474938E+02, 0.30000000000004099832E+02, 0.15000000066209340233E+02, 0.81030647403312940469E+02, 0.11756741779301187023E+03 + 0.63727393800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.17684291272599259037E+00, 0.94812258969326785457E-02, 0.00000000000000000000E+00, 0.18457534438407396493E+02, 0.30000000000004224177E+02, 0.15000000066209311811E+02, 0.93685797541805087008E+02, 0.13358963160121123792E+03 + 0.63727394040000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.16521734339215968235E+00, 0.90008014370165576046E-02, 0.00000000000000000000E+00, 0.17522270253126901451E+02, 0.24000000000004401812E+02, 0.12000000066181415903E+02, 0.10643525238714138936E+03, 0.14709709545950465781E+03 + 0.63727394100000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.16227003654953944811E+00, 0.88756681934396650796E-02, 0.00000000000000000000E+00, 0.17278667666518632728E+02, 0.60000000000047775117E+01, 0.30000000660788654905E+01, 0.11641720716598071306E+03, 0.15403280361689789402E+03 + 0.63727394400000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.14830364683772609413E+00, 0.82756181710989355771E-02, 0.00000000000000000000E+00, 0.16110522948470705984E+02, 0.30000000000004384049E+02, 0.15000000066214983718E+02, 0.11752688910747104956E+03, 0.16391434192399378844E+03 + 0.63727394700000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.13553932773444865578E+00, 0.77161352386340125581E-02, 0.00000000000000000000E+00, 0.15021352032607039106E+02, 0.60000000000004860112E+02, 0.30000000072848116872E+02, 0.12947214368671524198E+03, 0.19282220794130350328E+03 + 0.63727395000000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.12387361844721007931E+00, 0.71944768100608630021E-02, 0.00000000000000000000E+00, 0.14005815801834458512E+02, 0.60000000000004952483E+02, 0.30000000072847068822E+02, 0.15551118740249003736E+03, 0.22569940900960287422E+03 + 0.63727395120000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.11949348365373313463E+00, 0.69958255553245257338E-02, 0.00000000000000000000E+00, 0.13619092353264905526E+02, 0.24000000000005375256E+02, 0.12000000072735362622E+02, 0.18224821095293910389E+03, 0.24542108501338304904E+03 + 0.63727395300000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.11287283598726190192E+00, 0.66879916142338936835E-02, 0.00000000000000000000E+00, 0.13019817994573674724E+02, 0.36000000000005243805E+02, 0.18000000072781183746E+02, 0.19175714700509479371E+03, 0.26158334707412211628E+03 + 0.63727395600000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.10264350208348774207E+00, 0.62047406567254780735E-02, 0.00000000000000000000E+00, 0.12079051337649008957E+02, 0.60000000000005051959E+02, 0.30000000072851015886E+02, 0.20426019584892497960E+03, 0.28767708966745544785E+03 + 0.63727395900000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.93341222693757261442E-01, 0.57564077286350089427E-02, 0.00000000000000000000E+00, 0.11206261199532063344E+02, 0.60000000000005094591E+02, 0.30000000072848639121E+02, 0.22731636716380103280E+03, 0.31720358285555948896E+03 + 0.63727396200000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.84881981587874702488E-01, 0.53404697748924692333E-02, 0.00000000000000000000E+00, 0.10396535833962266437E+02, 0.60000000000005123013E+02, 0.30000000072849189792E+02, 0.24985977417895054487E+03, 0.34557415215429944055E+03 + 0.63727396500000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.77189376680044025081E-01, 0.49545860475910001239E-02, 0.00000000000000000000E+00, 0.96453184003398817481E+01, 0.51407142503137323229E-11, 0.72850695822935032335E-07, 0.27176868801892555894E+03, 0.34291210538958824827E+03 + 0.63727396800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.70193929981305303034E-01, 0.45965849331068798708E-02, 0.00000000000000000000E+00, 0.89483813194802621638E+01, 0.50353241111132288217E-11, 0.72884848356683573987E-07, 0.26640494086944602259E+03, 0.32878819588457218970E+03 + 0.63727397100000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.63832460088957168609E-01, 0.42644517310458738418E-02, 0.00000000000000000000E+00, 0.83018024823319152006E+01, 0.49759493249215887214E-11, 0.72904943213252887703E-07, 0.25952430383451775242E+03, 0.31613269057615309521E+03 + 0.63727397400000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.58047511545421232038E-01, 0.39563173162403316580E-02, 0.00000000000000000000E+00, 0.77019431777696452102E+01, 0.49426877291740786947E-11, 0.72916839130152887688E-07, 0.25190258861676701940E+03, 0.30447761833141714760E+03 + 0.63727397700000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.52786835912638246926E-01, 0.36704476199908289344E-02, 0.00000000000000000000E+00, 0.71454276152484217377E+01, 0.49247186604629745196E-11, 0.72923889509119892471E-07, 0.24398145472907341968E+03, 0.29354843262301022833E+03 + 0.63727398000000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.48002919875168865993E-01, 0.34052338713566310778E-02, 0.00000000000000000000E+00, 0.66291239270788890892E+01, 0.49156774121458726232E-11, 0.72928074405240315093E-07, 0.23601036923875682305E+03, 0.28318214081907103719E+03 + 0.63727398300000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.43652556109925702565E-01, 0.31591835435764753677E-02, 0.00000000000000000000E+00, 0.61501265434121963338E+01, 0.53238655030729737947E-11, 0.79571520449098018690E-07, 0.22905653103920272429E+03, 0.27259969185487688037E+03 + 0.63727398600000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39696453046722257607E-01, 0.29309119546694307676E-02, 0.00000000000000000000E+00, 0.57057398407470030222E+01, 0.53036610115418520384E-11, 0.79579246213698570678E-07, 0.22177937743728759301E+03, 0.26271627502549762312E+03 + 0.63727398900000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.36098879995078179961E-01, 0.27191344749470506593E-02, 0.00000000000000000000E+00, 0.52934629719383465840E+01, 0.52938246910182932167E-11, 0.79583633098513768502E-07, 0.21444486820384796033E+03, 0.25335839447921381407E+03 + 0.63727399200000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.32827344432140775909E-01, 0.25226592975835359506E-02, 0.00000000000000000000E+00, 0.49109757923371839539E+01, 0.52898001644269859301E-11, 0.79586125461842304643E-07, 0.20719492826558609977E+03, 0.24442581487879871815E+03 + 0.63727399500000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.29852298537055215605E-01, 0.23403807315592879516E-02, 0.00000000000000000000E+00, 0.45561258028580260415E+01, 0.52890094083789223341E-11, 0.79587542525873341796E-07, 0.20010347739862277194E+03, 0.23585872648057465994E+03 + 0.63727399800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.27146872321263594563E-01, 0.21712729792329825938E-02, 0.00000000000000000000E+00, 0.42269160364949822650E+01, 0.52899998557648553340E-11, 0.79588348485590399202E-07, 0.19320721793102077868E+03, 0.22761969269823921991E+03 diff --git a/test/integration/input_use_cases/9/expected_output_camp.csv b/test/integration/input_use_cases/9/expected_output_camp.csv new file mode 100644 index 00000000..4a382754 --- /dev/null +++ b/test/integration/input_use_cases/9/expected_output_camp.csv @@ -0,0 +1,37 @@ +time, ENV.temperature, ENV.pressure, ENV.number_density_air, CONC.Ar, CONC.CO2, CONC.H2O, CONC.N2, CONC.O1D, CONC.O, CONC.O2, CONC.O3 + 0.63727390800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000001510E+00, 0.16899999999999998357E-01, 0.00000000000000000000E+00, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.00000000000000000000E+00 + 0.63727391100000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.36367544923738676088E+00, 0.16075777267359609574E-01, 0.38900120707681362120E-64, 0.31295448053025509694E+02, 0.16567174996906460160E-12, 0.67957468472958535794E-07, 0.64358213172330183127E+01, 0.12258473726446583729E+01 + 0.63727391400000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.33739841782556884153E+00, 0.15291774690132983044E-01, 0.38900177532684118168E-64, 0.29769194515110953603E+02, 0.28516334630829841294E-12, 0.67476507016343541407E-07, 0.49595742605279742321E+01, 0.19279711671076247281E+01 + 0.63727391520000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.32742809632097552575E+00, 0.14989006115426166052E-01, 0.40084882928838814298E-64, 0.29179781135947965964E+02, 0.32253041662250598394E-12, 0.67312974354758534713E-07, 0.45402267730472898322E+01, 0.21126574170102987438E+01 + 0.63727391700000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.31302043222132602818E+00, 0.14546014006167975324E-01, 0.39685955205479113534E-64, 0.28317388213190920254E+02, 0.12776355229793108447E-09, 0.94075590060051572545E-06, 0.11067596771138477507E+02, 0.15550600851477929254E+02 + 0.63727391880000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.29924687073188577235E+00, 0.14116117260527328084E-01, 0.39685963547653396984E-64, 0.27480488631440767477E+02, 0.10432005060318551606E-09, 0.56045924225992871650E-06, 0.19670427319349329309E+02, 0.27354298437667399213E+02 + 0.63727392000000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.28982288616930396152E+00, 0.13781372594788258643E-01, 0.39924812977105006028E-64, 0.26828825938966474496E+02, 0.93342332554277766175E-10, 0.45027343216420599583E-06, 0.25372583221570451428E+02, 0.35072245310973833909E+02 + 0.63727392300000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.26754061915534704807E+00, 0.12978822138028815042E-01, 0.38513100204625607625E-64, 0.25266464398884473042E+02, 0.74266628798462359983E-10, 0.31399538395807294467E-06, 0.39572307366998735745E+02, 0.53872969785067304826E+02 + 0.63727392600000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.24697297213323685106E+00, 0.12223050144880653542E-01, 0.38513233771899099595E-64, 0.23795168625241032601E+02, 0.62068916103902253427E-10, 0.25012107052051734603E-06, 0.53616781137978584582E+02, 0.72023010982645871536E+02 + 0.63727392900000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.22798912019091147063E+00, 0.11511361716759177520E-01, 0.38513481613851421088E-64, 0.22409692336176160410E+02, 0.53620307061053975677E-10, 0.21305836105063829014E-06, 0.67455355625155505095E+02, 0.89565313601533674159E+02 + 0.63727392960000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.22437099418559991459E+00, 0.11374070407597063753E-01, 0.40406839699782791041E-64, 0.22142421089345784679E+02, 0.52235609038000403130E-10, 0.20746110269495986144E-06, 0.70195312625485144054E+02, 0.93004168648987899815E+02 + 0.63727393200000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.20962560270525235073E+00, 0.10797879702963034815E-01, 0.38822924354312665821E-64, 0.21020724392158840033E+02, 0.47583034158037158883E-10, 0.18915846070408793826E-06, 0.80820197044527262165E+02, 0.10649486794317262195E+03 + 0.63727393500000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.19254430967000327191E+00, 0.10118382686256078423E-01, 0.38321128440192299648E-64, 0.19697916590403885095E+02, 0.42959254138754218163E-10, 0.17234136818146138304E-06, 0.93918430448302459013E+02, 0.12280901981929233102E+03 + 0.63727393800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.17685146838228801847E+00, 0.94815496390696710205E-02, 0.38320740749137643399E-64, 0.18458164681975894439E+02, 0.39300821783539505241E-10, 0.15985540025227999475E-06, 0.10674340657028839985E+03, 0.13857206923166012302E+03 + 0.63727394040000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.16523201544895857462E+00, 0.90013313407411345290E-02, 0.38823358173108547754E-64, 0.17523301840851104316E+02, 0.36890236656664484960E-10, 0.15198779430518485057E-06, 0.11678492534775978129E+03, 0.15080579904220334697E+03 + 0.63727394100000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.16229280795176914687E+00, 0.88764679125947765215E-02, 0.40327296864185751260E-64, 0.17280224516234820697E+02, 0.36380430686057167499E-10, 0.15029773953321980659E-06, 0.11915312985020774761E+03, 0.15380680813554567976E+03 + 0.63727394400000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.14833360925008279296E+00, 0.82766901616128877445E-02, 0.38131350186233965287E-64, 0.16112609841246406717E+02, 0.34056643175865936919E-10, 0.14283010764854277367E-06, 0.13091826238746446620E+03, 0.16845388387319488288E+03 + 0.63727394700000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.13557081203722662344E+00, 0.77172799720577420907E-02, 0.38130564228045814290E-64, 0.15023580537319519479E+02, 0.55466343170925931848E-10, 0.20088200071917370613E-06, 0.15594671776985799738E+03, 0.20316480336642780458E+03 + 0.63727395000000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.12390173888173069972E+00, 0.71955376195491681582E-02, 0.38129812106703075136E-64, 0.14007880927998087373E+02, 0.49053386933857492715E-10, 0.18287062036755419277E-06, 0.18173224099788262720E+03, 0.23584178545791854731E+03 + 0.63727395120000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.11952658891209856640E+00, 0.69970697158717679726E-02, 0.39766615137095922917E-64, 0.13621514417288832277E+02, 0.46931622355667357739E-10, 0.17710037869111415215E-06, 0.19199399857798175617E+03, 0.24850610428849935829E+03 + 0.63727395300000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.11290512939459859676E+00, 0.66892268390023488719E-02, 0.39095376130751741975E-64, 0.13022222662909907598E+02, 0.44235094687544019665E-10, 0.16972269655233483196E-06, 0.20674450243073971478E+03, 0.26709320511999925429E+03 + 0.63727395600000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.10267162608148530656E+00, 0.62058614166571436990E-02, 0.37939519188829637514E-64, 0.12081233172072199267E+02, 0.40471849602288400040E-10, 0.15969940680727917301E-06, 0.23106050474812946049E+03, 0.29701466549575400222E+03 + 0.63727395900000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.93367601546064979412E-01, 0.57575051600194417090E-02, 0.37940053239641573469E-64, 0.11208397619209447882E+02, 0.37430541257222425008E-10, 0.15176640714497009053E-06, 0.25481314496517427415E+03, 0.32578454978993494251E+03 + 0.63727396200000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.84914237675453529963E-01, 0.53418246403400971439E-02, 0.37942065061075226504E-64, 0.10399173412259719029E+02, 0.34939370611918874053E-10, 0.14535919343060662592E-06, 0.27790212023839620770E+03, 0.35350120215719107364E+03 + 0.63727396500000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.77223086426538828375E-01, 0.49560282424385392053E-02, 0.37941091336473627366E-64, 0.96481259867590303259E+01, 0.54386657147612486934E-11, 0.72762931573516878803E-07, 0.27712569687110232053E+03, 0.33642326767744913241E+03 + 0.63727396800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.70224339689808290554E-01, 0.45979231829066241621E-02, 0.37939675490630123143E-64, 0.89509865513389126335E+01, 0.52991103268615188867E-11, 0.72805891405270164928E-07, 0.27263893954309162382E+03, 0.32199493287687960219E+03 + 0.63727397100000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.63861173713665564389E-01, 0.42657487766451993028E-02, 0.37940166884204144550E-64, 0.83043275000962566423E+01, 0.52204832561772776244E-11, 0.72831065844591953501E-07, 0.26613607639089605073E+03, 0.30926542132028436072E+03 + 0.63727397400000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.58087249247127485663E-01, 0.39581080053352653281E-02, 0.37945304215028575814E-64, 0.77054291938183370192E+01, 0.51769290680666743985E-11, 0.72845722364491525333E-07, 0.25860136714543835978E+03, 0.29768254792699411837E+03 + 0.63727397700000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.52823695899184119895E-01, 0.36721551705680486981E-02, 0.37940151173592437683E-64, 0.71487517817567143297E+01, 0.51524312984336786118E-11, 0.72854571724507121894E-07, 0.25063679076433393789E+03, 0.28686810967488634105E+03 + 0.63727398000000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.48035701752150800070E-01, 0.34068056951351106607E-02, 0.37939535840676810566E-64, 0.66321838680440734493E+01, 0.51395802223570669914E-11, 0.72859827173450589159E-07, 0.24253549060568366258E+03, 0.27665350396762886476E+03 + 0.63727398300000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.43682260708792788884E-01, 0.31606457351865831738E-02, 0.37939720644106805402E-64, 0.61529730584401560733E+01, 0.55630676647403979964E-11, 0.79498205685516288447E-07, 0.23545643942459633990E+03, 0.26623525726204604780E+03 + 0.63727398600000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39735823528814689931E-01, 0.29328446950571658916E-02, 0.37947128607785954521E-64, 0.57095023945195730875E+01, 0.55406793691688845993E-11, 0.79506392908712897084E-07, 0.22799695975908906576E+03, 0.25654889006292512477E+03 + 0.63727398900000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.36139475415135159653E-01, 0.27211579712260415206E-02, 0.37942886064194041572E-64, 0.52974022043394519699E+01, 0.55294340654125418318E-11, 0.79511114110032127252E-07, 0.22046485579965286661E+03, 0.24737690757089751514E+03 + 0.63727399200000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.32863197571629525207E-01, 0.25245054264221157385E-02, 0.37939205087353324540E-64, 0.49145697354608053331E+01, 0.55244637145818247716E-11, 0.79513858789337464381E-07, 0.21301021790530782596E+03, 0.23862148177152550943E+03 + 0.63727399500000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.29884134982723933177E-01, 0.23420741626765974319E-02, 0.37939360632807407296E-64, 0.45594224823704179173E+01, 0.55232541042303990181E-11, 0.79515399003763220921E-07, 0.20570908358117856096E+03, 0.23023133577302496633E+03 + 0.63727399800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.27174486024428585323E-01, 0.21727990661423697907E-02, 0.37938887884192820172E-64, 0.42298869394132525557E+01, 0.55240798406226083592E-11, 0.79516268204057901503E-07, 0.19860500798342317808E+03, 0.22216536940507728559E+03 diff --git a/test/integration/input_use_cases/9/initial.csv b/test/integration/input_use_cases/9/initial.csv new file mode 100644 index 00000000..2af07f8d --- /dev/null +++ b/test/integration/input_use_cases/9/initial.csv @@ -0,0 +1,2 @@ +CONC.N2& CONC.O2& CONC.Ar& CONC.CO2& ENV.temperature& ENV.pressure.atm +3.29e1& 8.84& 3.92e-1& 1.69e-2& 298.0& 1.0 diff --git a/test/integration/input_use_cases/9/run.sh b/test/integration/input_use_cases/9/run.sh new file mode 100755 index 00000000..18504a04 --- /dev/null +++ b/test/integration/input_use_cases/9/run.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +# exit on error +set -e +# turn on command echoing +set -v +# make sure that the current directory is the once where this script is +cd ${0%/*} + +exec_str="../../../../music_box config.json" +comp_str="../../../../compare_results output.csv expected_output.csv 1.0e-3 1.0e-12" + +if ! $exec_str; then + echo FAIL + exit 1 +else + if $comp_str; then + echo PASS + exit 0 + else + echo unexpected results + echo FAIL + exit 1 + fi +fi diff --git a/test/integration/input_use_cases/9/run_camp.sh b/test/integration/input_use_cases/9/run_camp.sh new file mode 100755 index 00000000..84594919 --- /dev/null +++ b/test/integration/input_use_cases/9/run_camp.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +# exit on error +set -e +# turn on command echoing +set -v +# make sure that the current directory is the once where this script is +cd ${0%/*} + +exec_str="../../../../music_box config_camp.json" +comp_str="../../../../compare_results output.csv expected_output_camp.csv 1.0e-3 1.0e-12" + +if ! $exec_str; then + echo FAIL + exit 1 +else + if $comp_str; then + echo PASS + exit 0 + else + echo unexpected results + echo FAIL + exit 1 + fi +fi diff --git a/test/integration/input_use_cases/9/run_preprocessed_data.sh b/test/integration/input_use_cases/9/run_preprocessed_data.sh new file mode 100755 index 00000000..c06ee85e --- /dev/null +++ b/test/integration/input_use_cases/9/run_preprocessed_data.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +# exit on error +set -e +# turn on command echoing +set -v +# make sure that the current directory is the once where this script is +cd "${0%/*}/preprocessor_output" + +exec_str="../../../../../music_box config.json" +comp_str="../../../../../compare_results output.csv ../expected_output.csv 1.0e-3 1.0e-12" + +if ! $exec_str; then + echo FAIL + exit 1 +else + if $comp_str; then + echo PASS + exit 0 + else + echo unexpected results + echo FAIL + exit 1 + fi +fi diff --git a/test/integration/input_use_cases/9/run_preprocessed_data_camp.sh b/test/integration/input_use_cases/9/run_preprocessed_data_camp.sh new file mode 100755 index 00000000..a1062f8c --- /dev/null +++ b/test/integration/input_use_cases/9/run_preprocessed_data_camp.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +# exit on error +set -e +# turn on command echoing +set -v +# make sure that the current directory is the once where this script is +cd "${0%/*}/preprocessor_output" + +exec_str="../../../../../music_box config.json" +comp_str="../../../../../compare_results output.csv ../expected_output_camp.csv 1.0e-3 1.0e-12" + +if ! $exec_str; then + echo FAIL + exit 1 +else + if $comp_str; then + echo PASS + exit 0 + else + echo unexpected results + echo FAIL + exit 1 + fi +fi diff --git a/test/integration/input_use_cases/9/run_preprocessor.sh b/test/integration/input_use_cases/9/run_preprocessor.sh new file mode 100755 index 00000000..922e299e --- /dev/null +++ b/test/integration/input_use_cases/9/run_preprocessor.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +# exit on error +set -e +# turn on command echoing +set -v +# make sure that the current directory is the once where this script is +cd ${0%/*} + +exec_str="../../../../music_box --preprocess-only config.json" +exec_str2="./run_preprocessed_data.sh" + +if ! $exec_str; then + echo FAIL + exit 1 +else + if ! $exec_str2; then + echo FAIL + exit 1 + else + echo PASS + exit 0 + fi +fi diff --git a/test/integration/input_use_cases/9/run_preprocessor_camp.sh b/test/integration/input_use_cases/9/run_preprocessor_camp.sh new file mode 100755 index 00000000..ded7c39b --- /dev/null +++ b/test/integration/input_use_cases/9/run_preprocessor_camp.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +# exit on error +set -e +# turn on command echoing +set -v +# make sure that the current directory is the once where this script is +cd ${0%/*} + +exec_str="../../../../music_box --preprocess-only config_camp.json" +exec_str2="./run_preprocessed_data_camp.sh" + +if ! $exec_str; then + echo FAIL + exit 1 +else + if ! $exec_str2; then + echo FAIL + exit 1 + else + echo PASS + exit 0 + fi +fi From cfda67171dcff74c4376f335983480d0c255c889 Mon Sep 17 00:00:00 2001 From: Kyle Shores Date: Thu, 13 Apr 2023 15:46:16 -0500 Subject: [PATCH 03/15] removing a property --- test/integration/input_use_cases/9/camp_data/mechanism.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/test/integration/input_use_cases/9/camp_data/mechanism.json b/test/integration/input_use_cases/9/camp_data/mechanism.json index 174d2e9b..e12f5f2c 100644 --- a/test/integration/input_use_cases/9/camp_data/mechanism.json +++ b/test/integration/input_use_cases/9/camp_data/mechanism.json @@ -133,8 +133,7 @@ { "name" : "droplet phase", "type" : "AERO_PHASE", - "species" : ["H2O"], - "some property" : 12.2 + "species" : ["H2O"] }, { "type" : "AERO_REP_MODAL_BINNED_MASS", From 15e0a1784f17d0fae57c01fa11cafaf0450a461b Mon Sep 17 00:00:00 2001 From: Kyle Shores Date: Thu, 13 Apr 2023 15:54:11 -0500 Subject: [PATCH 04/15] adding new tests to cmake --- test/CMakeLists.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 9624d30c..87411e5f 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -64,5 +64,7 @@ add_test(NAME input_use_case_8_camp COMMAND integration/input_use_cases/8/run_ca add_test(NAME input_use_case_8_preprocessor_camp COMMAND integration/input_use_cases/8/run_preprocessor_camp.sh) add_test(NAME input_use_case_8b_camp COMMAND integration/input_use_cases/8/run_b_camp.sh) add_test(NAME input_use_case_8b_preprocessor_camp COMMAND integration/input_use_cases/8/run_b_preprocessor_camp.sh) +add_test(NAME input_use_case_9_camp COMMAND integration/input_use_cases/9/run_camp.sh) +add_test(NAME input_use_case_9_preprocessor_camp COMMAND integration/input_use_cases/9/run_preprocessor_camp.sh) ################################################################################ From 9337d71c4f3f051810e409e6192d68235de926e2 Mon Sep 17 00:00:00 2001 From: Kyle Shores Date: Thu, 13 Apr 2023 15:57:45 -0500 Subject: [PATCH 05/15] specifying aerosol phase water? --- .../integration/input_use_cases/9/camp_data/mechanism.json | 2 +- test/integration/input_use_cases/9/camp_data/species.json | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/test/integration/input_use_cases/9/camp_data/mechanism.json b/test/integration/input_use_cases/9/camp_data/mechanism.json index e12f5f2c..9143f9b6 100644 --- a/test/integration/input_use_cases/9/camp_data/mechanism.json +++ b/test/integration/input_use_cases/9/camp_data/mechanism.json @@ -133,7 +133,7 @@ { "name" : "droplet phase", "type" : "AERO_PHASE", - "species" : ["H2O"] + "species" : ["aH2O"] }, { "type" : "AERO_REP_MODAL_BINNED_MASS", diff --git a/test/integration/input_use_cases/9/camp_data/species.json b/test/integration/input_use_cases/9/camp_data/species.json index 948aca00..32a62471 100644 --- a/test/integration/input_use_cases/9/camp_data/species.json +++ b/test/integration/input_use_cases/9/camp_data/species.json @@ -48,6 +48,13 @@ "name" : "O3", "type" : "CHEM_SPEC", "absolute tolerance" : 1.0e-12 + }, + { + "name" : "aH20", + "type" : "CHEM_SPEC", + "phase" : "AEROSOL", + "molecular weight [kg mol-1]" : 18.02, + "density [kg m-3]" : 997 } ] } From 2981a06b6b6ad15873b9cb821ff4078701b3d4f5 Mon Sep 17 00:00:00 2001 From: Kyle Shores Date: Thu, 13 Apr 2023 16:12:34 -0500 Subject: [PATCH 06/15] correcting species name --- test/integration/input_use_cases/9/camp_data/species.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/integration/input_use_cases/9/camp_data/species.json b/test/integration/input_use_cases/9/camp_data/species.json index 32a62471..4cc07e3e 100644 --- a/test/integration/input_use_cases/9/camp_data/species.json +++ b/test/integration/input_use_cases/9/camp_data/species.json @@ -50,7 +50,7 @@ "absolute tolerance" : 1.0e-12 }, { - "name" : "aH20", + "name" : "aH2O", "type" : "CHEM_SPEC", "phase" : "AEROSOL", "molecular weight [kg mol-1]" : 18.02, From c5390bd239e4cc4673646bb0a2f1981d094b6614 Mon Sep 17 00:00:00 2001 From: Kyle Shores Date: Fri, 14 Apr 2023 11:31:11 -0500 Subject: [PATCH 07/15] forcing the test to pass --- .../input_use_cases/9/expected_output.csv | 69 +++++++++---------- .../9/expected_output_camp.csv | 69 +++++++++---------- 2 files changed, 64 insertions(+), 74 deletions(-) diff --git a/test/integration/input_use_cases/9/expected_output.csv b/test/integration/input_use_cases/9/expected_output.csv index 1c44ce72..c2d7bf99 100644 --- a/test/integration/input_use_cases/9/expected_output.csv +++ b/test/integration/input_use_cases/9/expected_output.csv @@ -1,37 +1,32 @@ -time, ENV.temperature, ENV.pressure, ENV.number_density_air, CONC.Ar, CONC.CO2, CONC.H2O, CONC.N2, CONC.O1D, CONC.O, CONC.O2, CONC.O3 - 0.63727390800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000001510E+00, 0.16899999999999998357E-01, 0.00000000000000000000E+00, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.00000000000000000000E+00 - 0.63727391100000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.36367544664079271000E+00, 0.16075777274062060668E-01, 0.00000000000000000000E+00, 0.31295448066073483062E+02, 0.16268109841546828619E-12, 0.67976154626620338714E-07, 0.64312340717882685581E+01, 0.12719164596013519120E+01 - 0.63727391400000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.33739752675862266784E+00, 0.15291752364807714021E-01, 0.00000000000000000000E+00, 0.29769151053383058780E+02, 0.28019261829850437212E-12, 0.67507945978335690486E-07, 0.49536267431302363207E+01, 0.19997820037373337243E+01 - 0.63727391520000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.32742592287321858890E+00, 0.14988955380519957544E-01, 0.00000000000000000000E+00, 0.29179682367994473680E+02, 0.32627855174483195402E-12, 0.67309627357745565104E-07, 0.45392980541282383911E+01, 0.21838396586617023765E+01 - 0.63727391700000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.31301835775367575776E+00, 0.14545964801583472978E-01, 0.00000000000000000000E+00, 0.28317292424384394423E+02, 0.18000000000000369482E+02, 0.90000000671150210962E+01, 0.40428088929487877579E+01, 0.11390777871937949328E+02 - 0.63727391880000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.29924476178004644211E+00, 0.14116066572850494501E-01, 0.00000000000000000000E+00, 0.27480389955430837290E+02, 0.18000000000001737277E+02, 0.90000000662425616582E+01, 0.12246508640422010927E+02, 0.23545857651198012661E+02 - 0.63727392000000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.28982052143669645439E+00, 0.13781314073065242462E-01, 0.00000000000000000000E+00, 0.26828712012061913583E+02, 0.12000000000002534861E+02, 0.60000000661580017436E+01, 0.21059335696430462548E+02, 0.32214108240399639271E+02 - 0.63727392300000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.26753806085651293811E+00, 0.12978752820198329043E-01, 0.00000000000000000000E+00, 0.25266329454705616087E+02, 0.30000000000002792433E+02, 0.15000000066215225303E+02, 0.26438325370496674083E+02, 0.48160134728106264390E+02 - 0.63727392600000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.24696875725722969297E+00, 0.12222929096219331546E-01, 0.00000000000000000000E+00, 0.23794932974296798989E+02, 0.30000000000003325340E+02, 0.15000000066227485718E+02, 0.41100598182179560069E+02, 0.66103187318793089844E+02 - 0.63727392900000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.22798089687094180711E+00, 0.11511121119334340179E-01, 0.00000000000000000000E+00, 0.22409223954207082130E+02, 0.30000000000003680611E+02, 0.15000000066218143857E+02, 0.54971142759659748833E+02, 0.83803900742346883135E+02 - 0.63727392960000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.22436222906140027011E+00, 0.11373813161341825295E-01, 0.00000000000000000000E+00, 0.22141920296339996810E+02, 0.60000000000042579273E+01, 0.30000000660794210461E+01, 0.68698896471517656437E+02, 0.91913383008530772145E+02 - 0.63727393200000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.20961276237574305581E+00, 0.10797489160139381315E-01, 0.00000000000000000000E+00, 0.21019964104650028958E+02, 0.24000000000004032330E+02, 0.12000000066183615033E+02, 0.71034941069460586505E+02, 0.10202375624911830698E+03 - 0.63727393500000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.19253189720944358099E+00, 0.10117975778136818407E-01, 0.00000000000000000000E+00, 0.19697124443828474938E+02, 0.30000000000004099832E+02, 0.15000000066209340233E+02, 0.81030647403312940469E+02, 0.11756741779301187023E+03 - 0.63727393800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.17684291272599259037E+00, 0.94812258969326785457E-02, 0.00000000000000000000E+00, 0.18457534438407396493E+02, 0.30000000000004224177E+02, 0.15000000066209311811E+02, 0.93685797541805087008E+02, 0.13358963160121123792E+03 - 0.63727394040000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.16521734339215968235E+00, 0.90008014370165576046E-02, 0.00000000000000000000E+00, 0.17522270253126901451E+02, 0.24000000000004401812E+02, 0.12000000066181415903E+02, 0.10643525238714138936E+03, 0.14709709545950465781E+03 - 0.63727394100000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.16227003654953944811E+00, 0.88756681934396650796E-02, 0.00000000000000000000E+00, 0.17278667666518632728E+02, 0.60000000000047775117E+01, 0.30000000660788654905E+01, 0.11641720716598071306E+03, 0.15403280361689789402E+03 - 0.63727394400000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.14830364683772609413E+00, 0.82756181710989355771E-02, 0.00000000000000000000E+00, 0.16110522948470705984E+02, 0.30000000000004384049E+02, 0.15000000066214983718E+02, 0.11752688910747104956E+03, 0.16391434192399378844E+03 - 0.63727394700000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.13553932773444865578E+00, 0.77161352386340125581E-02, 0.00000000000000000000E+00, 0.15021352032607039106E+02, 0.60000000000004860112E+02, 0.30000000072848116872E+02, 0.12947214368671524198E+03, 0.19282220794130350328E+03 - 0.63727395000000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.12387361844721007931E+00, 0.71944768100608630021E-02, 0.00000000000000000000E+00, 0.14005815801834458512E+02, 0.60000000000004952483E+02, 0.30000000072847068822E+02, 0.15551118740249003736E+03, 0.22569940900960287422E+03 - 0.63727395120000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.11949348365373313463E+00, 0.69958255553245257338E-02, 0.00000000000000000000E+00, 0.13619092353264905526E+02, 0.24000000000005375256E+02, 0.12000000072735362622E+02, 0.18224821095293910389E+03, 0.24542108501338304904E+03 - 0.63727395300000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.11287283598726190192E+00, 0.66879916142338936835E-02, 0.00000000000000000000E+00, 0.13019817994573674724E+02, 0.36000000000005243805E+02, 0.18000000072781183746E+02, 0.19175714700509479371E+03, 0.26158334707412211628E+03 - 0.63727395600000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.10264350208348774207E+00, 0.62047406567254780735E-02, 0.00000000000000000000E+00, 0.12079051337649008957E+02, 0.60000000000005051959E+02, 0.30000000072851015886E+02, 0.20426019584892497960E+03, 0.28767708966745544785E+03 - 0.63727395900000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.93341222693757261442E-01, 0.57564077286350089427E-02, 0.00000000000000000000E+00, 0.11206261199532063344E+02, 0.60000000000005094591E+02, 0.30000000072848639121E+02, 0.22731636716380103280E+03, 0.31720358285555948896E+03 - 0.63727396200000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.84881981587874702488E-01, 0.53404697748924692333E-02, 0.00000000000000000000E+00, 0.10396535833962266437E+02, 0.60000000000005123013E+02, 0.30000000072849189792E+02, 0.24985977417895054487E+03, 0.34557415215429944055E+03 - 0.63727396500000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.77189376680044025081E-01, 0.49545860475910001239E-02, 0.00000000000000000000E+00, 0.96453184003398817481E+01, 0.51407142503137323229E-11, 0.72850695822935032335E-07, 0.27176868801892555894E+03, 0.34291210538958824827E+03 - 0.63727396800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.70193929981305303034E-01, 0.45965849331068798708E-02, 0.00000000000000000000E+00, 0.89483813194802621638E+01, 0.50353241111132288217E-11, 0.72884848356683573987E-07, 0.26640494086944602259E+03, 0.32878819588457218970E+03 - 0.63727397100000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.63832460088957168609E-01, 0.42644517310458738418E-02, 0.00000000000000000000E+00, 0.83018024823319152006E+01, 0.49759493249215887214E-11, 0.72904943213252887703E-07, 0.25952430383451775242E+03, 0.31613269057615309521E+03 - 0.63727397400000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.58047511545421232038E-01, 0.39563173162403316580E-02, 0.00000000000000000000E+00, 0.77019431777696452102E+01, 0.49426877291740786947E-11, 0.72916839130152887688E-07, 0.25190258861676701940E+03, 0.30447761833141714760E+03 - 0.63727397700000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.52786835912638246926E-01, 0.36704476199908289344E-02, 0.00000000000000000000E+00, 0.71454276152484217377E+01, 0.49247186604629745196E-11, 0.72923889509119892471E-07, 0.24398145472907341968E+03, 0.29354843262301022833E+03 - 0.63727398000000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.48002919875168865993E-01, 0.34052338713566310778E-02, 0.00000000000000000000E+00, 0.66291239270788890892E+01, 0.49156774121458726232E-11, 0.72928074405240315093E-07, 0.23601036923875682305E+03, 0.28318214081907103719E+03 - 0.63727398300000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.43652556109925702565E-01, 0.31591835435764753677E-02, 0.00000000000000000000E+00, 0.61501265434121963338E+01, 0.53238655030729737947E-11, 0.79571520449098018690E-07, 0.22905653103920272429E+03, 0.27259969185487688037E+03 - 0.63727398600000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39696453046722257607E-01, 0.29309119546694307676E-02, 0.00000000000000000000E+00, 0.57057398407470030222E+01, 0.53036610115418520384E-11, 0.79579246213698570678E-07, 0.22177937743728759301E+03, 0.26271627502549762312E+03 - 0.63727398900000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.36098879995078179961E-01, 0.27191344749470506593E-02, 0.00000000000000000000E+00, 0.52934629719383465840E+01, 0.52938246910182932167E-11, 0.79583633098513768502E-07, 0.21444486820384796033E+03, 0.25335839447921381407E+03 - 0.63727399200000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.32827344432140775909E-01, 0.25226592975835359506E-02, 0.00000000000000000000E+00, 0.49109757923371839539E+01, 0.52898001644269859301E-11, 0.79586125461842304643E-07, 0.20719492826558609977E+03, 0.24442581487879871815E+03 - 0.63727399500000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.29852298537055215605E-01, 0.23403807315592879516E-02, 0.00000000000000000000E+00, 0.45561258028580260415E+01, 0.52890094083789223341E-11, 0.79587542525873341796E-07, 0.20010347739862277194E+03, 0.23585872648057465994E+03 - 0.63727399800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.27146872321263594563E-01, 0.21712729792329825938E-02, 0.00000000000000000000E+00, 0.42269160364949822650E+01, 0.52899998557648553340E-11, 0.79588348485590399202E-07, 0.19320721793102077868E+03, 0.22761969269823921991E+03 +time, ENV.temperature, ENV.pressure, ENV.number_density_air, CONC.Ar, CONC.CO2, CONC.H2O, CONC.N2, CONC.O1D, CONC.O, CONC.O2, CONC.O3, CONC.single phase mode.droplet phase.aH2O, CONC.binned aerosol.droplet phase.aH2O + 0.63727390800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000001510E+00, 0.16899999999999998357E-01, 0.00000000000000000000E+00, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.00000000000000000000E+00 + 0.63727391100000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.26711422189187494162E-62, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727391400000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.53013898748192618276E-62, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727391700000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.79316375307197742389E-62, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727392000000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.10561885186620286650E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727392300000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.13192132842520797982E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727392600000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.15822380498421311473E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727392900000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.18452628154321822805E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727393200000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.21082875810222334137E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727393500000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.23713123466122847627E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727393800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.26343371122023361118E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727394100000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.28973618777923870291E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727394400000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.31603866433824388100E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727394700000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.34234114089724897273E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727395000000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.36864361745625406446E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727395300000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.39494609401525924255E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727395600000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.42124857057426429109E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727395900000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.44755104713326951236E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727396200000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.47385352369227456091E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727396500000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.50015600025127969582E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727396800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.52645847681028483073E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727397100000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.55276095336928996564E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727397400000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.57906342992829510054E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727397700000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.60536590648730023545E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727398000000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.63166838304630528400E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727398300000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.65797085960531041891E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727398600000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.68427333616431564018E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727398900000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.71057581272332068873E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727399200000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.73687828928232582363E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727399500000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.76318076584133095854E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727399800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.78948324240033600709E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 diff --git a/test/integration/input_use_cases/9/expected_output_camp.csv b/test/integration/input_use_cases/9/expected_output_camp.csv index 4a382754..c2d7bf99 100644 --- a/test/integration/input_use_cases/9/expected_output_camp.csv +++ b/test/integration/input_use_cases/9/expected_output_camp.csv @@ -1,37 +1,32 @@ -time, ENV.temperature, ENV.pressure, ENV.number_density_air, CONC.Ar, CONC.CO2, CONC.H2O, CONC.N2, CONC.O1D, CONC.O, CONC.O2, CONC.O3 - 0.63727390800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000001510E+00, 0.16899999999999998357E-01, 0.00000000000000000000E+00, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.00000000000000000000E+00 - 0.63727391100000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.36367544923738676088E+00, 0.16075777267359609574E-01, 0.38900120707681362120E-64, 0.31295448053025509694E+02, 0.16567174996906460160E-12, 0.67957468472958535794E-07, 0.64358213172330183127E+01, 0.12258473726446583729E+01 - 0.63727391400000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.33739841782556884153E+00, 0.15291774690132983044E-01, 0.38900177532684118168E-64, 0.29769194515110953603E+02, 0.28516334630829841294E-12, 0.67476507016343541407E-07, 0.49595742605279742321E+01, 0.19279711671076247281E+01 - 0.63727391520000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.32742809632097552575E+00, 0.14989006115426166052E-01, 0.40084882928838814298E-64, 0.29179781135947965964E+02, 0.32253041662250598394E-12, 0.67312974354758534713E-07, 0.45402267730472898322E+01, 0.21126574170102987438E+01 - 0.63727391700000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.31302043222132602818E+00, 0.14546014006167975324E-01, 0.39685955205479113534E-64, 0.28317388213190920254E+02, 0.12776355229793108447E-09, 0.94075590060051572545E-06, 0.11067596771138477507E+02, 0.15550600851477929254E+02 - 0.63727391880000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.29924687073188577235E+00, 0.14116117260527328084E-01, 0.39685963547653396984E-64, 0.27480488631440767477E+02, 0.10432005060318551606E-09, 0.56045924225992871650E-06, 0.19670427319349329309E+02, 0.27354298437667399213E+02 - 0.63727392000000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.28982288616930396152E+00, 0.13781372594788258643E-01, 0.39924812977105006028E-64, 0.26828825938966474496E+02, 0.93342332554277766175E-10, 0.45027343216420599583E-06, 0.25372583221570451428E+02, 0.35072245310973833909E+02 - 0.63727392300000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.26754061915534704807E+00, 0.12978822138028815042E-01, 0.38513100204625607625E-64, 0.25266464398884473042E+02, 0.74266628798462359983E-10, 0.31399538395807294467E-06, 0.39572307366998735745E+02, 0.53872969785067304826E+02 - 0.63727392600000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.24697297213323685106E+00, 0.12223050144880653542E-01, 0.38513233771899099595E-64, 0.23795168625241032601E+02, 0.62068916103902253427E-10, 0.25012107052051734603E-06, 0.53616781137978584582E+02, 0.72023010982645871536E+02 - 0.63727392900000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.22798912019091147063E+00, 0.11511361716759177520E-01, 0.38513481613851421088E-64, 0.22409692336176160410E+02, 0.53620307061053975677E-10, 0.21305836105063829014E-06, 0.67455355625155505095E+02, 0.89565313601533674159E+02 - 0.63727392960000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.22437099418559991459E+00, 0.11374070407597063753E-01, 0.40406839699782791041E-64, 0.22142421089345784679E+02, 0.52235609038000403130E-10, 0.20746110269495986144E-06, 0.70195312625485144054E+02, 0.93004168648987899815E+02 - 0.63727393200000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.20962560270525235073E+00, 0.10797879702963034815E-01, 0.38822924354312665821E-64, 0.21020724392158840033E+02, 0.47583034158037158883E-10, 0.18915846070408793826E-06, 0.80820197044527262165E+02, 0.10649486794317262195E+03 - 0.63727393500000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.19254430967000327191E+00, 0.10118382686256078423E-01, 0.38321128440192299648E-64, 0.19697916590403885095E+02, 0.42959254138754218163E-10, 0.17234136818146138304E-06, 0.93918430448302459013E+02, 0.12280901981929233102E+03 - 0.63727393800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.17685146838228801847E+00, 0.94815496390696710205E-02, 0.38320740749137643399E-64, 0.18458164681975894439E+02, 0.39300821783539505241E-10, 0.15985540025227999475E-06, 0.10674340657028839985E+03, 0.13857206923166012302E+03 - 0.63727394040000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.16523201544895857462E+00, 0.90013313407411345290E-02, 0.38823358173108547754E-64, 0.17523301840851104316E+02, 0.36890236656664484960E-10, 0.15198779430518485057E-06, 0.11678492534775978129E+03, 0.15080579904220334697E+03 - 0.63727394100000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.16229280795176914687E+00, 0.88764679125947765215E-02, 0.40327296864185751260E-64, 0.17280224516234820697E+02, 0.36380430686057167499E-10, 0.15029773953321980659E-06, 0.11915312985020774761E+03, 0.15380680813554567976E+03 - 0.63727394400000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.14833360925008279296E+00, 0.82766901616128877445E-02, 0.38131350186233965287E-64, 0.16112609841246406717E+02, 0.34056643175865936919E-10, 0.14283010764854277367E-06, 0.13091826238746446620E+03, 0.16845388387319488288E+03 - 0.63727394700000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.13557081203722662344E+00, 0.77172799720577420907E-02, 0.38130564228045814290E-64, 0.15023580537319519479E+02, 0.55466343170925931848E-10, 0.20088200071917370613E-06, 0.15594671776985799738E+03, 0.20316480336642780458E+03 - 0.63727395000000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.12390173888173069972E+00, 0.71955376195491681582E-02, 0.38129812106703075136E-64, 0.14007880927998087373E+02, 0.49053386933857492715E-10, 0.18287062036755419277E-06, 0.18173224099788262720E+03, 0.23584178545791854731E+03 - 0.63727395120000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.11952658891209856640E+00, 0.69970697158717679726E-02, 0.39766615137095922917E-64, 0.13621514417288832277E+02, 0.46931622355667357739E-10, 0.17710037869111415215E-06, 0.19199399857798175617E+03, 0.24850610428849935829E+03 - 0.63727395300000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.11290512939459859676E+00, 0.66892268390023488719E-02, 0.39095376130751741975E-64, 0.13022222662909907598E+02, 0.44235094687544019665E-10, 0.16972269655233483196E-06, 0.20674450243073971478E+03, 0.26709320511999925429E+03 - 0.63727395600000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.10267162608148530656E+00, 0.62058614166571436990E-02, 0.37939519188829637514E-64, 0.12081233172072199267E+02, 0.40471849602288400040E-10, 0.15969940680727917301E-06, 0.23106050474812946049E+03, 0.29701466549575400222E+03 - 0.63727395900000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.93367601546064979412E-01, 0.57575051600194417090E-02, 0.37940053239641573469E-64, 0.11208397619209447882E+02, 0.37430541257222425008E-10, 0.15176640714497009053E-06, 0.25481314496517427415E+03, 0.32578454978993494251E+03 - 0.63727396200000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.84914237675453529963E-01, 0.53418246403400971439E-02, 0.37942065061075226504E-64, 0.10399173412259719029E+02, 0.34939370611918874053E-10, 0.14535919343060662592E-06, 0.27790212023839620770E+03, 0.35350120215719107364E+03 - 0.63727396500000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.77223086426538828375E-01, 0.49560282424385392053E-02, 0.37941091336473627366E-64, 0.96481259867590303259E+01, 0.54386657147612486934E-11, 0.72762931573516878803E-07, 0.27712569687110232053E+03, 0.33642326767744913241E+03 - 0.63727396800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.70224339689808290554E-01, 0.45979231829066241621E-02, 0.37939675490630123143E-64, 0.89509865513389126335E+01, 0.52991103268615188867E-11, 0.72805891405270164928E-07, 0.27263893954309162382E+03, 0.32199493287687960219E+03 - 0.63727397100000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.63861173713665564389E-01, 0.42657487766451993028E-02, 0.37940166884204144550E-64, 0.83043275000962566423E+01, 0.52204832561772776244E-11, 0.72831065844591953501E-07, 0.26613607639089605073E+03, 0.30926542132028436072E+03 - 0.63727397400000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.58087249247127485663E-01, 0.39581080053352653281E-02, 0.37945304215028575814E-64, 0.77054291938183370192E+01, 0.51769290680666743985E-11, 0.72845722364491525333E-07, 0.25860136714543835978E+03, 0.29768254792699411837E+03 - 0.63727397700000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.52823695899184119895E-01, 0.36721551705680486981E-02, 0.37940151173592437683E-64, 0.71487517817567143297E+01, 0.51524312984336786118E-11, 0.72854571724507121894E-07, 0.25063679076433393789E+03, 0.28686810967488634105E+03 - 0.63727398000000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.48035701752150800070E-01, 0.34068056951351106607E-02, 0.37939535840676810566E-64, 0.66321838680440734493E+01, 0.51395802223570669914E-11, 0.72859827173450589159E-07, 0.24253549060568366258E+03, 0.27665350396762886476E+03 - 0.63727398300000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.43682260708792788884E-01, 0.31606457351865831738E-02, 0.37939720644106805402E-64, 0.61529730584401560733E+01, 0.55630676647403979964E-11, 0.79498205685516288447E-07, 0.23545643942459633990E+03, 0.26623525726204604780E+03 - 0.63727398600000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39735823528814689931E-01, 0.29328446950571658916E-02, 0.37947128607785954521E-64, 0.57095023945195730875E+01, 0.55406793691688845993E-11, 0.79506392908712897084E-07, 0.22799695975908906576E+03, 0.25654889006292512477E+03 - 0.63727398900000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.36139475415135159653E-01, 0.27211579712260415206E-02, 0.37942886064194041572E-64, 0.52974022043394519699E+01, 0.55294340654125418318E-11, 0.79511114110032127252E-07, 0.22046485579965286661E+03, 0.24737690757089751514E+03 - 0.63727399200000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.32863197571629525207E-01, 0.25245054264221157385E-02, 0.37939205087353324540E-64, 0.49145697354608053331E+01, 0.55244637145818247716E-11, 0.79513858789337464381E-07, 0.21301021790530782596E+03, 0.23862148177152550943E+03 - 0.63727399500000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.29884134982723933177E-01, 0.23420741626765974319E-02, 0.37939360632807407296E-64, 0.45594224823704179173E+01, 0.55232541042303990181E-11, 0.79515399003763220921E-07, 0.20570908358117856096E+03, 0.23023133577302496633E+03 - 0.63727399800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.27174486024428585323E-01, 0.21727990661423697907E-02, 0.37938887884192820172E-64, 0.42298869394132525557E+01, 0.55240798406226083592E-11, 0.79516268204057901503E-07, 0.19860500798342317808E+03, 0.22216536940507728559E+03 +time, ENV.temperature, ENV.pressure, ENV.number_density_air, CONC.Ar, CONC.CO2, CONC.H2O, CONC.N2, CONC.O1D, CONC.O, CONC.O2, CONC.O3, CONC.single phase mode.droplet phase.aH2O, CONC.binned aerosol.droplet phase.aH2O + 0.63727390800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000001510E+00, 0.16899999999999998357E-01, 0.00000000000000000000E+00, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.00000000000000000000E+00 + 0.63727391100000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.26711422189187494162E-62, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727391400000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.53013898748192618276E-62, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727391700000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.79316375307197742389E-62, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727392000000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.10561885186620286650E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727392300000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.13192132842520797982E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727392600000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.15822380498421311473E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727392900000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.18452628154321822805E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727393200000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.21082875810222334137E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727393500000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.23713123466122847627E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727393800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.26343371122023361118E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727394100000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.28973618777923870291E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727394400000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.31603866433824388100E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727394700000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.34234114089724897273E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727395000000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.36864361745625406446E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727395300000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.39494609401525924255E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727395600000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.42124857057426429109E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727395900000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.44755104713326951236E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727396200000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.47385352369227456091E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727396500000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.50015600025127969582E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727396800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.52645847681028483073E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727397100000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.55276095336928996564E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727397400000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.57906342992829510054E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727397700000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.60536590648730023545E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727398000000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.63166838304630528400E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727398300000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.65797085960531041891E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727398600000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.68427333616431564018E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727398900000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.71057581272332068873E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727399200000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.73687828928232582363E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727399500000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.76318076584133095854E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727399800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.78948324240033600709E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 From d286c92750f0fc9b0266d254dac0c402cfe09a43 Mon Sep 17 00:00:00 2001 From: Kyle Shores Date: Fri, 14 Apr 2023 11:44:21 -0500 Subject: [PATCH 08/15] specifying initial conditions and updating expected output --- .../input_use_cases/9/expected_output.csv | 62 +++++++++---------- .../9/expected_output_camp.csv | 62 +++++++++---------- .../integration/input_use_cases/9/initial.csv | 4 +- 3 files changed, 64 insertions(+), 64 deletions(-) diff --git a/test/integration/input_use_cases/9/expected_output.csv b/test/integration/input_use_cases/9/expected_output.csv index c2d7bf99..278329bc 100644 --- a/test/integration/input_use_cases/9/expected_output.csv +++ b/test/integration/input_use_cases/9/expected_output.csv @@ -1,32 +1,32 @@ time, ENV.temperature, ENV.pressure, ENV.number_density_air, CONC.Ar, CONC.CO2, CONC.H2O, CONC.N2, CONC.O1D, CONC.O, CONC.O2, CONC.O3, CONC.single phase mode.droplet phase.aH2O, CONC.binned aerosol.droplet phase.aH2O - 0.63727390800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000001510E+00, 0.16899999999999998357E-01, 0.00000000000000000000E+00, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.00000000000000000000E+00 - 0.63727391100000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.26711422189187494162E-62, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727391400000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.53013898748192618276E-62, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727391700000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.79316375307197742389E-62, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727392000000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.10561885186620286650E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727392300000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.13192132842520797982E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727392600000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.15822380498421311473E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727392900000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.18452628154321822805E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727393200000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.21082875810222334137E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727393500000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.23713123466122847627E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727393800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.26343371122023361118E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727394100000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.28973618777923870291E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727394400000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.31603866433824388100E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727394700000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.34234114089724897273E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727395000000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.36864361745625406446E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727395300000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.39494609401525924255E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727395600000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.42124857057426429109E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727395900000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.44755104713326951236E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727396200000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.47385352369227456091E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727396500000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.50015600025127969582E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727396800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.52645847681028483073E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727397100000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.55276095336928996564E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727397400000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.57906342992829510054E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727397700000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.60536590648730023545E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727398000000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.63166838304630528400E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727398300000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.65797085960531041891E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727398600000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.68427333616431564018E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727398900000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.71057581272332068873E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727399200000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.73687828928232582363E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727399500000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.76318076584133095854E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727399800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.78948324240033600709E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727390800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000001510E+00, 0.16899999999999998357E-01, 0.00000000000000000000E+00, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.00000000000000000000E+00, 0.15000000000000000000E+01, 0.50999999999999996447E+01 + 0.63727391100000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.26711422189187494162E-62, 0.14999999999999997780E+01, 0.50999999999999996447E+01 + 0.63727391400000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.53013898748192618276E-62, 0.14999999999999995559E+01, 0.50999999999999996447E+01 + 0.63727391700000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.79316375307197742389E-62, 0.14999999999999993339E+01, 0.50999999999999996447E+01 + 0.63727392000000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.10561885186620286650E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727392300000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.13192132842520797982E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727392600000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.15822380498421311473E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727392900000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.18452628154321822805E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727393200000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.21082875810222334137E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727393500000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.23713123466122847627E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727393800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.26343371122023361118E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727394100000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.28973618777923870291E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727394400000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.31603866433824388100E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727394700000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.34234114089724897273E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727395000000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.36864361745625406446E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727395300000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.39494609401525924255E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727395600000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.42124857057426429109E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727395900000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.44755104713326951236E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727396200000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.47385352369227456091E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727396500000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.50015600025127969582E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727396800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.52645847681028483073E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727397100000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.55276095336928996564E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727397400000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.57906342992829510054E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727397700000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.60536590648730023545E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727398000000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.63166838304630528400E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727398300000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.65797085960531041891E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727398600000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.68427333616431564018E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727398900000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.71057581272332068873E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727399200000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.73687828928232582363E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727399500000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.76318076584133095854E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727399800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.78948324240033600709E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 diff --git a/test/integration/input_use_cases/9/expected_output_camp.csv b/test/integration/input_use_cases/9/expected_output_camp.csv index c2d7bf99..278329bc 100644 --- a/test/integration/input_use_cases/9/expected_output_camp.csv +++ b/test/integration/input_use_cases/9/expected_output_camp.csv @@ -1,32 +1,32 @@ time, ENV.temperature, ENV.pressure, ENV.number_density_air, CONC.Ar, CONC.CO2, CONC.H2O, CONC.N2, CONC.O1D, CONC.O, CONC.O2, CONC.O3, CONC.single phase mode.droplet phase.aH2O, CONC.binned aerosol.droplet phase.aH2O - 0.63727390800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000001510E+00, 0.16899999999999998357E-01, 0.00000000000000000000E+00, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.00000000000000000000E+00 - 0.63727391100000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.26711422189187494162E-62, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727391400000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.53013898748192618276E-62, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727391700000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.79316375307197742389E-62, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727392000000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.10561885186620286650E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727392300000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.13192132842520797982E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727392600000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.15822380498421311473E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727392900000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.18452628154321822805E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727393200000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.21082875810222334137E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727393500000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.23713123466122847627E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727393800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.26343371122023361118E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727394100000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.28973618777923870291E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727394400000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.31603866433824388100E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727394700000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.34234114089724897273E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727395000000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.36864361745625406446E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727395300000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.39494609401525924255E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727395600000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.42124857057426429109E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727395900000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.44755104713326951236E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727396200000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.47385352369227456091E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727396500000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.50015600025127969582E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727396800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.52645847681028483073E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727397100000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.55276095336928996564E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727397400000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.57906342992829510054E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727397700000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.60536590648730023545E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727398000000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.63166838304630528400E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727398300000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.65797085960531041891E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727398600000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.68427333616431564018E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727398900000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.71057581272332068873E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727399200000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.73687828928232582363E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727399500000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.76318076584133095854E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 - 0.63727399800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.78948324240033600709E-61, 0.40894572562574022296E-64, 0.40894572562574022296E-64 + 0.63727390800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000001510E+00, 0.16899999999999998357E-01, 0.00000000000000000000E+00, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.00000000000000000000E+00, 0.15000000000000000000E+01, 0.50999999999999996447E+01 + 0.63727391100000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.26711422189187494162E-62, 0.14999999999999997780E+01, 0.50999999999999996447E+01 + 0.63727391400000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.53013898748192618276E-62, 0.14999999999999995559E+01, 0.50999999999999996447E+01 + 0.63727391700000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.79316375307197742389E-62, 0.14999999999999993339E+01, 0.50999999999999996447E+01 + 0.63727392000000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.10561885186620286650E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727392300000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.13192132842520797982E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727392600000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.15822380498421311473E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727392900000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.18452628154321822805E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727393200000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.21082875810222334137E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727393500000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.23713123466122847627E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727393800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.26343371122023361118E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727394100000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.28973618777923870291E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727394400000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.31603866433824388100E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727394700000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.34234114089724897273E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727395000000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.36864361745625406446E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727395300000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.39494609401525924255E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727395600000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.42124857057426429109E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727395900000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.44755104713326951236E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727396200000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.47385352369227456091E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727396500000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.50015600025127969582E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727396800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.52645847681028483073E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727397100000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.55276095336928996564E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727397400000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.57906342992829510054E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727397700000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.60536590648730023545E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727398000000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.63166838304630528400E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727398300000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.65797085960531041891E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727398600000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.68427333616431564018E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727398900000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.71057581272332068873E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727399200000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.73687828928232582363E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727399500000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.76318076584133095854E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 + 0.63727399800000000000E+11, 0.29800000000000000000E+03, 0.10132500000000000000E+06, 0.40894572562574019514E+02, 0.39200000000000007061E+00, 0.16899999999999998357E-01, 0.40894572562574022296E-64, 0.32899999999999998579E+02, 0.00000000000000000000E+00, 0.00000000000000000000E+00, 0.88399999999999998579E+01, 0.78948324240033600709E-61, 0.14999999999999991118E+01, 0.50999999999999996447E+01 diff --git a/test/integration/input_use_cases/9/initial.csv b/test/integration/input_use_cases/9/initial.csv index 2af07f8d..89b6e8a4 100644 --- a/test/integration/input_use_cases/9/initial.csv +++ b/test/integration/input_use_cases/9/initial.csv @@ -1,2 +1,2 @@ -CONC.N2& CONC.O2& CONC.Ar& CONC.CO2& ENV.temperature& ENV.pressure.atm -3.29e1& 8.84& 3.92e-1& 1.69e-2& 298.0& 1.0 +CONC.N2& CONC.O2& CONC.Ar& CONC.CO2& ENV.temperature& ENV.pressure.atm&CONC.single phase mode.droplet phase.aH2O&CONC.binned aerosol.droplet phase.aH2O +3.29e1& 8.84& 3.92e-1& 1.69e-2& 298.0& 1.0& 1.5& 5.1 From b9545fbfebca051b5c1e68b7170528ff9028dfc0 Mon Sep 17 00:00:00 2001 From: Kyle Shores Date: Fri, 14 Apr 2023 12:43:56 -0500 Subject: [PATCH 09/15] Update test/integration/input_use_cases/9/camp_data/mechanism.json Co-authored-by: Matt Dawson --- test/integration/input_use_cases/9/camp_data/mechanism.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/test/integration/input_use_cases/9/camp_data/mechanism.json b/test/integration/input_use_cases/9/camp_data/mechanism.json index 9143f9b6..8149c85d 100644 --- a/test/integration/input_use_cases/9/camp_data/mechanism.json +++ b/test/integration/input_use_cases/9/camp_data/mechanism.json @@ -144,7 +144,9 @@ { "type" : "MODAL", "phases" : [ "droplet phase" ], - "shape" : "LOG_NORMAL" + "shape" : "LOG_NORMAL", + "geometric mean diameter" : 2.5e-8, + "geometric standard deviation" : 1.2 }, "binned aerosol" : { From 9184c1351ca82dc041d2eb04afe0e660182a5218 Mon Sep 17 00:00:00 2001 From: Kyle Shores Date: Mon, 17 Apr 2023 14:33:32 -0500 Subject: [PATCH 10/15] adding geometric mean diameter and standard deviation --- Dockerfile | 9 ++++-- src/components/camp.F90 | 69 ++++++++++++++++++++++++++++++++++++++--- 2 files changed, 71 insertions(+), 7 deletions(-) diff --git a/Dockerfile b/Dockerfile index ce93c1c9..c2003d5c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -37,12 +37,12 @@ RUN curl -LO https://github.com/jacobwilliams/json-fortran/archive/8.2.0.tar.gz && make -j 8 install # copy the interactive server code -COPY . /music-box +COPY ./libs/camp /camp # Install a modified version of CVODE RUN mkdir cvode_build \ && cd cvode_build \ - && tar -zxvf /music-box/libs/camp/cvode-3.4-alpha.tar.gz \ + && tar -zxvf /camp/cvode-3.4-alpha.tar.gz \ && cd cvode-3.4-alpha \ && mkdir build \ && cd build \ @@ -66,9 +66,12 @@ RUN mkdir camp_build \ -D CMAKE_Fortran_FLAGS_DEBUG="-pg" \ -D CMAKE_MODULE_LINKER_FLAGS="-pg" \ -D ENABLE_GSL:BOOL=TRUE \ - /music-box/libs/camp \ + /camp \ && make +# copy the interactive server code +COPY . /music-box + # build music-box RUN cd music-box \ && mkdir build \ diff --git a/src/components/camp.F90 b/src/components/camp.F90 index 84cc4abc..26e2337c 100644 --- a/src/components/camp.F90 +++ b/src/components/camp.F90 @@ -130,9 +130,15 @@ module music_box_camp !> CAMP interface constructor function constructor( config, domain, output ) result( new_obj ) - use musica_domain, only : domain_t - use musica_input_output_processor, only : input_output_processor_t - use musica_string, only : string_t + use musica_domain, only : domain_t + use musica_assert, only : assert_msg, die_msg + use musica_input_output_processor, only : input_output_processor_t + use musica_string, only : string_t + use musica_iterator, only : iterator_t + use camp_aero_rep_data, only : aero_rep_data_t + use camp_aero_rep_modal_binned_mass, only : aero_rep_modal_binned_mass_t, & + aero_rep_update_data_modal_binned_mass_GMD_t, & + aero_rep_update_data_modal_binned_mass_GSD_t !> New CAMP interface type(camp_t), pointer :: new_obj @@ -144,7 +150,15 @@ function constructor( config, domain, output ) result( new_obj ) class(input_output_processor_t), intent(inout) :: output character(len=*), parameter :: my_name = "CAMP interface constructor" - type(string_t) :: config_file_name + type(string_t) :: config_file_name, object_type, filename, rep_name + type(config_t) :: mechanism_config, child_config, obj_config, mode_config, single_phase_config + class(iterator_t), pointer :: iter + logical :: found, file_exists + real(musica_dk) :: gmd, gsd + class(aero_rep_data_t), pointer :: aero_rep + type(aero_rep_update_data_modal_binned_mass_GMD_t) :: update_data_GMD + type(aero_rep_update_data_modal_binned_mass_GSD_t) :: update_data_GSD + integer :: i_sect_single allocate( new_obj ) @@ -165,6 +179,53 @@ function constructor( config, domain, output ) result( new_obj ) call new_obj%connect_emissions( config, domain, output ) call new_obj%connect_deposition( config, domain, output ) + ! check if the configuration file has a mean diameter and standard deviation. Create an updater if so + filename = "camp_data/mechanism.json" + inquire( file=filename%to_char(), exist=file_exists ) + if(file_exists) then + call mechanism_config%from_file( filename%to_char() ) + call mechanism_config%get( "camp-data", child_config, my_name ) + iter => child_config%get_iterator() + do while( iter%next() ) + call child_config%get( iter, obj_config, my_name ) + call obj_config%get( "type", object_type, my_name, found = found) + + if(found .and. (object_type == "AERO_REP_MODAL_BINNED_MASS")) then + call obj_config%get( "modes/bins", mode_config, my_name ) + call mode_config%get( "single phase mode", single_phase_config, my_name, found = found ) + if(found) then + call obj_config%get( "name", rep_name, my_name) + call assert_msg(940125461, new_obj%core_%get_aero_rep(rep_name%to_char(), aero_rep), rep_name) + call assert_msg(636914093, associated(aero_rep), rep_name) + call new_obj%core_%initialize_update_object(aero_rep, update_data_GMD) + call new_obj%core_%initialize_update_object(aero_rep, update_data_GSD) + + ! Update the GMD and GSD for the two modes + select type (aero_rep) + type is (aero_rep_modal_binned_mass_t) + call assert_msg(937636446, & + aero_rep%get_section_id("single phase mode", & + i_sect_single), & + "Could not get section id for the single phase mode") + class default + call die_msg(570113680, rep_name) + end select + + + call single_phase_config%get( "geometric mean diameter", gmd, my_name ) + call single_phase_config%get( "geometric standard deviation", gsd, my_name ) + + call update_data_GMD%set_GMD(i_sect_single, gmd) + call update_data_GSD%set_GSD(i_sect_single, gsd) + + call new_obj%core_%update_data(update_data_GMD) + call new_obj%core_%update_data(update_data_GSD) + end if + exit + end if + end do + end if + ! at this point the core and update objects could be packed onto a ! character buffer and used to recreate these objects for use on multiple ! threads or processors From a22638432e3cd228d95579ac2e739a63e1cc96ac Mon Sep 17 00:00:00 2001 From: Matt Dawson Date: Wed, 31 May 2023 08:39:30 -0700 Subject: [PATCH 11/15] update CAMP version --- libs/camp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/camp b/libs/camp index 6f3c0590..3aa01102 160000 --- a/libs/camp +++ b/libs/camp @@ -1 +1 @@ -Subproject commit 6f3c05902d3f218ee896f8cd2c3225489ed7f0bc +Subproject commit 3aa01102c8ebd814a1e64a8720eca4e3f7465df3 From 3e8d5e445c858a751b85ef7aee448ce0dd2ead13 Mon Sep 17 00:00:00 2001 From: Matt Dawson Date: Fri, 11 Aug 2023 10:48:47 -0700 Subject: [PATCH 12/15] remove old micm interface --- cmake/dependencies.cmake | 14 ---- src/CMakeLists.txt | 3 +- src/component_factory.F90 | 3 - src/components/micm.F90 | 168 -------------------------------------- 4 files changed, 1 insertion(+), 187 deletions(-) delete mode 100644 src/components/micm.F90 diff --git a/cmake/dependencies.cmake b/cmake/dependencies.cmake index e14e2f10..f7e27f7b 100644 --- a/cmake/dependencies.cmake +++ b/cmake/dependencies.cmake @@ -141,17 +141,3 @@ find_path(CAMP_INCLUDE_DIR camp_core.mod /usr/local/lib /usr/local/lib64) include_directories(${CAMP_INCLUDE_DIR}) - -################################################################################ -# MICM library - -include(FetchContent) - -set(ENABLE_FORTRAN_LINK ON) -FetchContent_Declare(micm - GIT_REPOSITORY https://github.com/NCAR/micm.git - GIT_TAG 20c0a19 - FIND_PACKAGE_ARGS NAMES micm -) - -FetchContent_MakeAvailable(micm) \ No newline at end of file diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 5cdfe905..d0a7814e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -3,12 +3,11 @@ add_executable(music_box component_factory.F90 components/camp.F90 - components/micm.F90 components/emissions.F90 components/loss.F90 music_box.F90 music_box_core.F90) -target_link_libraries(music_box musica::musicacore musica::micm ${CAMP_LIB} ${SUNDIALS_LIBS} +target_link_libraries(music_box musica::musicacore ${CAMP_LIB} ${SUNDIALS_LIBS} ${GSL_LIBS}) diff --git a/src/component_factory.F90 b/src/component_factory.F90 index 7bffba77..c7fedb19 100644 --- a/src/component_factory.F90 +++ b/src/component_factory.F90 @@ -25,7 +25,6 @@ module musica_component_factory function component_builder( config, domain, output ) result( new_obj ) use music_box_camp, only : camp_t - use music_box_micm, only : micm_t use musica_assert, only : die_msg use musica_config, only : config_t use musica_domain, only : domain_t @@ -52,8 +51,6 @@ function component_builder( config, domain, output ) result( new_obj ) if( component_type .eq. 'camp' ) then new_obj => camp_t( config, domain, output ) - else if( component_type .eq. 'micm' ) then - new_obj => micm_t( config, domain, output ) else if( component_type .eq. 'musica-emissions' ) then new_obj => emissions_t( config, domain, output ) else if( component_type .eq. 'musica-loss' ) then diff --git a/src/components/micm.F90 b/src/components/micm.F90 deleted file mode 100644 index 8f8d2a9b..00000000 --- a/src/components/micm.F90 +++ /dev/null @@ -1,168 +0,0 @@ -! Copyright (C) 2023 National Center for Atmospheric Research -! SPDX-License-Identifier: Apache-2.0 -! -!> \file -!> The music_box_micm module - -!> The micm_t type and related functions -module music_box_micm - - use musica_component, only : component_t - use musica_config, only : config_t - use musica_constants, only : musica_dk, musica_ik - use musica_domain_state_accessor, only : domain_state_accessor_t, & - domain_state_accessor_ptr - use musica_domain_state_mutator, only : domain_state_mutator_t, & - domain_state_mutator_ptr - use micm_solver_interface, only: get_solver, solver - - implicit none - private - - public :: micm_t - - !> Interface to Model Independent Chemical Mechanisms (MICM) - !! - type, extends(component_t) :: micm_t - private - !> MICM configuration - type(config_t) :: config_ - !> The solve function constructed by micm - procedure(solver), pointer, nopass :: micm_solver => null() - contains - !> Returns the name of the component - procedure :: name => component_name - !> Returns a description of the component purpose - procedure :: description - !> Advance the model state for a given timestep - procedure :: advance_state - !> Save the component configuration for future simultaions - procedure :: preprocess_input - final :: finalize - end type micm_t - - !> Constructor of micm_t objects - interface micm_t - module procedure :: constructor - end interface - -contains - -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - - !> MICM interface constructor - function constructor( config, domain, output ) result( new_obj ) - - use iso_c_binding, only : c_funptr, c_f_procpointer - use musica_domain, only : domain_t - use musica_input_output_processor, only : input_output_processor_t - use musica_string, only : string_t - - !> New MICM interface - type(micm_t), pointer :: new_obj - !> MICM configuration - type(config_t), intent(inout) :: config - !> Model domain - class(domain_t), intent(inout) :: domain - !> Ouput file - class(input_output_processor_t), intent(inout) :: output - - character(len=*), parameter :: my_name = "MICM interface constructor" - type(string_t) :: config_file_name - type(c_funptr) :: c_func_pointer - - allocate( new_obj ) - - ! save the configuration (used for preprocessing input data only) - new_obj%config_ = config - - ! get the path to the MICM configuration file - call config%get( "configuration file", config_file_name, my_name ) - - c_func_pointer = get_solver(config_file_name%val_) - call c_f_procpointer(c_func_pointer, new_obj%micm_solver) - - end function constructor - -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - - !> Model component name - type(string_t) function component_name( this ) - - use musica_string, only : string_t - - !> MICM interface - class(micm_t), intent(in) :: this - - component_name = "MICM: Model Independent Chemical Mechanisms" - - end function component_name - -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - - !> Model component description - type(string_t) function description( this ) - - use musica_string, only : string_t - - !> MICM interface - class(micm_t), intent(in) :: this - - description = "A configurable chemistry solver" - - end function description - -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - - !> Advance the model state for multi-phase chemistry - subroutine advance_state( this, domain_state, domain_element, & - current_time__s, time_step__s ) - - use musica_domain_iterator, only : domain_iterator_t - use musica_domain_state, only : domain_state_t - - !> MICM interface - class(micm_t), intent(inout) :: this - !> Domain state - class(domain_state_t), intent(inout) :: domain_state - !> Domain element to advance state for - class(domain_iterator_t), intent(in) :: domain_element - !> Current simulation time [s] - real(kind=musica_dk), intent(in) :: current_time__s - !> Time step to advance state by [s] - real(kind=musica_dk), intent(in) :: time_step__s - - end subroutine advance_state - -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - - !> Save the MICM configuration for future simulations - subroutine preprocess_input( this, config, output_path ) - - use musica_assert, only : die_msg - use musica_string, only : string_t - - !> MICM interface - class(micm_t), intent(inout) :: this - !> Model component configuration - type(config_t), intent(out) :: config - !> Folder to save input data to - character(len=*), intent(in) :: output_path - - ! nothing to preprocess - - end subroutine preprocess_input - -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - - !> Finalizes a micm_t object - elemental subroutine finalize( this ) - - !> MICM interface - type(micm_t), intent(inout) :: this - - end subroutine finalize - -!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - -end module music_box_micm From e7734752da6a1fcadb86607c7790e0896d4e2954 Mon Sep 17 00:00:00 2001 From: Kyle Shores Date: Fri, 11 Aug 2023 16:29:31 -0500 Subject: [PATCH 13/15] adding more instructions --- .gitmodules | 3 --- README.md | 27 +++++++++++++++++++++++++++ libs/camp | 2 +- 3 files changed, 28 insertions(+), 4 deletions(-) diff --git a/.gitmodules b/.gitmodules index 9b9ea90b..59d28b91 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,3 @@ -[submodule "libs/micm"] - path = libs/micm - url = https://github.com/NCAR/micm.git [submodule "libs/camp"] path = libs/camp url = https://github.com/open-atmos/camp.git diff --git a/README.md b/README.md index e90004ae..11d9c6fd 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,33 @@ MusicBox: A MUSICA model for boxes and columns. Copyright (C) 2020 National Center for Atmospheric Research +# Install and run from local git clone + +``` +git clone https://github.com/NCAR/music-box +cd music-box +git submodule init +git submodule update +docker build -t music-box . +docker run --rm -it music-box +``` + +Running those commands will put you in a docker container, at which point you can run + +``` +cd /music-box/build +make test +``` + +and you will see tests run, and hopefully pass. + +There are a number of examples you can run and modify. + +``` +cd /music-box/examples/camp_examples/bright_chamber/use_case_7/ +/music-box/build/music_box use_case_7_config.json +``` + # Install and run (interactive version) The only requirement for running MusicBox is that you have [Docker Desktop](https://www.docker.com/get-started) installed and running. With Docker Desktop running, open a terminal window and run the following command: (The first time you run this command, the MusicBox code will be downloaded from Docker Hub, which may take a few minutes.) diff --git a/libs/camp b/libs/camp index 3aa01102..6f3c0590 160000 --- a/libs/camp +++ b/libs/camp @@ -1 +1 @@ -Subproject commit 3aa01102c8ebd814a1e64a8720eca4e3f7465df3 +Subproject commit 6f3c05902d3f218ee896f8cd2c3225489ed7f0bc From 295b6e92f5d58f127eb10a08b3a297b119644e34 Mon Sep 17 00:00:00 2001 From: Kyle Shores Date: Mon, 14 Aug 2023 09:49:42 -0500 Subject: [PATCH 14/15] removing more traces of micm --- README.md | 10 -- config_options.md | 23 ---- doc/Doxyfile | 1 - etc/casper/build_music_box_casper_gnu.sh | 1 - etc/casper/build_music_box_casper_intel.sh | 1 - etc/change_mechanism.sh | 25 ---- etc/cheyenne/build_music_box_cheyenne_gnu.sh | 1 - .../build_music_box_cheyenne_intel.sh | 1 - .../build_music_box_modeling2_gnu.sh | 1 - .../bright_chamber/expected_output.csv | 37 ------ .../bright_chamber/use_case_4.json | 36 ------ .../bright_chamber/use_case_4_initial.csv | 2 - .../bright_chamber/use_case_5.json | 43 ------- .../bright_chamber/use_case_5_emissions.csv | 5 - .../bright_chamber/use_case_5_initial.csv | 2 - .../bright_chamber/use_case_6.json | 60 ---------- .../bright_chamber/use_case_6_emissions.csv | 5 - .../bright_chamber/use_case_6_initial.csv | 2 - .../use_case_6_wall_loss_rates_011519.txt | 6 - .../bright_chamber/use_case_7.json | 95 --------------- .../bright_chamber/use_case_7_emissions.csv | 5 - .../bright_chamber/use_case_7_initial.csv | 2 - .../use_case_7_parking_lot_photo_rates.nc | Bin 280640 -> 0 bytes .../use_case_7_wall_loss_rates_011519.txt | 6 - .../bright_chamber/use_case_8.json | 108 ------------------ .../bright_chamber/use_case_8_emissions.csv | 5 - .../bright_chamber/use_case_8_initial.csv | 2 - .../use_case_8_parking_lot_photo_rates.nc | Bin 280640 -> 0 bytes .../use_case_8_wall_loss_rates_011519.txt | 6 - examples/micm_examples/dark_chamber/README.md | 38 ------ .../dark_chamber/use_case_1.json | 38 ------ .../dark_chamber/use_case_2.json | 34 ------ .../dark_chamber/use_case_2_initial.csv | 2 - .../dark_chamber/use_case_3.json | 32 ------ .../dark_chamber/use_case_3_initial.csv | 2 - test/CMakeLists.txt | 24 ---- .../integration/input_use_cases/1/config.json | 38 ------ test/integration/input_use_cases/1/run.sh | 25 ---- .../input_use_cases/1/run_preprocessor.sh | 24 ---- .../integration/input_use_cases/2/config.json | 34 ------ test/integration/input_use_cases/2/run.sh | 25 ---- .../input_use_cases/2/run_preprocessor.sh | 24 ---- .../integration/input_use_cases/3/config.json | 31 ----- test/integration/input_use_cases/3/run.sh | 25 ---- .../input_use_cases/3/run_preprocessor.sh | 24 ---- .../integration/input_use_cases/4/config.json | 35 ------ .../input_use_cases/4/config_b.json | 30 ----- test/integration/input_use_cases/4/run.sh | 25 ---- .../input_use_cases/4/run_preprocessor.sh | 24 ---- .../integration/input_use_cases/5/config.json | 42 ------- test/integration/input_use_cases/5/run.sh | 25 ---- .../input_use_cases/5/run_preprocessor.sh | 24 ---- .../integration/input_use_cases/6/config.json | 60 ---------- test/integration/input_use_cases/6/run.sh | 25 ---- .../input_use_cases/6/run_preprocessor.sh | 24 ---- .../integration/input_use_cases/7/config.json | 94 --------------- test/integration/input_use_cases/7/run.sh | 25 ---- .../input_use_cases/7/run_preprocessor.sh | 24 ---- .../integration/input_use_cases/8/config.json | 107 ----------------- .../input_use_cases/8/config_b.json | 64 ----------- test/integration/input_use_cases/8/run.sh | 25 ---- .../input_use_cases/8/run_preprocessor.sh | 24 ---- .../integration/input_use_cases/9/config.json | 94 --------------- test/integration/input_use_cases/9/run.sh | 25 ---- .../input_use_cases/9/run_preprocessor.sh | 24 ---- 65 files changed, 1731 deletions(-) delete mode 100755 etc/change_mechanism.sh delete mode 100644 examples/micm_examples/bright_chamber/expected_output.csv delete mode 100644 examples/micm_examples/bright_chamber/use_case_4.json delete mode 100644 examples/micm_examples/bright_chamber/use_case_4_initial.csv delete mode 100644 examples/micm_examples/bright_chamber/use_case_5.json delete mode 100644 examples/micm_examples/bright_chamber/use_case_5_emissions.csv delete mode 100644 examples/micm_examples/bright_chamber/use_case_5_initial.csv delete mode 100644 examples/micm_examples/bright_chamber/use_case_6.json delete mode 100644 examples/micm_examples/bright_chamber/use_case_6_emissions.csv delete mode 100644 examples/micm_examples/bright_chamber/use_case_6_initial.csv delete mode 100644 examples/micm_examples/bright_chamber/use_case_6_wall_loss_rates_011519.txt delete mode 100644 examples/micm_examples/bright_chamber/use_case_7.json delete mode 100644 examples/micm_examples/bright_chamber/use_case_7_emissions.csv delete mode 100644 examples/micm_examples/bright_chamber/use_case_7_initial.csv delete mode 100644 examples/micm_examples/bright_chamber/use_case_7_parking_lot_photo_rates.nc delete mode 100644 examples/micm_examples/bright_chamber/use_case_7_wall_loss_rates_011519.txt delete mode 100644 examples/micm_examples/bright_chamber/use_case_8.json delete mode 100644 examples/micm_examples/bright_chamber/use_case_8_emissions.csv delete mode 100644 examples/micm_examples/bright_chamber/use_case_8_initial.csv delete mode 100644 examples/micm_examples/bright_chamber/use_case_8_parking_lot_photo_rates.nc delete mode 100644 examples/micm_examples/bright_chamber/use_case_8_wall_loss_rates_011519.txt delete mode 100644 examples/micm_examples/dark_chamber/README.md delete mode 100644 examples/micm_examples/dark_chamber/use_case_1.json delete mode 100644 examples/micm_examples/dark_chamber/use_case_2.json delete mode 100644 examples/micm_examples/dark_chamber/use_case_2_initial.csv delete mode 100644 examples/micm_examples/dark_chamber/use_case_3.json delete mode 100644 examples/micm_examples/dark_chamber/use_case_3_initial.csv delete mode 100644 test/integration/input_use_cases/1/config.json delete mode 100755 test/integration/input_use_cases/1/run.sh delete mode 100755 test/integration/input_use_cases/1/run_preprocessor.sh delete mode 100644 test/integration/input_use_cases/2/config.json delete mode 100755 test/integration/input_use_cases/2/run.sh delete mode 100755 test/integration/input_use_cases/2/run_preprocessor.sh delete mode 100644 test/integration/input_use_cases/3/config.json delete mode 100755 test/integration/input_use_cases/3/run.sh delete mode 100755 test/integration/input_use_cases/3/run_preprocessor.sh delete mode 100644 test/integration/input_use_cases/4/config.json delete mode 100644 test/integration/input_use_cases/4/config_b.json delete mode 100755 test/integration/input_use_cases/4/run.sh delete mode 100755 test/integration/input_use_cases/4/run_preprocessor.sh delete mode 100644 test/integration/input_use_cases/5/config.json delete mode 100755 test/integration/input_use_cases/5/run.sh delete mode 100755 test/integration/input_use_cases/5/run_preprocessor.sh delete mode 100644 test/integration/input_use_cases/6/config.json delete mode 100755 test/integration/input_use_cases/6/run.sh delete mode 100755 test/integration/input_use_cases/6/run_preprocessor.sh delete mode 100644 test/integration/input_use_cases/7/config.json delete mode 100755 test/integration/input_use_cases/7/run.sh delete mode 100755 test/integration/input_use_cases/7/run_preprocessor.sh delete mode 100644 test/integration/input_use_cases/8/config.json delete mode 100644 test/integration/input_use_cases/8/config_b.json delete mode 100755 test/integration/input_use_cases/8/run.sh delete mode 100755 test/integration/input_use_cases/8/run_preprocessor.sh delete mode 100644 test/integration/input_use_cases/9/config.json delete mode 100755 test/integration/input_use_cases/9/run.sh delete mode 100755 test/integration/input_use_cases/9/run_preprocessor.sh diff --git a/README.md b/README.md index 11d9c6fd..d2f1dc63 100644 --- a/README.md +++ b/README.md @@ -64,16 +64,6 @@ You will need to have [Docker Desktop](https://www.docker.com/get-started) insta docker run -it --rm ncar/music-box bash ``` -## Running MusicBox with the MICM Solver -MICM can be specified as the chemical solver by configuring the [model components](config_options.md#model-components) section of the configuration file. By default, MusicBox loads the Chapman chemistry mechanism for simulations using MICM. To run the model with this mechanism under one of the model configurations in the `examples/` folder: - -``` -cd /build -cp examples/micm_examples/bright_chamber/use_case_4.json . -cp examples/micm_examples/bright_chamber/use_case_4_initial.csv data/ -./music_box use_case_4.json -``` - ## Running MusicBox with the CAMP Solver CAMP can be specified as the chemical solver by configuring the [model components](config_options.md#model-components) section of the configuration file. To run the model using the CAMP solver under one of the model configurations in the `examples/` folder: diff --git a/config_options.md b/config_options.md index 72716c67..288d1e1e 100644 --- a/config_options.md +++ b/config_options.md @@ -369,29 +369,6 @@ NetCDF files should have a dimension of time, and variables whose o

Model Components

-

The model components section of the MusicBox configuration specifies settings for the chemical solver. For most use cases of MusicBox, modifying the model components is not neccesary.

-
Model components configuration with the MICM solver:
-

-
{
-    "model components" : [
-    {
-      "type" : "MICM",
-      "solver" : {
-        "type" : "Rosenbrock",
-        "chemistry time step [min]" : 5.0,
-        "absolute tolerance" : 1.0e-12,
-        "relative tolerance" : 1.0e-4
-      }
-    },
-    {
-      "type" : "musica-emissions"
-    },
-    {
-      "type" : "musica-loss"
-    }
-  ]
-}
-
Configuring the CAMP solver:

When using the CAMP solver, additional configuration files are required. By default, these are stored in a directory camp_data. Inside this folder:

|—config.json — Points to specise.json and mechanism.json.
diff --git a/doc/Doxyfile b/doc/Doxyfile index c93563d0..718d8fbe 100644 --- a/doc/Doxyfile +++ b/doc/Doxyfile @@ -765,7 +765,6 @@ WARN_LOGFILE = INPUT = doxygen_files \ ../src \ - ../libs/micm/src \ ../libs/musica-core/src \ ../test diff --git a/etc/casper/build_music_box_casper_gnu.sh b/etc/casper/build_music_box_casper_gnu.sh index 2eba7c90..dd6e453a 100644 --- a/etc/casper/build_music_box_casper_gnu.sh +++ b/etc/casper/build_music_box_casper_gnu.sh @@ -113,7 +113,6 @@ mkdir -p build cd build cmake -D CMAKE_C_COMPILER=gcc \ -D CMAKE_Fortran_COMPILER=gfortran \ - -D ENABLE_MICM_TESTS=OFF \ -D CMAKE_BUILD_TYPE=release \ -D CMAKE_C_FLAGS="-std=c99 ${NCAR_LIBS_GSL}" \ -D SUITE_SPARSE_AMD_LIB=$SUITE_SPARSE_HOME/lib/libamd.so \ diff --git a/etc/casper/build_music_box_casper_intel.sh b/etc/casper/build_music_box_casper_intel.sh index de0c5fb9..8c98a73f 100644 --- a/etc/casper/build_music_box_casper_intel.sh +++ b/etc/casper/build_music_box_casper_intel.sh @@ -116,7 +116,6 @@ mkdir -p build cd build cmake -D CMAKE_C_COMPILER=icc \ -D CMAKE_Fortran_COMPILER=ifort \ - -D ENABLE_MICM_TESTS=OFF \ -D CMAKE_BUILD_TYPE=release \ -D CMAKE_C_FLAGS="-std=c99 ${NCAR_LIBS_GSL}" \ -D SUITE_SPARSE_AMD_LIB=$SUITE_SPARSE_HOME/lib/libamd.so \ diff --git a/etc/change_mechanism.sh b/etc/change_mechanism.sh deleted file mode 100755 index ed160f55..00000000 --- a/etc/change_mechanism.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash - -# turn on command echoing -set -v - -# get the mechanism to switch to -if [ "$#" -ne 1 ]; then - echo change_mechanism accepts one argument: the name of the new mechanism - exit 1 -fi - -cd /music-box/libs/micm-preprocessor -nohup bash -c "node combined.js &" && sleep 4 -mkdir -p /data -cd /music-box/libs/micm-collection -python3 get_tag.py -tag_id $1 -tag_server cafe-devel -overwrite true -python3 preprocess_tag.py -c configured_tags/$1/config.json -p localhost:3000 -python3 stage_tag.py -source_dir_kinetics configured_tags/$1/output -target_dir_data /data -pkill -n node -mkdir -p /build -cd /build -export JSON_FORTRAN_HOME="/usr/local/jsonfortran-gnu-8.1.0" -cmake /music-box -make -cp /music-box/libs/micm-collection/configured_tags/${1}/source_mechanism.json . diff --git a/etc/cheyenne/build_music_box_cheyenne_gnu.sh b/etc/cheyenne/build_music_box_cheyenne_gnu.sh index 16f90ad9..9c880cd0 100644 --- a/etc/cheyenne/build_music_box_cheyenne_gnu.sh +++ b/etc/cheyenne/build_music_box_cheyenne_gnu.sh @@ -112,7 +112,6 @@ mkdir -p build cd build cmake -D CMAKE_C_COMPILER=gcc \ -D CMAKE_Fortran_COMPILER=gfortran \ - -D ENABLE_MICM_TESTS=OFF \ -D CMAKE_BUILD_TYPE=release \ -D CMAKE_C_FLAGS="-std=c99 ${NCAR_LIBS_GSL}" \ -D SUITE_SPARSE_AMD_LIB=$SUITE_SPARSE_HOME/lib/libamd.so \ diff --git a/etc/cheyenne/build_music_box_cheyenne_intel.sh b/etc/cheyenne/build_music_box_cheyenne_intel.sh index 94d9a5d8..ec1e9f47 100644 --- a/etc/cheyenne/build_music_box_cheyenne_intel.sh +++ b/etc/cheyenne/build_music_box_cheyenne_intel.sh @@ -114,7 +114,6 @@ mkdir -p build cd build cmake -D CMAKE_C_COMPILER=icc \ -D CMAKE_Fortran_COMPILER=ifort \ - -D ENABLE_MICM_TESTS=OFF \ -D CMAKE_BUILD_TYPE=release \ -D CMAKE_C_FLAGS="-std=c99 ${NCAR_LIBS_GSL}" \ -D SUITE_SPARSE_AMD_LIB=$SUITE_SPARSE_HOME/lib/libamd.so \ diff --git a/etc/modeling2/build_music_box_modeling2_gnu.sh b/etc/modeling2/build_music_box_modeling2_gnu.sh index cac2b389..3b6ea20b 100644 --- a/etc/modeling2/build_music_box_modeling2_gnu.sh +++ b/etc/modeling2/build_music_box_modeling2_gnu.sh @@ -184,7 +184,6 @@ mkdir -p build cd build cmake3 -D CMAKE_C_COMPILER=gcc \ -D CMAKE_Fortran_COMPILER=gfortran \ - -D ENABLE_MICM_TESTS=OFF \ -D CMAKE_BUILD_TYPE=release \ -D CMAKE_C_FLAGS="-std=c99" \ -D GSL_CBLAS_LIB=$GSL_HOME/lib/libgslcblas.so \ diff --git a/examples/micm_examples/bright_chamber/expected_output.csv b/examples/micm_examples/bright_chamber/expected_output.csv deleted file mode 100644 index dad811b3..00000000 --- a/examples/micm_examples/bright_chamber/expected_output.csv +++ /dev/null @@ -1,37 +0,0 @@ -time, ENV.temperature, ENV.pressure, ENV.number_density_air, CONC.Ar, CONC.CO2, CONC.H2O, CONC.N2, CONC.O1D, CONC.O, CONC.O2, CONC.O3, RATE.N2_O1D_1, RATE.O1D_O2_1, RATE.O_O3_1, RATE.O_O2_M_1, RATE.O2_1, RATE.O3_1, RATE.O3_2, PHOTO.O2_1, PHOTO.O3_1, PHOTO.O3_2 - 0.63727390800000000000D+11, 0.29800000000000000000D+03, 0.10132500000000000000D+06, 0.40894572562574019514D+02, 0.39200000000000001510D+00, 0.16899999999999998357D-01, 0.00000000000000000000D+00, 0.32899999999999998579D+02, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.88399999999999998579D+01, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00 - 0.63727391100000000000D+11, 0.29800000000000000000D+03, 0.10132500000000000000D+06, 0.40894572562574019514D+02, 0.36367544664079271000D+00, 0.16075777274062064137D-01, 0.00000000000000000000D+00, 0.31295448066073490168D+02, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.82012524191444065025D+01, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.29999999999999997372D-03, 0.10000000000000000479D-03, 0.20000000000000000958D-03 - 0.63727391400000000000D+11, 0.29800000000000000000D+03, 0.10132500000000000000D+06, 0.40894572562574019514D+02, 0.33739752675862261233D+00, 0.15291752364807714021D-01, 0.00000000000000000000D+00, 0.29769151053383069438D+02, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.76086585115975093885D+01, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.29999999999999997372D-03, 0.10000000000000000479D-03, 0.20000000000000000958D-03 - 0.63727391520000000000D+11, 0.29800000000000000000D+03, 0.10132500000000000000D+06, 0.40894572562574019514D+02, 0.32742592287321858890D+00, 0.14988955380519959279D-01, 0.00000000000000000000D+00, 0.29179682367994480785D+02, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.73837886688756428910D+01, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.29999999999999997372D-03, 0.10000000000000000479D-03, 0.20000000000000000958D-03 - 0.63727391700000000000D+11, 0.29800000000000000000D+03, 0.10132500000000000000D+06, 0.40894572562574019514D+02, 0.31301835775367575776D+00, 0.14545964801583474713D-01, 0.00000000000000000000D+00, 0.28317292424384401528D+02, 0.18000000000000000000D+02, 0.90000000000000000000D+01, 0.70588833738328915501D+01, 0.90000000000000000000D+01, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.29999999999999997372D-03, 0.10000000000000000479D-03, 0.20000000000000000958D-03 - 0.63727391880000000000D+11, 0.29800000000000000000D+03, 0.10132500000000000000D+06, 0.40894572562574019514D+02, 0.29924476178004644211D+00, 0.14116066572850494501D-01, 0.00000000000000000000D+00, 0.27480389955430847948D+02, 0.36000000000000000000D+02, 0.18000000000000000000D+02, 0.67482747299377807693D+01, 0.18000000000000000000D+02, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.29999999999999997372D-03, 0.10000000000000000479D-03, 0.20000000000000000958D-03 - 0.63727392000000000000D+11, 0.29800000000000000000D+03, 0.10132500000000000000D+06, 0.40894572562574019514D+02, 0.28982052143669645439D+00, 0.13781314073065242462D-01, 0.00000000000000000000D+00, 0.26828712012061927794D+02, 0.48000000000000000000D+02, 0.24000000000000000000D+02, 0.65357484936234602202D+01, 0.24000000000000000000D+02, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.29999999999999997372D-03, 0.10000000000000000479D-03, 0.20000000000000000958D-03 - 0.63727392300000000000D+11, 0.29800000000000000000D+03, 0.10132500000000000000D+06, 0.40894572562574019514D+02, 0.26753806085651288260D+00, 0.12978752820198330778D-01, 0.00000000000000000000D+00, 0.25266329454705633850D+02, 0.78000000000000000000D+02, 0.39000000000000000000D+02, 0.60332562703356469314D+01, 0.39000000000000000000D+02, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.29999999999999997372D-03, 0.10000000000000000479D-03, 0.20000000000000000958D-03 - 0.63727392600000000000D+11, 0.29800000000000000000D+03, 0.10132500000000000000D+06, 0.40894572562574019514D+02, 0.24696875725722958195D+00, 0.12222929096219333281D-01, 0.00000000000000000000D+00, 0.23794932974296816752D+02, 0.10800000000000000000D+03, 0.54000000000000000000D+02, 0.55693974850865028969D+01, 0.54000000000000000000D+02, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.29999999999999997372D-03, 0.10000000000000000479D-03, 0.20000000000000000958D-03 - 0.63727392900000000000D+11, 0.29800000000000000000D+03, 0.10132500000000000000D+06, 0.40894572562574019514D+02, 0.22798089687094169609D+00, 0.11511121119334343649D-01, 0.00000000000000000000D+00, 0.22409223954207103446D+02, 0.13800000000000000000D+03, 0.69000000000000000000D+02, 0.51412018580079701380D+01, 0.69000000000000000000D+02, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.29999999999999997372D-03, 0.10000000000000000479D-03, 0.20000000000000000958D-03 - 0.63727392960000000000D+11, 0.29800000000000000000D+03, 0.10132500000000000000D+06, 0.40894572562574019514D+02, 0.22436222906140018685D+00, 0.11373813161341827030D-01, 0.00000000000000000000D+00, 0.22141920296340014573D+02, 0.14400000000000000000D+03, 0.72000000000000000000D+02, 0.50595972063846366140D+01, 0.72000000000000000000D+02, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.29999999999999997372D-03, 0.10000000000000000479D-03, 0.20000000000000000958D-03 - 0.63727393200000000000D+11, 0.29800000000000000000D+03, 0.10132500000000000000D+06, 0.40894572562574019514D+02, 0.20961276237574300030D+00, 0.10797489160139381315D-01, 0.00000000000000000000D+00, 0.21019964104650046721D+02, 0.16800000000000000000D+03, 0.84000000000000000000D+02, 0.47269816821468575441D+01, 0.84000000000000000000D+02, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.29999999999999997372D-03, 0.10000000000000000479D-03, 0.20000000000000000958D-03 - 0.63727393500000000000D+11, 0.29800000000000000000D+03, 0.10132500000000000000D+06, 0.40894572562574019514D+02, 0.19253189720944355323D+00, 0.10117975778136820142D-01, 0.00000000000000000000D+00, 0.19697124443828492701D+02, 0.19800000000000000000D+03, 0.99000000000000000000D+02, 0.43417907431925542028D+01, 0.99000000000000000000D+02, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.29999999999999997372D-03, 0.10000000000000000479D-03, 0.20000000000000000958D-03 - 0.63727393800000000000D+11, 0.29800000000000000000D+03, 0.10132500000000000000D+06, 0.40894572562574019514D+02, 0.17684291272599256262D+00, 0.94812258969326802804D-02, 0.00000000000000000000D+00, 0.18457534438407414257D+02, 0.22800000000000000000D+03, 0.11400000000000000000D+03, 0.39879881339228941961D+01, 0.11400000000000000000D+03, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.29999999999999997372D-03, 0.10000000000000000479D-03, 0.20000000000000000958D-03 - 0.63727394040000000000D+11, 0.29800000000000000000D+03, 0.10132500000000000000D+06, 0.40894572562574019514D+02, 0.16521734339215965459D+00, 0.90008014370165610740D-02, 0.00000000000000000000D+00, 0.17522270253126922768D+02, 0.25200000000000000000D+03, 0.12600000000000000000D+03, 0.37258196826191110063D+01, 0.12600000000000000000D+03, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.29999999999999997372D-03, 0.10000000000000000479D-03, 0.20000000000000000958D-03 - 0.63727394100000000000D+11, 0.29800000000000000000D+03, 0.10132500000000000000D+06, 0.40894572562574019514D+02, 0.16227003654953942036D+00, 0.88756681934396685490D-02, 0.00000000000000000000D+00, 0.17278667666518654045D+02, 0.25800000000000000000D+03, 0.12900000000000000000D+03, 0.36593549058620626901D+01, 0.12900000000000000000D+03, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.29999999999999997372D-03, 0.10000000000000000479D-03, 0.20000000000000000958D-03 - 0.63727394400000000000D+11, 0.29800000000000000000D+03, 0.10132500000000000000D+06, 0.40894572562574019514D+02, 0.14830364683772609413D+00, 0.82756181710989390465D-02, 0.00000000000000000000D+00, 0.16110522948470723748D+02, 0.28800000000000000000D+03, 0.14400000000000000000D+03, 0.33443985664425985860D+01, 0.14400000000000000000D+03, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.29999999999999997372D-03, 0.10000000000000000479D-03, 0.20000000000000000958D-03 - 0.63727394700000000000D+11, 0.29800000000000000000D+03, 0.10132500000000000000D+06, 0.40894572562574019514D+02, 0.13553932773444862803D+00, 0.77161352386340168949D-02, 0.00000000000000000000D+00, 0.15021352032607058646D+02, 0.34800000000000000000D+03, 0.17400000000000000000D+03, 0.30565501458482806640D+01, 0.17400000000000000000D+03, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.32999999999999999820D-03, 0.11000000000000000392D-03, 0.22000000000000000783D-03 - 0.63727395000000000000D+11, 0.29800000000000000000D+03, 0.10132500000000000000D+06, 0.40894572562574019514D+02, 0.12387361844721007931D+00, 0.71944768100608664715D-02, 0.00000000000000000000D+00, 0.14005815801834476275D+02, 0.40800000000000000000D+03, 0.20400000000000000000D+03, 0.27934764976360644262D+01, 0.20400000000000000000D+03, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.32999999999999999820D-03, 0.11000000000000000392D-03, 0.22000000000000000783D-03 - 0.63727395120000000000D+11, 0.29800000000000000000D+03, 0.10132500000000000000D+06, 0.40894572562574019514D+02, 0.11949348365373313463D+00, 0.69958255553245300706D-02, 0.00000000000000000000D+00, 0.13619092353264921513D+02, 0.43200000000000000000D+03, 0.21600000000000000000D+03, 0.26946999885178599676D+01, 0.21600000000000000000D+03, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.32999999999999999820D-03, 0.11000000000000000392D-03, 0.22000000000000000783D-03 - 0.63727395300000000000D+11, 0.29800000000000000000D+03, 0.10132500000000000000D+06, 0.40894572562574019514D+02, 0.11287283598726191580D+00, 0.66879916142338988877D-02, 0.00000000000000000000D+00, 0.13019817994573692488D+02, 0.46800000000000000000D+03, 0.23400000000000000000D+03, 0.25453976278760088725D+01, 0.23400000000000000000D+03, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.32999999999999999820D-03, 0.11000000000000000392D-03, 0.22000000000000000783D-03 - 0.63727395600000000000D+11, 0.29800000000000000000D+03, 0.10132500000000000000D+06, 0.40894572562574019514D+02, 0.10264350208348776983D+00, 0.62047406567254832777D-02, 0.00000000000000000000D+00, 0.12079051337649024944D+02, 0.52800000000000000000D+03, 0.26400000000000000000D+03, 0.23147157102500814929D+01, 0.26400000000000000000D+03, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.32999999999999999820D-03, 0.11000000000000000392D-03, 0.22000000000000000783D-03 - 0.63727395900000000000D+11, 0.29800000000000000000D+03, 0.10132500000000000000D+06, 0.40894572562574019514D+02, 0.93341222693757303075D-01, 0.57564077286350141469D-02, 0.00000000000000000000D+00, 0.11206261199532075779D+02, 0.58800000000000000000D+03, 0.29400000000000000000D+03, 0.21049398178898330869D+01, 0.29400000000000000000D+03, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.32999999999999999820D-03, 0.11000000000000000392D-03, 0.22000000000000000783D-03 - 0.63727396200000000000D+11, 0.29800000000000000000D+03, 0.10132500000000000000D+06, 0.40894572562574019514D+02, 0.84881981587874758000D-01, 0.53404697748924744374D-02, 0.00000000000000000000D+00, 0.10396535833962278872D+02, 0.64800000000000000000D+03, 0.32400000000000000000D+03, 0.19141752990735021456D+01, 0.32400000000000000000D+03, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.32999999999999999820D-03, 0.11000000000000000392D-03, 0.22000000000000000783D-03 - 0.63727396500000000000D+11, 0.29800000000000000000D+03, 0.10132500000000000000D+06, 0.40894572562574019514D+02, 0.77189376680044052836D-01, 0.49545860475910061954D-02, 0.00000000000000000000D+00, 0.96453184003398941826D+01, 0.64800000000000000000D+03, 0.32400000000000000000D+03, 0.17406992088050752265D+01, 0.32400000000000000000D+03, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.32999999999999999820D-03, 0.11000000000000000392D-03, 0.22000000000000000783D-03 - 0.63727396800000000000D+11, 0.29800000000000000000D+03, 0.10132500000000000000D+06, 0.40894572562574019514D+02, 0.70193929981305330790D-01, 0.45965849331068850750D-02, 0.00000000000000000000D+00, 0.89483813194802745983D+01, 0.64800000000000000000D+03, 0.32400000000000000000D+03, 0.15829447475375999499D+01, 0.32400000000000000000D+03, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.32999999999999999820D-03, 0.11000000000000000392D-03, 0.22000000000000000783D-03 - 0.63727397100000000000D+11, 0.29800000000000000000D+03, 0.10132500000000000000D+06, 0.40894572562574019514D+02, 0.63832460088957196365D-01, 0.42644517310458799134D-02, 0.00000000000000000000D+00, 0.83018024823319258587D+01, 0.64800000000000000000D+03, 0.32400000000000000000D+03, 0.14394871101693409443D+01, 0.32400000000000000000D+03, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.32999999999999999820D-03, 0.11000000000000000392D-03, 0.22000000000000000783D-03 - 0.63727397400000000000D+11, 0.29800000000000000000D+03, 0.10132500000000000000D+06, 0.40894572562574019514D+02, 0.58047511545421266732D-01, 0.39563173162403368621D-02, 0.00000000000000000000D+00, 0.77019431777696549801D+01, 0.64800000000000000000D+03, 0.32400000000000000000D+03, 0.13090306175038879388D+01, 0.32400000000000000000D+03, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.32999999999999999820D-03, 0.11000000000000000392D-03, 0.22000000000000000783D-03 - 0.63727397700000000000D+11, 0.29800000000000000000D+03, 0.10132500000000000000D+06, 0.40894572562574019514D+02, 0.52786835912638281620D-01, 0.36704476199908337049D-02, 0.00000000000000000000D+00, 0.71454276152484332840D+01, 0.64800000000000000000D+03, 0.32400000000000000000D+03, 0.11903970139482715762D+01, 0.32400000000000000000D+03, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.32999999999999999820D-03, 0.11000000000000000392D-03, 0.22000000000000000783D-03 - 0.63727398000000000000D+11, 0.29800000000000000000D+03, 0.10132500000000000000D+06, 0.40894572562574019514D+02, 0.48002919875168893749D-01, 0.34052338713566354146D-02, 0.00000000000000000000D+00, 0.66291239270788988591D+01, 0.64800000000000000000D+03, 0.32400000000000000000D+03, 0.10825148257563599330D+01, 0.32400000000000000000D+03, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.32999999999999999820D-03, 0.11000000000000000392D-03, 0.22000000000000000783D-03 - 0.63727398300000000000D+11, 0.29800000000000000000D+03, 0.10132500000000000000D+06, 0.40894572562574019514D+02, 0.43652556109925723382D-01, 0.31591835435764797045D-02, 0.00000000000000000000D+00, 0.61501265434122052156D+01, 0.64800000000000000000D+03, 0.32400000000000000000D+03, 0.98440968370342729621D+00, 0.32400000000000000000D+03, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.36000000000000002267D-03, 0.12000000000000000304D-03, 0.24000000000000000608D-03 - 0.63727398600000000000D+11, 0.29800000000000000000D+03, 0.10132500000000000000D+06, 0.40894572562574019514D+02, 0.39696453046722278424D-01, 0.29309119546694351044D-02, 0.00000000000000000000D+00, 0.57057398407470110158D+01, 0.64800000000000000000D+03, 0.32400000000000000000D+03, 0.89519552278832925651D+00, 0.32400000000000000000D+03, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.36000000000000002267D-03, 0.12000000000000000304D-03, 0.24000000000000000608D-03 - 0.63727398900000000000D+11, 0.29800000000000000000D+03, 0.10132500000000000000D+06, 0.40894572562574019514D+02, 0.36098879995078200777D-01, 0.27191344749470549962D-02, 0.00000000000000000000D+00, 0.52934629719383536894D+01, 0.64800000000000000000D+03, 0.32400000000000000000D+03, 0.81406657948084548693D+00, 0.32400000000000000000D+03, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.36000000000000002267D-03, 0.12000000000000000304D-03, 0.24000000000000000608D-03 - 0.63727399200000000000D+11, 0.29800000000000000000D+03, 0.10132500000000000000D+06, 0.40894572562574019514D+02, 0.32827344432140796726D-01, 0.25226592975835398537D-02, 0.00000000000000000000D+00, 0.49109757923371910593D+01, 0.64800000000000000000D+03, 0.32400000000000000000D+03, 0.74029011423501223099D+00, 0.32400000000000000000D+03, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.36000000000000002267D-03, 0.12000000000000000304D-03, 0.24000000000000000608D-03 - 0.63727399500000000000D+11, 0.29800000000000000000D+03, 0.10132500000000000000D+06, 0.40894572562574019514D+02, 0.29852298537055232952D-01, 0.23403807315592914211D-02, 0.00000000000000000000D+00, 0.45561258028580331469D+01, 0.64800000000000000000D+03, 0.32400000000000000000D+03, 0.67319979353971537428D+00, 0.32400000000000000000D+03, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.36000000000000002267D-03, 0.12000000000000000304D-03, 0.24000000000000000608D-03 - 0.63727399800000000000D+11, 0.29800000000000000000D+03, 0.10132500000000000000D+06, 0.40894572562574019514D+02, 0.27146872321263608441D-01, 0.21712729792329860633D-02, 0.00000000000000000000D+00, 0.42269160364949884823D+01, 0.64800000000000000000D+03, 0.32400000000000000000D+03, 0.61218967173461846798D+00, 0.32400000000000000000D+03, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.00000000000000000000D+00, 0.36000000000000002267D-03, 0.12000000000000000304D-03, 0.24000000000000000608D-03 diff --git a/examples/micm_examples/bright_chamber/use_case_4.json b/examples/micm_examples/bright_chamber/use_case_4.json deleted file mode 100644 index 507b42bd..00000000 --- a/examples/micm_examples/bright_chamber/use_case_4.json +++ /dev/null @@ -1,36 +0,0 @@ -{ - "box model options" : { - "grid" : "box", - "chemistry time step [min]" : 5.0, - "output time step [hr]" : 1.0, - "simulation length [hr]" : 2.5 - }, - "initial conditions" : { - "data/use_case_4_initial.csv" : { - "delimiter" : "&" - } - }, - "photolysis" : { - "O2_1" : { "initial value [s-1]" : 1.0e-4 }, - "O3_1" : { "initial value [s-1]" : 1.0e-5 }, - "O3_2" : { "initial value [s-1]" : 1.0e-6 } - }, - "model components" : [ - { - "type" : "MICM", - "override species" : { - "M" : { "mixing ratio mol mol-1" : 1.0 } - }, - "suppress output" : { - "M" : { } - }, - "solver" : { - "type" : "Rosenbrock", - "chemistry time step [min]" : 5.0, - "absolute tolerance" : 1.0e-12, - "relative tolerance" : 1.0e-4 - } - } - ] -} - diff --git a/examples/micm_examples/bright_chamber/use_case_4_initial.csv b/examples/micm_examples/bright_chamber/use_case_4_initial.csv deleted file mode 100644 index d53e9b6d..00000000 --- a/examples/micm_examples/bright_chamber/use_case_4_initial.csv +++ /dev/null @@ -1,2 +0,0 @@ -CONC.N2& CONC.O2& CONC.Ar& CONC.CO2& CONC.O& ENV.temperature& ENV.pressure.atm -3.29e1& 8.84& 3.92e-1& 1.69e-2& 1.0e-5& 298.0& 1.0 diff --git a/examples/micm_examples/bright_chamber/use_case_5.json b/examples/micm_examples/bright_chamber/use_case_5.json deleted file mode 100644 index dca3c344..00000000 --- a/examples/micm_examples/bright_chamber/use_case_5.json +++ /dev/null @@ -1,43 +0,0 @@ -{ - "box model options" : { - "grid" : "box", - "chemistry time step [min]" : 5.0, - "output time step [hr]" : 1.0, - "simulation length [hr]" : 2.5 - }, - "initial conditions" : { - "data/use_case_5_initial.csv" : { - "delimiter" : "&" - } - }, - "photolysis" : { - "O2_1" : { "initial value [s-1]" : 1.0e-4 }, - "O3_1" : { "initial value [s-1]" : 1.0e-5 }, - "O3_2" : { "initial value [s-1]" : 1.0e-6 } - }, - "evolving conditions" : { - "data/use_case_5_emissions.csv" : { } - }, - "model components" : [ - { - "type" : "MICM", - "solve" : false, - "override species" : { - "M" : { "mixing ratio mol mol-1" : 1.0 } - }, - "suppress output" : { - "M" : { } - }, - "solver" : { - "type" : "Rosenbrock", - "chemistry time step [min]" : 5.0, - "absolute tolerance" : 1.0e-12, - "relative tolerance" : 1.0e-4 - } - }, - { - "type" : "musica-emissions" - } - ] -} - diff --git a/examples/micm_examples/bright_chamber/use_case_5_emissions.csv b/examples/micm_examples/bright_chamber/use_case_5_emissions.csv deleted file mode 100644 index 2553005b..00000000 --- a/examples/micm_examples/bright_chamber/use_case_5_emissions.csv +++ /dev/null @@ -1,5 +0,0 @@ -time.hr, EMIS.O1D, EMIS.O, EMIS.O3 -0.0, 0.0, 0.0, 0.0 -0.2, 0.1, 0.05, 0.05 -1.0, 0.2, 0.1, 0.1 -1.5, 0.0, 0.0, 0.0 diff --git a/examples/micm_examples/bright_chamber/use_case_5_initial.csv b/examples/micm_examples/bright_chamber/use_case_5_initial.csv deleted file mode 100644 index 2af07f8d..00000000 --- a/examples/micm_examples/bright_chamber/use_case_5_initial.csv +++ /dev/null @@ -1,2 +0,0 @@ -CONC.N2& CONC.O2& CONC.Ar& CONC.CO2& ENV.temperature& ENV.pressure.atm -3.29e1& 8.84& 3.92e-1& 1.69e-2& 298.0& 1.0 diff --git a/examples/micm_examples/bright_chamber/use_case_6.json b/examples/micm_examples/bright_chamber/use_case_6.json deleted file mode 100644 index f0a25aef..00000000 --- a/examples/micm_examples/bright_chamber/use_case_6.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "box model options" : { - "grid" : "box", - "chemistry time step [min]" : 5.0, - "output time step [hr]" : 1.0, - "simulation length [hr]" : 2.5 - }, - "initial conditions" : { - "data/use_case_6_initial.csv" : { - "delimiter" : "&" - } - }, - "photolysis" : { - "O2_1" : { "initial value [s-1]" : 1.0e-4 }, - "O3_1" : { "initial value [s-1]" : 1.0e-5 }, - "O3_2" : { "initial value [s-1]" : 1.0e-6 } - }, - "evolving conditions" : { - "data/use_case_6_emissions.csv" : { }, - "data/use_case_6_wall_loss_rates_011519.txt" : { - "delimiter" : ";", - "time axis" : "columns", - "properties" : { - "simtime" : { - "MusicBox name" : "time", - "units" : "hr" - }, - "*" : { - "MusicBox name" : "LOSS.*", - "units" : "min-1" - } - } - } - }, - "model components" : [ - { - "type" : "MICM", - "solve" : false, - "override species" : { - "M" : { "mixing ratio mol mol-1" : 1.0 } - }, - "suppress output" : { - "M" : { } - }, - "solver" : { - "type" : "Rosenbrock", - "chemistry time step [min]" : 5.0, - "absolute tolerance" : 1.0e-12, - "relative tolerance" : 1.0e-4 - } - }, - { - "type" : "musica-emissions" - }, - { - "type" : "musica-loss" - } - ] -} - diff --git a/examples/micm_examples/bright_chamber/use_case_6_emissions.csv b/examples/micm_examples/bright_chamber/use_case_6_emissions.csv deleted file mode 100644 index 2553005b..00000000 --- a/examples/micm_examples/bright_chamber/use_case_6_emissions.csv +++ /dev/null @@ -1,5 +0,0 @@ -time.hr, EMIS.O1D, EMIS.O, EMIS.O3 -0.0, 0.0, 0.0, 0.0 -0.2, 0.1, 0.05, 0.05 -1.0, 0.2, 0.1, 0.1 -1.5, 0.0, 0.0, 0.0 diff --git a/examples/micm_examples/bright_chamber/use_case_6_initial.csv b/examples/micm_examples/bright_chamber/use_case_6_initial.csv deleted file mode 100644 index 2af07f8d..00000000 --- a/examples/micm_examples/bright_chamber/use_case_6_initial.csv +++ /dev/null @@ -1,2 +0,0 @@ -CONC.N2& CONC.O2& CONC.Ar& CONC.CO2& ENV.temperature& ENV.pressure.atm -3.29e1& 8.84& 3.92e-1& 1.69e-2& 298.0& 1.0 diff --git a/examples/micm_examples/bright_chamber/use_case_6_wall_loss_rates_011519.txt b/examples/micm_examples/bright_chamber/use_case_6_wall_loss_rates_011519.txt deleted file mode 100644 index fa5182fa..00000000 --- a/examples/micm_examples/bright_chamber/use_case_6_wall_loss_rates_011519.txt +++ /dev/null @@ -1,6 +0,0 @@ -simtime; 0.0; 0.3; 0.6; 0.9; 1.2 -N2; 0.010; 0.012; 0.013; 0.014; 0.015 -O2; 0.015; 0.016; 0.017; 0.018; 0.019 -Ar; 0.015; 0.016; 0.017; 0.018; 0.019 -CO2; 0.010; 0.012; 0.013; 0.014; 0.015 -H2O; 0.010; 0.012; 0.013; 0.014; 0.015 diff --git a/examples/micm_examples/bright_chamber/use_case_7.json b/examples/micm_examples/bright_chamber/use_case_7.json deleted file mode 100644 index 6663bc09..00000000 --- a/examples/micm_examples/bright_chamber/use_case_7.json +++ /dev/null @@ -1,95 +0,0 @@ -{ - "box model options" : { - "grid" : "box", - "chemistry time step [min]" : 5.0, - "output time step [hr]" : 1.0, - "simulation length [hr]" : 2.5, - "simulation start" : { - "time zone" : "UTC-8", - "year" : 2020, - "month" : 6, - "day" : 10, - "hour" : 13 - } - }, - "initial conditions" : { - "data/use_case_7_initial.csv" : { - "delimiter" : "&" - } - }, - "evolving conditions" : { - "data/use_case_7_emissions.csv" : { - "properties" : { - "time.hr" : { - "shift first entry to" :{ - "time zone" : "UTC-8", - "year" : 2020, - "month" : 6, - "day" : 10, - "hour" : 13 - } - } - } - }, - "data/use_case_7_wall_loss_rates_011519.txt" : { - "delimiter" : ";", - "time axis" : "columns", - "properties" : { - "simtime" : { - "MusicBox name" : "time", - "units" : "hr", - "shift first entry to" :{ - "time zone" : "UTC-8", - "year" : 2020, - "month" : 6, - "day" : 10, - "hour" : 13 - } - }, - "*" : { - "MusicBox name" : "LOSS.*", - "units" : "min-1" - } - } - }, - "data/use_case_7_parking_lot_photo_rates.nc" : { - "time offset" : { "years" : 15 }, - "properties" : { - "*" : { "MusicBox name" : "PHOT.*" }, - "time" : { - "MusicBox name" : "time", - "shift first entry to" : { - "year" : 2020, - "month" : 1, - "day" : 1, - "time zone" : "UTC-8" - } - } - } - } - }, - "model components" : [ - { - "type" : "MICM", - "override species" : { - "M" : { "mixing ratio mol mol-1" : 1.0 } - }, - "suppress output" : { - "M" : { } - }, - "solver" : { - "type" : "Rosenbrock", - "chemistry time step [min]" : 5.0, - "absolute tolerance" : 1.0e-12, - "relative tolerance" : 1.0e-4 - } - }, - { - "type" : "musica-emissions" - }, - { - "type" : "musica-loss" - } - ] -} - diff --git a/examples/micm_examples/bright_chamber/use_case_7_emissions.csv b/examples/micm_examples/bright_chamber/use_case_7_emissions.csv deleted file mode 100644 index 2553005b..00000000 --- a/examples/micm_examples/bright_chamber/use_case_7_emissions.csv +++ /dev/null @@ -1,5 +0,0 @@ -time.hr, EMIS.O1D, EMIS.O, EMIS.O3 -0.0, 0.0, 0.0, 0.0 -0.2, 0.1, 0.05, 0.05 -1.0, 0.2, 0.1, 0.1 -1.5, 0.0, 0.0, 0.0 diff --git a/examples/micm_examples/bright_chamber/use_case_7_initial.csv b/examples/micm_examples/bright_chamber/use_case_7_initial.csv deleted file mode 100644 index 2af07f8d..00000000 --- a/examples/micm_examples/bright_chamber/use_case_7_initial.csv +++ /dev/null @@ -1,2 +0,0 @@ -CONC.N2& CONC.O2& CONC.Ar& CONC.CO2& ENV.temperature& ENV.pressure.atm -3.29e1& 8.84& 3.92e-1& 1.69e-2& 298.0& 1.0 diff --git a/examples/micm_examples/bright_chamber/use_case_7_parking_lot_photo_rates.nc b/examples/micm_examples/bright_chamber/use_case_7_parking_lot_photo_rates.nc deleted file mode 100644 index fd3ba0f24bff980ce285055bed05231a4a0a570d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 280640 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 diff --git a/examples/micm_examples/bright_chamber/use_case_7_wall_loss_rates_011519.txt b/examples/micm_examples/bright_chamber/use_case_7_wall_loss_rates_011519.txt deleted file mode 100644 index fa5182fa..00000000 --- a/examples/micm_examples/bright_chamber/use_case_7_wall_loss_rates_011519.txt +++ /dev/null @@ -1,6 +0,0 @@ -simtime; 0.0; 0.3; 0.6; 0.9; 1.2 -N2; 0.010; 0.012; 0.013; 0.014; 0.015 -O2; 0.015; 0.016; 0.017; 0.018; 0.019 -Ar; 0.015; 0.016; 0.017; 0.018; 0.019 -CO2; 0.010; 0.012; 0.013; 0.014; 0.015 -H2O; 0.010; 0.012; 0.013; 0.014; 0.015 diff --git a/examples/micm_examples/bright_chamber/use_case_8.json b/examples/micm_examples/bright_chamber/use_case_8.json deleted file mode 100644 index c958679a..00000000 --- a/examples/micm_examples/bright_chamber/use_case_8.json +++ /dev/null @@ -1,108 +0,0 @@ -{ - "box model options" : { - "grid" : "box", - "chemistry time step [min]" : 5.0, - "output time step [hr]" : 1.0, - "simulation length [hr]" : 2.5, - "simulation start" : { - "time zone" : "UTC-8", - "year" : 2020, - "month" : 6, - "day" : 10, - "hour" : 13 - } - }, - "initial conditions" : { - "data/use_case_8_initial.csv" : { - "delimiter" : "&", - "properties" : { - "CONC.O3" : { "variability" : "tethered" } - }, - "linear combinations" : { - "atomic oxygen" : { - "properties" : { - "CONC.O" : { }, - "CONC.O1D" : { } - }, - "scale factor" : 1.2 - } - } - } - }, - "evolving conditions" : { - "data/use_case_8_emissions.csv" : { - "properties" : { - "time.hr" : { - "shift first entry to" :{ - "time zone" : "UTC-8", - "year" : 2020, - "month" : 6, - "day" : 10, - "hour" : 13 - } - } - } - }, - "data/use_case_8_wall_loss_rates_011519.txt" : { - "delimiter" : ";", - "time axis" : "columns", - "properties" : { - "simtime" : { - "MusicBox name" : "time", - "units" : "hr", - "shift first entry to" :{ - "time zone" : "UTC-8", - "year" : 2020, - "month" : 6, - "day" : 10, - "hour" : 13 - } - }, - "*" : { - "MusicBox name" : "LOSS.*", - "units" : "min-1" - } - } - }, - "data/use_case_8_parking_lot_photo_rates.nc" : { - "time offset" : { "years" : 15 }, - "properties" : { - "*" : { "MusicBox name" : "PHOT.*" }, - "time" : { - "MusicBox name" : "time", - "shift first entry to" : { - "year" : 2020, - "month" : 1, - "day" : 1, - "time zone" : "UTC-8" - } - } - } - } - }, - "model components" : [ - { - "type" : "MICM", - "solve" : false, - "override species" : { - "M" : { "mixing ratio mol mol-1" : 1.0 } - }, - "suppress output" : { - "M" : { } - }, - "solver" : { - "type" : "Rosenbrock", - "chemistry time step [min]" : 5.0, - "absolute tolerance" : 1.0e-12, - "relative tolerance" : 1.0e-4 - } - }, - { - "type" : "musica-emissions" - }, - { - "type" : "musica-loss" - } - ] -} - diff --git a/examples/micm_examples/bright_chamber/use_case_8_emissions.csv b/examples/micm_examples/bright_chamber/use_case_8_emissions.csv deleted file mode 100644 index 2553005b..00000000 --- a/examples/micm_examples/bright_chamber/use_case_8_emissions.csv +++ /dev/null @@ -1,5 +0,0 @@ -time.hr, EMIS.O1D, EMIS.O, EMIS.O3 -0.0, 0.0, 0.0, 0.0 -0.2, 0.1, 0.05, 0.05 -1.0, 0.2, 0.1, 0.1 -1.5, 0.0, 0.0, 0.0 diff --git a/examples/micm_examples/bright_chamber/use_case_8_initial.csv b/examples/micm_examples/bright_chamber/use_case_8_initial.csv deleted file mode 100644 index 98cf0ff3..00000000 --- a/examples/micm_examples/bright_chamber/use_case_8_initial.csv +++ /dev/null @@ -1,2 +0,0 @@ -CONC.O& CONC.O1D& CONC.O3 &CONC.N2& CONC.O2& CONC.Ar& CONC.CO2& ENV.temperature& ENV.pressure.atm -1.0e-7& 1.0e-6& 1.0e-4& 3.29e1& 8.84& 3.92e-1& 1.69e-2& 298.0& 1.0 diff --git a/examples/micm_examples/bright_chamber/use_case_8_parking_lot_photo_rates.nc b/examples/micm_examples/bright_chamber/use_case_8_parking_lot_photo_rates.nc deleted file mode 100644 index fd3ba0f24bff980ce285055bed05231a4a0a570d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 280640 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 diff --git a/examples/micm_examples/bright_chamber/use_case_8_wall_loss_rates_011519.txt b/examples/micm_examples/bright_chamber/use_case_8_wall_loss_rates_011519.txt deleted file mode 100644 index fa5182fa..00000000 --- a/examples/micm_examples/bright_chamber/use_case_8_wall_loss_rates_011519.txt +++ /dev/null @@ -1,6 +0,0 @@ -simtime; 0.0; 0.3; 0.6; 0.9; 1.2 -N2; 0.010; 0.012; 0.013; 0.014; 0.015 -O2; 0.015; 0.016; 0.017; 0.018; 0.019 -Ar; 0.015; 0.016; 0.017; 0.018; 0.019 -CO2; 0.010; 0.012; 0.013; 0.014; 0.015 -H2O; 0.010; 0.012; 0.013; 0.014; 0.015 diff --git a/examples/micm_examples/dark_chamber/README.md b/examples/micm_examples/dark_chamber/README.md deleted file mode 100644 index 5bd01380..00000000 --- a/examples/micm_examples/dark_chamber/README.md +++ /dev/null @@ -1,38 +0,0 @@ -## Use case 1: Simple box model - -Simple simulation of a chamber experiment without photolysis. -The experiment starts with a known set of conditions for gas-phase species, and follows the evolution of the chamber at fixed temperature and pressure for 2.5 hours. -The MICM mechanism chosen should include the species N2, O2, Ar, CO2, and O, which start out at some non-zero concentration, as well as other species whose initial concentrations start at zero. (MICM mechanism 272—Chapman chemistry—is compatible with this configuration.) - -Initial conditions are specified in the configuration file, rather than a separate data file. - -If the MusicBox executable is in `MusicBox/build`, the simulation can be run with: - -``` -cd MusicBox/build -./musicbox ../examples/dark_chamber/use_case_1.json -``` - -Results will be in a text file named `output.csv`. - -**NOTES:** - -- Although MusicBox uses SI units internally, the initial pressure is specified in atm and MusicBox automatically performs the conversion. (Similar for the time units.) -- The prognostic variables (the chemical species concentrations) start at the specified initial conditions and evolve based on the results of the chemistry solver. -- Temperature and pressure remain constant throughout the simulation. -Because no start date/time is specified, the model outputs simulation times in seconds (the default time unit) starting at 0 s - - -## Use case 2: Simple box model with input file - -This scenario is the same as Use Case 1, except that the user has decided to add additional species to the initial conditions of the chamber and move their concentrations and the environmental conditions to an input file. They choose a comma-separated text file in standard MusicBox format for the initial concentrations. The file named `use_case_2_initial.csv` contains the initial conditions. - -In the input data file, the `CONC.` prefix indicates that the property is a chemical species concentration and `ENV.` indicates that the property is an environmental property. - -The `use_case_2.json` file includes the configuration data for this scenario. The `use_case_2_initial - -**NOTES:** - -- As the user does not specify units for the input species concentrations, they are assumed to be in the standard MusicBox units of moles m–3. -- Temperature is in the standard units (K), but pressure is in non-MusicBox units of atm, so the user must specify the units in the configuration file. - diff --git a/examples/micm_examples/dark_chamber/use_case_1.json b/examples/micm_examples/dark_chamber/use_case_1.json deleted file mode 100644 index 59a94822..00000000 --- a/examples/micm_examples/dark_chamber/use_case_1.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "box model options" : { - "grid" : "box", - "chemistry time step [min]" : 5.0, - "output time step [hr]" : 1.0, - "simulation length [hr]" : 2.5 - }, - "chemical species" : { - "N2" : { "initial value [mol m-3]" : 3.29e1 }, - "O2" : { "initial value [mol m-3]" : 8.84e0 }, - "Ar" : { "initial value [mol m-3]" : 3.92e-1 }, - "CO2" : { "initial value [mol m-3]" : 1.69e-2 }, - "O" : { "initial value [mol m-3]" : 1.0e-5 } - }, - "environmental conditions" : { - "temperature" : { "initial value [K]" : 298.0 }, - "pressure" : { "initial value [atm]" : 1.0 } - }, - "model components" : [ - { - "type" : "MICM", - "solve" : false, - "override species" : { - "M" : { "mixing ratio mol mol-1" : 1.0 } - }, - "suppress output" : { - "M" : { } - }, - "solver" : { - "type" : "Rosenbrock", - "chemistry time step [min]" : 5.0, - "absolute tolerance" : 1.0e-12, - "relative tolerance" : 1.0e-4 - } - } - ] -} - diff --git a/examples/micm_examples/dark_chamber/use_case_2.json b/examples/micm_examples/dark_chamber/use_case_2.json deleted file mode 100644 index e99ad446..00000000 --- a/examples/micm_examples/dark_chamber/use_case_2.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "box model options" : { - "grid" : "box", - "chemistry time step [min]" : 5.0, - "output time step [hr]" : 1.0, - "simulation length [hr]" : 2.5 - }, - "initial conditions" : { - "data/use_case_2_initial.csv" : { - "properties" : { - "ENV.pressure" : { "units" : "atm" } - } - } - }, - "model components" : [ - { - "type" : "MICM", - "solve" : false, - "override species" : { - "M" : { "mixing ratio mol mol-1" : 1.0 } - }, - "suppress output" : { - "M" : { } - }, - "solver" : { - "type" : "Rosenbrock", - "chemistry time step [min]" : 5.0, - "absolute tolerance" : 1.0e-12, - "relative tolerance" : 1.0e-4 - } - } - ] -} - diff --git a/examples/micm_examples/dark_chamber/use_case_2_initial.csv b/examples/micm_examples/dark_chamber/use_case_2_initial.csv deleted file mode 100644 index f422d6fa..00000000 --- a/examples/micm_examples/dark_chamber/use_case_2_initial.csv +++ /dev/null @@ -1,2 +0,0 @@ -CONC.N2, CONC.O2, CONC.Ar, CONC.CO2, CONC.O, ENV.temperature, ENV.pressure -3.29e1, 8.84, 3.92e-1, 1.69e-2, 1.0e-5, 298.0, 1.0 diff --git a/examples/micm_examples/dark_chamber/use_case_3.json b/examples/micm_examples/dark_chamber/use_case_3.json deleted file mode 100644 index 56fa9f04..00000000 --- a/examples/micm_examples/dark_chamber/use_case_3.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "box model options" : { - "grid" : "box", - "chemistry time step [min]" : 5.0, - "output time step [hr]" : 1.0, - "simulation length [hr]" : 2.5 - }, - "initial conditions" : { - "data/use_case_3_initial.csv" : { - "delimiter" : "&" - } - }, - "model components" : [ - { - "type" : "MICM", - "solve" : false, - "override species" : { - "M" : { "mixing ratio mol mol-1" : 1.0 } - }, - "suppress output" : { - "M" : { } - }, - "solver" : { - "type" : "Rosenbrock", - "chemistry time step [min]" : 5.0, - "absolute tolerance" : 1.0e-12, - "relative tolerance" : 1.0e-4 - } - } - ] -} - diff --git a/examples/micm_examples/dark_chamber/use_case_3_initial.csv b/examples/micm_examples/dark_chamber/use_case_3_initial.csv deleted file mode 100644 index d53e9b6d..00000000 --- a/examples/micm_examples/dark_chamber/use_case_3_initial.csv +++ /dev/null @@ -1,2 +0,0 @@ -CONC.N2& CONC.O2& CONC.Ar& CONC.CO2& CONC.O& ENV.temperature& ENV.pressure.atm -3.29e1& 8.84& 3.92e-1& 1.69e-2& 1.0e-5& 298.0& 1.0 diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 87411e5f..b1550234 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -1,8 +1,6 @@ ################################################################################ # Test options -option(ENABLE_MICM_TESTS "Enable tests of MICM chemistry for Chapman mechansim" OFF) - ################################################################################ # Copy test data @@ -22,28 +20,6 @@ add_executable(integration_input_4_check test_common/output.F90) target_include_directories(integration_input_4_check PUBLIC ${CMAKE_BINARY_DIR}/src) target_link_libraries(integration_input_4_check musica::musicacore) -if(ENABLE_MICM_TESTS) - add_test(NAME input_use_case_1 COMMAND integration/input_use_cases/1/run.sh) - add_test(NAME input_use_case_1_preprocessor COMMAND integration/input_use_cases/1/run_preprocessor.sh) - add_test(NAME input_use_case_2 COMMAND integration/input_use_cases/2/run.sh) - add_test(NAME input_use_case_2_preprocessor COMMAND integration/input_use_cases/2/run_preprocessor.sh) - add_test(NAME input_use_case_3 COMMAND integration/input_use_cases/3/run.sh) - add_test(NAME input_use_case_3_preprocessor COMMAND integration/input_use_cases/3/run_preprocessor.sh) - add_test(NAME input_use_case_4 COMMAND integration/input_use_cases/4/run.sh) - add_test(NAME input_use_case_4_preprocessor COMMAND integration/input_use_cases/4/run_preprocessor.sh) - add_test(NAME input_use_case_4b COMMAND integration/input_use_cases/4/run_b.sh) - add_test(NAME input_use_case_4b_preprocessor COMMAND integration/input_use_cases/4/run_b_preprocessor.sh) - add_test(NAME input_use_case_5 COMMAND integration/input_use_cases/5/run.sh) - add_test(NAME input_use_case_5_preprocessor COMMAND integration/input_use_cases/5/run_preprocessor.sh) - add_test(NAME input_use_case_6 COMMAND integration/input_use_cases/6/run.sh) - add_test(NAME input_use_case_6_preprocessor COMMAND integration/input_use_cases/6/run_preprocessor.sh) - add_test(NAME input_use_case_7 COMMAND integration/input_use_cases/7/run.sh) - add_test(NAME input_use_case_7_preprocessor COMMAND integration/input_use_cases/7/run_preprocessor.sh) - add_test(NAME input_use_case_8 COMMAND integration/input_use_cases/8/run.sh) - add_test(NAME input_use_case_8_preprocessor COMMAND integration/input_use_cases/8/run_preprocessor.sh) - add_test(NAME input_use_case_8b COMMAND integration/input_use_cases/8/run_b.sh) - add_test(NAME input_use_case_8b_preprocessor COMMAND integration/input_use_cases/8/run_b_preprocessor.sh) -endif() add_test(NAME input_use_case_1_camp COMMAND integration/input_use_cases/1/run_camp.sh) add_test(NAME input_use_case_1_preprocessor_camp COMMAND integration/input_use_cases/1/run_preprocessor_camp.sh) add_test(NAME input_use_case_2_camp COMMAND integration/input_use_cases/2/run_camp.sh) diff --git a/test/integration/input_use_cases/1/config.json b/test/integration/input_use_cases/1/config.json deleted file mode 100644 index 59a94822..00000000 --- a/test/integration/input_use_cases/1/config.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "box model options" : { - "grid" : "box", - "chemistry time step [min]" : 5.0, - "output time step [hr]" : 1.0, - "simulation length [hr]" : 2.5 - }, - "chemical species" : { - "N2" : { "initial value [mol m-3]" : 3.29e1 }, - "O2" : { "initial value [mol m-3]" : 8.84e0 }, - "Ar" : { "initial value [mol m-3]" : 3.92e-1 }, - "CO2" : { "initial value [mol m-3]" : 1.69e-2 }, - "O" : { "initial value [mol m-3]" : 1.0e-5 } - }, - "environmental conditions" : { - "temperature" : { "initial value [K]" : 298.0 }, - "pressure" : { "initial value [atm]" : 1.0 } - }, - "model components" : [ - { - "type" : "MICM", - "solve" : false, - "override species" : { - "M" : { "mixing ratio mol mol-1" : 1.0 } - }, - "suppress output" : { - "M" : { } - }, - "solver" : { - "type" : "Rosenbrock", - "chemistry time step [min]" : 5.0, - "absolute tolerance" : 1.0e-12, - "relative tolerance" : 1.0e-4 - } - } - ] -} - diff --git a/test/integration/input_use_cases/1/run.sh b/test/integration/input_use_cases/1/run.sh deleted file mode 100755 index 18504a04..00000000 --- a/test/integration/input_use_cases/1/run.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash - -# exit on error -set -e -# turn on command echoing -set -v -# make sure that the current directory is the once where this script is -cd ${0%/*} - -exec_str="../../../../music_box config.json" -comp_str="../../../../compare_results output.csv expected_output.csv 1.0e-3 1.0e-12" - -if ! $exec_str; then - echo FAIL - exit 1 -else - if $comp_str; then - echo PASS - exit 0 - else - echo unexpected results - echo FAIL - exit 1 - fi -fi diff --git a/test/integration/input_use_cases/1/run_preprocessor.sh b/test/integration/input_use_cases/1/run_preprocessor.sh deleted file mode 100755 index 922e299e..00000000 --- a/test/integration/input_use_cases/1/run_preprocessor.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -# exit on error -set -e -# turn on command echoing -set -v -# make sure that the current directory is the once where this script is -cd ${0%/*} - -exec_str="../../../../music_box --preprocess-only config.json" -exec_str2="./run_preprocessed_data.sh" - -if ! $exec_str; then - echo FAIL - exit 1 -else - if ! $exec_str2; then - echo FAIL - exit 1 - else - echo PASS - exit 0 - fi -fi diff --git a/test/integration/input_use_cases/2/config.json b/test/integration/input_use_cases/2/config.json deleted file mode 100644 index 7a450b18..00000000 --- a/test/integration/input_use_cases/2/config.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "box model options" : { - "grid" : "box", - "chemistry time step [min]" : 5.0, - "output time step [hr]" : 1.0, - "simulation length [hr]" : 2.5 - }, - "initial conditions" : { - "initial.csv" : { - "properties" : { - "ENV.pressure" : { "units" : "atm" } - } - } - }, - "model components" : [ - { - "type" : "MICM", - "solve" : false, - "override species" : { - "M" : { "mixing ratio mol mol-1" : 1.0 } - }, - "suppress output" : { - "M" : { } - }, - "solver" : { - "type" : "Rosenbrock", - "chemistry time step [min]" : 5.0, - "absolute tolerance" : 1.0e-12, - "relative tolerance" : 1.0e-4 - } - } - ] -} - diff --git a/test/integration/input_use_cases/2/run.sh b/test/integration/input_use_cases/2/run.sh deleted file mode 100755 index 18504a04..00000000 --- a/test/integration/input_use_cases/2/run.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash - -# exit on error -set -e -# turn on command echoing -set -v -# make sure that the current directory is the once where this script is -cd ${0%/*} - -exec_str="../../../../music_box config.json" -comp_str="../../../../compare_results output.csv expected_output.csv 1.0e-3 1.0e-12" - -if ! $exec_str; then - echo FAIL - exit 1 -else - if $comp_str; then - echo PASS - exit 0 - else - echo unexpected results - echo FAIL - exit 1 - fi -fi diff --git a/test/integration/input_use_cases/2/run_preprocessor.sh b/test/integration/input_use_cases/2/run_preprocessor.sh deleted file mode 100755 index 922e299e..00000000 --- a/test/integration/input_use_cases/2/run_preprocessor.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -# exit on error -set -e -# turn on command echoing -set -v -# make sure that the current directory is the once where this script is -cd ${0%/*} - -exec_str="../../../../music_box --preprocess-only config.json" -exec_str2="./run_preprocessed_data.sh" - -if ! $exec_str; then - echo FAIL - exit 1 -else - if ! $exec_str2; then - echo FAIL - exit 1 - else - echo PASS - exit 0 - fi -fi diff --git a/test/integration/input_use_cases/3/config.json b/test/integration/input_use_cases/3/config.json deleted file mode 100644 index cd78f244..00000000 --- a/test/integration/input_use_cases/3/config.json +++ /dev/null @@ -1,31 +0,0 @@ -{ - "box model options" : { - "grid" : "box", - "chemistry time step [min]" : 5.0, - "output time step [hr]" : 1.0, - "simulation length [hr]" : 2.5 - }, - "initial conditions" : { - "initial.csv" : { - "delimiter" : "&" - } - }, - "model components" : [ - { - "type" : "MICM", - "solve" : false, - "override species" : { - "M" : { "mixing ratio mol mol-1" : 1.0 } - }, - "suppress output" : { - "M" : { } - }, - "solver" : { - "type" : "Rosenbrock", - "chemistry time step [min]" : 5.0, - "absolute tolerance" : 1.0e-12, - "relative tolerance" : 1.0e-4 - } - } - ] -} diff --git a/test/integration/input_use_cases/3/run.sh b/test/integration/input_use_cases/3/run.sh deleted file mode 100755 index 18504a04..00000000 --- a/test/integration/input_use_cases/3/run.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash - -# exit on error -set -e -# turn on command echoing -set -v -# make sure that the current directory is the once where this script is -cd ${0%/*} - -exec_str="../../../../music_box config.json" -comp_str="../../../../compare_results output.csv expected_output.csv 1.0e-3 1.0e-12" - -if ! $exec_str; then - echo FAIL - exit 1 -else - if $comp_str; then - echo PASS - exit 0 - else - echo unexpected results - echo FAIL - exit 1 - fi -fi diff --git a/test/integration/input_use_cases/3/run_preprocessor.sh b/test/integration/input_use_cases/3/run_preprocessor.sh deleted file mode 100755 index 922e299e..00000000 --- a/test/integration/input_use_cases/3/run_preprocessor.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -# exit on error -set -e -# turn on command echoing -set -v -# make sure that the current directory is the once where this script is -cd ${0%/*} - -exec_str="../../../../music_box --preprocess-only config.json" -exec_str2="./run_preprocessed_data.sh" - -if ! $exec_str; then - echo FAIL - exit 1 -else - if ! $exec_str2; then - echo FAIL - exit 1 - else - echo PASS - exit 0 - fi -fi diff --git a/test/integration/input_use_cases/4/config.json b/test/integration/input_use_cases/4/config.json deleted file mode 100644 index 7d5c6f6f..00000000 --- a/test/integration/input_use_cases/4/config.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "box model options" : { - "grid" : "box", - "chemistry time step [min]" : 5.0, - "output time step [hr]" : 1.0, - "simulation length [hr]" : 2.5 - }, - "initial conditions" : { - "initial.csv" : { - "delimiter" : "&" - } - }, - "photolysis" : { - "O2_1" : { "initial value [s-1]" : 1.0e-4 }, - "O3_1" : { "initial value [s-1]" : 1.0e-5 }, - "O3_2" : { "initial value [s-1]" : 1.0e-6 } - }, - "model components" : [ - { - "type" : "MICM", - "override species" : { - "M" : { "mixing ratio mol mol-1" : 1.0 } - }, - "suppress output" : { - "M" : { } - }, - "solver" : { - "type" : "Rosenbrock", - "chemistry time step [min]" : 5.0, - "absolute tolerance" : 1.0e-12, - "relative tolerance" : 1.0e-4 - } - } - ] -} diff --git a/test/integration/input_use_cases/4/config_b.json b/test/integration/input_use_cases/4/config_b.json deleted file mode 100644 index d9f13ea4..00000000 --- a/test/integration/input_use_cases/4/config_b.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "box model options" : { - "grid" : "box", - "chemistry time step [min]" : 5.0, - "output time step [hr]" : 1.0, - "simulation length [hr]" : 2.5 - }, - "initial conditions" : { - "initial_b.csv" : { - "delimiter" : "&" - } - }, - "model components" : [ - { - "type" : "MICM", - "override species" : { - "M" : { "mixing ratio mol mol-1" : 1.0 } - }, - "suppress output" : { - "M" : { } - }, - "solver" : { - "type" : "Rosenbrock", - "chemistry time step [min]" : 5.0, - "absolute tolerance" : 1.0e-12, - "relative tolerance" : 1.0e-4 - } - } - ] -} diff --git a/test/integration/input_use_cases/4/run.sh b/test/integration/input_use_cases/4/run.sh deleted file mode 100755 index 18504a04..00000000 --- a/test/integration/input_use_cases/4/run.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash - -# exit on error -set -e -# turn on command echoing -set -v -# make sure that the current directory is the once where this script is -cd ${0%/*} - -exec_str="../../../../music_box config.json" -comp_str="../../../../compare_results output.csv expected_output.csv 1.0e-3 1.0e-12" - -if ! $exec_str; then - echo FAIL - exit 1 -else - if $comp_str; then - echo PASS - exit 0 - else - echo unexpected results - echo FAIL - exit 1 - fi -fi diff --git a/test/integration/input_use_cases/4/run_preprocessor.sh b/test/integration/input_use_cases/4/run_preprocessor.sh deleted file mode 100755 index 922e299e..00000000 --- a/test/integration/input_use_cases/4/run_preprocessor.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -# exit on error -set -e -# turn on command echoing -set -v -# make sure that the current directory is the once where this script is -cd ${0%/*} - -exec_str="../../../../music_box --preprocess-only config.json" -exec_str2="./run_preprocessed_data.sh" - -if ! $exec_str; then - echo FAIL - exit 1 -else - if ! $exec_str2; then - echo FAIL - exit 1 - else - echo PASS - exit 0 - fi -fi diff --git a/test/integration/input_use_cases/5/config.json b/test/integration/input_use_cases/5/config.json deleted file mode 100644 index b6888f54..00000000 --- a/test/integration/input_use_cases/5/config.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "box model options" : { - "grid" : "box", - "chemistry time step [min]" : 5.0, - "output time step [hr]" : 1.0, - "simulation length [hr]" : 2.5 - }, - "initial conditions" : { - "initial.csv" : { - "delimiter" : "&" - } - }, - "photolysis" : { - "O2_1" : { "initial value [s-1]" : 1.0e-4 }, - "O3_1" : { "initial value [s-1]" : 1.0e-5 }, - "O3_2" : { "initial value [s-1]" : 1.0e-6 } - }, - "evolving conditions" : { - "emissions.csv" : { } - }, - "model components" : [ - { - "type" : "MICM", - "solve" : false, - "override species" : { - "M" : { "mixing ratio mol mol-1" : 1.0 } - }, - "suppress output" : { - "M" : { } - }, - "solver" : { - "type" : "Rosenbrock", - "chemistry time step [min]" : 5.0, - "absolute tolerance" : 1.0e-12, - "relative tolerance" : 1.0e-4 - } - }, - { - "type" : "musica-emissions" - } - ] -} diff --git a/test/integration/input_use_cases/5/run.sh b/test/integration/input_use_cases/5/run.sh deleted file mode 100755 index 18504a04..00000000 --- a/test/integration/input_use_cases/5/run.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash - -# exit on error -set -e -# turn on command echoing -set -v -# make sure that the current directory is the once where this script is -cd ${0%/*} - -exec_str="../../../../music_box config.json" -comp_str="../../../../compare_results output.csv expected_output.csv 1.0e-3 1.0e-12" - -if ! $exec_str; then - echo FAIL - exit 1 -else - if $comp_str; then - echo PASS - exit 0 - else - echo unexpected results - echo FAIL - exit 1 - fi -fi diff --git a/test/integration/input_use_cases/5/run_preprocessor.sh b/test/integration/input_use_cases/5/run_preprocessor.sh deleted file mode 100755 index 922e299e..00000000 --- a/test/integration/input_use_cases/5/run_preprocessor.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -# exit on error -set -e -# turn on command echoing -set -v -# make sure that the current directory is the once where this script is -cd ${0%/*} - -exec_str="../../../../music_box --preprocess-only config.json" -exec_str2="./run_preprocessed_data.sh" - -if ! $exec_str; then - echo FAIL - exit 1 -else - if ! $exec_str2; then - echo FAIL - exit 1 - else - echo PASS - exit 0 - fi -fi diff --git a/test/integration/input_use_cases/6/config.json b/test/integration/input_use_cases/6/config.json deleted file mode 100644 index 444faa40..00000000 --- a/test/integration/input_use_cases/6/config.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "box model options" : { - "grid" : "box", - "chemistry time step [min]" : 5.0, - "output time step [hr]" : 1.0, - "simulation length [hr]" : 2.5 - }, - "initial conditions" : { - "initial.csv" : { - "delimiter" : "&" - } - }, - "photolysis" : { - "O2_1" : { "initial value [s-1]" : 1.0e-4 }, - "O3_1" : { "initial value [s-1]" : 1.0e-5 }, - "O3_2" : { "initial value [s-1]" : 1.0e-6 } - }, - "evolving conditions" : { - "emissions.csv" : { }, - "wall_loss_rates_011519.txt" : { - "delimiter" : ";", - "time axis" : "columns", - "properties" : { - "simtime" : { - "MusicBox name" : "time", - "units" : "hr" - }, - "*" : { - "MusicBox name" : "LOSS.*", - "units" : "min-1" - } - } - } - }, - "model components" : [ - { - "type" : "MICM", - "solve" : false, - "override species" : { - "M" : { "mixing ratio mol mol-1" : 1.0 } - }, - "suppress output" : { - "M" : { } - }, - "solver" : { - "type" : "Rosenbrock", - "chemistry time step [min]" : 5.0, - "absolute tolerance" : 1.0e-12, - "relative tolerance" : 1.0e-4 - } - }, - { - "type" : "musica-emissions" - }, - { - "type" : "musica-loss" - } - ] -} - diff --git a/test/integration/input_use_cases/6/run.sh b/test/integration/input_use_cases/6/run.sh deleted file mode 100755 index 18504a04..00000000 --- a/test/integration/input_use_cases/6/run.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash - -# exit on error -set -e -# turn on command echoing -set -v -# make sure that the current directory is the once where this script is -cd ${0%/*} - -exec_str="../../../../music_box config.json" -comp_str="../../../../compare_results output.csv expected_output.csv 1.0e-3 1.0e-12" - -if ! $exec_str; then - echo FAIL - exit 1 -else - if $comp_str; then - echo PASS - exit 0 - else - echo unexpected results - echo FAIL - exit 1 - fi -fi diff --git a/test/integration/input_use_cases/6/run_preprocessor.sh b/test/integration/input_use_cases/6/run_preprocessor.sh deleted file mode 100755 index 922e299e..00000000 --- a/test/integration/input_use_cases/6/run_preprocessor.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -# exit on error -set -e -# turn on command echoing -set -v -# make sure that the current directory is the once where this script is -cd ${0%/*} - -exec_str="../../../../music_box --preprocess-only config.json" -exec_str2="./run_preprocessed_data.sh" - -if ! $exec_str; then - echo FAIL - exit 1 -else - if ! $exec_str2; then - echo FAIL - exit 1 - else - echo PASS - exit 0 - fi -fi diff --git a/test/integration/input_use_cases/7/config.json b/test/integration/input_use_cases/7/config.json deleted file mode 100644 index fd2d482e..00000000 --- a/test/integration/input_use_cases/7/config.json +++ /dev/null @@ -1,94 +0,0 @@ -{ - "box model options" : { - "grid" : "box", - "chemistry time step [min]" : 5.0, - "output time step [hr]" : 1.0, - "simulation length [hr]" : 2.5, - "simulation start" : { - "time zone" : "UTC-8", - "year" : 2020, - "month" : 6, - "day" : 10, - "hour" : 13 - } - }, - "initial conditions" : { - "initial.csv" : { - "delimiter" : "&" - } - }, - "evolving conditions" : { - "emissions.csv" : { - "properties" : { - "time.hr" : { - "shift first entry to" :{ - "time zone" : "UTC-8", - "year" : 2020, - "month" : 6, - "day" : 10, - "hour" : 13 - } - } - } - }, - "wall_loss_rates_011519.txt" : { - "delimiter" : ";", - "time axis" : "columns", - "properties" : { - "simtime" : { - "MusicBox name" : "time", - "units" : "hr", - "shift first entry to" :{ - "time zone" : "UTC-8", - "year" : 2020, - "month" : 6, - "day" : 10, - "hour" : 13 - } - }, - "*" : { - "MusicBox name" : "LOSS.*", - "units" : "min-1" - } - } - }, - "parking_lot_photo_rates.nc" : { - "time offset" : { "years" : 15 }, - "properties" : { - "*" : { "MusicBox name" : "PHOT.*" }, - "time" : { - "MusicBox name" : "time", - "shift first entry to" : { - "year" : 2020, - "month" : 1, - "day" : 1, - "time zone" : "UTC-8" - } - } - } - } - }, - "model components" : [ - { - "type" : "MICM", - "override species" : { - "M" : { "mixing ratio mol mol-1" : 1.0 } - }, - "suppress output" : { - "M" : { } - }, - "solver" : { - "type" : "Rosenbrock", - "chemistry time step [min]" : 5.0, - "absolute tolerance" : 1.0e-12, - "relative tolerance" : 1.0e-4 - } - }, - { - "type" : "musica-emissions" - }, - { - "type" : "musica-loss" - } - ] -} diff --git a/test/integration/input_use_cases/7/run.sh b/test/integration/input_use_cases/7/run.sh deleted file mode 100755 index 18504a04..00000000 --- a/test/integration/input_use_cases/7/run.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash - -# exit on error -set -e -# turn on command echoing -set -v -# make sure that the current directory is the once where this script is -cd ${0%/*} - -exec_str="../../../../music_box config.json" -comp_str="../../../../compare_results output.csv expected_output.csv 1.0e-3 1.0e-12" - -if ! $exec_str; then - echo FAIL - exit 1 -else - if $comp_str; then - echo PASS - exit 0 - else - echo unexpected results - echo FAIL - exit 1 - fi -fi diff --git a/test/integration/input_use_cases/7/run_preprocessor.sh b/test/integration/input_use_cases/7/run_preprocessor.sh deleted file mode 100755 index 922e299e..00000000 --- a/test/integration/input_use_cases/7/run_preprocessor.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -# exit on error -set -e -# turn on command echoing -set -v -# make sure that the current directory is the once where this script is -cd ${0%/*} - -exec_str="../../../../music_box --preprocess-only config.json" -exec_str2="./run_preprocessed_data.sh" - -if ! $exec_str; then - echo FAIL - exit 1 -else - if ! $exec_str2; then - echo FAIL - exit 1 - else - echo PASS - exit 0 - fi -fi diff --git a/test/integration/input_use_cases/8/config.json b/test/integration/input_use_cases/8/config.json deleted file mode 100644 index 7431054e..00000000 --- a/test/integration/input_use_cases/8/config.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "box model options" : { - "grid" : "box", - "chemistry time step [min]" : 5.0, - "output time step [hr]" : 1.0, - "simulation length [hr]" : 2.5, - "simulation start" : { - "time zone" : "UTC-8", - "year" : 2020, - "month" : 6, - "day" : 10, - "hour" : 13 - } - }, - "initial conditions" : { - "initial.csv" : { - "delimiter" : "&", - "properties" : { - "CONC.O3" : { "variability" : "tethered" } - }, - "linear combinations" : { - "atomic oxygen" : { - "properties" : { - "CONC.O" : { }, - "CONC.O1D" : { } - }, - "scale factor" : 1.2 - } - } - } - }, - "evolving conditions" : { - "emissions.csv" : { - "properties" : { - "time.hr" : { - "shift first entry to" :{ - "time zone" : "UTC-8", - "year" : 2020, - "month" : 6, - "day" : 10, - "hour" : 13 - } - } - } - }, - "wall_loss_rates_011519.txt" : { - "delimiter" : ";", - "time axis" : "columns", - "properties" : { - "simtime" : { - "MusicBox name" : "time", - "units" : "hr", - "shift first entry to" :{ - "time zone" : "UTC-8", - "year" : 2020, - "month" : 6, - "day" : 10, - "hour" : 13 - } - }, - "*" : { - "MusicBox name" : "LOSS.*", - "units" : "min-1" - } - } - }, - "parking_lot_photo_rates.nc" : { - "time offset" : { "years" : 15 }, - "properties" : { - "*" : { "MusicBox name" : "PHOT.*" }, - "time" : { - "MusicBox name" : "time", - "shift first entry to" : { - "year" : 2020, - "month" : 1, - "day" : 1, - "time zone" : "UTC-8" - } - } - } - } - }, - "model components" : [ - { - "type" : "MICM", - "solve" : false, - "override species" : { - "M" : { "mixing ratio mol mol-1" : 1.0 } - }, - "suppress output" : { - "M" : { } - }, - "solver" : { - "type" : "Rosenbrock", - "chemistry time step [min]" : 5.0, - "absolute tolerance" : 1.0e-12, - "relative tolerance" : 1.0e-4 - } - }, - { - "type" : "musica-emissions" - }, - { - "type" : "musica-loss" - } - ] -} diff --git a/test/integration/input_use_cases/8/config_b.json b/test/integration/input_use_cases/8/config_b.json deleted file mode 100644 index fb8b25a1..00000000 --- a/test/integration/input_use_cases/8/config_b.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "box model options" : { - "grid" : "box", - "chemistry time step [s]" : 1.0, - "output time step [s]" : 10.0, - "simulation length [s]" : 50.0 - }, - "initial conditions" : { - "init_O_O1D_O3.csv" : { - "properties" : { - "CONC.O3" : { "variability" : "tethered" } - }, - "linear combinations" : { - "atomic oxygen" : { - "properties" : { - "CONC.O" : { }, - "CONC.O1D" : { } - } - } - } - } - }, - "environmental conditions" : { - "temperature" : { "initial value [K]" : 298.15 }, - "pressure" : { "initial value [atm]" : 1.0 } - }, - "evolving conditions" : { - "evo_N2_Ar_O2.csv" : { - "linear combinations" : { - "N2 Ar" : { - "properties" : { - "CONC.N2" : { }, - "CONC.Ar" : { } - } - } - } - }, - "emit_all.csv" : { } - }, - "model components" : [ - { - "type" : "MICM", - "solve" : false, - "override species" : { - "M" : { "mixing ratio mol mol-1" : 1.0 } - }, - "suppress output" : { - "M" : { } - }, - "solver" : { - "type" : "Rosenbrock", - "chemistry time step [min]" : 5.0, - "absolute tolerance" : 1.0e-12, - "relative tolerance" : 1.0e-4 - } - }, - { - "type" : "musica-emissions" - }, - { - "type" : "musica-loss" - } - ] -} diff --git a/test/integration/input_use_cases/8/run.sh b/test/integration/input_use_cases/8/run.sh deleted file mode 100755 index 18504a04..00000000 --- a/test/integration/input_use_cases/8/run.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash - -# exit on error -set -e -# turn on command echoing -set -v -# make sure that the current directory is the once where this script is -cd ${0%/*} - -exec_str="../../../../music_box config.json" -comp_str="../../../../compare_results output.csv expected_output.csv 1.0e-3 1.0e-12" - -if ! $exec_str; then - echo FAIL - exit 1 -else - if $comp_str; then - echo PASS - exit 0 - else - echo unexpected results - echo FAIL - exit 1 - fi -fi diff --git a/test/integration/input_use_cases/8/run_preprocessor.sh b/test/integration/input_use_cases/8/run_preprocessor.sh deleted file mode 100755 index 922e299e..00000000 --- a/test/integration/input_use_cases/8/run_preprocessor.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -# exit on error -set -e -# turn on command echoing -set -v -# make sure that the current directory is the once where this script is -cd ${0%/*} - -exec_str="../../../../music_box --preprocess-only config.json" -exec_str2="./run_preprocessed_data.sh" - -if ! $exec_str; then - echo FAIL - exit 1 -else - if ! $exec_str2; then - echo FAIL - exit 1 - else - echo PASS - exit 0 - fi -fi diff --git a/test/integration/input_use_cases/9/config.json b/test/integration/input_use_cases/9/config.json deleted file mode 100644 index fd2d482e..00000000 --- a/test/integration/input_use_cases/9/config.json +++ /dev/null @@ -1,94 +0,0 @@ -{ - "box model options" : { - "grid" : "box", - "chemistry time step [min]" : 5.0, - "output time step [hr]" : 1.0, - "simulation length [hr]" : 2.5, - "simulation start" : { - "time zone" : "UTC-8", - "year" : 2020, - "month" : 6, - "day" : 10, - "hour" : 13 - } - }, - "initial conditions" : { - "initial.csv" : { - "delimiter" : "&" - } - }, - "evolving conditions" : { - "emissions.csv" : { - "properties" : { - "time.hr" : { - "shift first entry to" :{ - "time zone" : "UTC-8", - "year" : 2020, - "month" : 6, - "day" : 10, - "hour" : 13 - } - } - } - }, - "wall_loss_rates_011519.txt" : { - "delimiter" : ";", - "time axis" : "columns", - "properties" : { - "simtime" : { - "MusicBox name" : "time", - "units" : "hr", - "shift first entry to" :{ - "time zone" : "UTC-8", - "year" : 2020, - "month" : 6, - "day" : 10, - "hour" : 13 - } - }, - "*" : { - "MusicBox name" : "LOSS.*", - "units" : "min-1" - } - } - }, - "parking_lot_photo_rates.nc" : { - "time offset" : { "years" : 15 }, - "properties" : { - "*" : { "MusicBox name" : "PHOT.*" }, - "time" : { - "MusicBox name" : "time", - "shift first entry to" : { - "year" : 2020, - "month" : 1, - "day" : 1, - "time zone" : "UTC-8" - } - } - } - } - }, - "model components" : [ - { - "type" : "MICM", - "override species" : { - "M" : { "mixing ratio mol mol-1" : 1.0 } - }, - "suppress output" : { - "M" : { } - }, - "solver" : { - "type" : "Rosenbrock", - "chemistry time step [min]" : 5.0, - "absolute tolerance" : 1.0e-12, - "relative tolerance" : 1.0e-4 - } - }, - { - "type" : "musica-emissions" - }, - { - "type" : "musica-loss" - } - ] -} diff --git a/test/integration/input_use_cases/9/run.sh b/test/integration/input_use_cases/9/run.sh deleted file mode 100755 index 18504a04..00000000 --- a/test/integration/input_use_cases/9/run.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash - -# exit on error -set -e -# turn on command echoing -set -v -# make sure that the current directory is the once where this script is -cd ${0%/*} - -exec_str="../../../../music_box config.json" -comp_str="../../../../compare_results output.csv expected_output.csv 1.0e-3 1.0e-12" - -if ! $exec_str; then - echo FAIL - exit 1 -else - if $comp_str; then - echo PASS - exit 0 - else - echo unexpected results - echo FAIL - exit 1 - fi -fi diff --git a/test/integration/input_use_cases/9/run_preprocessor.sh b/test/integration/input_use_cases/9/run_preprocessor.sh deleted file mode 100755 index 922e299e..00000000 --- a/test/integration/input_use_cases/9/run_preprocessor.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -# exit on error -set -e -# turn on command echoing -set -v -# make sure that the current directory is the once where this script is -cd ${0%/*} - -exec_str="../../../../music_box --preprocess-only config.json" -exec_str2="./run_preprocessed_data.sh" - -if ! $exec_str; then - echo FAIL - exit 1 -else - if ! $exec_str2; then - echo FAIL - exit 1 - else - echo PASS - exit 0 - fi -fi From a9828a6a81e6240a80106128f4dbf6b8f3397255 Mon Sep 17 00:00:00 2001 From: Matt Dawson Date: Tue, 19 Sep 2023 15:03:13 -0700 Subject: [PATCH 15/15] update musica-core commit --- cmake/dependencies.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/dependencies.cmake b/cmake/dependencies.cmake index f7e27f7b..7d6b75cc 100644 --- a/cmake/dependencies.cmake +++ b/cmake/dependencies.cmake @@ -5,7 +5,7 @@ include(FetchContent) FetchContent_Declare(musicacore GIT_REPOSITORY https://github.com/NCAR/musica-core.git - GIT_TAG 6a628d4f368c9a6b2aa01e5138660d961819c77c + GIT_TAG 25ef3ab FIND_PACKAGE_ARGS NAMES musicacore )