Commit e2b50df1 authored by Kennedy, Joseph H's avatar Kennedy, Joseph H
Browse files

A little more cleanup and much better data descriptions

parent ae5ef643
......@@ -26,7 +26,7 @@
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
"""An analysis of CESM's cloud cover over Greenland."""
"""An analysis of Model's cloud cover over Greenland."""
from __future__ import absolute_import, division, print_function, unicode_literals
......
......@@ -18,8 +18,8 @@ title = "High cloud cover over Greenland"
def make_plot(config, out_path='.'):
f_isccp = os.path.join(config['cloud_data'], 'ISCCP_ANN_climo.nc')
f_cloudsat = os.path.join(config['cloud_data'], 'CLOUDSAT_ANN_climo.nc')
f_isccp = os.path.join(config['cloud_data'], 'isccp', 'ISCCP_ANN_climo.nc')
f_cloudsat = os.path.join(config['cloud_data'], 'cloudsat', 'CLOUDSAT_ANN_climo.nc')
img_list = []
......
......@@ -18,8 +18,8 @@ title = "Low cloud cover over Greenland"
def make_plot(config, out_path='.'):
f_isccp = os.path.join(config['cloud_data'], 'ISCCP_ANN_climo.nc')
f_cloudsat = os.path.join(config['cloud_data'], 'CLOUDSAT_ANN_climo.nc')
f_isccp = os.path.join(config['cloud_data'], 'isccp', 'ISCCP_ANN_climo.nc')
f_cloudsat = os.path.join(config['cloud_data'], 'cloudsat', 'CLOUDSAT_ANN_climo.nc')
img_list = []
......
......@@ -18,8 +18,8 @@ title = "Cloud cover over Greenland"
def make_plot(config, out_path='.'):
f_isccp = os.path.join(config['cloud_data'], 'ISCCP_ANN_climo.nc')
f_cloudsat = os.path.join(config['cloud_data'], 'CLOUDSAT_ANN_climo.nc')
f_isccp = os.path.join(config['cloud_data'], 'isccp', 'ISCCP_ANN_climo.nc')
f_cloudsat = os.path.join(config['cloud_data'], 'cloudsat', 'CLOUDSAT_ANN_climo.nc')
img_list = []
......
......@@ -31,12 +31,12 @@ def make_plot(config, out_path='.'):
model_cld = ncid1.variables['CLDHGH'][0]
# CLDSAT
f_cloudsat = os.path.join(config['cloud_data'], "CLOUDSAT_{:02d}_aavg_climo.nc".format(month))
f_cloudsat = os.path.join(config['cloud_data'], 'cloudsat', "CLOUDSAT_{:02d}_aavg_climo.nc".format(month))
ncid2 = Dataset(f_cloudsat, mode='r')
cldsat_cld = ncid2.variables['CLDHGH'][0]
# ISCCP
f_isccp = os.path.join(config['cloud_data'], "ISCCP_{:02d}_aavg_climo.nc".format(month))
f_isccp = os.path.join(config['cloud_data'], 'isccp', "ISCCP_{:02d}_aavg_climo.nc".format(month))
ncid3 = Dataset(f_isccp, mode='r')
isccp_cld = ncid3.variables['CLDHGH'][0]
......
......@@ -31,12 +31,12 @@ def make_plot(config, out_path='.'):
model_cld = ncid1.variables['CLDLOW'][0]
# CLDSAT
f_cloudsat = os.path.join(config['cloud_data'], "CLOUDSAT_{:02d}_aavg_climo.nc".format(month))
f_cloudsat = os.path.join(config['cloud_data'], 'cloudsat', "CLOUDSAT_{:02d}_aavg_climo.nc".format(month))
ncid2 = Dataset(f_cloudsat, mode='r')
cldsat_cld = ncid2.variables['CLDLOW'][0]
# ISCCP
f_isccp = os.path.join(config['cloud_data'], "ISCCP_{:02d}_aavg_climo.nc".format(month))
f_isccp = os.path.join(config['cloud_data'], 'isccp', "ISCCP_{:02d}_aavg_climo.nc".format(month))
ncid3 = Dataset(f_isccp, mode='r')
isccp_cld = ncid3.variables['CLDLOW'][0]
......
......@@ -31,12 +31,12 @@ def make_plot(config, out_path='.'):
model_cld = ncid1.variables['CLDTOT'][0]
# CLDSAT
f_cloudsat = os.path.join(config['cloud_data'], "CLOUDSAT_{:02d}_aavg_climo.nc".format(month))
f_cloudsat = os.path.join(config['cloud_data'], 'cloudsat', "CLOUDSAT_{:02d}_aavg_climo.nc".format(month))
ncid2 = Dataset(f_cloudsat, mode='r')
cldsat_cld = ncid2.variables['CLDTOT'][0]
# ISCCP
f_isccp = os.path.join(config['cloud_data'], "ISCCP_{:02d}_aavg_climo.nc".format(month))
f_isccp = os.path.join(config['cloud_data'], 'isccp', "ISCCP_{:02d}_aavg_climo.nc".format(month))
ncid3 = Dataset(f_isccp, mode='r')
isccp_cld = ncid3.variables['CLDTOT'][0]
......
{
"clouds_cesm" : {
"module" : "clouds/clouds_cesm.py",
"module" : "clouds/clouds.py",
"references" : "clouds/clouds_model.bib",
"atm_glob": "data/cesm/atm/b.e10.BG20TRCN.f09_g16.002_??_aavg_climo.nc",
"atm_climo": "data/cesm/atm/b.e10.BG20TRCN.f09_g16.002_JJA_climo.nc",
......
{
"clouds_e3sm" : {
"module" : "clouds/clouds_e3sm.py",
"module" : "clouds/clouds.py",
"references" : "clouds/clouds_model.bib",
"atm_glob": "data/e3sm/atm/20180612.B_case.T62_oEC60to30v3wLI.modified_runoff_mapping.edison_??_aavg_climo.nc",
"atm_climo": "data/e3sm/atm/20180612.B_case.T62_oEC60to30v3wLI.modified_runoff_mapping.edison_JJA_climo.nc",
......
# Copyright (c) 2015,2016, UT-BATTELLE, LLC
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# 1. Redistributions of source code must retain the above copyright notice, this
# list of conditions and the following disclaimer.
#
# 2. Redistributions in binary form must reproduce the above copyright notice,
# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
#
# 3. Neither the name of the copyright holder nor the names of its contributors
# may be used to endorse or promote products derived from this software without
# specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
"""An analysis of E3SM's cloud cover over Greenland."""
from __future__ import absolute_import, division, print_function, unicode_literals
import os
import livvkit
from livvkit.util import elements as el
from livvkit.util import functions as fn
with fn.temp_sys_path(os.path.dirname(__file__)):
import clouds.utils as utils
import clouds.model_cldhgh_ann as clouds_high
import clouds.model_cldlow_ann as clouds_low
import clouds.model_cldtot_ann as clouds_total
import clouds.yearly_cycle_cldhgh as yrly_high
import clouds.yearly_cycle_cldlow as yrly_low
import clouds.yearly_cycle_cldtot as yrly_total
def run(name, config):
"""
Runs the extension.
Args:
name: The name of the extension
config: A dictionary representation of the configuration file
Returns:
A LIVVkit page element containing the LIVVkit elements to display on a webpage
"""
img_dir = os.path.join(livvkit.output_dir, 'validation', 'imgs', name)
fn.mkdir_p(img_dir)
# PLOTS
img_list = []
img_list.extend(clouds_high.make_plot(config, out_path=img_dir))
img_list.extend(clouds_low.make_plot(config, out_path=img_dir))
img_list.extend(clouds_total.make_plot(config, out_path=img_dir))
img_list.extend(yrly_high.make_plot(config, out_path=img_dir))
img_list.extend(yrly_low.make_plot(config, out_path=img_dir))
img_list.extend(yrly_total.make_plot(config, out_path=img_dir))
element_list = [el.gallery('Figures', img_list)]
ref_bib = utils.bib2html(config['references'])
element_list.append(el.html(' '.join(['<div class="references"><h3>References</h3>',
'If you use this LIVVkit extension for any part of your',
'modeling or analyses, please cite:' + ref_bib + '</div>',
])
))
return el.page(name, __doc__, element_list)
def print_summary(summary):
"""
Print out a summary generated by this module's summarize_result method
"""
raise NotImplementedError
def summarize_result(result):
"""
Provides a snapshot of the extension's results to be provided on the
summary webpage and printed to STDOUT via the print_summary method
"""
raise NotImplementedError
def populate_metadata():
"""
Generates the metadata needed for the output summary page
"""
raise NotImplementedError
Example CESM model data
=======================
The data included in this directory are from a fully-coupled simulation using
the Community Earth System model (CESM) v1.0 and provides the minimum required
data to reproduce the figures and analyses as described in Evans et al., 2018.
The simulations were described in Vizcaíno et al., 2013.
Usage
-----
Please include the following references when using this data:
Evans, K. J., Kennedy, J. H., Lu, D., Forrester, M. M., Price, S., Fyke, J.,
Bennett, A. R., Hoffman, M. J., Tezaur, I., Zender, C. S., and Vizcaíno, M.:
LIVVkit 2.1: Automated and extensible ice sheet model validation,
Geosci. Model Dev. Discuss., in review, 2018.
`doi:10.5194/gmd-2018-70 <https://doi.org/10.5194/gmd-2018-70>`_.
Vizcaíno, M., Lipscomb, W. H., Sacks, W., van Angelen, J. H., Wouters, B.,
and van den Broeke, M. R.: Greenland Surface Mass Balance as Simulated by
the Community Earth System Model. Part I: Model Evaluation and 1850–2005
Results, J. Climate, 26, 7993–7812, 2013.
`doi:10.1175/JCLI-D-12-00615.1 <https://doi.org/10.1175/JCLI-D-12-00615.1>`_.
Subdirectories
--------------
* ``atm`` -- CESM atmosphere component data
* ``lnd`` -- CESM land component data
* ``glc`` -- CESM land ice (ice sheet) component data
Rehost
------
Permission to rehost this data has been granted by the above authors.
\ No newline at end of file
Example CESM model data
=======================
The data included in this directory provides the minimum required data to
reproduce the figures and analyses as described in:
Katherine J. Evans, Joseph H. Kennedy, Dan Lu, Mary M. Forrester,
Stephen Price, Jeremy Fyke, Andrew R. Bennett, Matthew J. Hoffman,
Irina Tezaur, and Charles S. Zender. LIVVkit: Automated and extensible ice
sheet model validation. Geoscientific Model Development
(Submitted Feb. 2017).
Usage
-----
Please include the following references when using this data:
Evans 2017
Vizicano ...
Files
-----
* ``b.e10.BG20TRCN.f09_g16.002_ANN_196001_200512_climo.nc`` -- Climatology of
CISM (CESM's ice sheet component) simulation output.
* ``Greenland_5km_v1.1_SacksRev_c110629.nc`` -- CISM input data for CESM.
Rehost
------
Permission to rehost this data has been granted by the above authors.
\ No newline at end of file
CISM-Albany example data
========================
The data included here was generated from a CISM-Albany simulation of Greenland
from 1991 to 2013 via the postprocessing scripts found and described in the
``$LEX/postproc/cism-albany`` directory. The simulation itself, and how to
reproduce it, is described in detail in Price et al., 2017. As the original
model output data in ~132GB in size and much too large to distribute and only
the processed data is included.
Usage
-----
Because this data is intended as an example only, it is not recommended for
scientific analyses. However, if you do use any part of this data, please
include the following reference when using this dataset:
S. F. Price, M. J. Hoffman, J. A. Bonin, I. M. Howat, T. Neumann, J. Saba,
I. Tezaur, J. Guerber, D. P. Chambers, K. J. Evans, J. H. Kennedy,
J. Lenaerts, W. H. Lipscomb, M. Perego, A. G. Salinger, R. S. Tuminaro,
M. R. van den Broeke, and S. M. J. Nowicki. An ice sheet model validation
framework for the Greenland ice sheet. Geoscientific Model Development, 10,
255-270, 2017.
`doi:10.5194/gmd-10-255-2017 <https://doi.org/10.5194/gmd-10-255-2017>`_.
This citation has been provided in BibTeX form in the ``gmd-10-255-2017.bib``
file with ``Price2017`` as the citation key, and will be rendered in the
references section on the output website.
Rehost
------
The CISM-Albany data was provided by the Authors of Price et al. (2017) and
permission to rehost the postprocessed data was granted by the aforementioned
authors.
\ No newline at end of file
@Article{Price2017,
AUTHOR = {Price, S. F. and Hoffman, M. J. and Bonin, J. A. and Howat, I. M. and Neumann, T. and Saba, J. and Tezaur, I. and Guerber, J. and Chambers, D. P. and Evans, K. J. and Kennedy, J. H. and Lenaerts, J. and Lipscomb, W. H. and Perego, M. and Salinger, A. G. and Tuminaro, R. S. and van den Broeke, M. R. and Nowicki, S. M. J.},
TITLE = {An ice sheet model validation framework for the Greenland ice sheet},
JOURNAL = {Geoscientific Model Development},
VOLUME = {10},
YEAR = {2017},
NUMBER = {1},
PAGES = {255--270},
URL = {https://www.geosci-model-dev.net/10/255/2017/},
DOI = {10.5194/gmd-10-255-2017}
}
\ No newline at end of file
CISM-Glissade example data
==========================
The data included here is CISM-Glissade input data from the Community Earth
System Model (CESM) v1.1 input data repo.
Usage
-----
Because this data is intended as input only, it is not recommended for
scientific analyses. However, if you do use any part of this data, please
include the following reference when using this dataset:
Lipscomb, W. H., Price, S. F., Hoffman, M. J., Leguy, G. R., Bennett, A. R.,
Bradley, S. L., Evans, K. J., Fyke, J. G., Kennedy, J. H., Perego, M.,
Ranken, D. M., Sacks, W. J., Salinger, A. G., Vargo, L. J., and Worley, P. H.:
Description and Evaluation of the Community Ice Sheet Model (CISM) v2.1,
Geosci. Model Dev. Discuss., in review, 2018.
`doi:10.5194/gmd-2018-151 <https://doi.org/10.5194/gmd-2018-151>`_.
This citation has been provided in BibTeX form in the ``gmd-2018-151.bib``
file with ``Lipscomb2018`` as the citation key, and will be rendered in the
references section on the output website.
Rehost
------
The CISM input data was released to the public domain; see the
``CESM Data Management and Data Distribution Plan <http://www.cesm.ucar.edu/management/docs/data.mgt.plan.2011.pdf>``.
\ No newline at end of file
@Article{Lipscomb2018,
AUTHOR = {Lipscomb, W. H. and Price, S. F. and Hoffman, M. J. and Leguy, G. R. and Bennett, A. R. and Bradley, S. L. and Evans, K. J. and Fyke, J. G. and Kennedy, J. H. and Perego, M. and Ranken, D. M. and Sacks, W. J. and Salinger, A. G. and Vargo, L. J. and Worley, P. H.},
TITLE = {Description and Evaluation of the Community Ice Sheet Model
(CISM) v2.1},
JOURNAL = {Geoscientific Model Development Discussions},
VOLUME = {2018},
YEAR = {2018},
PAGES = {1--65},
URL = {https://www.geosci-model-dev-discuss.net/gmd-2018-151/},
DOI = {10.5194/gmd-2018-151}
}
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment