diff --git a/machine_readable_data/README.md b/machine_readable_data/README.md new file mode 100644 index 0000000..30830f0 --- /dev/null +++ b/machine_readable_data/README.md @@ -0,0 +1,2 @@ +This directory contains the csv files that have output matching the tables on the e3sm_data_docs webpage. +These csv files are meant for machine readability whereas the web pages are meant for human readability. diff --git a/machine_readable_data/v1_WaterCycle_simulations.csv b/machine_readable_data/v1_WaterCycle_simulations.csv new file mode 100644 index 0000000..c2ef417 --- /dev/null +++ b/machine_readable_data/v1_WaterCycle_simulations.csv @@ -0,0 +1,91 @@ +Simulation,Data Size (TB),ESGF Links,HPSS Path +20180129.DECKv1b_piControl.ne30_oEC.edison,40,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22E3SM-Project%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22piControl%22%2C%22variant_label%22%3A%22r1i1p1f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/20180129.DECKv1b_piControl.ne30_oEC.edison +20180215.DECKv1b_abrupt4xCO2.ne30_oEC.edison,12,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22E3SM-Project%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22abrupt-4xCO2%22%2C%22variant_label%22%3A%22r1i1p1f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/20180215.DECKv1b_abrupt4xCO2.ne30_oEC.edison +20190722.DECKv1b_abrupt4xCO2.ne30_oEC3.compy,14,,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/20190722.DECKv1b_abrupt4xCO2.ne30_oEC3.compy +20180215.DECKv1b_1pctCO2.ne30_oEC.edison,12,,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/20180215.DECKv1b_1pctCO2.ne30_oEC.edison +20180215.DECKv1b_H1.ne30_oEC.edison,13,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22E3SM-Project%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22historical%22%2C%22variant_label%22%3A%22r1i1p1f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/20180215.DECKv1b_H1.ne30_oEC.edison +20180220.DECKv1b_H2.ne30_oEC.edison,13,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22E3SM-Project%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22historical%22%2C%22variant_label%22%3A%22r2i1p1f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/20180220.DECKv1b_H2.ne30_oEC.edison +20180302.DECKv1b_H3.ne30_oEC.edison,13,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22E3SM-Project%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22historical%22%2C%22variant_label%22%3A%22r3i1p1f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/20180302.DECKv1b_H3.ne30_oEC.edison +20180305.DECKv1b_H4.ne30_oEC.edison,13,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22E3SM-Project%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22historical%22%2C%22variant_label%22%3A%22r4i1p1f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/20180305.DECKv1b_H4.ne30_oEC.edison +20180307.DECKv1b_H5.ne30_oEC.edison,13,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22E3SM-Project%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22historical%22%2C%22variant_label%22%3A%22r5i1p1f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/20180307.DECKv1b_H5.ne30_oEC.edison +20180316.DECKv1b_A1.ne30_oEC.edison,4,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22E3SM-Project%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22amip%22%2C%22variant_label%22%3A%22r1i1p1f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/20180316.DECKv1b_A1.ne30_oEC.edison +20180622.DECKv1b_A2.ne30_oEC.edison,4,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22E3SM-Project%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22amip%22%2C%22variant_label%22%3A%22r2i1p1f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/20180622.DECKv1b_A2.ne30_oEC.edison +20180716.DECKv1b_A3.ne30_oEC.edison,5,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22E3SM-Project%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22amip%22%2C%22variant_label%22%3A%22r3i1p1f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/20180716.DECKv1b_A3.ne30_oEC.edison +20180508.DECKv1b_A1_1850allF.ne30_oEC.edison,5,,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/20180508.DECKv1b_A1_1850allF.ne30_oEC.edison +20180622.DECKv1b_A2_1850allF.ne30_oEC.edison,4,,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/20180622.DECKv1b_A2_1850allF.ne30_oEC.edison +20180716.DECKv1b_A3_1850allF.ne30_oEC.edison,5,,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/20180716.DECKv1b_A3_1850allF.ne30_oEC.edison +20180508.DECKv1b_A1_1850aeroF.ne30_oEC.edison,5,,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/20180508.DECKv1b_A1_1850aeroF.ne30_oEC.edison +20180622.DECKv1b_A2_1850aeroF.ne30_oEC.edison,4,,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/20180622.DECKv1b_A2_1850aeroF.ne30_oEC.edison +20180716.DECKv1b_A3_1850aeroF.ne30_oEC.edison,5,,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/20180716.DECKv1b_A3_1850aeroF.ne30_oEC.edison +20190404.DECKv1b_H1_hist-GHG.ne30_oEC.edison,13,,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/20190404.DECKv1b_H1_hist-GHG.ne30_oEC.edison +20190404.DECKv1b_H2_hist-GHG.ne30_oEC.edison,13,,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/20190404.DECKv1b_H2_hist-GHG.ne30_oEC.edison +20190404.DECKv1b_H3_hist-GHG.ne30_oEC.edison,13,,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/20190404.DECKv1b_H3_hist-GHG.ne30_oEC.edison +LE_historical_ens1,26,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22historical%22%2C%22variant_label%22%3A%22r1i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_historical_ens1 +LE_historical_ens2,25,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22historical%22%2C%22variant_label%22%3A%22r2i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_historical_ens2 +LE_historical_ens3,24,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22historical%22%2C%22variant_label%22%3A%22r3i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_historical_ens3 +LE_historical_ens4,28,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22historical%22%2C%22variant_label%22%3A%22r4i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_historical_ens4 +LE_historical_ens5,27,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22historical%22%2C%22variant_label%22%3A%22r5i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_historical_ens5 +LE_historical_ens6,27,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22historical%22%2C%22variant_label%22%3A%22r6i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_historical_ens6 +LE_historical_ens7,28,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22historical%22%2C%22variant_label%22%3A%22r7i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_historical_ens7 +LE_historical_ens8,25,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22historical%22%2C%22variant_label%22%3A%22r8i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_historical_ens8 +LE_historical_ens9,28,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22historical%22%2C%22variant_label%22%3A%22r9i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_historical_ens9 +LE_historical_ens10,28,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22historical%22%2C%22variant_label%22%3A%22r10i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_historical_ens10 +LE_historical_ens11,28,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22historical%22%2C%22variant_label%22%3A%22r11i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_historical_ens11 +LE_historical_ens12,28,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22historical%22%2C%22variant_label%22%3A%22r12i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_historical_ens12 +LE_historical_ens13,24,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22historical%22%2C%22variant_label%22%3A%22r13i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_historical_ens13 +LE_historical_ens14,24,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22historical%22%2C%22variant_label%22%3A%22r14i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_historical_ens14 +LE_historical_ens15,24,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22historical%22%2C%22variant_label%22%3A%22r15i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_historical_ens15 +LE_historical_ens16,24,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22historical%22%2C%22variant_label%22%3A%22r16i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_historical_ens16 +LE_historical_ens17,24,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22historical%22%2C%22variant_label%22%3A%22r17i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_historical_ens17 +LE_historical_ens18,24,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22historical%22%2C%22variant_label%22%3A%22r18i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_historical_ens18 +LE_historical_ens19,24,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22historical%22%2C%22variant_label%22%3A%22r19i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_historical_ens19 +LE_historical_ens20,24,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22historical%22%2C%22variant_label%22%3A%22r20i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_historical_ens20 +LE_ssp370_ens1,5,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22ssp370%22%2C%22variant_label%22%3A%22r1i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_ssp370_ens1 +LE_ssp370_ens2,5,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22ssp370%22%2C%22variant_label%22%3A%22r2i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_ssp370_ens2 +LE_ssp370_ens3,5,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22ssp370%22%2C%22variant_label%22%3A%22r3i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_ssp370_ens3 +LE_ssp370_ens4,5,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22ssp370%22%2C%22variant_label%22%3A%22r4i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_ssp370_ens4 +LE_ssp370_ens5,5,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22ssp370%22%2C%22variant_label%22%3A%22r5i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_ssp370_ens5 +LE_ssp370_ens6,5,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22ssp370%22%2C%22variant_label%22%3A%22r6i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_ssp370_ens6 +LE_ssp370_ens7,5,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22ssp370%22%2C%22variant_label%22%3A%22r7i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_ssp370_ens7 +LE_ssp370_ens8,5,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22ssp370%22%2C%22variant_label%22%3A%22r8i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_ssp370_ens8 +LE_ssp370_ens9,5,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22ssp370%22%2C%22variant_label%22%3A%22r9i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_ssp370_ens9 +LE_ssp370_ens10,5,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22ssp370%22%2C%22variant_label%22%3A%22r10i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_ssp370_ens10 +LE_ssp370_ens11,5,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22ssp370%22%2C%22variant_label%22%3A%22r11i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_ssp370_ens11 +LE_ssp370_ens12,5,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22ssp370%22%2C%22variant_label%22%3A%22r12i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_ssp370_ens12 +LE_ssp370_ens13,5,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22ssp370%22%2C%22variant_label%22%3A%22r13i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_ssp370_ens13 +LE_ssp370_ens14,5,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22ssp370%22%2C%22variant_label%22%3A%22r14i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_ssp370_ens14 +LE_ssp370_ens15,5,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22ssp370%22%2C%22variant_label%22%3A%22r15i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_ssp370_ens15 +LE_ssp370_ens16,5,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22ssp370%22%2C%22variant_label%22%3A%22r16i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_ssp370_ens16 +LE_ssp370_ens17,5,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22ssp370%22%2C%22variant_label%22%3A%22r17i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_ssp370_ens17 +LE_ssp370_ens18,5,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22ssp370%22%2C%22variant_label%22%3A%22r18i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_ssp370_ens18 +LE_ssp370_ens19,5,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22ssp370%22%2C%22variant_label%22%3A%22r19i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_ssp370_ens19 +LE_ssp370_ens20,5,https://esgf-node.ornl.gov/search?project=CMIP6&activeFacets=%7B%22institution_id%22%3A%22UCSB%22%2C%22source_id%22%3A%22E3SM-1-0%22%2C%22experiment_id%22%3A%22ssp370%22%2C%22variant_label%22%3A%22r20i2p2f1%22%7D,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/LE_ssp370_ens20 +20190807.DECKv1b_P1_SSP5-8.5.ne30_oEC.cori-knl,8,,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/20190807.DECKv1b_P1_SSP5-8.5.ne30_oEC.cori-knl +20190821.DECKv1b_P2_SSP5-8.5.ne30_oEC.cori-knl,8,,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/20190821.DECKv1b_P2_SSP5-8.5.ne30_oEC.cori-knl +20190821.DECKv1b_P3_SSP5-8.5.ne30_oEC.cori-knl,8,,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/20190821.DECKv1b_P3_SSP5-8.5.ne30_oEC.cori-knl +20190821.DECKv1b_P4_SSP5-8.5.ne30_oEC.cori-knl,8,,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/20190821.DECKv1b_P4_SSP5-8.5.ne30_oEC.cori-knl +20190821.DECKv1b_P5_SSP5-8.5.ne30_oEC.cori-knl,8,,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/20190821.DECKv1b_P5_SSP5-8.5.ne30_oEC.cori-knl +20191019.DECKv1b_P1_SSP5-8.5-GHG.ne30_oEC.cori-knl,8,,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/20191019.DECKv1b_P1_SSP5-8.5-GHG.ne30_oEC.cori-knl +20191019.DECKv1b_P2_SSP5-8.5-GHG.ne30_oEC.cori-knl,8,,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/20191019.DECKv1b_P2_SSP5-8.5-GHG.ne30_oEC.cori-knl +20191019.DECKv1b_P3_SSP5-8.5-GHG.ne30_oEC.cori-knl,9,,/home/projects/e3sm/www/WaterCycle/E3SMv1/LR/20191019.DECKv1b_P3_SSP5-8.5-GHG.ne30_oEC.cori-knl +theta.20180906.branch_noCNT.A_WCYCL1950S_CMIP6_HR.ne120_oRRS18v3_ICG,159,,/home/projects/e3sm/www/WaterCycle/E3SMv1/HR/theta.20180906.branch_noCNT.A_WCYCL1950S_CMIP6_HR.ne120_oRRS18v3_ICG +theta.20190910.branch_noCNT.n438b.unc03.A_WCYCL1950S_CMIP6_HR.ne120_oRRS18v3_ICG,103,,/home/projects/e3sm/www/WaterCycle/E3SMv1/HR/theta.20190910.branch_noCNT.n438b.unc03.A_WCYCL1950S_CMIP6_HR.ne120_oRRS18v3_ICG +theta.20190910.branch_noCNT.n825def.unc06.A_WCYCL1950S_CMIP6_HR.ne120_oRRS18v3_ICG,337,,/home/projects/e3sm/www/WaterCycle/E3SMv1/HR/theta.20190910.branch_noCNT.n825def.unc06.A_WCYCL1950S_CMIP6_HR.ne120_oRRS18v3_ICG +20210112.A_WCYCL1950S_CMIP6_HR.ne120_oRRS18v3_ICG.unc06,56,,/home/projects/e3sm/www/WaterCycle/E3SMv1/HR/20210112.A_WCYCL1950S_CMIP6_HR.ne120_oRRS18v3_ICG.unc06 +20200517-maint-1.0-tro.A_WCYCL20TRS_CMIP6_HR.ne120_oRRS18v3_ICG.unc11,103,,/home/projects/e3sm/www/WaterCycle/E3SMv1/HR/20200517-maint-1.0-tro.A_WCYCL20TRS_CMIP6_HR.ne120_oRRS18v3_ICG.unc11 +202101027-maint-1.0-tro.A_WCYCL20TRS_CMIP6_HR.ne120_oRRS18v3_ICG.unc12,96,,/home/projects/e3sm/www/WaterCycle/E3SMv1/HR/202101027-maint-1.0-tro.A_WCYCL20TRS_CMIP6_HR.ne120_oRRS18v3_ICG.unc12 +20190509.A_WCYCL1950S_CMIP6_LRtunedHR.ne30_oECv3_ICG.anvil,4,,/home/projects/e3sm/www/WaterCycle/E3SMv1/HR/20190509.A_WCYCL1950S_CMIP6_LRtunedHR.ne30_oECv3_ICG.anvil +20210104.maint-1.0-A_WCYCL20TRS_CMIP6_LRtunedHR.ne30_oECv3_ICG.cori-knl.unc11,11,,/home/projects/e3sm/www/WaterCycle/E3SMv1/HR/20210104.maint-1.0-A_WCYCL20TRS_CMIP6_LRtunedHR.ne30_oECv3_ICG.cori-knl.unc11 +cori-knl.20190214_maint-1.0.F2010-CMIP6-HR.dailySST.noCNT.ne120_oRRS18v3,3,,/home/projects/e3sm/www/WaterCycle/E3SMv1/HR/cori-knl.20190214_maint-1.0.F2010-CMIP6-HR.dailySST.noCNT.ne120_oRRS18v3 +cori-knl.20190214_maint-1.0.F2010-CMIP6-HR.noCNT.ARE.nudgeUV.ne120_oRRS18v3,2,,/home/projects/e3sm/www/WaterCycle/E3SMv1/HR/cori-knl.20190214_maint-1.0.F2010-CMIP6-HR.noCNT.ARE.nudgeUV.ne120_oRRS18v3 +cori-knl.20190214_maint-1.0.F2010-CMIP6-HR.dailySSTplus4K.noCNT.ne120_oRRS18v3,3,,/home/projects/e3sm/www/WaterCycle/E3SMv1/HR/cori-knl.20190214_maint-1.0.F2010-CMIP6-HR.dailySSTplus4K.noCNT.ne120_oRRS18v3 +cori-knl.20190214_maint-1.0.F2010C5-CMIP6-HR.ARE.nudgeUV.1850aero.ne120_oRRS18v3,2,,/home/projects/e3sm/www/WaterCycle/E3SMv1/HR/cori-knl.20190214_maint-1.0.F2010C5-CMIP6-HR.ARE.nudgeUV.1850aero.ne120_oRRS18v3 +cori-haswell.20190513.F2010C5-CMIP6-LR.ne30_oECv3,0,,/home/projects/e3sm/www/WaterCycle/E3SMv1/HR/cori-haswell.20190513.F2010C5-CMIP6-LR.ne30_oECv3 +edison.20190415_maint-1.0.F2010C5-CMIP6-LR.ARE.nudgeUV.ne30_oECv3,0,,/home/projects/e3sm/www/WaterCycle/E3SMv1/HR/edison.20190415_maint-1.0.F2010C5-CMIP6-LR.ARE.nudgeUV.ne30_oECv3 +edison.20190415_maint-1.0.F2010C5-CMIP6-LR.ARE.nudgeUV.1850aero.ne30_oECv3,0,,/home/projects/e3sm/www/WaterCycle/E3SMv1/HR/edison.20190415_maint-1.0.F2010C5-CMIP6-LR.ARE.nudgeUV.1850aero.ne30_oECv3 +cori-haswell.20190513.F2010C5-CMIP6-LR.plus4K.ne30_oECv3,0,,/home/projects/e3sm/www/WaterCycle/E3SMv1/HR/cori-haswell.20190513.F2010C5-CMIP6-LR.plus4K.ne30_oECv3 +cori-haswell.20190513.F2010LRtunedHR.noCNT.ne30_oECv3,0,,/home/projects/e3sm/www/WaterCycle/E3SMv1/HR/cori-haswell.20190513.F2010LRtunedHR.noCNT.ne30_oECv3 +cori-haswell.20190513.F2010LRtunedHR.noCNT.ARE.nudgeUV.ne30_oECv3,0,,/home/projects/e3sm/www/WaterCycle/E3SMv1/HR/cori-haswell.20190513.F2010LRtunedHR.noCNT.ARE.nudgeUV.ne30_oECv3 +cori-haswell.20190513.F2010LRtunedHR.noCNT.ARE.nudgeUV.1850aero.ne30_oECv3,0,,/home/projects/e3sm/www/WaterCycle/E3SMv1/HR/cori-haswell.20190513.F2010LRtunedHR.noCNT.ARE.nudgeUV.1850aero.ne30_oECv3 +cori-haswell.20190513.F2010LRtunedHR.plus4K.noCNT.ne30_oECv3,0,,/home/projects/e3sm/www/WaterCycle/E3SMv1/HR/cori-haswell.20190513.F2010LRtunedHR.plus4K.noCNT.ne30_oECv3 +20211021-maint-1.0-tro.A_WCYCLSSP585_CMIP6_HR.ne120_oRRS18v3_ICG.unc12-3rd-attempt,113,,/home/projects/e3sm/www/WaterCycle/E3SMv1/HR/20211021-maint-1.0-tro.A_WCYCLSSP585_CMIP6_HR.ne120_oRRS18v3_ICG.unc12-3rd-attempt diff --git a/utils/generate_html.bash b/utils/generate_html.bash index 80ad019..5c108dd 100755 --- a/utils/generate_html.bash +++ b/utils/generate_html.bash @@ -1,5 +1,5 @@ -pr_num=60 -try_num=11 +pr_num=61 +try_num=5 # Chrysalis #destination_dir=/lcrc/group/e3sm/public_html/diagnostic_output/$USER/data_docs_${pr_num} diff --git a/utils/generate_tables.py b/utils/generate_tables.py index a200ab7..1f21f3b 100644 --- a/utils/generate_tables.py +++ b/utils/generate_tables.py @@ -6,7 +6,7 @@ from typing import Dict, List, Tuple import urllib.parse -# Functions to compute fields for simulations ########################################### +# Functions to compute fields for simulations ################################# def get_data_size_and_hpss(hpss_path: str) -> Tuple[str, str]: """Get the data size in TB""" is_symlink: bool = check_if_symlink(hpss_path) @@ -139,7 +139,7 @@ def get_run_script_reproduction(model_version: str, simulation_name: str) -> str run_script_reproduction = "" return run_script_reproduction -# Define simulations and their grouping ########################################### +# Define simulations and their grouping ####################################### class Simulation(object): def __init__(self, simulation_dict): self.model_version = simulation_dict["model_version"] @@ -183,10 +183,20 @@ def __init__(self, simulation_dict): if not self.run_script_original: self.run_script_original = "N/A" - def get_row(self, output_file): - if output_file.endswith("simulation_table.rst"): - return [self.simulation_name, self.data_size, self.esgf, self.hpss] - elif output_file.endswith("reproduction_table.rst"): + def get_row(self, output_file, minimal_content: bool = False) -> List[str]: + if "simulation" in output_file: + row = [self.simulation_name, self.data_size, self.esgf, self.hpss] + if minimal_content: + match_object: re.Match = re.match("`.*<(.*)>`_", self.esgf) + if match_object: + row[2] = match_object.group(1) # Extract URL from the esgf link + if self.hpss.startswith("(symlink) "): + # Remove symlink prefix for the HPSS path + # Since we don't want that in the csv output, + # which a computer reads. + row[3] = row[3].replace("(symlink) ", "") + return row + elif "reproduction" in output_file: return [self.simulation_name, self.machine, self.checksum, self.run_script_reproduction, self.run_script_original] else: raise RuntimeError(f"Invalid output_file={output_file}") @@ -223,7 +233,7 @@ def __init__(self, name): def append(self, group): self.groups.update([(group.name, group)]) -# Construct simulations ########################################### +# Construct simulations ####################################################### def read_simulations(csv_file): # model_version > group > resolution > category > simulation_name, @@ -284,7 +294,18 @@ def read_simulations(csv_file): c.simulations.update([(s.simulation_name, s)]) return versions -# Construct table display of simulations ########################################### +# Construct output csv ######################################################## + +def construct_output_csv(resolutions: OrderedDict[str, Category], header_cells: List[str], output_file: str): + with open(output_file, 'w', newline='', encoding='utf-8') as f: + writer = csv.writer(f) + writer.writerow(header_cells) + for resolution in resolutions.values(): + for category in resolution.categories.values(): + for simulation in category.simulations.values(): + writer.writerow(simulation.get_row(output_file, minimal_content=True)) + +# Construct table display of simulations ###################################### def pad_cells(cells: List[str], col_divider: str, cell_paddings: List[int]) -> str: string = col_divider for i in range(len(cells)): @@ -328,19 +349,25 @@ def generate_table(page_type: str, resolutions: OrderedDict[str, Category], head def construct_pages(csv_file: str, model_version: str, group_name: str, include_reproduction_scripts: bool = False): versions: OrderedDict[str, ModelVersion] = read_simulations(csv_file) resolutions: OrderedDict[str, Category] = versions[model_version].groups[group_name].resolutions + header_cells: List[str] = ["Simulation", "Data Size (TB)", "ESGF Links", "HPSS Path"] + construct_output_csv(resolutions, header_cells, f"../machine_readable_data/{model_version}_{group_name}_simulations.csv") + print(f"csv of the simulations will be available at https://github.com/E3SM-Project/e3sm_data_docs/blob/main/machine_readable_data/{model_version}_{group_name}_simulations.csv") # TODO: add proper subdirs and index.rst files in docs/ generate_table( f"{model_version} {group_name} simulation table", resolutions, - ["Simulation", "Data Size (TB)", "ESGF Links", "HPSS Path"], + header_cells, f"../docs/source/{model_version}/{group_name}/simulation_data/simulation_table.rst", [85, 15, 400, 140] ) if include_reproduction_scripts: + header_cells_reproduction: List[str] = ["Simulation", "Machine", "10 day checksum", "Reproduction Script", "Original Script (requires significant changes to run!!)",] + construct_output_csv(resolutions, header_cells_reproduction, f"../machine_readable_data/{model_version}_{group_name}_reproductions.csv") + print(f"csv of the reproductions will be available at https://github.com/E3SM-Project/e3sm_data_docs/blob/main/machine_readable_data/{model_version}_{group_name}_reproductions.csv") generate_table( f"{model_version} {group_name} reproduction table", resolutions, - ["Simulation", "Machine", "10 day checksum", "Reproduction Script", "Original Script (requires significant changes to run!!)",], + header_cells_reproduction, f"../docs/source/{model_version}/{group_name}/reproducing_simulations/reproduction_table.rst", # TODO: The script boxes have to be 200 characters wide to fit in the links... # This is unfortunate because the actual displayed text is quite short. @@ -356,4 +383,4 @@ def construct_pages(csv_file: str, model_version: str, group_name: str, include_ # Sources for v1 data # https://acme-climate.atlassian.net/wiki/spaces/ED/pages/4495441922/V1+Simulation+backfill+WIP # https://acme-climate.atlassian.net/wiki/spaces/DOC/pages/1271169273/v1+High+Res+Coupled+Run+Output+HPSS+Archive - construct_pages("simulations_v1_water_cycle.csv", "v1", "WaterCycle") + construct_pages("input/simulations_v1_water_cycle.csv", "v1", "WaterCycle") diff --git a/utils/simulations_v1_water_cycle.csv b/utils/input/simulations_v1_water_cycle.csv similarity index 100% rename from utils/simulations_v1_water_cycle.csv rename to utils/input/simulations_v1_water_cycle.csv diff --git a/utils/simulations_v2_1.csv b/utils/input/simulations_v2_1.csv similarity index 100% rename from utils/simulations_v2_1.csv rename to utils/input/simulations_v2_1.csv diff --git a/utils/simulations_v2_water_cycle.csv b/utils/input/simulations_v2_water_cycle.csv similarity index 100% rename from utils/simulations_v2_water_cycle.csv rename to utils/input/simulations_v2_water_cycle.csv