diff --git a/docs/conf.py b/docs/conf.py
index 77c8deb5d..f1d8c9453 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -185,7 +185,7 @@
# Build some custom rst files
-xmlFileName = '../mpas_analysis/obs/observationstable.xml'
-for component in ['ocean', 'seaice', 'landice']:
+xmlFileName = '../mpas_analysis/obs/observational_datasets.xml'
+for component in ['ocean', 'seaice']:
build_rst_table_from_xml(xmlFileName, '{}_obs_table.rst'.format(component),
component)
\ No newline at end of file
diff --git a/docs/observations.rst b/docs/observations.rst
index 0a9475b55..8c5ea35b6 100644
--- a/docs/observations.rst
+++ b/docs/observations.rst
@@ -1,3 +1,6 @@
+Observations
+============
+
A variety of observational datasets are used within MPAS-Analysis:
Ocean Observations
@@ -8,6 +11,3 @@ Sea Ice Observations
--------------------
.. include:: seaice_obs_table.rst
-Land Ice Observations
----------------------
-.. include:: landice_obs_table.rst
diff --git a/mpas_analysis/obs/observational_datasets.xml b/mpas_analysis/obs/observational_datasets.xml
new file mode 100644
index 000000000..a5d5675ba
--- /dev/null
+++ b/mpas_analysis/obs/observational_datasets.xml
@@ -0,0 +1,957 @@
+
+
+
+
+
+
+
+ SST merged Hadley Center-NOAA/OI data set
+
+
+ ocean
+
+
+ The merged Hadley-OI sea surface temperature (SST) and sea ice
+ concentration (SIC) data sets were specifically developed as surface
+ forcing data sets for AMIP style uncoupled simulations of the Community
+ Atmosphere Model (CAM). The Hadley Centre's SST/SIC version 1.1
+ (HADISST1), which is derived gridded, bias-adjusted in situ observations,
+ were merged with the NOAA-Optimal Interpolation (version 2; OI.v2)
+ analyses. The HADISST1 spanned 1870 onward but the OI.v2, which started
+ in November 1981, better resolved features such as the Gulf Stream and
+ Kuroshio Current which are important components of the climate system.
+ Since the two data sets used different development methods, anomalies
+ from a base period were used to create a more homogeneous record. Also,
+ additional adjustments were made to the SIC data set.
+
+
+ [NCAR Hadley-NOAA/OI SST website]
+ (https://climatedataguide.ucar.edu/climate-data/merged-hadley-noaaoi-sea-surface-temperature-sea-ice-concentration-hurrell-et-al-2008)
+
+
+ Acknowledgment: Hurrell, J. W., J. J. Hack, D. Shea, J. M. Caron, and J. Rosinski,
+ 2008: A New Sea Surface Temperature and Sea Ice Boundary Dataset for the Community
+ Atmosphere Model. Journal of Climate, 21, 5145-5153.
+
+
+ [Hurrell et al. (2008)](https://doi.org/10.1175/2008JCLI2292.1)
+
+
+ @article{Hurrell2008,
+ author = {James W. Hurrell and James J. Hack and Dennis Shea and Julie M. Caron and James Rosinski},
+ title = {A New Sea Surface Temperature and Sea Ice Boundary Dataset for the Community Atmosphere Model},
+ journal = {Journal of Climate},
+ volume = {21},
+ number = {19},
+ pages = {5145-5153},
+ year = {2008},
+ doi = {10.1175/2008JCLI2292.1},
+ URL = {https://doi.org/10.1175/2008JCLI2292.1}
+ }
+
+
+ - ftp://ftp.cgd.ucar.edu/archive/SSTICE/MODEL.SST.HAD187001-198110.OI198111-201712.nc
+
+
+
+
+ - climatologyMapSST
+
+
+
+
+
+ SSS from NASA Aquarius satellite
+
+
+ ocean
+
+
+ Level 3 Aquarius sea surface salinity (SSS) data products have a temporal
+ resolutions of daily, 8 day, monthly, 3 months, and annual. Monthly and
+ seasonal climatology
+ products from Aqaurius are also available. The Aquarius instrument
+ provides global coverage every 7 days. L3 products are gridded at 1
+ degree spatial resolution.
+
+
+ [NASA Aquarius Website]
+ (https://podaac.jpl.nasa.gov/dataset/AQUARIUS_L4_OISSS_IPRC_7DAY_V4)
+
+
+
+ NASA data are not copyrighted; however, when you publish our data or
+ results derived therefrom, we request that you include an acknowledgment
+ within the text of the publication and reference list.
+ [Data Citation and Acknowledgements]
+ (https://podaac.jpl.nasa.gov/CitingPODAAC)
+
+
+ [Lagerloef et al. (2015)](ftp://podaac.jpl.nasa.gov/SalinityDensity/aquarius/docs/v4/AQ-014-PS-0016_AquariusSalinityDataValidationAnalysis_DatasetVersion4.0and3.0.pdf)
+
+
+
+
+ ftp://podaac-ftp.jpl.nasa.gov/allData/aquarius/L4/IPRC/v4/7day/
+
+
+ (missing)
+
+
+ - climatologyMapSSS
+
+
+
+
+
+ AVISO Absolute Dynamic Topography
+
+
+ ocean
+
+
+ [NASA JPL AVISO website](https://podaac.jpl.nasa.gov/dataset/AVISO_L4_DYN_TOPO_1DEG_1MO)
+ This dataset contains absolute dynamic topography (similar to sea level
+ but with respect to the geoid) binned and averaged monthly on 1 degree
+ grids. The coverage is from October 1992 to December 2010. These data
+ were provided by AVISO (French space agency data provider) to support the
+ CMIP5 (Coupled Model Intercomparison Project Phase 5) under the World
+ Climate Research Program (WCRP) and was first made available via the JPL
+ Earth System Grid. The dynamic topography are derived from sea surface
+ height measured by several satellites including Envisat, TOPEX/Poseidon,
+ Jason-1 and OSTM/Jason-2, and referenced to the geoid. Along with this
+ dataset, two additional ancillary data files are included in the same
+ directory which contain the number of observations and standard error
+ co-located on the same 1 degree grids.
+
+
+ - [NASA JPL AVISO website](https://podaac.jpl.nasa.gov/dataset/AVISO_L4_DYN_TOPO_1DEG_1MO)
+
+
+ When using Ssalto/Duacs data (NRT or DT along-track Absolute Dynamic
+ Topography (ADT), maps of SLA geostrophic currents (MSLA UV) or maps of
+ ADT heights and currents (MADT H and UV), climatologies and averages of
+ MSLA-H), please cite: "The altimeter products were produced by
+ Ssalto/Duacs and distributed by Aviso, with support from Cnes
+ (http://www.aviso.altimetry.fr/duacs/)"
+
+
+ [AVISO: Sea Surface Height above Geoid]
+ (ftp://podaac.jpl.nasa.gov/allData/aviso/L4/dynamic_topo_1deg_1mo/docs/zosTechNote_AVISO_L4_199210-201012.pdf)
+
+
+
+
+ - ftp://podaac-ftp.jpl.nasa.gov/allData/aviso/L4/dynamic_topo_1deg_1mo/zos_AVISO_L4_199210-201012.nc
+
+
+
+
+ - climatologyMapSSH
+
+
+
+
+
+ Argo Mixed Layer Depth (MLD) climatology
+
+
+ ocean
+
+
+ A mixed layer climatology and database (described in Holte et al. 2017)
+ using Argo profiles and a hybrid method (Holte and Talley 2009) for
+ finding the mixed layer depth (MLD). The climatology incorporates over
+ 1,385,000 Argo profiles (through February 2017). The new hybrid algorithm
+ models the general shape of each profile, searches for physical features
+ in the profile, and calculates threshold and gradient MLDs to assemble a
+ suite of possible MLD values. It then analyzes the patterns in the suite
+ to select a final MLD estimate. Results are also presented for MLDs
+ calculated using de Boyer Montegut et al.'s (2004) threshold values.
+
+
+ [UCSD Mixed Layer Website](http://mixedlayer.ucsd.edu/)
+
+
+ [Acknowledgment:](http://mixedlayer.ucsd.edu/) If you use this data,
+ please cite it as: Holte, J., L. D. Talley, J. Gilson, and D. Roemmich
+ (2017), An Argo mixed layer climatology and database, Geophys. Res.
+ Lett., 44, 5618–5626, doi:10.1002/2017GL073426.
+
+
+ - [Holte et al. (2017)](http://onlinelibrary.wiley.com/doi/10.1002/2017GL073426/full)
+ - [Holte and Talley (2009)](http://journals.ametsoc.org/doi/abs/10.1175/2009JTECHO543.1)
+ - [de Boyer Montegut et al. (2004)](https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/2004JC002378)
+
+
+ @article{Holte2017,
+ author = {James Holte and Lynne D. Talley and John Gilson and Dean Roemmich},
+ title = {An Argo mixed layer climatology and database},
+ journal = {Geophysical Research Letters},
+ year = {2017},
+ volume = {44},
+ number = {11},
+ pages = {5618-5626},
+ keywords = {Argo, mixed layer, climatology, global},
+ doi = {10.1002/2017GL073426},
+ url = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1002/2017GL073426}
+ }
+
+ @article{Holte2009,
+ author = { James Holte and Lynne Talley },
+ title = {A New Algorithm for Finding Mixed Layer Depths with Applications to Argo Data and Subantarctic Mode Water Formation},
+ journal = {Journal of Atmospheric and Oceanic Technology},
+ volume = {26},
+ number = {9},
+ pages = {1920-1939},
+ year = {2009},
+ doi = {10.1175/2009JTECHO543.1},
+ URL = {https://doi.org/10.1175/2009JTECHO543.1}
+ }
+
+ @article{deBoyerMontegut2004,
+ author = {Cl\'{e}ment {de Boyer Mont\'{e}gut} and Gurvan Madec and Albert S. Fischer and Alban Lazar and Daniele Iudicone},
+ title = {Mixed layer depth over the global ocean: An examination of profile data and a profile‐based climatology},
+ journal = {Journal of Geophysical Research: Oceans},
+ volume = {109},
+ number = {C12},
+ pages = {},
+ year = {2004},
+ keywords = {mixed layer, mixed layer depth criterion, density compensation},
+ doi = {10.1029/2004JC002378},
+ url = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/2004JC002378}
+ }
+
+
+ - http://mixedlayer.ucsd.edu/data/Argo_mixedlayers_monthlyclim_03192017.nc
+
+
+
+
+ - climatologyMapMLD
+
+
+
+
+
+ Meridional Heat Transport (MHT)
+
+
+ ocean
+
+
+ (missing)
+
+
+ (missing)
+
+
+ (missing)
+
+
+ [Trenberth and Caron (2000)](https://doi.org/10.1175/1520-0442%282000%29013<4358%3ATSORSL>2.0.CO%3B2)
+
+
+ @article{Trenberth2000,
+ author = { Kevin E. Trenberth and Julie M. Caron },
+ title = {The Southern Oscillation Revisited: Sea Level Pressures, Surface Temperatures, and Precipitation},
+ journal = {Journal of Climate},
+ volume = {13},
+ number = {24},
+ pages = {4358-4365},
+ year = {2000},
+ doi = {10.1175/1520-0442(2000)013<4358:TSORSL>2.0.CO;2},
+ URL = {https://doi.org/10.1175/1520-0442(2000)013<4358:TSORSL>2.0.CO;2}
+ }
+
+
+ (missing)
+
+
+ (missing)
+
+
+ - meridionalHeatTransport
+
+
+
+
+
+ Roemmich-Gilson Argo Climatology
+
+
+ ocean
+
+
+ This new version of the Roemmich-Gilson Argo Climatology extends the
+ analysis of Argo-only derived temperature and salinity fields through
+ 2016. Several marginal seas and the Artic Oean have been added. The
+ analysis method is similar to what was descibed in the Progress In
+ Oceanography Roemmich and Gilson paper (2009). The only modification has
+ been to scale the zonal equatorial correlation of the optimal estimation
+ step, by 8 times, versus 4 times as in the 2009 paper. The additional
+ Argo data utilized in the analysis results in a longer monthly record as
+ well as better estimates of the mean and variability fields. Monthly
+ updates are available in between major yearly re-analyses.
+
+
+ [Scripps Roemmich-Gilson Argo Website](http://sio-argo.ucsd.edu/RG_Climatology.html)
+
+
+ [Acknowledgment:](http://sio-argo.ucsd.edu/RG_Climatology.html) Roemmich,
+ D. and J. Gilson, 2009: The 2004-2008 mean and annual cycle of
+ temperature, salinity, and steric height in the global ocean from the
+ Argo Program. Progress in Oceanography, 82, 81-100.
+
+
+ [Roemmich and Gilson (2009)](http://www.sciencedirect.com/science/article/pii/S0079661109000160)
+
+
+ @article{Roemmich2009,
+ title = "The 2004–2008 mean and annual cycle of temperature, salinity, and steric height in the global ocean from the Argo Program",
+ journal = "Progress in Oceanography",
+ volume = "82",
+ number = "2",
+ pages = "81 - 100",
+ year = "2009",
+ issn = "0079-6611",
+ doi = "10.1016/j.pocean.2009.03.004",
+ url = "http://www.sciencedirect.com/science/article/pii/S0079661109000160",
+ author = "Dean Roemmich and John Gilson"
+ }
+
+
+ - ftp://kakapo.ucsd.edu/pub/gilson/argo_climatology/RG_ArgoClim_Temperature_2017.nc.gz
+ - ftp://kakapo.ucsd.edu/pub/gilson/argo_climatology/RG_ArgoClim_Salinity_2017.nc.gz
+
+
+ preprocess_observations/Process_RG_Argo_climatology.ipynb
+
+
+ - climatologyMapArgoTemperature
+ - climatologyMapArgoSalinity
+
+
+
+
+
+ SOSE potential temperature and salinity
+
+
+ ocean
+
+
+ Monthly potential temperature and salinity output from the Southern Ocean
+ State Estimate (SOSE) covering years 2005-2010
+
+
+ [SOSE Website at UCSD]
+ (http://sose.ucsd.edu/sose_stateestimation_data_05to10.html)
+
+
+ [Conditions of use]
+ (http://sose.ucsd.edu/sose_stateestimation_disclaimer.html): The data on
+ these webpages are made freely available for scientific, bona fide,
+ not-for-profit research only. If your use of the data is different (e.g.
+ commercial), you must contact the data providers and receive written
+ permission for your use of the data prior to any such use. The user must
+ acknowledge SOSE data in all products or publications that use them, e.g.
+ by including the following written note: "Computational resources for the
+ SOSE were provided by NSF XSEDE resource grant OCE130007." An appropriate
+ citation should also be made.
+
+
+ [Mazloff et al. (2010)](http://doi.org/10.1175/2009JPO4236.1)
+
+
+ @article{Mazloff2010,
+ author = {Matthew R. Mazloff and Patrick Heimbach and Carl Wunsch},
+ title = {An Eddy-Permitting Southern Ocean State Estimate},
+ journal = {Journal of Physical Oceanography},
+ volume = {40},
+ number = {5},
+ pages = {880-899},
+ year = {2010},
+ doi = {10.1175/2009JPO4236.1},
+ URL = {https://doi.org/10.1175/2009JPO4236.1}
+ }
+
+
+ - http://sose.ucsd.edu/DATA/SO6_V2/THETA_mnthlyBar.0000000100.data.gz
+ - http://sose.ucsd.edu/DATA/SO6_V2/THETA_mnthlyBar.0000000100.meta
+ - http://sose.ucsd.edu/DATA/SO6_V2/SALT_mnthlyBar.0000000100.data.gz
+ - http://sose.ucsd.edu/DATA/SO6_V2/SALT_mnthlyBar.0000000100.meta
+
+
+ preprocess_observations/remap_SOSE_T_S.py
+
+
+ - climatologyMapSoseTemperature
+ - climatologyMapSoseSalinity
+
+
+
+
+
+ Antarctic melt rates and fluxes
+
+
+ ocean
+
+
+ Melt rates and melt fluxes from Rignot et al. (2013)
+
+
+ [Ice-Shelf Melting Around Antarctica](http://science.sciencemag.org/content/341/6143/266)
+
+
+ Data available upon request from co-author J. Mouginot.
+
+
+ [Rignot et al. (2013)](http://science.sciencemag.org/content/341/6143/266)
+
+
+ @article{Rignot2013,
+ title = {Ice-{Shelf} {Melting} {Around} {Antarctica}},
+ volume = {341},
+ url = {http://www.ncbi.nlm.nih.gov/pubmed/23765278},
+ doi = {10.1126/science.1235798},
+ number = {6143},
+ journal = {Science},
+ author = {Rignot, E. and Jacobs, S. and Mouginot, J. and Scheuchl, B.},
+ month = jul,
+ year = {2013},
+ pages = {266--270}
+ }
+
+
+ - http://science.sciencemag.org/highwire/filestream/594977/field_highwire_adjunct_files/0/1235798tableS1.xlsx
+ - (data available upon request from J. Mouginot)
+
+
+ preprocess_observations/remap_rignot.py
+
+
+ - climatologyMapAntarcticMelt
+ - timeSeriesAntarcticMelt
+
+
+
+
+
+ HadISST Nino 3.4 Index
+
+
+ ocean
+
+
+ (missing)
+
+
+ (missing)
+
+
+ (missing)
+
+
+ (missing)
+
+
+ (missing)
+
+
+ (missing)
+
+
+ (missing)
+
+
+ - indexNino34
+
+
+
+
+
+ ERS SSTv4 Nino 3.4 Index
+
+
+ ocean
+
+
+ (missing)
+
+
+ (missing)
+
+
+ (missing)
+
+
+ (missing)
+
+
+ (missing)
+
+
+ (missing)
+
+
+ (missing)
+
+
+ - indexNino34
+
+
+
+
+
+
+
+
+
+ Ice concentration: SSM/I, NASATeam algorithm
+
+
+ seaice
+
+
+ This data set is generated from brightness temperature data and is
+ designed to provide a consistent time series of sea ice concentrations
+ spanning the coverage of several passive microwave instruments. The data
+ are provided in the polar stereographic projection at a grid cell size of
+ 25 x 25 km.
+
+
+ [NSIDC NASATeam Website](http://nsidc.org/data/NSIDC-0051)
+
+
+ NASA data are not copyrighted; however, when you publish our data or
+ results derived therefrom, we request that you include an acknowledgment
+ within the text of the publication and reference list.
+ [Data Citation and Acknowledgements]
+ (https://podaac.jpl.nasa.gov/CitingPODAAC)
+
+
+ [Cavalieri et al. (1996)](https://doi.org/10.5067/8GQ8LZQVL0VL)
+
+
+ @misc{Cavalieri1996,
+ author = {D. J. Cavalieri, and C. L. Parkinson and P. Gloersen and H. J. Zwally},
+ title = {Sea Ice Concentrations from Nimbus-7 SMMR and DMSP SSM/I-SSMIS Passive Microwave Data, Version 1},
+ year = {1996},
+ doi = {10.5067/8GQ8LZQVL0VL},
+ notes = {updated yearly},
+ url = {https://doi.org/10.5067/8GQ8LZQVL0VL}
+ }
+
+
+ (missing, requires registration with NSIDC)
+
+
+ preprocess_observations/NASATeam_Antarctic_compute_climo.m
+ preprocess_observations/NASATeam_Arctic_compute_climo.m
+ (missing remapping from stereographic to lat/lon)
+
+
+ - climatologyMapSeaIceConcNH
+ - climatologyMapSeaIceConcSH
+
+
+
+
+
+ Ice concentration: SSM/I, Bootstrap algorithm
+
+
+ seaice
+
+
+ This sea ice concentration data set was derived using measurements from
+ the Scanning Multichannel Microwave Radiometer (SMMR) on the Nimbus-7
+ satellite and from the Special Sensor Microwave/Imager (SSM/I) sensors on
+ the Defense Meteorological Satellite Program's (DMSP) -F8, -F11, and -F13
+ satellites. Measurements from the Special Sensor Microwave Imager/Sounder
+ (SSMIS) aboard DMSP-F17 are also included. The data set has been
+ generated using the Advanced Microwave Scanning Radiometer - Earth
+ Observing System (AMSR-E) Bootstrap Algorithm with daily varying
+ tie-points. Daily (every other day prior to July 1987) and monthly data
+ are available for both the north and south polar regions. Data are
+ gridded on the SSM/I polar stereographic grid (25 x 25 km) and provided
+ in two-byte integer format. Data are available via FTP.
+
+
+ [NSIDC Bootstrap Website](http://nsidc.org/data/NSIDC-0079)
+
+
+ NASA data are not copyrighted; however, when you publish our data or
+ results derived therefrom, we request that you include an acknowledgment
+ within the text of the publication and reference list.
+ [Data Citation and Acknowledgements]
+ (https://podaac.jpl.nasa.gov/CitingPODAAC)
+
+
+ [Comiso (2017)](https://doi.org/10.5067/7Q8HCCWS4I0R)
+
+
+ @misc{Comiso1996,
+ author = {J. C. Comiso},
+ title = {Bootstrap Sea Ice Concentrations from Nimbus-7 SMMR and DMSP SSM/I-SSMIS, Version 3},
+ year = {2017},
+ doi = {10.5067/7Q8HCCWS4I0R},
+ notes = {updated yearly},
+ url = {https://doi.org/10.5067/7Q8HCCWS4I0R}
+ }
+
+
+ (missing, requires registration with NSIDC)
+
+
+ preprocess_observations/Bootstrap_Antarctic_compute_climo.m
+ preprocess_observations/Bootstrap_Arctic_compute_climo.m
+ (missing remapping from stereographic to lat/lon)
+
+
+ - climatologyMapSeaIceConcNH
+ - climatologyMapSeaIceConcSH
+
+
+
+
+
+ Ice area and extent time series: SSM/I derived
+
+
+ seaice
+
+
+ The sea ice data presented here were derived from satellite
+ passive-microwave radiometers, specifically, the Scanning Multichannel
+ Microwave Radiometer (SMMR) on NASA's Nimbus 7 satellite, for November
+ 1978-August 1987, a sequence of Special Sensor Microwave Imagers (SSMIs)
+ on the F8, F11, and F13 satellites of the Defense Meteorological
+ Satellite Program (DMSP), for August 1987-December 2007, and the Special
+ Sensor Microwave Imager Sounder (SSMIS) on the DMSP F17 satellite for
+ January 2008-December 2012. The baseline data used were daily maps of
+ sea ice concentration. The maps are polar stereographic projections with
+ individual grid elements of approximately 25 km x 25 km; and the ice
+ concentration data are also archived at the National Snow and Ice Data
+ Center (NSIDC) at http://nsidc.org. The concentrations are calculated for
+ each ocean grid element and are used to derive 'sea ice extent', which is
+ calculated as the sum of all ocean elements having a sea ice
+ concentration of at least 15%, and 'sea ice area', which is calculated as
+ the sum over all ocean grid elements of the product of ice concentration
+ and grid element area. The data sets provided here include the
+ hemispheric totals and additionally the values for nine regions in the
+ Arctic and five regions in the Antarctic. These regions are identified in
+ Figures 1 and 2 respectively. Figures 3 and 4 provide plots of the trends
+ in the Arctic and Antarctic sea ice extents, along with monthly
+ deviations and 12-month running means. The monthly deviations are
+ calculated by taking the individual month's ice extent/area and
+ subtracting from it the average over the course of the data set of the
+ extents/areas for that month.
+
+
+ [NASA Ice area and extent website](https://neptune.gsfc.nasa.gov/csb/index.php?section=59)
+
+
+ NASA data are not copyrighted; however, when you publish our data or
+ results derived therefrom, we request that you include an acknowledgment
+ within the text of the publication and reference list.
+ [Data Citation and Acknowledgements]
+ (https://podaac.jpl.nasa.gov/CitingPODAAC)
+
+
+ - [Cavalieri et al. (1999)](https://doi.org/10.1029/1999JC900081)
+ - [Cavalieri et al. (2012)](https://doi.org/10.1109/LGRS.2011.2166754)
+ - [Cavalieri and Parkinson (2012)](https://doi.org/10.5194/tc-6-881-2012)
+ - [Parkinson et al. (1999)](https://doi.org/0.1029/1999JC900082)
+ - [Parkinson and Cavalieri (2012)](https://doi.org/10.5194/tc-6-871-2012)
+ - [Zwally et al. (2002)](https://doi.org/10.1029/2000JC000733)
+
+
+ @article{Cavalieri1999,
+ author = {D. J. Cavalieri and C. L. Parkinson and P. Gloersen and J. C. Comiso and H. J. Zwally},
+ title = {Deriving long‐term time series of sea ice cover from satellite passive‐microwave multisensor data sets},
+ journal = {Journal of Geophysical Research: Oceans},
+ volume = {104},
+ number = {C7},
+ year = {1999},
+ pages = {15803-15814},
+ doi = {10.1029/1999JC900081},
+ url = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/1999JC900081}
+ }
+ @article{Cavalieri2012a,
+ author={D. J. Cavalieri and C. L. Parkinson and N. DiGirolamo and A. Ivanoff},
+ journal={IEEE Geoscience and Remote Sensing Letters},
+ title={Intersensor Calibration Between F13 SSMI and F17 SSMIS for Global Sea Ice Data Records},
+ year={2012},
+ volume={9},
+ number={2},
+ pages={233-236},
+ doi={10.1109/LGRS.2011.2166754},
+ ISSN={1545-598X},
+ month={March}
+ }
+ @Article{Cavalieri2012b,
+ AUTHOR = {Cavalieri, D. J. and Parkinson, C. L.},
+ TITLE = {Arctic sea ice variability and trends, 1979--2010},
+ JOURNAL = {The Cryosphere},
+ VOLUME = {6},
+ YEAR = {2012},
+ NUMBER = {4},
+ PAGES = {881--889},
+ URL = {https://www.the-cryosphere.net/6/881/2012/},
+ DOI = {10.5194/tc-6-881-2012}
+ }
+ @article{Parkinson1999,
+ author = {Claire L. Parkinson and Donald J. Cavalieri and Per Gloersen and H. Jay Zwally and Josefino C. Comiso},
+ title = {Arctic sea ice extents, areas, and trends, 1978–1996},
+ journal = {Journal of Geophysical Research: Oceans},
+ volume = {104},
+ number = {C9},
+ year = {1999},
+ pages = {20837-20856},
+ doi = {10.1029/1999JC900082},
+ url = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/1999JC900082}
+ }
+ @Article{Parkinson2012,
+ AUTHOR = {Parkinson, C. L. and Cavalieri, D. J.},
+ TITLE = {Antarctic sea ice variability and trends, 1979--2010},
+ JOURNAL = {The Cryosphere},
+ VOLUME = {6},
+ YEAR = {2012},
+ NUMBER = {4},
+ PAGES = {871--880},
+ URL = {https://www.the-cryosphere.net/6/871/2012/},
+ DOI = {10.5194/tc-6-871-2012}
+ }
+ @article{Zwally2002,
+ author = {H. Jay Zwally and Josefino C. Comiso and Claire L. Parkinson and Donald J. Cavalieri and Per Gloersen},
+ title = {Variability of Antarctic sea ice 1979–1998},
+ journal = {Journal of Geophysical Research: Oceans},
+ volume = {107},
+ number = {C5},
+ pages = {9-1-9-19},
+ keywords = {sea ice, Antarctic, climate, passive microwave, Southern Ocean},
+ doi = {10.1029/2000JC000733},
+ url = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/2000JC000733},
+ year = {2002}
+ }
+
+
+ - https://neptune.gsfc.nasa.gov/uploads/files/NH_IceArea_Monthly_1978-2012.txt
+ - https://neptune.gsfc.nasa.gov/uploads/files/NH_IceExt_Monthly_1978-2012.txt
+ - https://neptune.gsfc.nasa.gov/uploads/files/SH_IceArea_Monthly_1978-2012.txt
+ - https://neptune.gsfc.nasa.gov/uploads/files/SH_IceExt_Monthly_1978-2012.txt
+
+
+ preprocess_observations/IceaArea_txt2netcdf.m
+
+
+ - timeSeriesSeaIceAreaVol
+
+
+
+
+
+ IceSat Ice Thickness
+
+
+ seaice
+
+
+ This data set provides measurements of sea ice freeboard and sea ice
+ thickness for the Arctic region. The data were derived from measurements
+ made by from the Ice, Cloud, and land Elevation Satellite (ICESat)
+ Geoscience Laser Altimeter System (GLAS) instrument, the Special Sensor
+ Microwave/Imager (SSM/I), and climatologies of snow and drift of ice.
+
+
+ [NASA: Arctic Sea Ice Freeboard and Thickness](http://nsidc.org/data/NSIDC-0393)
+
+
+ NASA data are not copyrighted; however, when you publish our data or
+ results derived therefrom, we request that you include an acknowledgment
+ within the text of the publication and reference list.
+ [Data Citation and Acknowledgements]
+ (https://podaac.jpl.nasa.gov/CitingPODAAC)
+
+
+ [Yi and Zwally (2009)](https://doi.org/10.5067/SXJVJ3A2XIZT)
+
+
+ @misc{Yi2009,
+ author = {D. Yi and H. J. Zwally},
+ title = {Arctic Sea Ice Freeboard and Thickness, Version 1},
+ year = {2009},
+ doi = {10.5067/7Q8HCCWS4I0R},
+ url = {https://doi.org/10.5067/SXJVJ3A2XIZT}
+ }
+
+
+ (missing, requires registration with NSIDC)
+
+
+ ICESat_Arctic_compute_climo.m
+ (missing Antarctic climo)
+ (missing remapping from stereographic to lat/lon)
+
+
+ - timeSeriesSeaIceAreaVol
+
+
+
+
+
+ PIOMAS Arctic Sea Ice Volume Reanalysis
+
+
+ seaice
+
+
+ Sea Ice Volume is calculated using the Pan-Arctic Ice Ocean Modeling and
+ Assimilation System (PIOMAS, Zhang and Rothrock, 2003) developed at
+ APL/PSC. Anomalies for each day are calculated relative to the average
+ over the 1979 -2016 period for that day of the year to remove the annual
+ cycle. The model mean annual cycle of sea ice volume over this period
+ ranges from 28,000 km3 in April to 11,500 km3 in September.
+
+
+ [PIOMAS website](http://psc.apl.uw.edu/research/projects/arctic-sea-ice-volume-anomaly/)
+
+
+ Data is public, but they optionally ask for basic information about the
+ person downloading the data (name, e-mail, and affiliation).
+
+
+ - [Schweiger et al. (2011)](https://doi.org/10.1029/2011JC007084)
+ - [Zhang and Rothrock (2003)](https://doi.org/10.1175/1520-0493%282003%29131<0845:MGSIWA>2.0.CO;2)
+
+
+ @article{Schweiger2011,
+ author = {Axel Schweiger and Ron Lindsay and Jinlun Zhang and Mike Steele and Harry Stern and Ron Kwok},
+ title = {Uncertainty in modeled Arctic sea ice volume},
+ journal = {Journal of Geophysical Research: Oceans},
+ volume = {116},
+ number = {C8},
+ pages = {},
+ keywords = {Arctic, climate change, ice volume, modelling, sea ice},
+ doi = {10.1029/2011JC007084},
+ url = {https://agupubs.onlinelibrary.wiley.com/doi/abs/10.1029/2011JC007084},
+ year = {2011}
+ }
+ @article{Zhang2003,
+ author = { Jinlun Zhang and D. A. Rothrock },
+ title = {Modeling Global Sea Ice with a Thickness and Enthalpy Distribution Model in Generalized Curvilinear Coordinates},
+ journal = {Monthly Weather Review},
+ volume = {131},
+ number = {5},
+ pages = {845-861},
+ year = {2003},
+ doi = {10.1175/1520-0493(2003)131<0845:MGSIWA>2.0.CO;2},
+ URL = {https://doi.org/10.1175/1520-0493(2003)131<0845:MGSIWA>2.0.CO;2}
+ }
+
+
+ - http://psc.apl.uw.edu/wordpress/wp-content/uploads/schweiger/ice_volume/PIOMAS.2sst.monthly.Current.v2.1.txt
+
+
+ preprocess_observations/PIOMAS_txt2netcdf.m
+
+
+ - timeSeriesSeaIceAreaVol
+
+
+
+
+
+
+
+
+
diff --git a/mpas_analysis/obs/observationstable.xml b/mpas_analysis/obs/observationstable.xml
deleted file mode 100644
index bd202df5d..000000000
--- a/mpas_analysis/obs/observationstable.xml
+++ /dev/null
@@ -1,153 +0,0 @@
-
-
-
-
-
- sst Hadley-NOAA
-
-
- ocean
-
-
- SST global annual climatology and trend
-
-
- - Global latitude/longitude plot on ocean native grid. Annual climatologies computed over 5-10 year periods at regular intervals throughout the run.
- - Time series of area-weighted (AW) global mean (1-year running average).
-
-
- [Merged Hadley Center-NOAA/OI data set from Hurrell et al. 2008](https://climatedataguide.ucar.edu/climate-data/merged-hadley-noaaoi-sea-surface-temperature-sea-ice-concentration-hurrell-et-al-2008)
-
- Update 4/11/18: emailed UCAR to ask about their release policy.
-
-
-
- - CESM Atm diagnostic package
- - Gent et al. (2011, Fig.1)
-
-
-
-
-
-
-
-
-
- SSS NASA Aquarius
-
-
- ocean
-
-
- SSS global annual climatology
-
-
- - Global latitude/longitude plot on ocean native grid . Annual climatologies computed over 5-10 year periods at regular intervals throughout the run.
-
-
- [NASA Aquarius satellite data ~4 years until Jun 2015](ftp://podaac-ftp.jpl.nasa.gov/allData/aquarius/L3/mapped/V4/7day_running/SCI/)
-
- This statement is from the NASA daac (Distributed
- Active Archive Center) website: "NASA data are not copyrighted; however,
- when you publish our data or results derived therefrom, we request that
- you include an acknowledgment within the text of the publication and
- reference list." This should apply to all NASA data sets.
-
-
-
- [PHC](http://psc.apl.washington.edu/nonwp_projects/PHC/Climatology.html)
- or [WOA13 climatology](https://www.nodc.noaa.gov/OC5/woa13/).
-
-
- - Large and Danabasoglu (2006, Fig.1)
- - Griffies et al. (2009, Fig. 8)
-
-
-
-
-
-
-
-
-
-
- Ice area/extent annual climatology, and annual and seasonal trends
-
-
- seaice
-
-
- Sea ice concentration
-
-
- - Arctic and Antarctic seasonal and annual climatologies (maps) of ice area and extent. Annual climatologies computed over 5-10 year periods at regular intervals throughout the run.
- - Daily, monthly and 1-year average time series of area-weighted ice area and extent.
-
-
- - [Ice concentration: SSM/I, NASATeam algorithm(both NH and SH)](http://nsidc.org/data/NSIDC-0051)
- - [Ice concentration: SSM/I, Bootstrap algorithm (both NH and SH)](http://nsidc.org/data/NSIDC-0079)
- - [Ice area time series: SSM/I derived (both NH and SH)](http://neptune.gsfc.nasa.gov/csb/index.php?section=59)
-
- Same as all NASA data.
-
-
-
- - [Antarctic ship-based data](http://aspect.antarctica.gov.au/data)
- - [Ice type, and drift](http://marine.copernicus.eu/services-portfolio/access-to-products/?option=com_csw&view=details&product_id=SEAICE_GLO_SEAICE_L4_NRT_OBSERVATIONS_011_001)
- - [MANY data sets available for both ocean and sea ice, both global and regional](high-reshttp://marine.copernicus.edu)
-
-
- - CESM CICE diagnostics
- - Ivanova et al. (2012)
- - Worby et al. (2008)
-
-
- See CESM sea ice diagnostic package
-
-
-
-
-
-
-
-
- Present-day ice sheet area and volume (scalar)
-
-
- landice
-
-
- Land ice area / volume
-
-
- - Difference between modeled and observed values.
-
-
- Greenland ice thickness at bed topography at 1 km posting
- - [Bedmap2 paper](http://www.the-cryosphere.net/7/375/2013/), [Bedmap2 data](https://www.bas.ac.uk/project/bedmap-2/)
- - [R-Topo2 paper](http://www.earth-syst-sci-data-discuss.net/essd-2016-3/), [R-Topo2 data](https://www.pangaea.de/PHP/hs.php?s=Maps&d=RTopo-2.0&ID=856844)
- Antarctic ice thickness and bed topography at 1 km posting
-
- Same as all NASA data.
-
-
-
- - [Antarctic ship-based data](http://aspect.antarctica.gov.au/data)
- - [Ice type, and drift](http://marine.copernicus.eu/services-portfolio/access-to-products/?option=com_csw&view=details&product_id=SEAICE_GLO_SEAICE_L4_NRT_OBSERVATIONS_011_001)
- - [MANY data sets available for both ocean and sea ice, both global and regional](high-reshttp://marine.copernicus.edu)
-
-
- - Bamber et al. (2013)
- - Fretwell et al. (2013)
-
-
- validate initial conditions
-
-
-
-
-
-
-
diff --git a/mpas_analysis/ocean/climatology_map_argo.py b/mpas_analysis/ocean/climatology_map_argo.py
index 8e976c8b8..5dc2271f8 100644
--- a/mpas_analysis/ocean/climatology_map_argo.py
+++ b/mpas_analysis/ocean/climatology_map_argo.py
@@ -6,7 +6,7 @@
# distributed with this code, or at http://mpas-dev.github.com/license.html
#
'''
-Analysis tasks for comparing Global climatology maps against ARGO data.
+Analysis tasks for comparing Global climatology maps against Argo data.
'''
# Authors
# -------
@@ -61,7 +61,7 @@ def __init__(self, config, mpasClimatologyTask,
# -------
# Luke Van Roekel, Xylar Asay-Davis
- fieldName = 'temperatureARGO'
+ fieldName = 'temperatureArgo'
# call the constructor from the base class (AnalysisTask)
super(ClimatologyMapArgoTemperature, self).__init__(
config=config, taskName='climatologyMapArgoTemperature',
@@ -117,7 +117,7 @@ def __init__(self, config, mpasClimatologyTask,
observationsDirectory)
refFieldName = 'theta'
outFileLabel = 'tempArgo'
- galleryName = 'Roemmich-Gilson Climatology: ARGO'
+ galleryName = 'Roemmich-Gilson Climatology: Argo'
diffTitleLabel = 'Model - Argo'
remapObservationsSubtask = RemapArgoClimatology(
@@ -159,7 +159,7 @@ def __init__(self, config, mpasClimatologyTask,
refTitleLabel=refTitleLabel,
diffTitleLabel=diffTitleLabel,
unitsLabel=r'$^\circ$C',
- imageCaption='Model temperature compared with ARGO '
+ imageCaption='Model temperature compared with Argo '
'observations',
galleryGroup='Argo Temperature',
groupSubtitle=None,
@@ -201,7 +201,7 @@ def __init__(self, config, mpasClimatologyTask,
# -------
# Xylar Asay-Davis, Luke Van Roekel
- fieldName = 'salinityARGO'
+ fieldName = 'salinityArgo'
# call the constructor from the base class (AnalysisTask)
super(ClimatologyMapArgoSalinity, self).__init__(
config=config, taskName='climatologyMapArgoSalinity',
diff --git a/preprocess_observations/Bootstrap_Antarctic_compute_climo.m b/preprocess_observations/Bootstrap_Antarctic_compute_climo.m
new file mode 100644
index 000000000..af13bb614
--- /dev/null
+++ b/preprocess_observations/Bootstrap_Antarctic_compute_climo.m
@@ -0,0 +1,73 @@
+%
+% Combined SSM/I-SSMIS and SMMR sea-ice concentration data for both the
+% Arctic and Antarctic.
+% *** Bootstrap algorithm ***
+%
+% Source: http://nsidc.org/data/NSIDC-0079
+%
+clear all;
+close all;
+
+homedir = getenv('HOME');
+
+maindir = [homedir '/ACME/observations/obsdir/SeaIce/SSMI/'...
+ 'Bootstrap_NSIDC0079'];
+datadir = [maindir '/final-gsfc/south/monthly'];
+griddir = [homedir '/ACME/observations/obsdir/SeaIce/ICESat/Antarctic/climo'];
+lonlatfile = 'spring_ICESat_gridded_mean_thickness';
+months4climo = [12 1 2; % (boreal) winter months
+ 3 4 5; % (boreal) spring months
+ 6 7 8; % (boreal) summer months
+ 9 10 11]; % (boreal) fall months
+seasons = {'djf','mam','jja','son'};
+
+M = 332; % Polar Stereographic grid for Antarctica, # of rows
+N = 316; % Polar Stereographic grid for Antarctica, # of columns
+
+[err,cwd] = unix('pwd');
+% Read in lon,lat:
+eval(sprintf('cd %s;',griddir));
+eval(sprintf('load %s.txt',lonlatfile));
+eval(sprintf('cd %s;',cwd));
+eval(sprintf('lat = %s(:,1);',lonlatfile));
+eval(sprintf('lon = %s(:,2);',lonlatfile));
+x = reshape(lon,M,N);
+y = reshape(lat,M,N);
+
+eval(sprintf('cd %s;',datadir));
+for is=1:length(seasons),
+ season = char(seasons(is));
+
+ % Get list of files to compute seasonal climatologies from:
+ filenames = sprintf('bt_????%02d*',months4climo(is,1));
+ for i=2:size(months4climo,2),
+ filenames = [filenames sprintf(' bt_????%02d*',months4climo(is,i))];
+ end
+ eval(sprintf('[err,filelist] = unix(''/bin/ls %s'');',filenames));
+ filelist = strsplit(filelist); % convert to cell of strings
+ filelist = filelist(2:end-1); % remove redudant first and last space chars
+
+ % Compute seasonal climatology:
+ for ifile=1:length(filelist);
+ infile = char(filelist(ifile));
+ % Read in binary data:
+ fid = fopen(infile,'r','l');
+ aice(ifile,:,:) = fread(fid,[N M],'int16');
+ fclose(fid);
+ aice(find(aice>1000)) = nan;
+ aice(find(aice==0))=nan;
+ end
+ aice = squeeze(nanmean(aice,1));
+ aice = aice/1000;
+ aice(find(isnan(aice)==1)) = -999;
+ aice = aice';
+
+ % Write to file:
+ outfile = ['SSMI_Bootstrap_gridded_concentration_SH_' season];
+ fid = fopen(sprintf('%s/%s.txt',maindir,outfile),'w');
+ fprintf(fid,'%12.4f %12.4f %12.5f\n',[y(:)'; x(:)'; aice(:)']);
+ fclose(fid);
+
+ clear aice
+end
+eval(sprintf('cd %s;',cwd));
diff --git a/preprocess_observations/Bootstrap_Arctic_compute_climo.m b/preprocess_observations/Bootstrap_Arctic_compute_climo.m
new file mode 100644
index 000000000..3e53121db
--- /dev/null
+++ b/preprocess_observations/Bootstrap_Arctic_compute_climo.m
@@ -0,0 +1,73 @@
+%
+% Combined SSM/I-SSMIS and SMMR sea-ice concentration data for both the
+% Arctic and Antarctic.
+% *** Bootstrap algorithm ***
+%
+% Source: http://nsidc.org/data/NSIDC-0079
+%
+clear all;
+close all;
+
+homedir = getenv('HOME');
+
+maindir = [homedir '/ACME/observations/obsdir/SeaIce/SSMI/'...
+ 'Bootstrap_NSIDC0079'];
+datadir = [maindir '/final-gsfc/north/monthly'];
+griddir = [homedir '/ACME/observations/obsdir/SeaIce/ICESat/Arctic/' ...
+ 'NSIDC0393_GLAS_SI_Freeboard_v01/glas_seaice_grids'];
+lonfile = [griddir '/PS25km_north_lon.img'];
+latfile = [griddir '/PS25km_north_lat.img'];
+months4climo = [ 1 2 3; % (boreal) winter months
+ 4 5 6; % (boreal) spring months
+ 7 8 9; % (boreal) summer months
+ 10 11 12]; % (boreal) fall months
+seasons = {'jfm','amj','jas','ond'};
+
+M = 304; % Polar Stereographic grid for the Arctic, # of rows
+N = 448; % Polar Stereographic grid for the Arctic, # of columns
+
+% Read in lon,lat:
+fid = fopen(lonfile,'r','l');
+x = fread(fid,[M N],'single');
+fclose(fid);
+fid = fopen(latfile,'r','l');
+y = fread(fid,[M N],'single');
+fclose(fid);
+
+[err,cwd] = unix('pwd');
+eval(sprintf('cd %s;',datadir));
+for is=1:length(seasons),
+ season = char(seasons(is));
+
+ % Get list of files to compute seasonal climatologies from:
+ filenames = sprintf('bt_????%02d*',months4climo(is,1));
+ for i=2:size(months4climo,2),
+ filenames = [filenames sprintf(' bt_????%02d*',months4climo(is,i))];
+ end
+ eval(sprintf('[err,filelist] = unix(''/bin/ls %s'');',filenames));
+ filelist = strsplit(filelist); % convert to cell of strings
+ filelist = filelist(2:end-1); % remove redudant first and last space chars
+
+ % Compute seasonal climatology:
+ for ifile=1:length(filelist);
+ infile = char(filelist(ifile));
+ % Read in binary data:
+ fid = fopen(infile,'r','l');
+ aice(ifile,:,:) = fread(fid,[M N],'int16');
+ fclose(fid);
+ aice(find(aice>1000)) = nan;
+ aice(find(aice==0))=nan;
+ end
+ aice = squeeze(nanmean(aice,1));
+ aice = aice/1000;
+ aice(find(isnan(aice)==1)) = -999;
+
+ % Write to file:
+ outfile = ['SSMI_Bootstrap_gridded_concentration_NH_' season];
+ fid = fopen(sprintf('%s/%s.txt',maindir,outfile),'w');
+ fprintf(fid,'%12.4f %12.4f %12.5f\n',[y(:)'; x(:)'; aice(:)']);
+ fclose(fid);
+
+ clear aice
+end
+eval(sprintf('cd %s;',cwd));
diff --git a/preprocess_observations/ICESat_Arctic_compute_climo.m b/preprocess_observations/ICESat_Arctic_compute_climo.m
new file mode 100644
index 000000000..2dcae49a7
--- /dev/null
+++ b/preprocess_observations/ICESat_Arctic_compute_climo.m
@@ -0,0 +1,95 @@
+%
+% ICESat sea-ice thickness data for the Arctic.
+%
+% Source: http://nsidc.org/data/NSIDC-0393
+%
+clear all;
+close all;
+
+homedir = getenv('HOME');
+
+datadir = [homedir '/ACME/observations/obsdir/SeaIce/ICESat/Arctic/' ...
+ 'NSIDC0393_GLAS_SI_Freeboard_v01/glas_seaice_grids'];
+% Infile names (austral spring (Oct-Nov), max Antarctic ice extent;
+% austral late summer (Feb-Mar), min Antarctic ice extent):
+on_files_th = {'laser2a_thickness_mskd.img','laser3a_thickness_mskd.img',...
+ 'laser3d_thickness_mskd.img','laser3g_thickness_mskd.img',...
+ 'laser3i_thickness_mskd.img','laser3k_thickness_mskd.img'};
+fm_files_th = {'laser1_thickness_mskd.img' ,'laser2b_thickness_mskd.img',...
+ 'laser3b_thickness_mskd.img','laser3e_thickness_mskd.img',...
+ 'laser3h_thickness_mskd.img','laser3j_thickness_mskd.img'};
+on_files_fb = {'laser2a_freeboard_mskd.img','laser3a_freeboard_mskd.img',...
+ 'laser3d_freeboard_mskd.img','laser3g_freeboard_mskd.img',...
+ 'laser3i_freeboard_mskd.img','laser3k_freeboard_mskd.img'};
+fm_files_fb = {'laser1_freeboard_mskd.img' ,'laser2b_freeboard_mskd.img',...
+ 'laser3b_freeboard_mskd.img','laser3e_freeboard_mskd.img',...
+ 'laser3h_freeboard_mskd.img','laser3j_freeboard_mskd.img'};
+outfiles = {'ICESat_gridded_mean_thickness_NH_on',...
+ 'ICESat_gridded_mean_thickness_NH_fm'};
+lonfile = 'PS25km_north_lon.img';
+latfile = 'PS25km_north_lat.img';
+
+M = 304; % Polar Stereographic grid for the Arctic, # of rows
+N = 448; % Polar Stereographic grid for the Arctic, # of columns
+
+eval(sprintf('cd %s;',datadir));
+
+% Read in lon,lat:
+fid = fopen(lonfile,'r','l');
+x = fread(fid,[M N],'single');
+fclose(fid);
+fid = fopen(latfile,'r','l');
+y = fread(fid,[M N],'single');
+fclose(fid);
+
+% Compute Oct-Nov climatologies:
+for ifile=1:length(on_files_th),
+ on_file = char(on_files_th(ifile));
+ fid = fopen(on_file,'r','l');
+ hi(ifile,:,:) = fread(fid,[M N],'single');
+ fclose(fid);
+end
+hi(find(hi<0)) = nan;
+hi = squeeze(nanmean(hi,1));
+hi(find(isnan(hi)==1)) = -999;
+for ifile=1:length(on_files_fb),
+ on_file = char(on_files_fb(ifile));
+ fid = fopen(on_file,'r','l');
+ fb(ifile,:,:) = fread(fid,[M N],'single');
+ fclose(fid);
+end
+fb(find(fb<0)) = nan;
+fb = squeeze(nanmean(fb,1));
+fb(find(isnan(fb)==1)) = -999;
+% Write to file:
+outfile = char(outfiles(1));
+fid = fopen(sprintf('%s.txt',outfile),'w');
+fprintf(fid,'%12.4f %12.4f %12.5f %12.5f\n',[y(:)'; x(:)'; fb(:)'; hi(:)']);
+fclose(fid);
+
+clear hi fb
+
+% Compute Feb-Mar climatologies:
+for ifile=1:length(fm_files_th),
+ fm_file = char(fm_files_th(ifile));
+ fid = fopen(fm_file,'r','l');
+ hi(ifile,:,:) = fread(fid,[M N],'single');
+ fclose(fid);
+end
+hi(find(hi<0)) = nan;
+hi = squeeze(nanmean(hi,1));
+hi(find(isnan(hi)==1)) = -999;
+for ifile=1:length(fm_files_fb),
+ fm_file = char(fm_files_fb(ifile));
+ fid = fopen(fm_file,'r','l');
+ fb(ifile,:,:) = fread(fid,[M N],'single');
+ fclose(fid);
+end
+fb(find(fb<0)) = nan;
+fb = squeeze(nanmean(fb,1));
+fb(find(isnan(fb)==1)) = -999;
+% Write to file:
+outfile = char(outfiles(2));
+fid = fopen(sprintf('%s.txt',outfile),'w');
+fprintf(fid,'%12.4f %12.4f %12.5f %12.5f\n',[y(:)'; x(:)'; fb(:)'; hi(:)']);
+fclose(fid);
diff --git a/preprocess_observations/IceaArea_txt2netcdf.m b/preprocess_observations/IceaArea_txt2netcdf.m
new file mode 100644
index 000000000..573f12b81
--- /dev/null
+++ b/preprocess_observations/IceaArea_txt2netcdf.m
@@ -0,0 +1,96 @@
+% Converts txt IceArea files to netcdf files
+%
+% Data source: http://neptune.gsfc.nasa.gov/csb/index.php?section=59
+%
+
+workdir = '/lustre/atlas1/cli115/proj-shared/milena/observations/SeaIce/IceArea_timeseries';
+files = {'iceAreaNH','iceAreaSH'};
+
+cwd = pwd;
+eval(sprintf('cd %s;',workdir));
+
+for i=1:length(files),
+ varname = char(files(i));
+ infile = sprintf('%s_year.txt',varname);
+ outfile1 = sprintf('%s_year.nc', varname);
+ outfile2 = sprintf('%s_climo.nc', varname);
+ varname = [varname '_year'];
+
+ % the following loads t (yyyy.yearfraction),icearea (km^2)
+ eval(sprintf('load %s;',infile));
+
+ % First create netcdf file with original data:
+ %
+ % create netcdf file
+ ncid = netcdf.create(outfile1,'clobber');
+ % define dimension(s)
+ t_dimid = netcdf.defDim(ncid,'Time',netcdf.getConstant('NC_UNLIMITED'));
+ strLen_dimid = netcdf.defDim(ncid,'StrLen',64);
+ % define variables and attributes
+ t_varid = netcdf.defVar(ncid,'xtime','NC_CHAR',[strLen_dimid,t_dimid]);
+ %t_varid = netcdf.defVar(ncid,'time','NC_DOUBLE',t_dimid);
+ icearea_varid = netcdf.defVar(ncid,'IceArea','NC_DOUBLE',t_dimid);
+ netcdf.putAtt(ncid,t_varid,'long_name','calendar date');
+ %netcdf.putAtt(ncid,t_varid,'long_name','days since 0001-01-01');
+ netcdf.putAtt(ncid,t_varid,'format','YYYY-MM-DD_HH:MM:SS character string');
+ netcdf.putAtt(ncid,icearea_varid,'long_name','SSM/I derived ice area');
+ netcdf.putAtt(ncid,icearea_varid,'units','km^2');
+
+ % leave define mode and enter data mode to write data
+ netcdf.endDef(ncid);
+
+ % add variables
+ eval(sprintf('t = %s(:,1);',varname));
+ eval(sprintf('var = %s(:,2);',varname));
+ % go from year.fraction_of_year to date (string format)
+ tdate = yf2num(t);
+ date = datestr(tdate,'yyyy-mm-dd_HH:MM:SS');
+ ntot = length(t);
+ %netcdf.putVar(ncid,t_varid,0,ntot,t);
+ for n=1:ntot,
+ netcdf.putVar(ncid,t_varid,[0,n-1],[size(date,2),1],date(n,:));
+ end
+ netcdf.putVar(ncid,icearea_varid,0,ntot,var);
+
+ % close netcdf file
+ netcdf.close(ncid);
+
+ % Then create netcdf file with climatological annual cycle:
+ %
+ % create netcdf file
+ ncid = netcdf.create(outfile2,'clobber');
+ % define dimension(s)
+ t_dimid = netcdf.defDim(ncid,'Time',netcdf.getConstant('NC_UNLIMITED'));
+ strLen_dimid = netcdf.defDim(ncid,'StrLen',64);
+ % define variables and attributes
+ t_varid = netcdf.defVar(ncid,'xtime','NC_CHAR',[strLen_dimid,t_dimid]);
+ %t_varid = netcdf.defVar(ncid,'time','NC_DOUBLE',t_dimid);
+ icearea_varid = netcdf.defVar(ncid,'IceArea','NC_DOUBLE',t_dimid);
+ netcdf.putAtt(ncid,t_varid,'long_name','climatological date');
+ %netcdf.putAtt(ncid,t_varid,'long_name','days since 0001-01-01');
+ netcdf.putAtt(ncid,t_varid,'format','YYYY-MM-DD_HH:MM:SS character string');
+ netcdf.putAtt(ncid,icearea_varid,'long_name','SSM/I derived ice area');
+ netcdf.putAtt(ncid,icearea_varid,'units','km^2');
+
+ % leave define mode and enter data mode to write data
+ netcdf.endDef(ncid);
+
+ % add variables
+ tdatevec = datevec(tdate);
+ for im=1:12,
+ indmonth = find(tdatevec(:,2)==im);
+ var_climo(im) = nanmean(var(indmonth));
+ end
+ tdate = datenum(1,1:12,15);
+ date = datestr(tdate,'yyyy-mm-dd_HH:MM:SS');
+ %netcdf.putVar(ncid,t_varid,0,ntot,t);
+ for n=1:12,
+ netcdf.putVar(ncid,t_varid,[0,n-1],[size(date,2),1],date(n,:));
+ end
+ netcdf.putVar(ncid,icearea_varid,0,12,var_climo);
+
+ % close netcdf file
+ netcdf.close(ncid);
+end % loop on data files
+
+eval(sprintf('cd %s;',cwd));
diff --git a/preprocess_observations/NASATeam_Antarctic_compute_climo.m b/preprocess_observations/NASATeam_Antarctic_compute_climo.m
new file mode 100644
index 000000000..cd8fcee37
--- /dev/null
+++ b/preprocess_observations/NASATeam_Antarctic_compute_climo.m
@@ -0,0 +1,74 @@
+%
+% Combined SSM/I-SSMIS and SMMR sea-ice concentration data for both the
+% Arctic and Antarctic.
+% *** NASA Team algorithm ***
+%
+% Source: http://nsidc.org/data/NSIDC-0051
+%
+clear all;
+close all;
+
+homedir = getenv('HOME');
+
+maindir = [homedir '/ACME/observations/obsdir/SeaIce/SSMI/'...
+ 'NASATeam_NSIDC0051'];
+datadir = [maindir '/south/monthly'];
+griddir = [homedir '/ACME/observations/obsdir/SeaIce/ICESat/Antarctic/climo'];
+lonlatfile = 'spring_ICESat_gridded_mean_thickness';
+months4climo = [12 1 2; % (boreal) winter months
+ 3 4 5; % (boreal) spring months
+ 6 7 8; % (boreal) summer months
+ 9 10 11]; % (boreal) fall months
+seasons = {'djf','mam','jja','son'};
+
+M = 332; % Polar Stereographic grid for Antarctica, # of rows
+N = 316; % Polar Stereographic grid for Antarctica, # of columns
+
+[err,cwd] = unix('pwd');
+% Read in lon,lat:
+eval(sprintf('cd %s;',griddir));
+eval(sprintf('load %s.txt',lonlatfile));
+eval(sprintf('cd %s;',cwd));
+eval(sprintf('lat = %s(:,1);',lonlatfile));
+eval(sprintf('lon = %s(:,2);',lonlatfile));
+x = reshape(lon,M,N);
+y = reshape(lat,M,N);
+
+eval(sprintf('cd %s;',datadir));
+for is=1:length(seasons),
+ season = char(seasons(is));
+
+ % Get list of files to compute seasonal climatologies from:
+ filenames = sprintf('nt_????%02d*',months4climo(is,1));
+ for i=2:size(months4climo,2),
+ filenames = [filenames sprintf(' nt_????%02d*',months4climo(is,i))];
+ end
+ eval(sprintf('[err,filelist] = unix(''/bin/ls %s'');',filenames));
+ filelist = strsplit(filelist); % convert to cell of strings
+ filelist = filelist(2:end-1); % remove redudant first and last space chars
+
+ % Compute seasonal climatology:
+ for ifile=1:length(filelist);
+ infile = char(filelist(ifile));
+ % Read in binary data:
+ fid = fopen(infile,'r');
+ header = fread(fid,300,'char=>char');
+ aice(ifile,:,:) = fread(fid,[N M],'uint8');
+ fclose(fid);
+ aice(find(aice>250)) = nan;
+ aice(find(aice==0))=nan;
+ end
+ aice = squeeze(nanmean(aice,1));
+ aice = aice/250;
+ aice(find(isnan(aice)==1)) = -999;
+ aice = aice';
+
+ % Write to file:
+ outfile = ['SSMI_NASATeam_gridded_concentration_SH_' season];
+ fid = fopen(sprintf('%s/%s.txt',maindir,outfile),'w');
+ fprintf(fid,'%12.4f %12.4f %12.5f\n',[y(:)'; x(:)'; aice(:)']);
+ fclose(fid);
+
+ clear aice
+end
+eval(sprintf('cd %s;',cwd));
diff --git a/preprocess_observations/NASATeam_Arctic_compute_climo.m b/preprocess_observations/NASATeam_Arctic_compute_climo.m
new file mode 100644
index 000000000..73e3cfe2b
--- /dev/null
+++ b/preprocess_observations/NASATeam_Arctic_compute_climo.m
@@ -0,0 +1,74 @@
+%
+% Combined SSM/I-SSMIS and SMMR sea-ice concentration data for both the
+% Arctic and Antarctic.
+% *** NASA Team algorithm ***
+%
+% Source: http://nsidc.org/data/NSIDC-0051
+%
+clear all;
+close all;
+
+homedir = getenv('HOME');
+
+maindir = [homedir '/ACME/observations/obsdir/SeaIce/SSMI/'...
+ 'NASATeam_NSIDC0051'];
+datadir = [maindir '/north/monthly'];
+griddir = [homedir '/ACME/observations/obsdir/SeaIce/ICESat/Arctic/' ...
+ 'NSIDC0393_GLAS_SI_Freeboard_v01/glas_seaice_grids'];
+lonfile = [griddir '/PS25km_north_lon.img'];
+latfile = [griddir '/PS25km_north_lat.img'];
+months4climo = [ 1 2 3; % (boreal) winter months
+ 4 5 6; % (boreal) spring months
+ 7 8 9; % (boreal) summer months
+ 10 11 12]; % (boreal) fall months
+seasons = {'jfm','amj','jas','ond'};
+
+M = 304; % Polar Stereographic grid for the Arctic, # of rows
+N = 448; % Polar Stereographic grid for the Arctic, # of columns
+
+% Read in lon,lat:
+fid = fopen(lonfile,'r','l');
+x = fread(fid,[M N],'single');
+fclose(fid);
+fid = fopen(latfile,'r','l');
+y = fread(fid,[M N],'single');
+fclose(fid);
+
+[err,cwd] = unix('pwd');
+eval(sprintf('cd %s;',datadir));
+for is=1:length(seasons),
+ season = char(seasons(is));
+
+ % Get list of files to compute seasonal climatologies from:
+ filenames = sprintf('nt_????%02d*',months4climo(is,1));
+ for i=2:size(months4climo,2),
+ filenames = [filenames sprintf(' nt_????%02d*',months4climo(is,i))];
+ end
+ eval(sprintf('[err,filelist] = unix(''/bin/ls %s'');',filenames));
+ filelist = strsplit(filelist); % convert to cell of strings
+ filelist = filelist(2:end-1); % remove redudant first and last space chars
+
+ % Compute seasonal climatology:
+ for ifile=1:length(filelist);
+ infile = char(filelist(ifile));
+ % Read in binary data:
+ fid = fopen(infile,'r');
+ header = fread(fid,300,'char=>char');
+ aice(ifile,:,:) = fread(fid,[M N],'uint8');
+ fclose(fid);
+ aice(find(aice>250)) = nan;
+ aice(find(aice==0))=nan;
+ end
+ aice = squeeze(nanmean(aice,1));
+ aice = aice/250;
+ aice(find(isnan(aice)==1)) = -999;
+
+ % Write to file:
+ outfile = ['SSMI_NASATeam_gridded_concentration_NH_' season];
+ fid = fopen(sprintf('%s/%s.txt',maindir,outfile),'w');
+ fprintf(fid,'%12.4f %12.4f %12.5f\n',[y(:)'; x(:)'; aice(:)']);
+ fclose(fid);
+
+ clear aice
+end
+eval(sprintf('cd %s;',cwd));
diff --git a/preprocess_observations/PIOMAS_txt2netcdf.m b/preprocess_observations/PIOMAS_txt2netcdf.m
new file mode 100644
index 000000000..f00adfbf6
--- /dev/null
+++ b/preprocess_observations/PIOMAS_txt2netcdf.m
@@ -0,0 +1,101 @@
+% Converts txt PIOMAS data to netcdf files
+%
+% Data source: http://psc.apl.uw.edu/research/projects/arctic-sea-ice-volume-anomaly/
+%
+
+clear all;
+close all;
+
+workdir = '/lustre/atlas1/cli115/proj-shared/milena/observations/SeaIce/PIOMAS';
+infile = 'PIOMASvolume_monthly';
+outfile1 = [infile '.nc'];
+outfile2 = [infile '_climo.nc'];
+
+cwd = pwd;
+eval(sprintf('cd %s;',workdir));
+
+% the following loads year (first column) and ice volume (in 10^3 km^3)
+% for each month of that year (subsequent 12 columns):
+eval(sprintf('load %s.txt;',infile));
+
+eval(sprintf('years = %s(:,1);',infile));
+eval(sprintf('obs = %s(:,2:13);',infile));
+
+obs(find(obs==-1)) = nan;
+
+% Reorganize monthly observations:
+ind = 1;
+for iy=1:length(years),
+ for im=1:12,
+ tdate(ind) = datenum(years(iy),im,15);
+ date(ind,:) = datestr(tdate(ind),'yyyy-mm-dd_HH:MM:SS');
+ icevol(ind) = obs(iy,im);
+ ind = ind+1;
+ end
+end
+
+% Compute climatological annual cycle:
+tdatevec = datevec(tdate);
+for im=1:12,
+ indmonth = find(tdatevec(:,2)==im);
+ icevol_climo(im) = nanmean(icevol(indmonth));
+end
+tdate_climo = datenum(1,1:12,15);
+date_climo = datestr(tdate_climo,'yyyy-mm-dd_HH:MM:SS');
+
+% First create netcdf file with monthly data:
+%
+% create netcdf file
+ncid = netcdf.create(outfile1,'clobber');
+% define dimension(s)
+t_dimid = netcdf.defDim(ncid,'Time',netcdf.getConstant('NC_UNLIMITED'));
+strLen_dimid = netcdf.defDim(ncid,'StrLen',64);
+% define variables and attributes
+t_varid = netcdf.defVar(ncid,'xtime','NC_CHAR',[strLen_dimid,t_dimid]);
+icevol_varid = netcdf.defVar(ncid,'IceVol','NC_DOUBLE',t_dimid);
+netcdf.putAtt(ncid,t_varid,'long_name','calendar date');
+netcdf.putAtt(ncid,t_varid,'format','YYYY-MM-DD_HH:MM:SS character string');
+netcdf.putAtt(ncid,icevol_varid,'long_name','PIOMAS ice volume');
+netcdf.putAtt(ncid,icevol_varid,'units','10^3 km^3');
+
+% leave define mode and enter data mode to write data
+netcdf.endDef(ncid);
+
+% add variables
+ntot = ind-1;
+for n=1:ntot,
+ netcdf.putVar(ncid,t_varid,[0,n-1],[size(date,2),1],date(n,:));
+end
+netcdf.putVar(ncid,icevol_varid,0,ntot,icevol);
+
+% close netcdf file
+netcdf.close(ncid);
+
+% Then create netcdf file with climatological annual cycle:
+%
+% create netcdf file
+ncid = netcdf.create(outfile2,'clobber');
+% define dimension(s)
+t_dimid = netcdf.defDim(ncid,'Time',netcdf.getConstant('NC_UNLIMITED'));
+strLen_dimid = netcdf.defDim(ncid,'StrLen',64);
+% define variables and attributes
+t_varid = netcdf.defVar(ncid,'xtime','NC_CHAR',[strLen_dimid,t_dimid]);
+icevol_varid = netcdf.defVar(ncid,'IceVol','NC_DOUBLE',t_dimid);
+netcdf.putAtt(ncid,t_varid,'long_name','climatological date');
+netcdf.putAtt(ncid,t_varid,'format','YYYY-MM-DD_HH:MM:SS character string');
+netcdf.putAtt(ncid,icevol_varid,'long_name','PIOMAS ice volume');
+netcdf.putAtt(ncid,icevol_varid,'units','10^3 km^3');
+
+% leave define mode and enter data mode to write data
+netcdf.endDef(ncid);
+
+% add variables
+for n=1:12,
+ netcdf.putVar(ncid,t_varid,[0,n-1],[size(date_climo,2),1],date_climo(n,:));
+end
+netcdf.putVar(ncid,icevol_varid,0,12,icevol_climo);
+
+% close netcdf file
+netcdf.close(ncid);
+
+eval(sprintf('cd %s;',cwd));
diff --git a/preprocess_observations/Process_RG_Argo_climatology.ipynb b/preprocess_observations/Process_RG_Argo_climatology.ipynb
new file mode 100644
index 000000000..d36a6d4c3
--- /dev/null
+++ b/preprocess_observations/Process_RG_Argo_climatology.ipynb
@@ -0,0 +1,184 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import matplotlib.pyplot as plt\n",
+ "import numpy as np\n",
+ "import xarray as xr\n",
+ "import glob\n",
+ "import matplotlib\n",
+ "from netCDF4 import Dataset\n",
+ "import sys\n",
+ "import os\n",
+ "\n",
+ "# define plot dimensions\n",
+ "%matplotlib inline \n",
+ "plt.rcParams[\"figure.figsize\"] = (8.,8.)\n",
+ "\n",
+ "from mpl_toolkits.basemap import Basemap\n",
+ "import matplotlib.colors as cols\n",
+ "plt.rcParams[\"figure.figsize\"] = (20,12)\n",
+ "\n",
+ "### axis_font = {'fontname':'Arial', 'size':'18'} \n",
+ "title_font = {'fontname':'Arial', 'size':'32', 'color':'black', 'weight':'normal'}\n",
+ "matplotlib.rc('xtick', labelsize=28)\n",
+ "matplotlib.rc('ytick', labelsize=28)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#path to raw ARGO file downloaded from http://sio-argo.ucsd.edu/RG_Climatology.html\n",
+ "#Note that script expects files named RG_ArgoClim_Temperature_2017.nc and RG_ArgoClim_Salinity_2017.nc\n",
+ "\n",
+ "basePath = '/lcrc/group/acme/lvanroe'\n",
+ "nameOfOutputFile = 'ArgoClimatology_TS.nc'"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 33,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "ncidT = Dataset(basePath+'/RG_ArgoClim_Temperature_2017.nc','r')\n",
+ "ncidS = Dataset(basePath+'/RG_ArgoClim_Salinity_2017.nc','r')\n",
+ "\n",
+ "lon = ncidT.variables['LONGITUDE'][:]\n",
+ "lat = ncidT.variables['LATITUDE'][:]\n",
+ "\n",
+ "anomT = ncidT.variables['ARGO_TEMPERATURE_ANOMALY'][:,:,:,:]\n",
+ "meanT = ncidT.variables['ARGO_TEMPERATURE_MEAN'][:,:,:]\n",
+ "\n",
+ "anomS = ncidS.variables['ARGO_SALINITY_ANOMALY'][:,:,:,:]\n",
+ "meanS = ncidS.variables['ARGO_SALINITY_MEAN'][:,:,:]\n",
+ "\n",
+ "bmask = ncidT.variables['BATHYMETRY_MASK'][:]\n",
+ "\n",
+ "depth = -ncidT.variables['PRESSURE'][:]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 34,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#forms monthly averages of T and S\n",
+ "monthV = np.zeros(12);\n",
+ "nx = len(lon)\n",
+ "ny = len(lat)\n",
+ "nz = len(depth)\n",
+ "\n",
+ "theta = np.zeros((12,nz,ny,nx))\n",
+ "salinity = np.zeros((12,nz,ny,nx))\n",
+ "\n",
+ "for i in range(12):\n",
+ " monthV[i] = i\n",
+ " theta[i,:,:,:] = anomT[i::12,:,:,:].mean(axis=0)+meanT\n",
+ " salinity[i,:,:,:] = anomS[i::12,:,:,:].mean(axis=0)+meanS"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 35,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#Mask bathymetry\n",
+ "bmask = np.roll(bmask,20,axis=2)\n",
+ "for i in range(nz):\n",
+ " inds1=np.where(bmask[i,:,:] != 1.0)[0]\n",
+ " inds2=np.where(bmask[i,:,:] != 1.0)[1]\n",
+ " salinity[:,i,inds1,inds2] = np.nan\n",
+ " theta[:,i,inds1,inds2] = np.nan"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 36,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "#need to append a few rows to have a 180 x 360 matrix\n",
+ "theta2 = np.zeros((12,58,180,360))\n",
+ "salt2 = np.zeros((12,58,180,360))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 37,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "theta2[:,:,25:170,:] = theta\n",
+ "salt2[:,:,25:170,:] = salinity\n",
+ "\n",
+ "theta2[:,:,:25,:] = np.nan\n",
+ "theta2[:,:,170:,:] = np.nan\n",
+ "\n",
+ "salt2[:,:,:25,:] = np.nan\n",
+ "salt2[:,:,170:,:] = np.nan"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 38,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "if os.path.isfile(basePath+'/'+nameOfOutputFile):\n",
+ " os.remove(basePath+'/'+nameOfOutputFile)\n",
+ "ncid = Dataset(basePath+'/'+nameOfOutputFile,'w')\n",
+ "ncid.createDimension('Time',None)\n",
+ "ncid.createDimension('LATITUDE',180)\n",
+ "ncid.createDimension('LONGITUDE',360)\n",
+ "ncid.createDimension('DEPTH',58)\n",
+ "\n",
+ "month = ncid.createVariable('month','i4',('Time'))\n",
+ "lat = ncid.createVariable('LATITUDE','f8',('LATITUDE'))\n",
+ "lonV = ncid.createVariable('LONGITUDE','f8',('LONGITUDE'))\n",
+ "dep = ncid.createVariable('DEPTH','f8',('DEPTH'))\n",
+ "thet=ncid.createVariable('theta','f8',('Time','DEPTH','LATITUDE','LONGITUDE'))\n",
+ "sal=ncid.createVariable('salinity','f8',('Time','DEPTH','LATITUDE','LONGITUDE'))\n",
+ "\n",
+ "lat[:] = np.arange(-89.5,90,1)\n",
+ "lonV[:] = lon[:]\n",
+ "thet[:,:,:,:] = theta2\n",
+ "sal[:,:,:,:] = salt2\n",
+ "dep[:] = depth[:]\n",
+ "month[:] = monthV[:]\n",
+ "\n",
+ "ncid.close()"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python [conda root]",
+ "language": "python",
+ "name": "conda-root-py"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 2
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython2",
+ "version": "2.7.14"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/preprocess_observations/notes4seaiceData.txt b/preprocess_observations/notes4seaiceData.txt
new file mode 100644
index 000000000..2194632bd
--- /dev/null
+++ b/preprocess_observations/notes4seaiceData.txt
@@ -0,0 +1,13 @@
+SSMI NASATeam or Bootstrap: Milena computed climatologies from the binary files
+using the compute_climo.m scripts. The resulting netcdf files contain the fields
+on the original stereographic projection. Mat then interpolated these
+fields onto regular lat/lon grids.
+
+ICESat Arctic: a similar procedure as the SSMI data was taken.
+
+ICESat Antarctic: this data was only available for Feb/Mar and Oct/Nov, in ASCII
+format. Milena cannot find preprocessing scripts for this data, so she is thinking
+that probably Mat processed the ASCII data (already FM/ON climos) directly.
+
+IceArea_timeseries: Milena used the txt2netcdf.m scripts to go from the ASCII
+files to netcdf.