From 18957c525afc59df499be192b4a3ecb7708a9e40 Mon Sep 17 00:00:00 2001 From: johnhg Date: Mon, 12 Apr 2021 09:35:33 -0600 Subject: [PATCH 01/40] Updated develop-ref after #1750 (#1751) * Start on write netcdf pickle alternative. * Write dataplane array. * Start on read of netcdf as pickle alternative. * Create attribute variables. * Use global attributes for met_info attrs. * Add grid structure. * Read metadata back into met_info.attrs. * Convert grid.nx and grid.ny to int. * Rename _name key to name. * Removed pickle write. * Fixed write_pickle_dataplane to work for both numpy and xarray. * Use items() to iterate of key, value attrs. * Write temporary text file. * Renamed scripts. * Changed script names in Makefile.am. * Replaced pickle with tmp_nc. * Fixed wrapper script names. * Test for attrs in met_in.met_data. * Initial version of read_tmp_point module. * Added read_tmp_point.py to install list. * Start on Python3_Script::read_tmp_point. * Write MPR tmp ascii file. * Renamed to read_tmp_ascii to use for point point and MPR. * Renamed to read_tmp_ascii to use for point point and MPR. * Define Python3_Script::import_read_tmp_ascii_py. * Call Python3_Script::import_read_tmp_ascii_py. * Append MET_BASE/wrappers to sys.path. * Finished implementation of Python3_Script::import_read_tmp_ascii_py. * Call Python3_Script::read_tmp_ascii in python_handler. * Revised python3_script::read_tmp_ascii with call to run, PyRun_String. * Return PyObject* from Python3_Script::run. * Restored call to run_python_string for now. * Per #1429, enhance error message from DataLine::get_item(). (#1682) * Feature 1429 tc_log second try (#1686) * Per #1429, enhance error message from DataLine::get_item(). * Per #1429, I realize that the line number actually is readily available in the DataLine class... so include it in the error message. * Feature 1588 ps_log (#1687) * Per #1588, updated pair_data_point.h/.cc to add detailed Debug(4) log messages, as specified in the GitHub issue. Do still need to test each of these cases to confirm that the log messages look good. * Per #1588, switch very detailed interpolation details from debug level 4 to 5. * Per #1588, remove the Debug(4) log message about duplicate obs since it's been moved up to a higher level. * Per #1588, add/update detailed log messages when processing point observations for bad data, off the grid, bad topo, big topo diffs, bad fcst value, and duplicate obs. * #1454 Disabled plot_data_plane_CESM_SSMI_microwave and plot_data_plane_CESM_sea_ice_nc becaues of not evenly spaced * #1454 Moved NC attribute name to nc_utils.h * #1454 Corrected sanity checking for lat/lon projection based on the percentage of the delta instead of fixed tolerance * #1454 Corrected sanity checking for lat/lon projection based on the percentage of the delta instead of fixed tolerance * #1454 Corrected data.delta_lon * #1454 Change bact to use diff instead of absolute value of diff * 454 Deleted instea dof commenting out * 454 Deleted instea dof commenting out * Feature 1684 bss and 1685 single reference model (#1689) * Per #1684, move an instance of the ClimoCDFInfo class into PairBase. Also define derive_climo_vals() and derive_climo_prob() utility functions. * Add to VxPairDataPoint and VxPairDataEnsemble functions to set the ClimoCDFInfo class. * Per #1684, update ensemble_stat and point_stat to set the ClimoCDFInfo object based on the contents of the config file. * Per #1684, update the vx_statistics library and stat_analysis to make calls to the new derive_climo_vals() and derive_climo_prob() functions. * Per #1684, since cdf_info is a member of PairBase class, need to handle it in the PairDataPoint and PairDataEnsemble assignment and subsetting logic. * Per #1684, during development, I ran across and then updated this log message. * Per #1684, working on log messages and figured that the regridding climo data should be moved from Debug(1) to at least Debug(2). * Per #1684 and #1685, update the logic for the derive_climo_vals() utility function. If only a single climo bin is requested, just return the climo mean. Otherwise, sample the requested number of values. * Per #1684, just fixing the format of this log message. * Per #1684, add a STATLine::get_offset() member function. * Per #1684, update parse_orank_line() logic. Rather than calling NumArray::clear() call NumArray::erase() to preserve allocated memory. Also, instead of parsing ensemble member values by column name, parse them by offset number. * Per #1684, call EnsemblePairData::extend() when parsing ORANK data to allocate one block of memory instead of bunches of litte ones. * Per #1684 and #1685, add another call to Ensemble-Stat to test computing the CRPSCL_EMP from a single climo mean instead of using the full climo distribution. * Per #1684 and #1685, update ensemble-stat docs about computing CRPSS_EMP relative to a single reference model. * Per #1684, need to update Grid-Stat to store the climo cdf info in the PairDataPoint objects. * Per #1684, remove debug print statements. * Per #1684, need to set cdf_info when aggregating MPR lines in Stat-Analysis. * Per #1684 and #1685, update PairDataEnsemble::compute_pair_vals() to print a log message indicating the climo data being used as reference: For a climo distribution defined by mean and stdev: DEBUG 3: Computing ensemble statistics relative to a 9-member climatological ensemble. For a single deterministic reference: DEBUG 3: Computing ensemble statistics relative to the climatological mean. * Per #1691, add met-10.0.0-beta4 release notes. (#1692) * Updated Python documentation * Per #1694, add VarInfo::magic_str_attr() to construct a field summary string from the name_attr() and level_attr() functions. * Per #1694, fixing 2 issues here. There was a bug in the computation of the max value. Had a less-than sign that should have been greater-than. Also, switch from tracking data by it's magic_str() to simply using VAR_i and VAR_j strings. We *could* have just used the i, j integers directly, but constructing the ij joint histogram integer could have been tricky since we start numbering with 0 instead of 1. i=0, j=1 would result in 01 which is the same as integer of 1. If we do want to switch to integers, we just need to make them 1-based and add +1 all over the place. * Per #1694, just switching to consistent variable name. * Just consistent spacing. * Added python3_script::import_read_tmp_ascii. * Restored read_tmp_ascii call. * Added lookup into ascii module. * Adding files for ReadTheDocs * Adding .yaml file for ReadTheDocs * Updated path to requirements.txt file * Updated path to conf.py file * Removing ReadTheDocs files and working in separate branch * Return PyObject* from read_tmp_ascii. * Put point_data in global namespace. * Remove temporary ascii file. * Added tmp_ascii_path. * Removed read_obs_from_pickle. * Trying different options for formats (#1702) * Per #1706, add bugfix to the develop branch. Also add a new job to unit_stat_analysis.xml to test out the aggregation of the ECNT line type. This will add new unit test output and cause the NB to fail. (#1708) * Feature 1471 python_grid (#1704) * Per #1471, defined a parse_grid_string() function in the vx_statistics library and then updated vx_data2d_python to call that function. However, this creates a circular dependency because vx_data2d_python now depends on vx_statistics. * Per #1471, because of the change in dependencies, I had to modify many, many Makefile.am files to link to the -lvx_statistics after -lvx_data2d_python. This is not great, but I didn't find a better solution. * Per #1471, add a sanity check to make sure the grid and data dimensions actually match. * Per #1471, add 3 new unit tests to demonstrate setting the python grid as a named grid, grid specification string, or a gridded data file. * Per #1471, document python grid changes in appendix F. * Per #1471, just spacing. * Per #1471, lots of Makefile.am changes to get this code to compile on kiowa. Worringly, it compiled and linked fine on my Mac laptop but not on kiowa. Must be some large differences in the linker logic. Co-authored-by: John Halley Gotway * Committing a fix for unit_python.xml directly to the develop branch. We referenced in a place where it's not defined. * Add *.dSYM to the .gitignore files in the src and internal_tests directories. * Replaced tmp netcdf _name attribute with name_str. * Append user script path to system path. * Revert "Feature 1319 no pickle" (#1717) * Fixed typos, added content, and modified release date format * #1715 Initial release * #1715 Do not combined if there are no overlapping beteewn TQZ and UV records * #1715 Added pb2nc_compute_pbl_cape * #1715 Added pb2nc_compute_pbl_cape * #1715 Reduced obs_bufr_var. Removed pb_report_type * #1715 Added a blank line for Error/Warning * Per #1725, return good status from TrackInfoArray::add() when using an ATCF line to create a new track. (#1726) * Per #1705, update the threshold node heirarchy by adding a climo_prob() function to determine the climatological probability of a CDP-type threshold. Also update derive_climo_prob() in pair_base.cc to call the new climo_prob() function. (#1724) * Bugfix 1716 develop perc_thresh (#1722) * Per #1716, committing changes from Randy Bullock to support floating point percentile thresholds. * Per #1716, no code changes, just consistent formatting. * Per #1716, change SFP50 example to SFP33.3 to show an example of using floating point percentile values. * Update pull_request_template.md * Feature 1733 exc (#1734) * Per #1733, add column_exc_name, column_exc_val, init_exc_name, and init_exc_val options to the TCStat config files. * Per #1733, enhance tc_stat to support the column_exc and init_exc config file and job command filtering options. * Per #1733, update stat_analysis to support the -column_exc job filtering option. Still need to update docuementation and add unit tests. * Per #1773, update the user's guide with the new config and job command options. * Per #1733, add call to stat_analysis to exercise -column_str and -column_exc options. * Per #1733, I ran into a namespace conflict in tc_stat where -init_exc was used for to filter by time AND my string value. So I switched to using -init_str_exc instead. And made the corresponding change to -column_str_exc in stat_analysis and tc_stat. Also changed internal variable names to use IncMap and ExcMap to keep the logic clear. * Per #1733, tc_stat config file updates to switch from column_exc and init_exc to column_str_exc and init_str_exc. * Per #1733, add tc_stat and stat_analysis jobs to exercise the string filtering options. * Bugfix 1737 develop little_r (#1739) * Per #1737, migrate the same fix from main_v9.1 over to the develop branch. * Per #1737, add another unit test for running ascii2nc with corrupt littl_r records. * Feature GitHub actions (#1742) * Adding files to build documenation via GitHub Actions * Removing html_theme_options * Removed warnings.log from help section * Feature 1575 large_diffs (#1741) * Per #1575, add mpr_column and mpr_thresh entries to all of the Grid-Stat and Point-Stat config files. * Per #1575, define config strings to be parsed from the config files. * Per #1575, store col_name_ptr and col_thresh_ptr in PairBase. They are being used for PairDataPoint to do MPR filtering in Grid-Stat and Point-Stat. But they could be eventually be extended to filter ORANK columns for Ensemble-Stat. * Per #1575, add MPR filtering logic to pair_data_point.cc. Include filtering logic in PairDataPoint instead of VxPairDataPoint since Grid-Stat uses PairDataPoint. * Per #1575, update point_stat to parse the mpr_column and mpr_thresh config file options. Include the MPR rejection reason code counts in the log output. * Per #1575, updated Grid-Stat to parse mpr_column and mpr_thresh options. * Per #1575, update Point-Stat to store mpr_sa and mpr_ta locally and then call set_mpr_filt() after the VxPairDataPoint object has been sized and allocated. * Per #1575, renamed PairDataEnsemble::subset_pairs() to subset_pairs_obs_thresh() to be a little more explicit about things. I'll do the same for PairDataPoint using names subset_pairs_cnt_thresh() and subset_pairs_mpr_thresh(). * Per #1575, some cleanup, moving check_fo_thresh() utility function from vx_config to vx_statistics library. * Per #1575, when implementing this for Grid-Stat, I realized that there isn't much benefit in storing col_name_ptr and col_name_thresh in PairBase. These changes remove that. * Per #1575, updating pair_data_point.h/.cc to handle the subsetting of data based on the MPR thresh. * Per #1575, rename subset_pairs() to subset_pairs_cnt_thresh() to be a bit more explicit with the naming conventions. * Per #1575, no real changes here. Just reorganizing the location of the mpr_sa and mpr_ta members. * Per #1575, make the subset_pairs() utility function a member function of the PairDataPoint class named subset_pairs_cnt_thresh() and update the application code to call it. * Per #1575, need to actually set the mpr_thresh! * Per #1575, update subset_pairs_mpr_thresh() to make sure the StringArray and ThreshArray lengths are the same. * Per #1575, replace PairDataPoint::subset_pairs_mpr_thresh() with a utility function named apply_mpr_thresh_mask(). This is for Grid-Stat to apply the mpr_thresh settings after the DataPlane pairs have been created but prior to applying any smoothing operations. * Per #1575, add documentation about mpr_column and mpr_thresh. * Per #1575, mpr_columns can also include CLIMO_CDF. * Per #1575, add tests for Grid-Stat and Point-Stat to exercise the mpr_column and mpr_thresh config file options. * Feature 1319 no pickle (#1720) * Try path insert. * sys.path insert. * Per #1319, adding David's changes back into the feature_1319_no_pickle branch. It compiles but TEST: python_numpy_plot_data_plane_pickle fails when testing on my Mac. Comitting now to test on kiowa. * Per #1319, small updated to write_tmp_dataplane.py script. Had a couple of if statements that should really be elif. Co-authored-by: John Halley Gotway Co-authored-by: John Halley Gotway * Feature 1736 out_stat (#1744) * Per #1736, if -out_stat was used for aggregate or aggregate_stat jobs, do not write output to the -out or log output. * Per #1736, clarify stat_analysis documentation for -out_stat option. * Per #1736, for jobs which can write .stat output, don't waste time populating the output AsciiTable unless it's actually going to be written. Co-authored-by: John Halley Gotway * Per #1319, this is a hotfix to the develop branch. While running unit_python.xml works via the command line, it fails when run through cron. The problem is the PATH setting. Need to have the anaconda bin directory in the path for it to succeeed. Adding that for the single test. * Just lining up a log message in the output of gen_vx_mask. * Per #1319, setting PATH as an envvar might cause problems. All variables set prior to the test are unset afterwards! So we'd run all the rest of the tests after unit_python.xml with an empty path. That would likely cause any subsequent call to Rscript to fail. Recommend tightening up this logic when we move these tests to GHA. * Trying to get the PATH setting correct for unit_python.xml. * Changed weblink for METplus documentation * per #1319 added netCDF4 python package to MET docker image so it is available for python embedding cases that use MET_PYTHON_EXE * Feature 1747 pylonglong (#1748) * Per #1747, update MET to interpret longlong values as integers. NetCDF file attributes that have an LL suffix are read into python as numpy.int64 objects. Right now MET fails when trying to read those as integers. Update the parsing logic to interpret those as ints. * Per #1747, since MET can now interpret both long and longlong's as ints, there's no need to cast nx and ny to ints in the read_tmp_dataplane.py script anymore. * Per #1747, this is slightly unrelated. But after installing the netCDF4 module on kiowa for /usr/local/met-python3/bin/python3, we should no longer need a custom PATH setting to get unit_python.xml to work. Reverting the change I made to it a couple of days ago to get it working. * Hotfix for the develop branch in tc_pairs.cc. The METplus unit tests kept failing through GHA with a divide by zero error. It occurs in compute_track_err() but only for a very specific set of data. The bdeck valid increment evaluates to 0 which causes the divide by 0 error. It also can evaluate to bad data (e.g. -9999). The fix is to check for 0 and bad data. If found, use the constant best_track_time_step value instead. * Turned specific section numbers into linked sections because section numbers can change * Removed hard-coded references to section numbers * Feature 1714 tc_gen (#1750) * Per #1714, add tc_gen genesis_match_window configuration option to define a search window relative to the forecast genesis time. * Per #1714, clarify docs to state the genesis_match_window.end = 12 allows for matches for early forecasts. Also add an example of this option to the tc_gen unit test. * Per #1714, switch ops_hit_tdiff to ops_hit_window. * Per #1714, skip genesis events for tracks where the cyclone number is > 50. * Per #1714, only discard cyclone numbers > 50 from the Best track, not the forecast tracks. * Per #1716, add note to the tc_gen chapter about skipping Best tracks with cyclone number > 50. * Per #1714, adding genesis_match_point_to_track config file option for TC-Gen. Note that this version of the code is close but doesn't actually compile yet. I still need to figure out exactly how to process the operational tracks. Should this logic also apply to the matching for those tracks? * Per #1714, the logic for checking the operational tracks is pretty simple. We only store/check operational track points for lead time = 0. So applying the genesis_match_point_to_track boolean config option does not make sense. * Per #1714, update the tc-gen user's guide chapter to describe the updated logic and new config file option. * Per #1714, fix the logic of the is_match() function. * Per #1714, reconfigure the call to tc_gen to exercise the new genesis_match_track_to_point option. * Per #1714, just fixing spacing in source code. * Committing 2 small changes not specifically related to #1714, but related the processing of genesis tracks. When getting items from ATCFGenLines, the columns to be shifted are off by one. We had been shifting offset 2 up to 3, but it should have remained at 2. Also when initializing a TrackInfo object, set the StormID by calling ATCFLineBase::storm_id() instead of constructing it from BASIN:CYCLONE:YYYY. For ATCFGenLines we want to set the Storm ID equal to the 3rd column rather than constructing it! * Per #1714, fix an error in the logic of GenesisInfo::is_match(const GenesisInfo &,...). I was using the index of the current GenesisInfo object instead of the one from the input argument. Fix this by adding GenesisInfo::genesis() member function to return a reference the TrackPoint for Genesis. * Per #1714, correcting logic for parsing the storm_id and warning_time columns for ATCFGen and regular ATCF line types. For ATCFGen line types, the code was incorrectly using the 3rd column when it should have used the 4th column! Co-authored-by: John Halley Gotway Co-authored-by: David Fillmore Co-authored-by: Howard Soh Co-authored-by: hsoh-u Co-authored-by: Julie.Prestopnik Co-authored-by: David Fillmore Co-authored-by: John Halley Gotway Co-authored-by: MET Tools Test Account Co-authored-by: George McCabe --- met/data/config/TCGenConfig_default | 27 +++++- met/data/wrappers/read_tmp_dataplane.py | 1 - met/docs/Users_Guide/tc-gen.rst | 44 +++++++-- met/src/basic/vx_config/config_constants.h | 4 +- .../libcode/vx_python3_utils/python3_dict.cc | 8 ++ met/src/libcode/vx_tc_util/atcf_line_base.cc | 16 +++- met/src/libcode/vx_tc_util/genesis_info.cc | 25 ++++- met/src/libcode/vx_tc_util/genesis_info.h | 14 +-- met/src/libcode/vx_tc_util/track_info.cc | 2 +- met/src/tools/tc_utils/tc_gen/tc_gen.cc | 95 +++++++++++++------ met/src/tools/tc_utils/tc_gen/tc_gen.h | 4 + .../tools/tc_utils/tc_gen/tc_gen_conf_info.cc | 28 ++++-- .../tools/tc_utils/tc_gen/tc_gen_conf_info.h | 14 +-- met/src/tools/tc_utils/tc_pairs/tc_pairs.cc | 8 +- scripts/docker/Dockerfile | 2 +- test/config/TCGenConfig_2016 | 40 +++++++- 16 files changed, 249 insertions(+), 83 deletions(-) diff --git a/met/data/config/TCGenConfig_default b/met/data/config/TCGenConfig_default index db38b1302b..1a135491f5 100644 --- a/met/data/config/TCGenConfig_default +++ b/met/data/config/TCGenConfig_default @@ -150,18 +150,34 @@ dland_thresh = NA; // //////////////////////////////////////////////////////////////////////////////// +// +// Genesis matching logic. Compare the forecast genesis point to all points in +// the Best track (TRUE) or the single Best track genesis point (FALSE). +// +genesis_match_point_to_track = TRUE; + // // Radius in km to search for a matching genesis event // genesis_match_radius = 500; +// +// Time window in hours, relative to the model genesis time, to search for a +// matching Best track point +// +genesis_match_window = { + beg = 0; + end = 0; +} + // // Radius in km for a development scoring method hit // dev_hit_radius = 500; // -// Time window in hours for a development scoring method hit +// Time window in hours, relative to the model genesis time, for a development +// scoring method hit // dev_hit_window = { beg = -24; @@ -169,10 +185,13 @@ dev_hit_window = { } // -// Maximum Best track genesis minus model initialization time difference for an -// operational scoring method hit +// Time window in hours for the Best track genesis minus model initialization +// time difference for an operational scoring method hit // -ops_hit_tdiff = 48; +ops_hit_window = { + beg = 0; + end = 48; +} // // Discard genesis forecasts for initializations at or after the matching diff --git a/met/data/wrappers/read_tmp_dataplane.py b/met/data/wrappers/read_tmp_dataplane.py index e21c17ba3f..c6f8f57a9c 100644 --- a/met/data/wrappers/read_tmp_dataplane.py +++ b/met/data/wrappers/read_tmp_dataplane.py @@ -27,7 +27,6 @@ grid[grid_attr] = attr_val else: met_attrs[attr] = attr_val -grid['nx'], grid['ny'] = int(grid['nx']), int(grid['ny']) met_attrs['grid'] = grid met_attrs['name'] = met_attrs['name_str'] del met_attrs['name_str'] diff --git a/met/docs/Users_Guide/tc-gen.rst b/met/docs/Users_Guide/tc-gen.rst index 45bd9e7404..763c5663b4 100644 --- a/met/docs/Users_Guide/tc-gen.rst +++ b/met/docs/Users_Guide/tc-gen.rst @@ -6,7 +6,9 @@ TC-Gen Tool Introduction ____________ -The TC-Gen tool provides verification of tropical cyclone genesis forecasts in ATCF file format. Producing reliable tropical cyclone genesis forecasts is an important metric for global numerical weather prediction models. This tool ingests deterministic model output post-processed by a genesis tracking software (e.g. GFDL vortex tracker) and ATCF format reference dataset(s) (e.g. Best Track analysis and CARQ operational tracks) and outputs categorical counts and statistics. The capability to modify the spatial and temporal tolerances that define a “hit” forecast is included to give users the ability to condition the criteria based on model performance and/or conduct sensitivity analyses. Statistical aspects are outlined in Section 21.2 and practical aspects of the TC-Gen tool are described in Section 21.3. +The TC-Gen tool provides verification of tropical cyclone genesis forecasts in ATCF file format. Producing reliable tropical cyclone genesis forecasts is an important metric for global numerical weather prediction models. This tool ingests deterministic model output post-processed by a genesis tracking software (e.g. GFDL vortex tracker) and ATCF format reference dataset(s) (e.g. Best Track analysis and CARQ operational tracks) and outputs categorical counts and statistics. The capability to modify the spatial and temporal tolerances that define a “hit” forecast is included to give users the ability to condition the criteria based on model performance and/or conduct sensitivity analyses. Statistical aspects are outlined in :numref:`tc-gen_stat_aspects` and practical aspects of the TC-Gen tool are described in :numref:`tc-gen_practical_info`. + +.. _tc-gen_stat_aspects: Statistical aspects ___________________ @@ -15,7 +17,9 @@ The TC-Gen tool populates a contingency tables with hits, misses, and false alar Other considerations for interpreting the output of the TC-Gen tool involve the size of the contingency table output. The size of the contingency table will change depending on the number of matches. Additionally, the number of misses is based on the forecast duration and interval (specified in the configuration file). This change is due to the number of model opportunities to forecast the event, which is determined by the specified duration/interval. -Care should be taken when interpreting the statistics for filtered data. In some cases, variables (e.g. storm name) are only available in either the forecast or reference datasets, rather than both. When filtering on a field that is only present in one dataset, the contingency table counts will be impacted. Similarly, the initialization field only impacts the model forecast data. If the valid time (which will impact the reference dataset) isn't also specified, the forecasts will be filtered and matched such that the number of misses will erroneously increase. See section 21.3 for more detail. +Care should be taken when interpreting the statistics for filtered data. In some cases, variables (e.g. storm name) are only available in either the forecast or reference datasets, rather than both. When filtering on a field that is only present in one dataset, the contingency table counts will be impacted. Similarly, the initialization field only impacts the model forecast data. If the valid time (which will impact the reference dataset) isn't also specified, the forecasts will be filtered and matched such that the number of misses will erroneously increase. See :numref:`tc-gen_practical_info` for more detail. + +.. _tc-gen_practical_info: Practical information _____________________ @@ -61,15 +65,15 @@ The TC-Gen tool implements the following logic: * Parse the forecast genesis data and identify forecast genesis events separately for each model present. -* Parse the Best and operational track data, and identify Best track genesis events. +* Parse the Best and operational track data, and identify Best track genesis events. Note that Best tracks with a cyclone number greater than 50 are automatically discarded from the analysis. Large cyclone numbers are used for pre-season testing or to track invests prior to a storm actually forming. Running this tool at verbosity level 6 (-v 6) prints details about which tracks are discarded. * Loop over the filters defined in the configuration file and apply the following logic for each. * For each Best track genesis event meeting the filter critera, determine the initialization and lead times for which the model had an opportunity to forecast that genesis event. Store an unmatched genesis pair for each case. - * For each forecast genesis event, search for a matching Best track. A Best track matches if the valid time of one of its track points matches the forecast genesis time and is within a configurable radius of the forecast genesis location. If a Best track match is found, store the storm ID. + * For each forecast genesis event, search for a matching Best track. A configurable boolean option controls whether all Best track points are considered for a match or only the single Best track genesis point. A match occurs if the Best track point valid time is within a configurable window around the forecast genesis time and the Best track point location is within a configurable radius of the forecast genesis location. If a Best track match is found, store the storm ID. - * In no Best track match is found, apply the same logic to search the 0-hour operational track points. If an operational match is found, store the storm ID. + * In no Best track match is found, apply the same logic to search the operational track points with lead time of 0 hours. If an operational match is found, store the storm ID. * If a matching storm ID is found, match the forecast genesis event to the Best track genesis event for that storm ID. @@ -251,11 +255,30 @@ The **dland_thresh** entry is a threshold defining whether the genesis event sho ______________________ +.. code-block:: none + + genesis_match_point_to_track = TRUE; + +The **genesis_match_point_to_track** entry is a boolean which controls the matching logic. When set to its default value of TRUE, for each forecast genesis event, all Best track points are searched for a match. This logic implements the method used by the NOAA National Hurricane Center. When set to FALSE, only the single Best track genesis point is considered for a match. When selecting FALSE, users are encouraged to adjust the **genesis_match_radius** and/or **gensesis_match_window** options, described below, to enable matches to be found. + +______________________ + .. code-block:: none genesis_match_radius = 500; -The **genesis_match_radius** entry defines a search radius, in km, relative to the forecast genesis location. When searching for a match, only those Best genesis events which occur within this radius will be considered. Increasing this search radius should lead to an increase in the number of matched genesis pairs. +The **genesis_match_radius** entry defines a search radius, in km, relative to the forecast genesis location. When searching for a match, only Best or operational tracks with a track point within this radius will be considered. Increasing this search radius should lead to an increase in the number of matched genesis pairs. + +______________________ + +.. code-block:: none + + genesis_match_window = { + beg = 0; + end = 0; + } + +The **genesis_match_window** entry defines a time window, in hours, relative to the forecast genesis time. When searching for a match, only Best or operational tracks with a track point falling within this time window will be considered. The default time window of 0 requires a Best or operational track to exist at the forecast genesis time for a match to be found. Increasing this time window should lead to an increase in the number matched genesis pairs. For example, setting *end = 12;* would allow forecast genesis events to match Best tracks up to 12 hours prior to their existence. ______________________ @@ -274,15 +297,18 @@ ______________________ end = 24; } -The **dev_hit_window** entry defines a time window, in hours, relative to the forecast genesis time. The Best track genesis event must occur within this time window for the pair to be counted as contingency table HIT for the development scoring method. Tightening this window may cause development method HITS to become FALSE ALARMS. +The **dev_hit_window** entry defines a time window, in hours, relative to the forecast genesis time. The Best track genesis event must occur within this time window for the pair to be counted as a contingency table HIT for the development scoring method. Tightening this window may cause development method HITS to become FALSE ALARMS. ______________________ .. code-block:: none - ops_hit_tdiff = 48; + ops_hit_window = { + beg = 0; + end = 48; + } -The **ops_hit_tdiff** entry is an integer which defines a maximum allowable time difference in hours. For each matching forecast and Best track genesis event, if the difference between the Best track genesis time and the forecast initialization time is less than or equal to this value, then the pair is counted as a contingency table HIT for the operational scoring method. Otherwise, it is counted as a FALSE ALARM. +The **ops_hit_window** entry defines a time window, in hours, relative to the Best track genesis time. The model initialization time for the forecast genesis event must occur within this time window for the pairs to be counted as a contingency table HIT for the operationl scoring method. Otherwise, the pair is counted as a FALSE ALARM. ______________________ diff --git a/met/src/basic/vx_config/config_constants.h b/met/src/basic/vx_config/config_constants.h index bc82d55625..a6431fca54 100644 --- a/met/src/basic/vx_config/config_constants.h +++ b/met/src/basic/vx_config/config_constants.h @@ -1076,10 +1076,12 @@ static const char conf_key_category[] = "category"; static const char conf_key_vmax_thresh[] = "vmax_thresh"; static const char conf_key_mslp_thresh[] = "mslp_thresh"; static const char conf_key_basin_mask[] = "basin_mask"; +static const char conf_key_genesis_match_point_to_track[] = "genesis_match_point_to_track"; static const char conf_key_genesis_match_radius[] = "genesis_match_radius"; +static const char conf_key_genesis_match_window[] = "genesis_match_window"; static const char conf_key_dev_hit_radius[] = "dev_hit_radius"; static const char conf_key_dev_hit_window[] = "dev_hit_window"; -static const char conf_key_ops_hit_tdiff[] = "ops_hit_tdiff"; +static const char conf_key_ops_hit_window[] = "ops_hit_window"; static const char conf_key_discard_init_post_genesis_flag[] = "discard_init_post_genesis_flag"; static const char conf_key_dev_method_flag[] = "dev_method_flag"; static const char conf_key_ops_method_flag[] = "ops_method_flag"; diff --git a/met/src/libcode/vx_python3_utils/python3_dict.cc b/met/src/libcode/vx_python3_utils/python3_dict.cc index 6d38599aa4..99a0d5fc93 100644 --- a/met/src/libcode/vx_python3_utils/python3_dict.cc +++ b/met/src/libcode/vx_python3_utils/python3_dict.cc @@ -164,6 +164,14 @@ if ( ! a ) { } +// If not a Long, try interpreting as LongLong for numpy.int64 values + +if ( ! PyLong_Check(a) ) { + + a = PyLong_FromLongLong(PyLong_AsLongLong(a)); + +} + if ( ! PyLong_Check(a) ) { mlog << Error << "\nPython3_Dict::lookup_int(const char *) -> " diff --git a/met/src/libcode/vx_tc_util/atcf_line_base.cc b/met/src/libcode/vx_tc_util/atcf_line_base.cc index 5ae638f44f..aa970dc117 100644 --- a/met/src/libcode/vx_tc_util/atcf_line_base.cc +++ b/met/src/libcode/vx_tc_util/atcf_line_base.cc @@ -211,9 +211,12 @@ ConcatString ATCFLineBase::get_item(int i) const { int i_col = i; // For ATCFLineType_GenTrack: - // Columns 1 and 2 are consistent, use offsets 0 and 1 - // Columns 4-20 are the same as columns 3-19 of ATCFLineType_Track - // Shift those column indices by 1. + // Columns 1 and 2 are consistent: + // Use offsets 0 and 1 + // Column 3 for is an EXTRA column for this line type: + // Add special handling in storm_id() + // Columns 4-20 are the same as columns 3-19 of ATCFLineType_Track: + // Shift those column indices by 1. if(Type == ATCFLineType_GenTrack && i >= 2 && i <= 18) i_col++; cs = DataLine::get_item(i_col); @@ -252,7 +255,8 @@ ConcatString ATCFLineBase::basin() const { //////////////////////////////////////////////////////////////////////// ConcatString ATCFLineBase::cyclone_number() const { - return(get_item(CycloneNumberOffset)); } + return(get_item(CycloneNumberOffset)); +} //////////////////////////////////////////////////////////////////////// @@ -357,8 +361,10 @@ int ATCFLineBase::lead() const { ConcatString ATCFLineBase::storm_id() const { ConcatString cs; + // For ATCFLineType_GenTrack, use the contents of the extra 3rd column + // Call DataLine::get_item() to avoid the column shifting logic if(Type == ATCFLineType_GenTrack) { - cs = get_item(GenStormIdOffset); + cs = DataLine::get_item(GenStormIdOffset); } else { unixtime ut = valid(); diff --git a/met/src/libcode/vx_tc_util/genesis_info.cc b/met/src/libcode/vx_tc_util/genesis_info.cc index 8cc5ea36d9..91c708ff82 100644 --- a/met/src/libcode/vx_tc_util/genesis_info.cc +++ b/met/src/libcode/vx_tc_util/genesis_info.cc @@ -259,6 +259,7 @@ void GenesisInfo::set_dland(double d) { bool GenesisInfo::set(const TrackInfo &ti, const GenesisEventInfo &event_info) { + // Initialize clear(); @@ -298,14 +299,32 @@ int GenesisInfo::genesis_fhr() const { //////////////////////////////////////////////////////////////////////// -bool GenesisInfo::is_match(const TrackPoint &p, - const double rad) const { +const TrackPoint * GenesisInfo::genesis() const { + return(is_bad_data(GenesisIndex) ? 0 : &(Point[GenesisIndex])); +} + +//////////////////////////////////////////////////////////////////////// + +bool GenesisInfo::is_match(const TrackPoint &p, const double rad, + const int beg, const int end) const { // Check for matching in time and space - return(GenesisTime == p.valid() && + return(p.valid() >= (GenesisTime + beg) && + p.valid() <= (GenesisTime + end) && gc_dist(Lat, Lon, p.lat(), p.lon()) <= rad); } +//////////////////////////////////////////////////////////////////////// + +bool GenesisInfo::is_match(const GenesisInfo &gi, const double rad, + const int beg, const int end) const { + + // Input genesis point + const TrackPoint *p = gi.genesis(); + + return(p ? is_match(*p, rad, beg, end) : false); +} + //////////////////////////////////////////////////////////////////////// // // Code for class GenesisInfoArray diff --git a/met/src/libcode/vx_tc_util/genesis_info.h b/met/src/libcode/vx_tc_util/genesis_info.h index bc4a511020..9ef8afb742 100644 --- a/met/src/libcode/vx_tc_util/genesis_info.h +++ b/met/src/libcode/vx_tc_util/genesis_info.h @@ -55,11 +55,8 @@ class GenesisInfo : public TrackInfo { bool IsSet; - // TrackInfo for this Genesis event - TrackInfo Track; - int GenesisIndex; - // Genesis Information + int GenesisIndex; unixtime GenesisTime; int GenesisLead; double Lat; @@ -93,6 +90,8 @@ class GenesisInfo : public TrackInfo { // get stuff // + const TrackPoint *genesis() const; + double lat() const; double lon() const; double dland() const; @@ -105,7 +104,11 @@ class GenesisInfo : public TrackInfo { // bool is_match(const TrackPoint &, - const double) const; + const double, + const int, const int) const; + bool is_match(const GenesisInfo &, + const double, + const int, const int) const; }; //////////////////////////////////////////////////////////////////////// @@ -161,7 +164,6 @@ class GenesisInfoArray { const GenesisInfo & operator[](int) const; int n() const; int n_technique() const; - }; //////////////////////////////////////////////////////////////////////// diff --git a/met/src/libcode/vx_tc_util/track_info.cc b/met/src/libcode/vx_tc_util/track_info.cc index 312d9aa620..215f0c3b38 100644 --- a/met/src/libcode/vx_tc_util/track_info.cc +++ b/met/src/libcode/vx_tc_util/track_info.cc @@ -299,7 +299,7 @@ void TrackInfo::initialize(const ATCFTrackLine &l, bool check_anly) { MinValidTime = MaxValidTime = l.valid(); // Create the storm id - set_storm_id(); + set_storm_id(l.storm_id().c_str()); return; } diff --git a/met/src/tools/tc_utils/tc_gen/tc_gen.cc b/met/src/tools/tc_utils/tc_gen/tc_gen.cc index f3b614960c..743db7fd44 100644 --- a/met/src/tools/tc_utils/tc_gen/tc_gen.cc +++ b/met/src/tools/tc_utils/tc_gen/tc_gen.cc @@ -19,6 +19,7 @@ // 002 12/15/20 Halley Gotway Matching logic for MET #1448 // 003 12/31/20 Halley Gotway Add NetCDF output for MET #1430 // 004 01/14/21 Halley Gotway Add GENMPR output for MET #1597 +// 005 04/02/21 Halley Gotway Refinements for MET #1714 // //////////////////////////////////////////////////////////////////////// @@ -82,7 +83,7 @@ static void do_genesis_ctc (const TCGenVxOpt &, static int find_genesis_match (const GenesisInfo &, const GenesisInfoArray &, const TrackInfoArray &, - double); + bool, double, int, int); static void setup_txt_files (int, int); static void setup_table (AsciiTable &); @@ -370,14 +371,17 @@ void get_genesis_pairs(const TCGenVxOpt &vx_opt, conf_info.InitFreqHr*sec_per_hour, vx_opt.InitBeg, vx_opt.InitEnd, vx_opt.InitInc, vx_opt.InitExc); - } + } // end for i bga // Loop over the model genesis events looking for pairs. for(i=0; igenesis_time() - fgi->init(); offset_cs << cs_erase << "with an init vs genesis time offset of " << diff.OpsDSec/sec_per_hour << " hours.\n"; - if(diff.OpsDSec <= vx_opt.OpsHitDSec) { + // Ops Method: + // HIT if forecast init time is close enough to + // the BEST genesis time. + if(diff.OpsDSec >= vx_opt.OpsHitBeg && + diff.OpsDSec <= vx_opt.OpsHitEnd) { mlog << Debug(4) << case_cs << " is an ops method HIT " << offset_cs; @@ -591,10 +595,9 @@ void do_genesis_ctc(const TCGenVxOpt &vx_opt, int find_genesis_match(const GenesisInfo &fcst_gi, const GenesisInfoArray &bga, const TrackInfoArray &ota, - const double rad) { - int i, j; - int i_best = bad_data_int; - int i_oper = bad_data_int; + bool point2track, double rad, + int beg, int end) { + int i, j, i_best, i_oper; ConcatString case_cs; case_cs << fcst_gi.technique() << " " @@ -605,20 +608,36 @@ int find_genesis_match(const GenesisInfo &fcst_gi, << " forecast genesis at (" << fcst_gi.lat() << ", " << fcst_gi.lon() << ")"; - // Search the BEST track points for a match + // Search for a BEST track genesis match for(i=0, i_best=bad_data_int; i conf_info.FcstSecEnd) { - mlog << Debug(6) << "Skipping genesis event for forecast hour " - << fcst_gi.genesis_fhr() << ".\n"; + mlog << Debug(6) + << "Skipping forecast genesis event for forecast hour " + << fcst_gi.genesis_fhr() << " not between " + << conf_info.FcstSecBeg/sec_per_hour << " and " + << conf_info.FcstSecEnd/sec_per_hour << ".\n"; continue; } // Check the forecast track minimum duration if(fcst_gi.duration() < conf_info.MinDur*sec_per_hour) { - mlog << Debug(6) << "Skipping genesis event for track duration of " - << fcst_gi.duration()/sec_per_hour << ".\n"; + mlog << Debug(6) + << "Skipping forecast genesis event for track duration of " + << fcst_gi.duration()/sec_per_hour << " < " + << conf_info.MinDur << ".\n"; continue; } @@ -899,6 +925,15 @@ void process_best_tracks(const StringArray &files, continue; } + // Skip invest tracks with a large cyclone number + if(atof(best_ta[i].cyclone().c_str()) > max_best_cyclone_number) { + mlog << Debug(6) + << "Skipping Best track genesis event for cyclone number " + << best_ta[i].cyclone() << " > " << max_best_cyclone_number + << ".\n"; + continue; + } + // Check for duplicates if(best_ga.has_storm(best_gi, i_bga)) { diff --git a/met/src/tools/tc_utils/tc_gen/tc_gen.h b/met/src/tools/tc_utils/tc_gen/tc_gen.h index 3d6ff17e9c..10118842c6 100644 --- a/met/src/tools/tc_utils/tc_gen/tc_gen.h +++ b/met/src/tools/tc_utils/tc_gen/tc_gen.h @@ -77,6 +77,10 @@ const ConcatString genesis_name ("GENESIS"); const ConcatString genesis_dev_name("GENESIS_DEV"); const ConcatString genesis_ops_name("GENESIS_OPS"); +// Maximum Best track cyclone number to be processed +// Cyclone numbers > 50 are for testing or invests +static const int max_best_cyclone_number = 50; + //////////////////////////////////////////////////////////////////////// // // Variables for Command Line Arguments diff --git a/met/src/tools/tc_utils/tc_gen/tc_gen_conf_info.cc b/met/src/tools/tc_utils/tc_gen/tc_gen_conf_info.cc index cdab8c11da..e2046c0c13 100644 --- a/met/src/tools/tc_utils/tc_gen/tc_gen_conf_info.cc +++ b/met/src/tools/tc_utils/tc_gen/tc_gen_conf_info.cc @@ -156,10 +156,12 @@ void TCGenVxOpt::clear() { VxBasinMask.clear(); VxAreaMask.clear(); DLandThresh.clear(); + GenesisMatchPointTrack = false; GenesisMatchRadius = bad_data_double; + GenesisMatchBeg = GenesisMatchEnd = bad_data_int; DevHitRadius = bad_data_double; DevHitBeg = DevHitEnd = bad_data_int; - OpsHitDSec = bad_data_int; + OpsHitBeg = OpsHitEnd = bad_data_int; DiscardFlag = false; DevFlag = OpsFlag = false; CIAlpha = bad_data_double; @@ -242,24 +244,34 @@ void TCGenVxOpt::process_config(Dictionary &dict) { // Conf: dland_thresh DLandThresh = dict.lookup_thresh(conf_key_dland_thresh); + // Conf: genesis_match_point_to_track + GenesisMatchPointTrack = + dict.lookup_bool(conf_key_genesis_match_point_to_track); + // Conf: genesis_match_radius GenesisMatchRadius = dict.lookup_double(conf_key_genesis_match_radius); + // Conf: genesis_match_window + dict2 = dict.lookup_dictionary(conf_key_genesis_match_window); + parse_conf_range_int(dict2, beg, end); + GenesisMatchBeg = beg*sec_per_hour; + GenesisMatchEnd = end*sec_per_hour; + // Conf: dev_hit_radius - DevHitRadius = - dict.lookup_double(conf_key_dev_hit_radius); + DevHitRadius = dict.lookup_double(conf_key_dev_hit_radius); - // Conf: genesis_hit_window + // Conf: dev_hit_window dict2 = dict.lookup_dictionary(conf_key_dev_hit_window); parse_conf_range_int(dict2, beg, end); DevHitBeg = beg*sec_per_hour; DevHitEnd = end*sec_per_hour; - // Conf: ops_hit_tdiff - OpsHitDSec = nint( - dict.lookup_double(conf_key_ops_hit_tdiff) * - sec_per_hour); + // Conf: ops_hit_window + dict2 = dict.lookup_dictionary(conf_key_ops_hit_window); + parse_conf_range_int(dict2, beg, end); + OpsHitBeg = beg*sec_per_hour; + OpsHitEnd = end*sec_per_hour; // Conf: discard_init_post_genesis_flag DiscardFlag = diff --git a/met/src/tools/tc_utils/tc_gen/tc_gen_conf_info.h b/met/src/tools/tc_utils/tc_gen/tc_gen_conf_info.h index de7d14c1d9..0769f64f8f 100644 --- a/met/src/tools/tc_utils/tc_gen/tc_gen_conf_info.h +++ b/met/src/tools/tc_utils/tc_gen/tc_gen_conf_info.h @@ -131,16 +131,18 @@ class TCGenVxOpt { // Distance to land threshold SingleThresh DLandThresh; + // Matching logic + bool GenesisMatchPointTrack; + // Temporal and spatial matching criteria double GenesisMatchRadius; + int GenesisMatchBeg, GenesisMatchEnd; + + // Temporal and spatial scoring options double DevHitRadius; int DevHitBeg, DevHitEnd; - int OpsHitDSec; - - // Scoring methods - bool DiscardFlag; - bool DevFlag; - bool OpsFlag; + int OpsHitBeg, OpsHitEnd; + bool DiscardFlag, DevFlag, OpsFlag; // Output file options double CIAlpha; diff --git a/met/src/tools/tc_utils/tc_pairs/tc_pairs.cc b/met/src/tools/tc_utils/tc_pairs/tc_pairs.cc index a86b1a3d49..6fd095d299 100644 --- a/met/src/tools/tc_utils/tc_pairs/tc_pairs.cc +++ b/met/src/tools/tc_utils/tc_pairs/tc_pairs.cc @@ -1740,7 +1740,7 @@ void compute_track_err(const TrackInfo &adeck, const TrackInfo &bdeck, NumArray &altk_err, NumArray &crtk_err) { int i, i_adeck, i_bdeck, status; unixtime ut, ut_min, ut_max; - int ut_inc, n_ut; + int bd_inc, ut_inc, n_ut; float alat[mxp], alon[mxp], blat[mxp], blon[mxp]; float crtk[mxp], altk[mxp]; double x, y, tk, lon_min, lon_max; @@ -1760,8 +1760,10 @@ void compute_track_err(const TrackInfo &adeck, const TrackInfo &bdeck, // Determine the valid increment // For BEST tracks, use a constant time step // For non-BEST tracks, select the most common BDECK time step - if(bdeck.is_best_track()) ut_inc = best_track_time_step; - else ut_inc = bdeck.valid_inc(); + // Check for 0 and bad data + bd_inc = bdeck.valid_inc(); + ut_inc = (bdeck.is_best_track() || bd_inc == 0 || is_bad_data(bd_inc) ? + best_track_time_step : bd_inc); // Round the valid times to the nearest valid increment if(ut_min%ut_inc != 0) ut_min = (ut_min/ut_inc + 1)*ut_inc; diff --git a/scripts/docker/Dockerfile b/scripts/docker/Dockerfile index 9a80592f6b..330e0bbadd 100644 --- a/scripts/docker/Dockerfile +++ b/scripts/docker/Dockerfile @@ -53,7 +53,7 @@ RUN yum -y update \ && yum -y install gv ncview wgrib wgrib2 ImageMagick ps2pdf \ && yum -y install python3 python3-devel python3-pip \ && pip3 install --upgrade pip \ - && python3 -m pip install numpy xarray + && python3 -m pip install numpy xarray netCDF4 # # Set the working directory. diff --git a/test/config/TCGenConfig_2016 b/test/config/TCGenConfig_2016 index 6d46d9f528..28ec263e85 100644 --- a/test/config/TCGenConfig_2016 +++ b/test/config/TCGenConfig_2016 @@ -90,6 +90,17 @@ filter = [ nc_pairs_flag = TRUE; output_flag = { genmpr = BOTH; } }, + { + desc = "AL_MATCH24HR"; + basin_mask = "AL"; + genesis_match_window = { beg = 0; end = 24; }; + }, + { + desc = "AL_POINT2POINT"; + basin_mask = "AL"; + genesis_match_window = { beg = 0; end = 24; }; + genesis_match_point_to_track = FALSE; + }, { desc = "AL_DLAND_300NM"; basin_mask = "AL"; @@ -119,7 +130,7 @@ filter = [ { desc = "ALL_MATCH_600KM_OPS60HR"; genesis_match_radius = 600; - ops_hit_tdiff = 60; + ops_hit_window = { beg = -60; end = 60; }; dev_method_flag = FALSE; ops_method_flag = TRUE; } @@ -193,18 +204,34 @@ dland_thresh = NA; // //////////////////////////////////////////////////////////////////////////////// +// +// Genesis matching logic. Compare the forecast genesis point to all points in +// the Best track (TRUE) or the single Best track genesis point (FALSE). +// +genesis_match_point_to_track = TRUE; + // // Radius in km to search for a matching genesis event // genesis_match_radius = 500; +// +// Time window in hours, relative to the model genesis time, to search for a +// matching Best track point +// +genesis_match_window = { + beg = 0; + end = 0; +} + // // Radius in km for a development scoring method hit // dev_hit_radius = 500; // -// Time window in hours for a development scoring method hit +// Time window in hours, relative to the model genesis time, for a development +// scoring method hit // dev_hit_window = { beg = -24; @@ -212,10 +239,13 @@ dev_hit_window = { } // -// Maximum Best track genesis minus model initialization time difference for an -// operational scoring method hit +// Time window in hours for the Best track genesis minus model initialization +// time difference for an operational scoring method hit // -ops_hit_tdiff = 48; +ops_hit_window = { + beg = 0; + end = 48; +} // // Discard genesis forecasts for initializations at or after the matching From 03fcd184ba94bd2a001368c23f9e5ea99cfb42bf Mon Sep 17 00:00:00 2001 From: johnhg Date: Sat, 17 Apr 2021 13:16:28 -0600 Subject: [PATCH 02/40] Update develop-ref after #1754 (#1758) * Start on write netcdf pickle alternative. * Write dataplane array. * Start on read of netcdf as pickle alternative. * Create attribute variables. * Use global attributes for met_info attrs. * Add grid structure. * Read metadata back into met_info.attrs. * Convert grid.nx and grid.ny to int. * Rename _name key to name. * Removed pickle write. * Fixed write_pickle_dataplane to work for both numpy and xarray. * Use items() to iterate of key, value attrs. * Write temporary text file. * Renamed scripts. * Changed script names in Makefile.am. * Replaced pickle with tmp_nc. * Fixed wrapper script names. * Test for attrs in met_in.met_data. * Initial version of read_tmp_point module. * Added read_tmp_point.py to install list. * Start on Python3_Script::read_tmp_point. * Write MPR tmp ascii file. * Renamed to read_tmp_ascii to use for point point and MPR. * Renamed to read_tmp_ascii to use for point point and MPR. * Define Python3_Script::import_read_tmp_ascii_py. * Call Python3_Script::import_read_tmp_ascii_py. * Append MET_BASE/wrappers to sys.path. * Finished implementation of Python3_Script::import_read_tmp_ascii_py. * Call Python3_Script::read_tmp_ascii in python_handler. * Revised python3_script::read_tmp_ascii with call to run, PyRun_String. * Return PyObject* from Python3_Script::run. * Restored call to run_python_string for now. * Per #1429, enhance error message from DataLine::get_item(). (#1682) * Feature 1429 tc_log second try (#1686) * Per #1429, enhance error message from DataLine::get_item(). * Per #1429, I realize that the line number actually is readily available in the DataLine class... so include it in the error message. * Feature 1588 ps_log (#1687) * Per #1588, updated pair_data_point.h/.cc to add detailed Debug(4) log messages, as specified in the GitHub issue. Do still need to test each of these cases to confirm that the log messages look good. * Per #1588, switch very detailed interpolation details from debug level 4 to 5. * Per #1588, remove the Debug(4) log message about duplicate obs since it's been moved up to a higher level. * Per #1588, add/update detailed log messages when processing point observations for bad data, off the grid, bad topo, big topo diffs, bad fcst value, and duplicate obs. * #1454 Disabled plot_data_plane_CESM_SSMI_microwave and plot_data_plane_CESM_sea_ice_nc becaues of not evenly spaced * #1454 Moved NC attribute name to nc_utils.h * #1454 Corrected sanity checking for lat/lon projection based on the percentage of the delta instead of fixed tolerance * #1454 Corrected sanity checking for lat/lon projection based on the percentage of the delta instead of fixed tolerance * #1454 Corrected data.delta_lon * #1454 Change bact to use diff instead of absolute value of diff * 454 Deleted instea dof commenting out * 454 Deleted instea dof commenting out * Feature 1684 bss and 1685 single reference model (#1689) * Per #1684, move an instance of the ClimoCDFInfo class into PairBase. Also define derive_climo_vals() and derive_climo_prob() utility functions. * Add to VxPairDataPoint and VxPairDataEnsemble functions to set the ClimoCDFInfo class. * Per #1684, update ensemble_stat and point_stat to set the ClimoCDFInfo object based on the contents of the config file. * Per #1684, update the vx_statistics library and stat_analysis to make calls to the new derive_climo_vals() and derive_climo_prob() functions. * Per #1684, since cdf_info is a member of PairBase class, need to handle it in the PairDataPoint and PairDataEnsemble assignment and subsetting logic. * Per #1684, during development, I ran across and then updated this log message. * Per #1684, working on log messages and figured that the regridding climo data should be moved from Debug(1) to at least Debug(2). * Per #1684 and #1685, update the logic for the derive_climo_vals() utility function. If only a single climo bin is requested, just return the climo mean. Otherwise, sample the requested number of values. * Per #1684, just fixing the format of this log message. * Per #1684, add a STATLine::get_offset() member function. * Per #1684, update parse_orank_line() logic. Rather than calling NumArray::clear() call NumArray::erase() to preserve allocated memory. Also, instead of parsing ensemble member values by column name, parse them by offset number. * Per #1684, call EnsemblePairData::extend() when parsing ORANK data to allocate one block of memory instead of bunches of litte ones. * Per #1684 and #1685, add another call to Ensemble-Stat to test computing the CRPSCL_EMP from a single climo mean instead of using the full climo distribution. * Per #1684 and #1685, update ensemble-stat docs about computing CRPSS_EMP relative to a single reference model. * Per #1684, need to update Grid-Stat to store the climo cdf info in the PairDataPoint objects. * Per #1684, remove debug print statements. * Per #1684, need to set cdf_info when aggregating MPR lines in Stat-Analysis. * Per #1684 and #1685, update PairDataEnsemble::compute_pair_vals() to print a log message indicating the climo data being used as reference: For a climo distribution defined by mean and stdev: DEBUG 3: Computing ensemble statistics relative to a 9-member climatological ensemble. For a single deterministic reference: DEBUG 3: Computing ensemble statistics relative to the climatological mean. * Per #1691, add met-10.0.0-beta4 release notes. (#1692) * Updated Python documentation * Per #1694, add VarInfo::magic_str_attr() to construct a field summary string from the name_attr() and level_attr() functions. * Per #1694, fixing 2 issues here. There was a bug in the computation of the max value. Had a less-than sign that should have been greater-than. Also, switch from tracking data by it's magic_str() to simply using VAR_i and VAR_j strings. We *could* have just used the i, j integers directly, but constructing the ij joint histogram integer could have been tricky since we start numbering with 0 instead of 1. i=0, j=1 would result in 01 which is the same as integer of 1. If we do want to switch to integers, we just need to make them 1-based and add +1 all over the place. * Per #1694, just switching to consistent variable name. * Just consistent spacing. * Added python3_script::import_read_tmp_ascii. * Restored read_tmp_ascii call. * Added lookup into ascii module. * Adding files for ReadTheDocs * Adding .yaml file for ReadTheDocs * Updated path to requirements.txt file * Updated path to conf.py file * Removing ReadTheDocs files and working in separate branch * Return PyObject* from read_tmp_ascii. * Put point_data in global namespace. * Remove temporary ascii file. * Added tmp_ascii_path. * Removed read_obs_from_pickle. * Trying different options for formats (#1702) * Per #1706, add bugfix to the develop branch. Also add a new job to unit_stat_analysis.xml to test out the aggregation of the ECNT line type. This will add new unit test output and cause the NB to fail. (#1708) * Feature 1471 python_grid (#1704) * Per #1471, defined a parse_grid_string() function in the vx_statistics library and then updated vx_data2d_python to call that function. However, this creates a circular dependency because vx_data2d_python now depends on vx_statistics. * Per #1471, because of the change in dependencies, I had to modify many, many Makefile.am files to link to the -lvx_statistics after -lvx_data2d_python. This is not great, but I didn't find a better solution. * Per #1471, add a sanity check to make sure the grid and data dimensions actually match. * Per #1471, add 3 new unit tests to demonstrate setting the python grid as a named grid, grid specification string, or a gridded data file. * Per #1471, document python grid changes in appendix F. * Per #1471, just spacing. * Per #1471, lots of Makefile.am changes to get this code to compile on kiowa. Worringly, it compiled and linked fine on my Mac laptop but not on kiowa. Must be some large differences in the linker logic. Co-authored-by: John Halley Gotway * Committing a fix for unit_python.xml directly to the develop branch. We referenced in a place where it's not defined. * Add *.dSYM to the .gitignore files in the src and internal_tests directories. * Replaced tmp netcdf _name attribute with name_str. * Append user script path to system path. * Revert "Feature 1319 no pickle" (#1717) * Fixed typos, added content, and modified release date format * #1715 Initial release * #1715 Do not combined if there are no overlapping beteewn TQZ and UV records * #1715 Added pb2nc_compute_pbl_cape * #1715 Added pb2nc_compute_pbl_cape * #1715 Reduced obs_bufr_var. Removed pb_report_type * #1715 Added a blank line for Error/Warning * Per #1725, return good status from TrackInfoArray::add() when using an ATCF line to create a new track. (#1726) * Per #1705, update the threshold node heirarchy by adding a climo_prob() function to determine the climatological probability of a CDP-type threshold. Also update derive_climo_prob() in pair_base.cc to call the new climo_prob() function. (#1724) * Bugfix 1716 develop perc_thresh (#1722) * Per #1716, committing changes from Randy Bullock to support floating point percentile thresholds. * Per #1716, no code changes, just consistent formatting. * Per #1716, change SFP50 example to SFP33.3 to show an example of using floating point percentile values. * Update pull_request_template.md * Feature 1733 exc (#1734) * Per #1733, add column_exc_name, column_exc_val, init_exc_name, and init_exc_val options to the TCStat config files. * Per #1733, enhance tc_stat to support the column_exc and init_exc config file and job command filtering options. * Per #1733, update stat_analysis to support the -column_exc job filtering option. Still need to update docuementation and add unit tests. * Per #1773, update the user's guide with the new config and job command options. * Per #1733, add call to stat_analysis to exercise -column_str and -column_exc options. * Per #1733, I ran into a namespace conflict in tc_stat where -init_exc was used for to filter by time AND my string value. So I switched to using -init_str_exc instead. And made the corresponding change to -column_str_exc in stat_analysis and tc_stat. Also changed internal variable names to use IncMap and ExcMap to keep the logic clear. * Per #1733, tc_stat config file updates to switch from column_exc and init_exc to column_str_exc and init_str_exc. * Per #1733, add tc_stat and stat_analysis jobs to exercise the string filtering options. * Bugfix 1737 develop little_r (#1739) * Per #1737, migrate the same fix from main_v9.1 over to the develop branch. * Per #1737, add another unit test for running ascii2nc with corrupt littl_r records. * Feature GitHub actions (#1742) * Adding files to build documenation via GitHub Actions * Removing html_theme_options * Removed warnings.log from help section * Feature 1575 large_diffs (#1741) * Per #1575, add mpr_column and mpr_thresh entries to all of the Grid-Stat and Point-Stat config files. * Per #1575, define config strings to be parsed from the config files. * Per #1575, store col_name_ptr and col_thresh_ptr in PairBase. They are being used for PairDataPoint to do MPR filtering in Grid-Stat and Point-Stat. But they could be eventually be extended to filter ORANK columns for Ensemble-Stat. * Per #1575, add MPR filtering logic to pair_data_point.cc. Include filtering logic in PairDataPoint instead of VxPairDataPoint since Grid-Stat uses PairDataPoint. * Per #1575, update point_stat to parse the mpr_column and mpr_thresh config file options. Include the MPR rejection reason code counts in the log output. * Per #1575, updated Grid-Stat to parse mpr_column and mpr_thresh options. * Per #1575, update Point-Stat to store mpr_sa and mpr_ta locally and then call set_mpr_filt() after the VxPairDataPoint object has been sized and allocated. * Per #1575, renamed PairDataEnsemble::subset_pairs() to subset_pairs_obs_thresh() to be a little more explicit about things. I'll do the same for PairDataPoint using names subset_pairs_cnt_thresh() and subset_pairs_mpr_thresh(). * Per #1575, some cleanup, moving check_fo_thresh() utility function from vx_config to vx_statistics library. * Per #1575, when implementing this for Grid-Stat, I realized that there isn't much benefit in storing col_name_ptr and col_name_thresh in PairBase. These changes remove that. * Per #1575, updating pair_data_point.h/.cc to handle the subsetting of data based on the MPR thresh. * Per #1575, rename subset_pairs() to subset_pairs_cnt_thresh() to be a bit more explicit with the naming conventions. * Per #1575, no real changes here. Just reorganizing the location of the mpr_sa and mpr_ta members. * Per #1575, make the subset_pairs() utility function a member function of the PairDataPoint class named subset_pairs_cnt_thresh() and update the application code to call it. * Per #1575, need to actually set the mpr_thresh! * Per #1575, update subset_pairs_mpr_thresh() to make sure the StringArray and ThreshArray lengths are the same. * Per #1575, replace PairDataPoint::subset_pairs_mpr_thresh() with a utility function named apply_mpr_thresh_mask(). This is for Grid-Stat to apply the mpr_thresh settings after the DataPlane pairs have been created but prior to applying any smoothing operations. * Per #1575, add documentation about mpr_column and mpr_thresh. * Per #1575, mpr_columns can also include CLIMO_CDF. * Per #1575, add tests for Grid-Stat and Point-Stat to exercise the mpr_column and mpr_thresh config file options. * Feature 1319 no pickle (#1720) * Try path insert. * sys.path insert. * Per #1319, adding David's changes back into the feature_1319_no_pickle branch. It compiles but TEST: python_numpy_plot_data_plane_pickle fails when testing on my Mac. Comitting now to test on kiowa. * Per #1319, small updated to write_tmp_dataplane.py script. Had a couple of if statements that should really be elif. Co-authored-by: John Halley Gotway Co-authored-by: John Halley Gotway * Feature 1736 out_stat (#1744) * Per #1736, if -out_stat was used for aggregate or aggregate_stat jobs, do not write output to the -out or log output. * Per #1736, clarify stat_analysis documentation for -out_stat option. * Per #1736, for jobs which can write .stat output, don't waste time populating the output AsciiTable unless it's actually going to be written. Co-authored-by: John Halley Gotway * Per #1319, this is a hotfix to the develop branch. While running unit_python.xml works via the command line, it fails when run through cron. The problem is the PATH setting. Need to have the anaconda bin directory in the path for it to succeeed. Adding that for the single test. * Just lining up a log message in the output of gen_vx_mask. * Per #1319, setting PATH as an envvar might cause problems. All variables set prior to the test are unset afterwards! So we'd run all the rest of the tests after unit_python.xml with an empty path. That would likely cause any subsequent call to Rscript to fail. Recommend tightening up this logic when we move these tests to GHA. * Trying to get the PATH setting correct for unit_python.xml. * Changed weblink for METplus documentation * per #1319 added netCDF4 python package to MET docker image so it is available for python embedding cases that use MET_PYTHON_EXE * Feature 1747 pylonglong (#1748) * Per #1747, update MET to interpret longlong values as integers. NetCDF file attributes that have an LL suffix are read into python as numpy.int64 objects. Right now MET fails when trying to read those as integers. Update the parsing logic to interpret those as ints. * Per #1747, since MET can now interpret both long and longlong's as ints, there's no need to cast nx and ny to ints in the read_tmp_dataplane.py script anymore. * Per #1747, this is slightly unrelated. But after installing the netCDF4 module on kiowa for /usr/local/met-python3/bin/python3, we should no longer need a custom PATH setting to get unit_python.xml to work. Reverting the change I made to it a couple of days ago to get it working. * Hotfix for the develop branch in tc_pairs.cc. The METplus unit tests kept failing through GHA with a divide by zero error. It occurs in compute_track_err() but only for a very specific set of data. The bdeck valid increment evaluates to 0 which causes the divide by 0 error. It also can evaluate to bad data (e.g. -9999). The fix is to check for 0 and bad data. If found, use the constant best_track_time_step value instead. * Turned specific section numbers into linked sections because section numbers can change * Removed hard-coded references to section numbers * Feature 1714 tc_gen (#1750) * Per #1714, add tc_gen genesis_match_window configuration option to define a search window relative to the forecast genesis time. * Per #1714, clarify docs to state the genesis_match_window.end = 12 allows for matches for early forecasts. Also add an example of this option to the tc_gen unit test. * Per #1714, switch ops_hit_tdiff to ops_hit_window. * Per #1714, skip genesis events for tracks where the cyclone number is > 50. * Per #1714, only discard cyclone numbers > 50 from the Best track, not the forecast tracks. * Per #1716, add note to the tc_gen chapter about skipping Best tracks with cyclone number > 50. * Per #1714, adding genesis_match_point_to_track config file option for TC-Gen. Note that this version of the code is close but doesn't actually compile yet. I still need to figure out exactly how to process the operational tracks. Should this logic also apply to the matching for those tracks? * Per #1714, the logic for checking the operational tracks is pretty simple. We only store/check operational track points for lead time = 0. So applying the genesis_match_point_to_track boolean config option does not make sense. * Per #1714, update the tc-gen user's guide chapter to describe the updated logic and new config file option. * Per #1714, fix the logic of the is_match() function. * Per #1714, reconfigure the call to tc_gen to exercise the new genesis_match_track_to_point option. * Per #1714, just fixing spacing in source code. * Committing 2 small changes not specifically related to #1714, but related the processing of genesis tracks. When getting items from ATCFGenLines, the columns to be shifted are off by one. We had been shifting offset 2 up to 3, but it should have remained at 2. Also when initializing a TrackInfo object, set the StormID by calling ATCFLineBase::storm_id() instead of constructing it from BASIN:CYCLONE:YYYY. For ATCFGenLines we want to set the Storm ID equal to the 3rd column rather than constructing it! * Per #1714, fix an error in the logic of GenesisInfo::is_match(const GenesisInfo &,...). I was using the index of the current GenesisInfo object instead of the one from the input argument. Fix this by adding GenesisInfo::genesis() member function to return a reference the TrackPoint for Genesis. * Per #1714, correcting logic for parsing the storm_id and warning_time columns for ATCFGen and regular ATCF line types. For ATCFGen line types, the code was incorrectly using the 3rd column when it should have used the 4th column! Co-authored-by: John Halley Gotway * feature_1552_gcc_10 (#1752) * Cleaned bash comparison operators; Made changes for MET to compile using GNU 10.1.0 compilers * Updated documentation for new flag for BUFRLIB compilation * #1755 Support time string for slicing at MetNcCFDataFile::collect_time_offsets * #1755 Support time string for slicing at MetNcCFDataFile::collect_time_offsets * Feature 1735 stat_analysis (#1754) * Per #1735, enhance Stat-Analysis to support multiple -out_thresh settings when processing aggregate_stat jobs for MPR line types. This applies to output for FHO, CTC, CTS, ECLV, CNT, SL1L2, and SAL1L2. * Per #1735, since we are writing multiple output line types to the same .stat file, adding stat_row counter to the job class. This way all functions that write to it can increment that row counter when needed. * Per #1735, lots of little changes here to enable the aggregate_stat job type to write multiple output line types.g * Per #1735, update documentation for stat_analysis. * Per #1735, add AsciiTable::expand() function to increase the AsciiTable dimensions and also update the Stat-Analysis handling of the output .stat file it writes. * Per #1735, fix bug in the write_job_aggr_ssvar where I was using the wrong row counter when writing .stat outptu. * Per #1735, print a warning message is the continuous filtering logic results in 0 matched pairs. Also, match existing logic to NOT WRITE any output, not even header rows, when the output AsciiTable contains no results. * Per #1735, update unit_stat_analysis.xml to consolidate jobs stat_analysis_AGG_STAT_ORANK_RHIST and stat_analysis_AGG_STAT_ORANK_PHIST down into 1 job with 2 output line types. Rename the output files accordingly. * Per #1735, update the STATAnalysis config file for processing MPR data by tweaking the jobs to write multiple output line types and/or apply multiple output thresholds. * Per #1753, this one change to write_tmp_data.py solves this problem. When creating the variable to write the temp NetCDF file, we just need to pass through the fill value for the data. Also, make the script less verbose. * Per #1753, make the read_tmp_dataplane.py script less verbose. * Per #1753, there are 3 calls to the user's python version throughout MET. Update all 3 to print consistent log message when writing/reading the temp file. In particular, print the system command that is being executed at Debug(4) to make it easier to replicate python embedding problems that may arise. * Per #1753, wrap the call to get_fill_value() in a try block in case the input in a regular numpy array instead of a masked array. Co-authored-by: David Fillmore Co-authored-by: Howard Soh Co-authored-by: hsoh-u Co-authored-by: Julie.Prestopnik Co-authored-by: David Fillmore Co-authored-by: John Halley Gotway Co-authored-by: MET Tools Test Account Co-authored-by: George McCabe --- met/data/wrappers/read_tmp_dataplane.py | 5 +- met/data/wrappers/write_tmp_dataplane.py | 23 +- met/docs/Users_Guide/installation.rst | 2 +- met/docs/Users_Guide/stat-analysis.rst | 8 +- met/src/basic/vx_util/ascii_table.cc | 50 +- met/src/basic/vx_util/ascii_table.h | 1 + met/src/basic/vx_util/python_line.cc | 21 +- met/src/libcode/vx_analysis_util/stat_job.cc | 161 +-- met/src/libcode/vx_analysis_util/stat_job.h | 1 + met/src/libcode/vx_data2d_nccf/data2d_nccf.cc | 16 +- .../vx_data2d_python/python_dataplane.cc | 9 +- .../core/stat_analysis/aggr_stat_line.cc | 129 +-- .../tools/core/stat_analysis/aggr_stat_line.h | 8 +- .../core/stat_analysis/stat_analysis_job.cc | 919 +++++++++++------- .../tools/other/ascii2nc/python_handler.cc | 6 + scripts/installation/compile_MET_all.sh | 42 +- .../config/install_met_env.cheyenne_gcc | 29 + test/config/STATAnalysisConfig_point_stat | 6 +- test/xml/unit_stat_analysis.xml | 34 +- 19 files changed, 903 insertions(+), 567 deletions(-) create mode 100644 scripts/installation/config/install_met_env.cheyenne_gcc diff --git a/met/data/wrappers/read_tmp_dataplane.py b/met/data/wrappers/read_tmp_dataplane.py index c6f8f57a9c..09e2530ef0 100644 --- a/met/data/wrappers/read_tmp_dataplane.py +++ b/met/data/wrappers/read_tmp_dataplane.py @@ -10,11 +10,8 @@ import numpy as np import netCDF4 as nc -print('Python Script:\t', sys.argv[0]) met_info = {} - netcdf_filename = sys.argv[1] -print('Read NetCDF:\t', netcdf_filename) # read NetCDF file ds = nc.Dataset(netcdf_filename, 'r') @@ -32,4 +29,4 @@ del met_attrs['name_str'] met_info['met_data'] = met_data met_info['attrs'] = met_attrs -print(met_info) + diff --git a/met/data/wrappers/write_tmp_dataplane.py b/met/data/wrappers/write_tmp_dataplane.py index b5a1b24995..b9194b2920 100644 --- a/met/data/wrappers/write_tmp_dataplane.py +++ b/met/data/wrappers/write_tmp_dataplane.py @@ -13,13 +13,7 @@ import importlib.util import netCDF4 as nc -print('Python Script:\t', sys.argv[0]) -print('User Command:\t', sys.argv[2:]) - netcdf_filename = sys.argv[1] - -print('Write NetCDF:\t', netcdf_filename) - pyembed_module_name = sys.argv[2] sys.argv = sys.argv[2:] @@ -44,25 +38,30 @@ attrs = met_in.attrs met_info['attrs'] = attrs -print('write_tmp_dataplane') -print(met_info) +# determine fill value +try: + fill = met_data.get_fill_value() +except: + fill = -9999. # write NetCDF file ds = nc.Dataset(netcdf_filename, 'w') +# create dimensions and variable nx, ny = met_in.met_data.shape ds.createDimension('x', nx) ds.createDimension('y', ny) -dp = ds.createVariable('met_data', met_in.met_data.dtype, ('x', 'y')) +dp = ds.createVariable('met_data', met_in.met_data.dtype, ('x', 'y'), fill_value=fill) dp[:] = met_in.met_data +# append attributes for attr, attr_val in met_info['attrs'].items(): - print(attr, attr_val, type(attr_val)) if attr == 'name': setattr(ds, 'name_str', attr_val) - elif type(attr_val) == str: - setattr(ds, attr, attr_val) elif type(attr_val) == dict: for key in attr_val: setattr(ds, attr + '.' + key, attr_val[key]) + else: + setattr(ds, attr, attr_val) + ds.close() diff --git a/met/docs/Users_Guide/installation.rst b/met/docs/Users_Guide/installation.rst index d654119717..013cd4d384 100644 --- a/met/docs/Users_Guide/installation.rst +++ b/met/docs/Users_Guide/installation.rst @@ -69,7 +69,7 @@ NCEP's BUFRLIB is used by the MET to decode point-based observation datasets in .. code-block:: none gcc -c -DUNDERSCORE `./getdefflags_C.sh` *.c >> make.log - gfortran -c -fno-second-underscore `./getdefflags_F.sh` modv*.F moda*.F \ + gfortran -c -fno-second-underscore -fallow-argument-mismatch `./getdefflags_F.sh` modv*.F moda*.F \ `ls -1 *.F *.f | grep -v "mod[av]_"` >> make.log ar crv libbufr.a *.o diff --git a/met/docs/Users_Guide/stat-analysis.rst b/met/docs/Users_Guide/stat-analysis.rst index acbad3127d..5d3d998fb9 100644 --- a/met/docs/Users_Guide/stat-analysis.rst +++ b/met/docs/Users_Guide/stat-analysis.rst @@ -44,9 +44,11 @@ The Stat-Analysis “aggregate” job aggregates values from multiple STAT lines Aggregate STAT lines and produce aggregated statistics ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -The Stat-Analysis “aggregate-stat” job aggregates multiple STAT lines of the same type together and produces relevant statistics from the aggregated line. This may be done in the same manner listed above in :numref:`StA_Aggregated-values-from`. However, rather than writing out the aggregated STAT line itself, the relevant statistics generated from that aggregated line are provided in the output. Specifically, if a contingency table line type (FHO, CTC, PCT, MCTC, or NBRCTC) has been aggregated, a contingency table statistics (CTS, PSTD, MCTS, or NBRCTS) line type will be written out. If a partial sums line type (SL1L2 or SAL1L2) has been aggregated, a continuous statistics (CNT) line type will be written out. If a vector partial sums line type (VL1L2) has been aggregated, the vector continuous statistics (VCNT) line type will be written out. For ensembles, the ORANK line type can be accumulated into ECNT, RPS, RHIST, PHIST, RELP, or SSVAR output. If the matched pair line type (MPR) has been aggregated, the user may choose the line type to be output (FHO, CTC, CTS, CNT, MCTC, MCTS, SL1L2, SAL1L2, VL1L2, VCNT, WDIR, PCT, PSTD, PJC, PRC, or ECLV). +The Stat-Analysis “aggregate-stat” job aggregates multiple STAT lines of the same type together and produces relevant statistics from the aggregated line. This may be done in the same manner listed above in :numref:`StA_Aggregated-values-from`. However, rather than writing out the aggregated STAT line itself, the relevant statistics generated from that aggregated line are provided in the output. Specifically, if a contingency table line type (FHO, CTC, PCT, MCTC, or NBRCTC) has been aggregated, contingency table statistics (CTS, ECLV, PSTD, MCTS, or NBRCTS) line types can be computed. If a partial sums line type (SL1L2 or SAL1L2) has been aggregated, the continuous statistics (CNT) line type can be computed. If a vector partial sums line type (VL1L2) has been aggregated, the vector continuous statistics (VCNT) line type can be computed. For ensembles, the ORANK line type can be accumulated into ECNT, RPS, RHIST, PHIST, RELP, or SSVAR output. If the matched pair line type (MPR) has been aggregated, may output line types (FHO, CTC, CTS, CNT, MCTC, MCTS, SL1L2, SAL1L2, VL1L2, VCNT, WDIR, PCT, PSTD, PJC, PRC, or ECLV) can be computed. Multiple output line types may be specified for each “aggregate-stat” job, as long as each output is derivable from the input. -When aggregating the matched pair line type (MPR) and computing an output contingency table statistics (CTS) or continuous statistics (CNT) line type, the bootstrapping method is applied for computing confidence intervals. The bootstrapping method is applied here in the same way that it is applied in the statistics tools. For a set of n matched forecast-observation pairs, the matched pairs are resampled with replacement many times. For each replicated sample, the corresponding statistics are computed. The confidence intervals are derived from the statistics computed for each replicated sample. +When aggregating the matched pair line type (MPR), additional required job command options are determined by the requested output line type(s). For example, the “-out_thresh” (or “-out_fcst_thresh” and “-out_obs_thresh” options) are required to compute contingnecy table counts (FHO, CTC) or statistics (CTS). Those same job command options can also specify filtering thresholds when computing continuous partial sums (SL1L2, SAL1L2) or statistics (CNT). Output is written for each threshold specified. + +When aggregating the matched pair line type (MPR) and computing an output contingency table statistics (CTS) or continuous statistics (CNT) line type, the bootstrapping method can be applied to compute confidence intervals. The bootstrapping method is applied here in the same way that it is applied in the statistics tools. For a set of n matched forecast-observation pairs, the matched pairs are resampled with replacement many times. For each replicated sample, the corresponding statistics are computed. The confidence intervals are derived from the statistics computed for each replicated sample. .. _StA_Skill-Score-Index: @@ -541,7 +543,7 @@ Each analysis job is performed over a subset of the input data. Filtering the in -out_line_type name -This option specifies the desired output line type for the **aggregate_stat** job type. +This option specifies the desired output line type(s) for the **aggregate_stat** job type. .. code-block:: none diff --git a/met/src/basic/vx_util/ascii_table.cc b/met/src/basic/vx_util/ascii_table.cc index 2b345f2950..04b19a30c3 100644 --- a/met/src/basic/vx_util/ascii_table.cc +++ b/met/src/basic/vx_util/ascii_table.cc @@ -331,8 +331,6 @@ if ( e.size() != NRC ) { } -//for (j=0; j nul sublist pointer!\n\n"; + mlog << Error << "\nPyLineDataFile::make_data_line() ->" + << "nul sublist pointer!\n\n"; exit ( 1 ); @@ -255,8 +255,8 @@ if ( ! sublist ) { if ( ! PyList_Check(sublist) ) { - mlog << Error - << "\n\n PyLineDataFile::make_data_line() -> python object is not a list!\n\n"; + mlog << Error << "\nPyLineDataFile::make_data_line() ->" + << "python object is not a list!\n\n"; exit ( 1 ); @@ -336,8 +336,7 @@ if ( PyErr_Occurred() ) { PyErr_Print(); - mlog << Error - << "\nPyLineDataFile::do_straight() -> " + mlog << Error << "\nPyLineDataFile::do_straight() -> " << "an error occurred importing module " << '\"' << user_base.text() << "\"\n\n"; @@ -411,6 +410,9 @@ for (j=0; jread_pickle(list_name, pickle_path.text()); main_list = script->lookup(list_name); if ( ! main_list ) { - mlog << Error - << "\n\n PyLineDataFile::do_pickle() -> nul main list pointer!\n\n"; + mlog << Error << "\nPyLineDataFile::do_pickle() ->" + << "nul main list pointer!\n\n"; exit ( 1 ); diff --git a/met/src/libcode/vx_analysis_util/stat_job.cc b/met/src/libcode/vx_analysis_util/stat_job.cc index 870d5cac1d..1b00c802da 100644 --- a/met/src/libcode/vx_analysis_util/stat_job.cc +++ b/met/src/libcode/vx_analysis_util/stat_job.cc @@ -186,6 +186,8 @@ void STATAnalysisJob::clear() { if(dump_row) { delete [] dump_row; dump_row = (char *) 0; } if(stat_file) { delete [] stat_file; stat_file = (char *) 0; } + stat_row = 0; + out_line_type.clear(); out_fcst_thresh.clear(); @@ -307,8 +309,8 @@ void STATAnalysisJob::assign(const STATAnalysisJob & aj) { wmo_fisher_stats = aj.wmo_fisher_stats; column_thresh_map = aj.column_thresh_map; - column_str_inc_map = aj.column_str_inc_map; - column_str_exc_map = aj.column_str_exc_map; + column_str_inc_map = aj.column_str_inc_map; + column_str_exc_map = aj.column_str_exc_map; by_column = aj.by_column; @@ -354,6 +356,8 @@ void STATAnalysisJob::assign(const STATAnalysisJob & aj) { mask_poly = aj.mask_poly; mask_sid = aj.mask_sid; + stat_row = aj.stat_row; + set_dump_row (aj.dump_row); set_stat_file(aj.stat_file); @@ -1880,6 +1884,8 @@ void STATAnalysisJob::open_stat_file() { close_stat_file(); + stat_row = 0; + if(!stat_file) return; stat_out = new ofstream; @@ -1904,7 +1910,7 @@ void STATAnalysisJob::setup_stat_file(int n_row, int n) { int i, c, n_col; // - // Nothing to do unless output STAT file stream is defined + // Nothing to do if no output STAT file stream is defined // if(!stat_out) return; @@ -1970,63 +1976,104 @@ void STATAnalysisJob::setup_stat_file(int n_row, int n) { n_col += n_header_columns; // - // Setup the STAT table - // - stat_at.set_size(n_row, n_col); - justify_stat_cols(stat_at); - stat_at.set_precision(precision); - stat_at.set_bad_data_value(bad_data_double); - stat_at.set_bad_data_str(na_str); - stat_at.set_delete_trailing_blank_rows(1); - - // - // Write the STAT header row - // - switch(out_lt) { - case stat_sl1l2: write_header_row (sl1l2_columns, n_sl1l2_columns, 1, stat_at, 0, 0); break; - case stat_sal1l2: write_header_row (sal1l2_columns, n_sal1l2_columns, 1, stat_at, 0, 0); break; - case stat_vl1l2: write_header_row (vl1l2_columns, n_vl1l2_columns, 1, stat_at, 0, 0); break; - case stat_val1l2: write_header_row (val1l2_columns, n_val1l2_columns, 1, stat_at, 0, 0); break; - case stat_fho: write_header_row (fho_columns, n_fho_columns, 1, stat_at, 0, 0); break; - case stat_ctc: write_header_row (ctc_columns, n_ctc_columns, 1, stat_at, 0, 0); break; - case stat_cts: write_header_row (cts_columns, n_cts_columns, 1, stat_at, 0, 0); break; - case stat_mctc: write_mctc_header_row (1, n, stat_at, 0, 0); break; - case stat_mcts: write_header_row (mcts_columns, n_mcts_columns, 1, stat_at, 0, 0); break; - case stat_cnt: write_header_row (cnt_columns, n_cnt_columns, 1, stat_at, 0, 0); break; - case stat_vcnt: write_header_row (vcnt_columns, n_vcnt_columns, 1, stat_at, 0, 0); break; - case stat_pct: write_pct_header_row (1, n, stat_at, 0, 0); break; - case stat_pstd: write_pstd_header_row (1, n, stat_at, 0, 0); break; - case stat_pjc: write_pjc_header_row (1, n, stat_at, 0, 0); break; - case stat_prc: write_prc_header_row (1, n, stat_at, 0, 0); break; - case stat_eclv: write_eclv_header_row (1, n, stat_at, 0, 0); break; - case stat_mpr: write_header_row (mpr_columns, n_mpr_columns, 1, stat_at, 0, 0); break; - case stat_nbrctc: write_header_row (nbrctc_columns, n_sl1l2_columns, 1, stat_at, 0, 0); break; - case stat_nbrcts: write_header_row (nbrcts_columns, n_sl1l2_columns, 1, stat_at, 0, 0); break; - case stat_nbrcnt: write_header_row (nbrcnt_columns, n_sl1l2_columns, 1, stat_at, 0, 0); break; - case stat_grad: write_header_row (grad_columns, n_grad_columns, 1, stat_at, 0, 0); break; - case stat_isc: write_header_row (isc_columns, n_isc_columns, 1, stat_at, 0, 0); break; - case stat_wdir: write_header_row (job_wdir_columns, n_job_wdir_columns, 1, stat_at, 0, 0); break; - case stat_ecnt: write_header_row (ecnt_columns, n_ecnt_columns, 1, stat_at, 0, 0); break; - case stat_rps: write_header_row (rps_columns, n_rps_columns, 1, stat_at, 0, 0); break; - case stat_rhist: write_rhist_header_row (1, n, stat_at, 0, 0); break; - case stat_phist: write_phist_header_row (1, n, stat_at, 0, 0); break; - case stat_relp: write_relp_header_row (1, n, stat_at, 0, 0); break; - case stat_orank: write_header_row (orank_columns, n_orank_columns, 1, stat_at, 0, 0); break; - case stat_ssvar: write_header_row (ssvar_columns, n_ssvar_columns, 1, stat_at, 0, 0); break; - case stat_genmpr: write_header_row (genmpr_columns, n_genmpr_columns, 1, stat_at, 0, 0); break; + // Create table from scratch + // + if(stat_row == 0) { + + // + // Multiply the number of rows by the number of + // output line types to avoid resizing later + // + n_row *= max(1, out_sa.n()); // - // Write only header columns for unspecified line type + // Setup the STAT table + // + stat_at.set_size(n_row, n_col); + justify_stat_cols(stat_at); + stat_at.set_precision(precision); + stat_at.set_bad_data_value(bad_data_double); + stat_at.set_bad_data_str(na_str); + stat_at.set_delete_trailing_blank_rows(1); + // - case no_stat_line_type: - write_header_row ((const char **) 0, 0, 1, stat_at, 0, 0); break; - - default: - mlog << Error << "\nSTATAnalysisJob::setup_stat_file() -> " - << "unexpected stat line type \"" << statlinetype_to_string(out_lt) - << "\"!\n\n"; - exit(1); - break; + // Write the STAT header row + // + switch(out_lt) { + case stat_sl1l2: write_header_row (sl1l2_columns, n_sl1l2_columns, 1, stat_at, 0, 0); break; + case stat_sal1l2: write_header_row (sal1l2_columns, n_sal1l2_columns, 1, stat_at, 0, 0); break; + case stat_vl1l2: write_header_row (vl1l2_columns, n_vl1l2_columns, 1, stat_at, 0, 0); break; + case stat_val1l2: write_header_row (val1l2_columns, n_val1l2_columns, 1, stat_at, 0, 0); break; + case stat_fho: write_header_row (fho_columns, n_fho_columns, 1, stat_at, 0, 0); break; + case stat_ctc: write_header_row (ctc_columns, n_ctc_columns, 1, stat_at, 0, 0); break; + case stat_cts: write_header_row (cts_columns, n_cts_columns, 1, stat_at, 0, 0); break; + case stat_mctc: write_mctc_header_row (1, n, stat_at, 0, 0); break; + case stat_mcts: write_header_row (mcts_columns, n_mcts_columns, 1, stat_at, 0, 0); break; + case stat_cnt: write_header_row (cnt_columns, n_cnt_columns, 1, stat_at, 0, 0); break; + case stat_vcnt: write_header_row (vcnt_columns, n_vcnt_columns, 1, stat_at, 0, 0); break; + case stat_pct: write_pct_header_row (1, n, stat_at, 0, 0); break; + case stat_pstd: write_pstd_header_row (1, n, stat_at, 0, 0); break; + case stat_pjc: write_pjc_header_row (1, n, stat_at, 0, 0); break; + case stat_prc: write_prc_header_row (1, n, stat_at, 0, 0); break; + case stat_eclv: write_eclv_header_row (1, n, stat_at, 0, 0); break; + case stat_mpr: write_header_row (mpr_columns, n_mpr_columns, 1, stat_at, 0, 0); break; + case stat_nbrctc: write_header_row (nbrctc_columns, n_sl1l2_columns, 1, stat_at, 0, 0); break; + case stat_nbrcts: write_header_row (nbrcts_columns, n_sl1l2_columns, 1, stat_at, 0, 0); break; + case stat_nbrcnt: write_header_row (nbrcnt_columns, n_sl1l2_columns, 1, stat_at, 0, 0); break; + case stat_grad: write_header_row (grad_columns, n_grad_columns, 1, stat_at, 0, 0); break; + case stat_isc: write_header_row (isc_columns, n_isc_columns, 1, stat_at, 0, 0); break; + case stat_wdir: write_header_row (job_wdir_columns, n_job_wdir_columns, 1, stat_at, 0, 0); break; + case stat_ecnt: write_header_row (ecnt_columns, n_ecnt_columns, 1, stat_at, 0, 0); break; + case stat_rps: write_header_row (rps_columns, n_rps_columns, 1, stat_at, 0, 0); break; + case stat_rhist: write_rhist_header_row (1, n, stat_at, 0, 0); break; + case stat_phist: write_phist_header_row (1, n, stat_at, 0, 0); break; + case stat_relp: write_relp_header_row (1, n, stat_at, 0, 0); break; + case stat_orank: write_header_row (orank_columns, n_orank_columns, 1, stat_at, 0, 0); break; + case stat_ssvar: write_header_row (ssvar_columns, n_ssvar_columns, 1, stat_at, 0, 0); break; + case stat_genmpr: write_header_row (genmpr_columns, n_genmpr_columns, 1, stat_at, 0, 0); break; + + // + // Write only header columns for unspecified line type + // + case no_stat_line_type: + write_header_row ((const char **) 0, 0, 1, stat_at, 0, 0); break; + + default: + mlog << Error << "\nSTATAnalysisJob::setup_stat_file() -> " + << "unexpected stat line type \"" << statlinetype_to_string(out_lt) + << "\"!\n\n"; + exit(1); + break; + } + + // + // Increment row counter + // + stat_row++; + } + // + // Expand the table, if needed + // + else { + + // + // Determine the required dimensions + // + int need_rows = max(stat_at.nrows(), stat_row + n_row); + int need_cols = max(stat_at.ncols(), n_col); + + if(need_rows > stat_at.nrows() || need_cols > stat_at.ncols()) { + + // + // Resize the STAT table + // + stat_at.expand(need_rows, need_cols); + justify_stat_cols(stat_at); + stat_at.set_precision(precision); + stat_at.set_bad_data_value(bad_data_double); + stat_at.set_bad_data_str(na_str); + stat_at.set_delete_trailing_blank_rows(1); + } } return; diff --git a/met/src/libcode/vx_analysis_util/stat_job.h b/met/src/libcode/vx_analysis_util/stat_job.h index c099336712..80facaf912 100644 --- a/met/src/libcode/vx_analysis_util/stat_job.h +++ b/met/src/libcode/vx_analysis_util/stat_job.h @@ -249,6 +249,7 @@ class STATAnalysisJob { char *stat_file; // dump output statistics to a STAT file ofstream *stat_out; // output file stream for -out_stat AsciiTable stat_at; // AsciiTable for buffering output STAT data + int stat_row; // Counter for the current stat row StringArray out_line_type; // output line types ThreshArray out_fcst_thresh; // output forecast threshold(s) diff --git a/met/src/libcode/vx_data2d_nccf/data2d_nccf.cc b/met/src/libcode/vx_data2d_nccf/data2d_nccf.cc index 6709845101..099b095565 100644 --- a/met/src/libcode/vx_data2d_nccf/data2d_nccf.cc +++ b/met/src/libcode/vx_data2d_nccf/data2d_nccf.cc @@ -469,13 +469,17 @@ LongArray MetNcCFDataFile::collect_time_offsets(VarInfo &vinfo) { } } } - else if (0 <= time_dim_slot && dim_offset < time_dim_size) - time_offsets.add(dim_offset); - else error_code = error_code_unknown; + else { + if (time_as_value) dim_offset = convert_time_to_offset(dim_offset); + if (0 <= time_dim_slot && dim_offset < time_dim_size) + time_offsets.add(dim_offset); + else error_code = error_code_unknown; + } - if (0 < time_offsets.n_elements()) - mlog << Debug(7) << method_name << " Found " << time_offsets.n_elements() - << " times from between " + int time_count = time_offsets.n_elements(); + if (0 < time_count) + mlog << Debug(7) << method_name << " Found " << time_count + << (time_count==1 ? " time" : " times") << " between " << unix_to_yyyymmdd_hhmmss(_file->ValidTime[0]) << " and " << unix_to_yyyymmdd_hhmmss(_file->ValidTime[time_dim_size-1]) << "\n"; else { diff --git a/met/src/libcode/vx_data2d_python/python_dataplane.cc b/met/src/libcode/vx_data2d_python/python_dataplane.cc index 8f70af5109..8280c99fe5 100644 --- a/met/src/libcode/vx_data2d_python/python_dataplane.cc +++ b/met/src/libcode/vx_data2d_python/python_dataplane.cc @@ -317,6 +317,9 @@ for (j=1; j 0 || - job.out_obs_thresh.n() > 0)) { - - SingleThresh fst, ost; - if(job.out_fcst_thresh.n() > 0) fst = job.out_fcst_thresh[0]; - if(job.out_obs_thresh.n() > 0) ost = job.out_obs_thresh[0]; - - if(!check_fo_thresh(cur.fcst, cur.obs, cur.climo_mean, cur.climo_stdev, - fst, ost, job.out_cnt_logic)) { - mlog << Debug(4) << "aggr_mpr_lines() -> " - << "skipping forecast (" - << cur.fcst << " " << job.out_fcst_thresh.get_str() - << ") and observation (" - << cur.obs << " " << job.out_obs_thresh.get_str() - << ") matched pair with " - << setlogic_to_string(job.out_cnt_logic) - << " logic.\n"; - continue; - } - } - // // Add a new map entry, if necessary // @@ -3370,23 +3346,20 @@ void aggr_time_series_lines(LineDataFile &f, STATAnalysisJob &job, //////////////////////////////////////////////////////////////////////// void mpr_to_ctc(STATAnalysisJob &job, const AggrMPRInfo &info, - CTSInfo &cts_info) { + int i_thresh, CTSInfo &cts_info) { int i; - int n = info.pd.f_na.n(); - SingleThresh ft = job.out_fcst_thresh[0]; - SingleThresh ot = job.out_obs_thresh[0]; // // Initialize // cts_info.clear(); - cts_info.fthresh = ft; - cts_info.othresh = ot; + cts_info.fthresh = job.out_fcst_thresh[i_thresh]; + cts_info.othresh = job.out_obs_thresh[i_thresh]; // // Populate the contingency table // - for(i=0; i " + << "no MPR lines retained for -out_fcst_thresh " + << job.out_fcst_thresh[i_thresh].get_str() << " -out_obs_thresh " + << job.out_obs_thresh[i_thresh].get_str() << " -out_cnt_logic " + << setlogic_to_string(job.out_cnt_logic) + << "\n\n"; + return; + } // // Set the precip flag based on fcst_var and obs_var @@ -3556,13 +3534,13 @@ void mpr_to_cnt(STATAnalysisJob &job, const AggrMPRInfo &info, // if(job.boot_interval == boot_bca_flag) { - compute_cnt_stats_ci_bca(rng_ptr, info.pd, + compute_cnt_stats_ci_bca(rng_ptr, pd_thr, precip_flag, job.rank_corr_flag, job.n_boot_rep, cnt_info, tmp_dir); } else { - compute_cnt_stats_ci_perc(rng_ptr, info.pd, + compute_cnt_stats_ci_perc(rng_ptr, pd_thr, precip_flag, job.rank_corr_flag, job.n_boot_rep, job.boot_rep_prop, cnt_info, tmp_dir); } @@ -3573,19 +3551,42 @@ void mpr_to_cnt(STATAnalysisJob &job, const AggrMPRInfo &info, //////////////////////////////////////////////////////////////////////// void mpr_to_psum(STATAnalysisJob &job, const AggrMPRInfo &info, - SL1L2Info &s_info) { + int i_thresh, SL1L2Info &s_info) { int i; - int n = info.pd.f_na.n(); int scount, sacount; double f, o, c; double f_sum, o_sum, ff_sum, oo_sum, fo_sum; double fa_sum, oa_sum, ffa_sum, ooa_sum, foa_sum; double abs_err_sum; + PairDataPoint pd_thr; // - // Initialize the SL1L2Info object and counts + // Initialize // s_info.clear(); + + // Apply continuous filtering thresholds to subset pairs + pd_thr = info.pd.subset_pairs_cnt_thresh( + job.out_fcst_thresh[i_thresh], + job.out_obs_thresh[i_thresh], + job.out_cnt_logic); + + // + // If there are no matched pairs to process, return + // + if(pd_thr.f_na.n() == 0 || pd_thr.o_na.n() == 0) { + mlog << Warning << "\nmpr_to_psum() -> " + << "no MPR lines retained for -out_fcst_thresh " + << job.out_fcst_thresh[i_thresh].get_str() << " -out_obs_thresh " + << job.out_obs_thresh[i_thresh].get_str() << " -out_cnt_logic " + << setlogic_to_string(job.out_cnt_logic) + << "\n\n"; + return; + } + + // + // Initialize counts + // scount = sacount = 0; f_sum = o_sum = ff_sum = oo_sum = fo_sum = 0.0; fa_sum = oa_sum = ffa_sum = ooa_sum = foa_sum = 0.0; @@ -3594,14 +3595,14 @@ void mpr_to_psum(STATAnalysisJob &job, const AggrMPRInfo &info, // // Update the partial sums // - for(i=0; i &, + const STATLineType); + +//////////////////////////////////////////////////////////////////////// + void set_job_from_config(MetConfig &c, STATAnalysisJob &job) { BootInfo boot_info; @@ -581,7 +588,9 @@ void do_job_aggr_stat(const ConcatString &jobstring, LineDataFile &f, ofstream *sa_out, const ConcatString &tmp_dir, gsl_rng *rng_ptr) { STATLine line; - STATLineType in_lt, out_lt; + STATLineType in_lt; + vector out_lt; + vector::iterator it; AsciiTable out_at; int i, n; @@ -598,19 +607,26 @@ void do_job_aggr_stat(const ConcatString &jobstring, LineDataFile &f, // supplied only once // if(job.line_type.n() != 1 || - job.out_line_type.n() != 1) { + job.out_line_type.n() == 0) { mlog << Error << "\ndo_job_aggr_stat() -> " - << "this function may only be called when the " - << "\"-line_type\" and \"-out_line_type\" options have been " - << "used exactly once: " << jobstring << "\n\n"; + << "the \"-line_type\" option must be used exactly once and " + << "the \"-out_line_type\" option must be used at least once: " + << jobstring << "\n\n"; throw(1); } + // + // Write the job command line + // + write_jobstring(jobstring, sa_out); + // // Determine the input and output line types for this job // in_lt = string_to_statlinetype(job.line_type[0].c_str()); - out_lt = string_to_statlinetype(job.out_line_type[0].c_str()); + for(i=0; i CTS, ECLV // NBRCTC -> NBRCTS // - if(((in_lt == stat_fho || - in_lt == stat_ctc) && - (out_lt == stat_cts || - out_lt == stat_eclv)) || - (in_lt == stat_nbrctc && - out_lt == stat_nbrcts)) { + if(((in_lt == stat_fho || + in_lt == stat_ctc) && + (has_line_type(out_lt, stat_cts) || + has_line_type(out_lt, stat_eclv))) || + (in_lt == stat_nbrctc && + has_line_type(out_lt, stat_nbrcts))) { aggr_ctc_lines(f, job, ctc_map, n_in, n_out); - write_job_aggr_ctc(job, out_lt, ctc_map, out_at); + for(it=out_lt.begin(); it!=out_lt.end(); it++) { + write_job_aggr_ctc(job, *it, ctc_map, out_at); + if(!job.stat_out) write_table(out_at, sa_out); + } } // @@ -649,22 +668,28 @@ void do_job_aggr_stat(const ConcatString &jobstring, LineDataFile &f, // MCTC -> MCTS // else if(in_lt == stat_mctc && - out_lt == stat_mcts) { + has_line_type(out_lt, stat_mcts)) { aggr_mctc_lines(f, job, mctc_map, n_in, n_out); - write_job_aggr_mctc(job, out_lt, mctc_map, out_at); + for(it=out_lt.begin(); it!=out_lt.end(); it++) { + write_job_aggr_mctc(job, *it, mctc_map, out_at); + if(!job.stat_out) write_table(out_at, sa_out); + } } // // Sum up the Nx2 contingency table lines: // PCT -> PSTD, PJC, PRC, ECLV // - else if( in_lt == stat_pct && - (out_lt == stat_pstd || - out_lt == stat_pjc || - out_lt == stat_prc || - out_lt == stat_eclv)) { + else if(in_lt == stat_pct && + (has_line_type(out_lt, stat_pstd) || + has_line_type(out_lt, stat_pjc) || + has_line_type(out_lt, stat_prc) || + has_line_type(out_lt, stat_eclv))) { aggr_pct_lines(f, job, pct_map, n_in, n_out); - write_job_aggr_pct(job, out_lt, pct_map, out_at); + for(it=out_lt.begin(); it!=out_lt.end(); it++) { + write_job_aggr_pct(job, *it, pct_map, out_at); + if(!job.stat_out) write_table(out_at, sa_out); + } } // @@ -672,42 +697,49 @@ void do_job_aggr_stat(const ConcatString &jobstring, LineDataFile &f, // SL1L2, SAL1L2 -> CNT // NBRCTC -> NBRCNT // - else if((in_lt == stat_sl1l2 || - in_lt == stat_sal1l2) && - out_lt == stat_cnt) { + else if((in_lt == stat_sl1l2 || + in_lt == stat_sal1l2) && + has_line_type(out_lt, stat_cnt)) { aggr_psum_lines(f, job, psum_map, n_in, n_out); - write_job_aggr_psum(job, out_lt, psum_map, out_at); + for(it=out_lt.begin(); it!=out_lt.end(); it++) { + write_job_aggr_psum(job, *it, psum_map, out_at); + if(!job.stat_out) write_table(out_at, sa_out); + } } // // Sum the vector partial sum line types: // VL1L2 -> VCNT // - else if(in_lt == stat_vl1l2 && - out_lt == stat_vcnt) { + else if(in_lt == stat_vl1l2 && + has_line_type(out_lt, stat_vcnt)) { aggr_psum_lines(f, job, psum_map, n_in, n_out); - write_job_aggr_psum(job, out_lt, psum_map, out_at); + for(it=out_lt.begin(); it!=out_lt.end(); it++) { + write_job_aggr_psum(job, *it, psum_map, out_at); + if(!job.stat_out) write_table(out_at, sa_out); + } } // // Sum the vector partial sum line types: // VL1L2, VAL1L2 -> WDIR // - else if((in_lt == stat_vl1l2 || - in_lt == stat_val1l2) && - out_lt == stat_wdir) { + else if((in_lt == stat_vl1l2 || + in_lt == stat_val1l2) && + has_line_type(out_lt, stat_wdir)) { aggr_wind_lines(f, job, wind_map, n_in, n_out); write_job_aggr_wind(job, in_lt, wind_map, out_at); + if(!job.stat_out) write_table(out_at, sa_out); } // // Sum the UGRD and VGRD matched pair lines: // MPR -> WDIR // - else if(in_lt == stat_mpr && - (out_lt == stat_wdir || - out_lt == stat_vl1l2 || - out_lt == stat_vcnt)) { + else if(in_lt == stat_mpr && + (has_line_type(out_lt, stat_wdir) || + has_line_type(out_lt, stat_vl1l2) || + has_line_type(out_lt, stat_vcnt))) { mlog << Debug(4) << "do_job_aggr_stat() -> " << "For MPR wind aggregation, searching for UGRD and VGRD MPR lines.\n"; @@ -717,11 +749,15 @@ void do_job_aggr_stat(const ConcatString &jobstring, LineDataFile &f, job.fcst_var.add(vgrd_abbr_str); aggr_mpr_wind_lines(f, job, wind_map, n_in, n_out); - if(out_lt == stat_wdir) { - write_job_aggr_wind(job, in_lt, wind_map, out_at); - } - else { - write_job_aggr_mpr_wind(job, out_lt, wind_map, out_at); + for(it=out_lt.begin(); it!=out_lt.end(); it++) { + if(*it == stat_wdir) { + write_job_aggr_wind(job, in_lt, wind_map, out_at); + if(!job.stat_out) write_table(out_at, sa_out); + } + else { + write_job_aggr_mpr_wind(job, *it, wind_map, out_at); + if(!job.stat_out) write_table(out_at, sa_out); + } } } @@ -730,14 +766,17 @@ void do_job_aggr_stat(const ConcatString &jobstring, LineDataFile &f, // ORANK -> ECNT, RPS, RHIST, PHIST, RELP, SSVAR // else if(in_lt == stat_orank && - (out_lt == stat_ecnt || out_lt == stat_rps || - out_lt == stat_rhist || out_lt == stat_phist || - out_lt == stat_relp || out_lt == stat_ssvar)) { + (has_line_type(out_lt, stat_ecnt) || + has_line_type(out_lt, stat_rps) || + has_line_type(out_lt, stat_rhist) || + has_line_type(out_lt, stat_phist) || + has_line_type(out_lt, stat_relp) || + has_line_type(out_lt, stat_ssvar))) { // // Check forecast thresholds for RPS // - if(out_lt == stat_rps) { + if(has_line_type(out_lt, stat_rps)) { if(job.out_fcst_thresh.n() == 0) { mlog << Error << "\ndo_job_aggr_stat() -> " @@ -749,7 +788,10 @@ void do_job_aggr_stat(const ConcatString &jobstring, LineDataFile &f, } aggr_orank_lines(f, job, orank_map, n_in, n_out); - write_job_aggr_orank(job, out_lt, orank_map, out_at, rng_ptr); + for(it=out_lt.begin(); it!=out_lt.end(); it++) { + write_job_aggr_orank(job, *it, orank_map, out_at, rng_ptr); + if(!job.stat_out) write_table(out_at, sa_out); + } } // @@ -758,29 +800,60 @@ void do_job_aggr_stat(const ConcatString &jobstring, LineDataFile &f, // SL1L2, SAL1L2, PCT, PSTD, PJC, PRC, ECLV // else if(in_lt == stat_mpr && - (out_lt == stat_fho || out_lt == stat_ctc || - out_lt == stat_cts || out_lt == stat_mctc || - out_lt == stat_mcts || out_lt == stat_cnt || - out_lt == stat_sl1l2 || out_lt == stat_sal1l2 || - out_lt == stat_pct || out_lt == stat_pstd || - out_lt == stat_pjc || out_lt == stat_prc || - out_lt == stat_eclv)) { + (has_line_type(out_lt, stat_fho) || + has_line_type(out_lt, stat_ctc) || + has_line_type(out_lt, stat_cts) || + has_line_type(out_lt, stat_mctc) || + has_line_type(out_lt, stat_mcts) || + has_line_type(out_lt, stat_cnt) || + has_line_type(out_lt, stat_sl1l2) || + has_line_type(out_lt, stat_sal1l2) || + has_line_type(out_lt, stat_pct) || + has_line_type(out_lt, stat_pstd) || + has_line_type(out_lt, stat_pjc) || + has_line_type(out_lt, stat_prc) || + has_line_type(out_lt, stat_eclv))) { + + // + // Check output thresholds for continuous line types + // + if(has_line_type(out_lt, stat_cnt) || + has_line_type(out_lt, stat_sl1l2) || + has_line_type(out_lt, stat_sal1l2)) { + + if(job.out_fcst_thresh.n() != job.out_obs_thresh.n()) { + mlog << Error << "\ndo_job_aggr_stat() -> " + << "when \"-out_line_type\" is set to CNT, SL1L2, " + << "or SAL1L2, the \"-out_fcst_thresh\" and " + << "\"-out_obs_thresh\" options must specify the " + << "same number of thresholds.\n\n"; + throw(1); + } + + // Store a single NA threshold + if(job.out_fcst_thresh.n() == 0) { + job.out_fcst_thresh.add("NA"); + job.out_obs_thresh.add("NA"); + } + } // // Check output threshold values for 2x2 contingency table // - if(out_lt == stat_fho || - out_lt == stat_ctc || - out_lt == stat_cts || - out_lt == stat_eclv) { + if(has_line_type(out_lt, stat_fho) || + has_line_type(out_lt, stat_ctc) || + has_line_type(out_lt, stat_cts) || + has_line_type(out_lt, stat_eclv)) { - if(job.out_fcst_thresh.n() != 1 || - job.out_obs_thresh.n() != 1) { + if(job.out_fcst_thresh.n() == 0 || + job.out_obs_thresh.n() == 0 || + job.out_fcst_thresh.n() != job.out_obs_thresh.n()) { mlog << Error << "\ndo_job_aggr_stat() -> " << "when \"-out_line_type\" is set to FHO, CTC, " << "CTS, or ECLV, the \"-out_thresh\" option or " << "\"-out_fcst_thresh\" and \"-out_obs_thresh\" " - << "options must specify exactly one threshold.\n\n"; + << "options must specify the same number of thresholds " + << "and at least one.\n\n"; throw(1); } } @@ -788,8 +861,8 @@ void do_job_aggr_stat(const ConcatString &jobstring, LineDataFile &f, // // Check output threshold values for NxN contingency table // - if(out_lt == stat_mctc || - out_lt == stat_mcts) { + if(has_line_type(out_lt, stat_mctc) || + has_line_type(out_lt, stat_mcts)) { if(job.out_fcst_thresh.n() <= 1 || job.out_fcst_thresh.n() != job.out_obs_thresh.n()) { @@ -807,9 +880,9 @@ void do_job_aggr_stat(const ConcatString &jobstring, LineDataFile &f, job.out_obs_thresh[i].get_value() > job.out_obs_thresh[i+1].get_value() || job.out_fcst_thresh[i].get_type() != job.out_fcst_thresh[i+1].get_type() || job.out_obs_thresh[i].get_type() != job.out_obs_thresh[i+1].get_type() || - job.out_fcst_thresh[i].get_type() == thresh_eq || - job.out_fcst_thresh[i].get_type() == thresh_ne || - job.out_obs_thresh[i].get_type() == thresh_eq || + job.out_fcst_thresh[i].get_type() == thresh_eq || + job.out_fcst_thresh[i].get_type() == thresh_ne || + job.out_obs_thresh[i].get_type() == thresh_eq || job.out_obs_thresh[i].get_type() == thresh_ne) { mlog << Error << "\ndo_job_aggr_stat() -> " @@ -825,10 +898,10 @@ void do_job_aggr_stat(const ConcatString &jobstring, LineDataFile &f, // // Check for output threshold values // - if(out_lt == stat_pct || - out_lt == stat_pstd || - out_lt == stat_pjc || - out_lt == stat_prc) { + if(has_line_type(out_lt, stat_pct) || + has_line_type(out_lt, stat_pstd) || + has_line_type(out_lt, stat_pjc) || + has_line_type(out_lt, stat_prc)) { if(job.out_obs_thresh.n() != 1) { mlog << Error << "\ndo_job_aggr_stat() -> " @@ -887,7 +960,10 @@ void do_job_aggr_stat(const ConcatString &jobstring, LineDataFile &f, // Parse the input MPR lines // aggr_mpr_lines(f, job, mpr_map, n_in, n_out); - write_job_aggr_mpr(job, out_lt, mpr_map, out_at, tmp_dir.c_str(), rng_ptr); + for(it=out_lt.begin(); it!=out_lt.end(); it++) { + write_job_aggr_mpr(job, *it, mpr_map, out_at, tmp_dir.c_str(), rng_ptr); + if(!job.stat_out) write_table(out_at, sa_out); + } } // @@ -897,7 +973,7 @@ void do_job_aggr_stat(const ConcatString &jobstring, LineDataFile &f, mlog << Error << "\ndo_job_aggr_stat() -> " << "invalid combination of \"-line_type " << statlinetype_to_string(in_lt) << "\" and " - << "\"-out_line_type " << statlinetype_to_string(out_lt) + << "\"-out_line_type " << statlinetype_to_string(out_lt[0]) << "\"\n\n"; throw(1); } @@ -912,13 +988,6 @@ void do_job_aggr_stat(const ConcatString &jobstring, LineDataFile &f, return; } - // - // Write the ASCII Table and the job command line - // If -out_stat was specified, do not write output - // - write_jobstring(jobstring, sa_out); - if(!job.stat_out) write_table(out_at, sa_out); - return; } @@ -1167,7 +1236,7 @@ void write_job_aggr_ctc(STATAnalysisJob &job, STATLineType lt, // // Loop through the map // - for(it = m.begin(), r=1; it != m.end(); it++, r++) { + for(it = m.begin(), r=1; it != m.end(); it++) { // // Write the output STAT header columns @@ -1176,7 +1245,7 @@ void write_job_aggr_ctc(STATAnalysisJob &job, STATLineType lt, job.hdr_name, job.hdr_value, lt); if(job.stat_out) { if(lt == stat_cts || lt == stat_nbrcts) shc.set_alpha(job.out_alpha); - write_header_cols(shc, job.stat_at, r); + write_header_cols(shc, job.stat_at, job.stat_row); } // @@ -1190,12 +1259,12 @@ void write_job_aggr_ctc(STATAnalysisJob &job, STATLineType lt, if(lt == stat_fho) { if(job.stat_out) { write_fho_cols(it->second.cts_info, job.stat_at, - r, n_header_columns); + job.stat_row++, n_header_columns); } else { at.set_entry(r, c++, (string)"FHO:"); write_case_cols(it->first, at, r, c); - write_fho_cols(it->second.cts_info, at, r, c); + write_fho_cols(it->second.cts_info, at, r++, c); } } // @@ -1204,12 +1273,12 @@ void write_job_aggr_ctc(STATAnalysisJob &job, STATLineType lt, else if(lt == stat_ctc) { if(job.stat_out) { write_ctc_cols(it->second.cts_info, job.stat_at, - r, n_header_columns); + job.stat_row++, n_header_columns); } else { at.set_entry(r, c++, (string)"CTC:"); write_case_cols(it->first, at, r, c); - write_ctc_cols(it->second.cts_info, at, r, c); + write_ctc_cols(it->second.cts_info, at, r++, c); } } // @@ -1235,12 +1304,12 @@ void write_job_aggr_ctc(STATAnalysisJob &job, STATLineType lt, // if(job.stat_out) { write_cts_cols(it->second.cts_info, 0, job.stat_at, - r, n_header_columns); + job.stat_row++, n_header_columns); } else { at.set_entry(r, c++, (string)"CTS:"); write_case_cols(it->first, at, r, c); - write_cts_cols(it->second.cts_info, 0, at, r, c); + write_cts_cols(it->second.cts_info, 0, at, r++, c); } } // @@ -1250,12 +1319,12 @@ void write_job_aggr_ctc(STATAnalysisJob &job, STATLineType lt, if(job.stat_out) { write_eclv_cols(it->second.cts_info.cts, job.out_eclv_points, job.stat_at, - r, n_header_columns); + job.stat_row++, n_header_columns); } else { at.set_entry(r, c++, (string)"ECLV:"); write_case_cols(it->first, at, r, c); - write_eclv_cols(it->second.cts_info.cts, job.out_eclv_points, at, r, c); + write_eclv_cols(it->second.cts_info.cts, job.out_eclv_points, at, r++, c); } } // @@ -1268,12 +1337,12 @@ void write_job_aggr_ctc(STATAnalysisJob &job, STATLineType lt, if(job.stat_out) { write_nbrctc_cols(nbrcts_info, job.stat_at, - r, n_header_columns); + job.stat_row++, n_header_columns); } else { at.set_entry(r, c++, (string)"NBRCTC:"); write_case_cols(it->first, at, r, c); - write_nbrctc_cols(nbrcts_info, at, r, c); + write_nbrctc_cols(nbrcts_info, at, r++, c); } } // @@ -1302,14 +1371,23 @@ void write_job_aggr_ctc(STATAnalysisJob &job, STATLineType lt, // if(job.stat_out) { write_nbrcts_cols(nbrcts_info, 0, job.stat_at, - r, n_header_columns); + job.stat_row++, n_header_columns); } else { at.set_entry(r, c++, (string)"NBRCTS:"); write_case_cols(it->first, at, r, c); - write_nbrcts_cols(nbrcts_info, 0, at, r, c); + write_nbrcts_cols(nbrcts_info, 0, at, r++, c); } } + // + // Unsupported line type + // + else { + mlog << Error << "\nwrite_job_aggr_ctc() -> " + << "unsupported output line type \"" + << statlinetype_to_string(lt) << "\" requested.\n\n"; + throw(1); + } } // end for it return; @@ -1358,7 +1436,7 @@ void write_job_aggr_mctc(STATAnalysisJob &job, STATLineType lt, // // Loop through the map // - for(it = m.begin(), r=1; it != m.end(); it++, r++) { + for(it = m.begin(), r=1; it != m.end(); it++) { // // Write the output STAT header columns @@ -1367,7 +1445,7 @@ void write_job_aggr_mctc(STATAnalysisJob &job, STATLineType lt, job.hdr_name, job.hdr_value, lt); if(job.stat_out) { if(lt == stat_mcts) shc.set_alpha(job.out_alpha); - write_header_cols(shc, job.stat_at, r); + write_header_cols(shc, job.stat_at, job.stat_row); } // @@ -1381,12 +1459,12 @@ void write_job_aggr_mctc(STATAnalysisJob &job, STATLineType lt, if(lt == stat_mctc) { if(job.stat_out) { write_mctc_cols(it->second.mcts_info, job.stat_at, - r, n_header_columns); + job.stat_row++, n_header_columns); } else { at.set_entry(r, c++, (string)"MCTC:"); write_case_cols(it->first, at, r, c); - write_mctc_cols(it->second.mcts_info, at, r, c); + write_mctc_cols(it->second.mcts_info, at, r++, c); } } // @@ -1412,14 +1490,23 @@ void write_job_aggr_mctc(STATAnalysisJob &job, STATLineType lt, // if(job.stat_out) { write_mcts_cols(it->second.mcts_info, 0, job.stat_at, - r, n_header_columns); + job.stat_row++, n_header_columns); } else { at.set_entry(r, c++, (string)"MCTS:"); write_case_cols(it->first, at, r, c); - write_mcts_cols(it->second.mcts_info, 0, at, r, c); + write_mcts_cols(it->second.mcts_info, 0, at, r++, c); } } + // + // Unsupported line type + // + else { + mlog << Error << "\nwrite_job_aggr_mctc() -> " + << "unsupported output line type \"" + << statlinetype_to_string(lt) << "\" requested.\n\n"; + throw(1); + } } // end for it return; @@ -1478,7 +1565,7 @@ void write_job_aggr_pct(STATAnalysisJob &job, STATLineType lt, // // Loop through the map // - for(it = m.begin(), r=1; it != m.end(); it++, r++) { + for(it = m.begin(), r=1; it != m.end(); it++) { // // Write the output STAT header columns @@ -1487,7 +1574,7 @@ void write_job_aggr_pct(STATAnalysisJob &job, STATLineType lt, job.hdr_name, job.hdr_value, lt); if(job.stat_out) { if(lt == stat_pstd) shc.set_alpha(job.out_alpha); - write_header_cols(shc, job.stat_at, r); + write_header_cols(shc, job.stat_at, job.stat_row); } // @@ -1501,12 +1588,12 @@ void write_job_aggr_pct(STATAnalysisJob &job, STATLineType lt, if(lt == stat_pct) { if(job.stat_out) { write_pct_cols(it->second.pct_info, job.stat_at, - r, n_header_columns); + job.stat_row++, n_header_columns); } else { at.set_entry(r, c++, (string)"PCT:"); write_case_cols(it->first, at, r, c); - write_pct_cols(it->second.pct_info, at, r, c); + write_pct_cols(it->second.pct_info, at, r++, c); } } // @@ -1532,12 +1619,12 @@ void write_job_aggr_pct(STATAnalysisJob &job, STATLineType lt, // if(job.stat_out) { write_pstd_cols(it->second.pct_info, 0, job.stat_at, - r, n_header_columns); + job.stat_row++, n_header_columns); } else { at.set_entry(r, c++, (string)"PSTD:"); write_case_cols(it->first, at, r, c); - write_pstd_cols(it->second.pct_info, 0, at, r, c); + write_pstd_cols(it->second.pct_info, 0, at, r++, c); } } // @@ -1546,12 +1633,12 @@ void write_job_aggr_pct(STATAnalysisJob &job, STATLineType lt, else if(lt == stat_pjc) { if(job.stat_out) { write_pjc_cols(it->second.pct_info, job.stat_at, - r, n_header_columns); + job.stat_row++, n_header_columns); } else { at.set_entry(r, c++, (string)"PJC:"); write_case_cols(it->first, at, r, c); - write_pjc_cols(it->second.pct_info, at, r, c); + write_pjc_cols(it->second.pct_info, at, r++, c); } } // @@ -1560,12 +1647,12 @@ void write_job_aggr_pct(STATAnalysisJob &job, STATLineType lt, else if(lt == stat_prc) { if(job.stat_out) { write_prc_cols(it->second.pct_info, job.stat_at, - r, n_header_columns); + job.stat_row++, n_header_columns); } else { at.set_entry(r, c++, (string)"PRC:"); write_case_cols(it->first, at, r, c); - write_prc_cols(it->second.pct_info, at, r, c); + write_prc_cols(it->second.pct_info, at, r++, c); } } // @@ -1573,22 +1660,31 @@ void write_job_aggr_pct(STATAnalysisJob &job, STATLineType lt, // else if(lt == stat_eclv) { ThreshArray prob_ta = string_to_prob_thresh(shc.get_fcst_thresh_str().c_str()); - for(i=0; isecond.pct_info.pct.nrows(); i++, r++) { + for(i=0; isecond.pct_info.pct.nrows(); i++) { if(job.stat_out) { shc.set_fcst_thresh(prob_ta[i]); - write_header_cols(shc, job.stat_at, r); + write_header_cols(shc, job.stat_at, job.stat_row); write_eclv_cols(it->second.pct_info.pct.ctc_by_row(i), - job.out_eclv_points, job.stat_at, r, n_header_columns); + job.out_eclv_points, job.stat_at, job.stat_row++, n_header_columns); } else { c = 0; at.set_entry(r, c++, (string)"ECLV:"); write_case_cols(it->first, at, r, c); write_eclv_cols(it->second.pct_info.pct.ctc_by_row(i), - job.out_eclv_points, at, r, c); + job.out_eclv_points, at, r++, c); } } } + // + // Unsupported line type + // + else { + mlog << Error << "\nwrite_job_aggr_pct() -> " + << "unsupported output line type \"" + << statlinetype_to_string(lt) << "\" requested.\n\n"; + throw(1); + } } // end for it return; @@ -1640,7 +1736,7 @@ void write_job_aggr_psum(STATAnalysisJob &job, STATLineType lt, // // Loop through the map // - for(it = m.begin(), r=1; it != m.end(); it++, r++) { + for(it = m.begin(), r=1; it != m.end(); it++) { // // Write the output STAT header columns @@ -1649,7 +1745,7 @@ void write_job_aggr_psum(STATAnalysisJob &job, STATLineType lt, job.hdr_name, job.hdr_value, lt); if(job.stat_out) { if(lt == stat_cnt || lt == stat_nbrcnt) shc.set_alpha(job.out_alpha); - write_header_cols(shc, job.stat_at, r); + write_header_cols(shc, job.stat_at, job.stat_row); } // @@ -1663,12 +1759,12 @@ void write_job_aggr_psum(STATAnalysisJob &job, STATLineType lt, if(lt == stat_sl1l2) { if(job.stat_out) { write_sl1l2_cols(it->second.sl1l2_info, job.stat_at, - r, n_header_columns); + job.stat_row++, n_header_columns); } else { at.set_entry(r, c++, (string)"SL1L2:"); write_case_cols(it->first, at, r, c); - write_sl1l2_cols(it->second.sl1l2_info, at, r, c); + write_sl1l2_cols(it->second.sl1l2_info, at, r++, c); } } // @@ -1677,12 +1773,12 @@ void write_job_aggr_psum(STATAnalysisJob &job, STATLineType lt, else if(lt == stat_sal1l2) { if(job.stat_out) { write_sal1l2_cols(it->second.sl1l2_info, job.stat_at, - r, n_header_columns); + job.stat_row++, n_header_columns); } else { at.set_entry(r, c++, (string)"SAL1L2:"); write_case_cols(it->first, at, r, c); - write_sal1l2_cols(it->second.sl1l2_info, at, r, c); + write_sal1l2_cols(it->second.sl1l2_info, at, r++, c); } } // @@ -1691,12 +1787,12 @@ void write_job_aggr_psum(STATAnalysisJob &job, STATLineType lt, else if(lt == stat_vl1l2) { if(job.stat_out) { write_vl1l2_cols(it->second.vl1l2_info, job.stat_at, - r, n_header_columns); + job.stat_row++, n_header_columns); } else { at.set_entry(r, c++, (string)"VL1L2:"); write_case_cols(it->first, at, r, c); - write_vl1l2_cols(it->second.vl1l2_info, at, r, c); + write_vl1l2_cols(it->second.vl1l2_info, at, r++, c); } } // @@ -1705,12 +1801,12 @@ void write_job_aggr_psum(STATAnalysisJob &job, STATLineType lt, else if(lt == stat_val1l2) { if(job.stat_out) { write_val1l2_cols(it->second.vl1l2_info, job.stat_at, - r, n_header_columns); + job.stat_row++, n_header_columns); } else { at.set_entry(r, c++, (string)"VAL1L2:"); write_case_cols(it->first, at, r, c); - write_val1l2_cols(it->second.vl1l2_info, at, r, c); + write_val1l2_cols(it->second.vl1l2_info, at, r++, c); } } // @@ -1736,12 +1832,12 @@ void write_job_aggr_psum(STATAnalysisJob &job, STATLineType lt, if(job.stat_out) { write_cnt_cols(it->second.cnt_info, 0, job.stat_at, - r, n_header_columns); + job.stat_row++, n_header_columns); } else { at.set_entry(r, c++, (string)"CNT:"); write_case_cols(it->first, at, r, c); - write_cnt_cols(it->second.cnt_info, 0, at, r, c); + write_cnt_cols(it->second.cnt_info, 0, at, r++, c); } } // @@ -1750,12 +1846,12 @@ void write_job_aggr_psum(STATAnalysisJob &job, STATLineType lt, else if(lt == stat_vcnt) { if(job.stat_out) { write_vcnt_cols(it->second.vl1l2_info, job.stat_at, - r, n_header_columns); + job.stat_row++, n_header_columns); } else { at.set_entry(r, c++, (string)"VCNT:"); write_case_cols(it->first, at, r, c); - write_vcnt_cols(it->second.vl1l2_info, at, r, c); + write_vcnt_cols(it->second.vl1l2_info, at, r++, c); } } // @@ -1770,14 +1866,23 @@ void write_job_aggr_psum(STATAnalysisJob &job, STATLineType lt, if(job.stat_out) { write_nbrcnt_cols(it->second.nbrcnt_info, 0, job.stat_at, - r, n_header_columns); + job.stat_row++, n_header_columns); } else { at.set_entry(r, c++, "NBRCNT:"); write_case_cols(it->first, at, r, c); - write_nbrcnt_cols(it->second.nbrcnt_info, 0, at, r, c); + write_nbrcnt_cols(it->second.nbrcnt_info, 0, at, r++, c); } } + // + // Unsupported line type + // + else { + mlog << Error << "\nwrite_job_aggr_psum() -> " + << "unsupported output line type \"" + << statlinetype_to_string(lt) << "\" requested.\n\n"; + throw(1); + } } // end for it return; @@ -1817,14 +1922,14 @@ void write_job_aggr_grad(STATAnalysisJob &job, STATLineType lt, // // Loop through the map // - for(it = m.begin(), r=1; it != m.end(); it++, r++) { + for(it = m.begin(), r=1; it != m.end(); it++) { // // Write the output STAT header columns // shc = it->second.hdr.get_shc(it->first, job.by_column, job.hdr_name, job.hdr_value, lt); - if(job.stat_out) write_header_cols(shc, job.stat_at, r); + if(job.stat_out) write_header_cols(shc, job.stat_at, job.stat_row); // // Initialize @@ -1836,12 +1941,12 @@ void write_job_aggr_grad(STATAnalysisJob &job, STATLineType lt, // if(job.stat_out) { write_grad_cols(it->second.grad_info, job.stat_at, - r, n_header_columns); + job.stat_row++, n_header_columns); } else { at.set_entry(r, c++, "GRAD:"); write_case_cols(it->first, at, r, c); - write_grad_cols(it->second.grad_info, at, r, c); + write_grad_cols(it->second.grad_info, at, r++, c); } } // end for it @@ -2052,14 +2157,14 @@ void write_job_aggr_ecnt(STATAnalysisJob &job, STATLineType lt, // // Loop through the map // - for(it = m.begin(), r=1; it != m.end(); it++, r++) { + for(it = m.begin(), r=1; it != m.end(); it++) { // // Write the output STAT header columns // shc = it->second.hdr.get_shc(it->first, job.by_column, job.hdr_name, job.hdr_value, lt); - if(job.stat_out) write_header_cols(shc, job.stat_at, r); + if(job.stat_out) write_header_cols(shc, job.stat_at, job.stat_row); // // Initialize @@ -2076,12 +2181,12 @@ void write_job_aggr_ecnt(STATAnalysisJob &job, STATLineType lt, // if(job.stat_out) { write_ecnt_cols(ecnt_info, job.stat_at, - r, n_header_columns); + job.stat_row++, n_header_columns); } else { at.set_entry(r, c++, "ECNT:"); write_case_cols(it->first, at, r, c); - write_ecnt_cols(ecnt_info, at, r, c); + write_ecnt_cols(ecnt_info, at, r++, c); } } // end for it @@ -2123,14 +2228,14 @@ void write_job_aggr_rps(STATAnalysisJob &job, STATLineType lt, // // Loop through the map // - for(it = m.begin(), r=1; it != m.end(); it++, r++) { + for(it = m.begin(), r=1; it != m.end(); it++) { // // Write the output STAT header columns // shc = it->second.hdr.get_shc(it->first, job.by_column, job.hdr_name, job.hdr_value, lt); - if(job.stat_out) write_header_cols(shc, job.stat_at, r); + if(job.stat_out) write_header_cols(shc, job.stat_at, job.stat_row); // // Initialize @@ -2142,12 +2247,12 @@ void write_job_aggr_rps(STATAnalysisJob &job, STATLineType lt, // if(job.stat_out) { write_rps_cols(it->second.rps_info, job.stat_at, - r, n_header_columns); + job.stat_row++, n_header_columns); } else { at.set_entry(r, c++, "RPS:"); write_case_cols(it->first, at, r, c); - write_rps_cols(it->second.rps_info, at, r, c); + write_rps_cols(it->second.rps_info, at, r++, c); } } // end for it @@ -2194,7 +2299,7 @@ void write_job_aggr_rhist(STATAnalysisJob &job, STATLineType lt, // // Loop through the map // - for(it = m.begin(), r=1; it != m.end(); it++, r++) { + for(it = m.begin(), r=1; it != m.end(); it++) { // // Write the output STAT header columns @@ -2202,7 +2307,7 @@ void write_job_aggr_rhist(STATAnalysisJob &job, STATLineType lt, shc = it->second.hdr.get_shc(it->first, job.by_column, job.hdr_name, job.hdr_value, lt); if(job.stat_out) { - write_header_cols(shc, job.stat_at, r); + write_header_cols(shc, job.stat_at, job.stat_row); } // @@ -2215,12 +2320,12 @@ void write_job_aggr_rhist(STATAnalysisJob &job, STATLineType lt, // if(job.stat_out) { write_rhist_cols(&(it->second.ens_pd), job.stat_at, - r, n_header_columns); + job.stat_row++, n_header_columns); } else { at.set_entry(r, c++, "RHIST:"); write_case_cols(it->first, at, r, c); - write_rhist_cols(&(it->second.ens_pd), at, r, c); + write_rhist_cols(&(it->second.ens_pd), at, r++, c); } } // end for it @@ -2267,7 +2372,7 @@ void write_job_aggr_phist(STATAnalysisJob &job, STATLineType lt, // // Loop through the map // - for(it = m.begin(), r=1; it != m.end(); it++, r++) { + for(it = m.begin(), r=1; it != m.end(); it++) { // // Write the output STAT header columns @@ -2275,7 +2380,7 @@ void write_job_aggr_phist(STATAnalysisJob &job, STATLineType lt, shc = it->second.hdr.get_shc(it->first, job.by_column, job.hdr_name, job.hdr_value, lt); if(job.stat_out) { - write_header_cols(shc, job.stat_at, r); + write_header_cols(shc, job.stat_at, job.stat_row); } // @@ -2288,12 +2393,12 @@ void write_job_aggr_phist(STATAnalysisJob &job, STATLineType lt, // if(job.stat_out) { write_phist_cols(&(it->second.ens_pd), job.stat_at, - r, n_header_columns); + job.stat_row++, n_header_columns); } else { at.set_entry(r, c++, "PHIST:"); write_case_cols(it->first, at, r, c); - write_phist_cols(&(it->second.ens_pd), at, r, c); + write_phist_cols(&(it->second.ens_pd), at, r++, c); } } // end for it @@ -2340,7 +2445,7 @@ void write_job_aggr_relp(STATAnalysisJob &job, STATLineType lt, // // Loop through the map // - for(it = m.begin(), r=1; it != m.end(); it++, r++) { + for(it = m.begin(), r=1; it != m.end(); it++) { // // Write the output STAT header columns @@ -2348,7 +2453,7 @@ void write_job_aggr_relp(STATAnalysisJob &job, STATLineType lt, shc = it->second.hdr.get_shc(it->first, job.by_column, job.hdr_name, job.hdr_value, lt); if(job.stat_out) { - write_header_cols(shc, job.stat_at, r); + write_header_cols(shc, job.stat_at, job.stat_row); } // @@ -2361,12 +2466,12 @@ void write_job_aggr_relp(STATAnalysisJob &job, STATLineType lt, // if(job.stat_out) { write_relp_cols(&(it->second.ens_pd), job.stat_at, - r, n_header_columns); + job.stat_row++, n_header_columns); } else { at.set_entry(r, c++, "RELP:"); write_case_cols(it->first, at, r, c); - write_relp_cols(&(it->second.ens_pd), at, r, c); + write_relp_cols(&(it->second.ens_pd), at, r++, c); } } // end for it @@ -2444,7 +2549,7 @@ void write_job_aggr_ssvar(STATAnalysisJob &job, STATLineType lt, // for(bin_it = case_it->second.ssvar_bins.begin(), i=0; bin_it != case_it->second.ssvar_bins.end(); - bin_it++, r++, i++) { + bin_it++, i++) { // // Initialize @@ -2461,42 +2566,43 @@ void write_job_aggr_ssvar(STATAnalysisJob &job, STATLineType lt, // if(job.stat_out) { c = n_header_columns; - write_header_cols(shc, job.stat_at, r); - job.stat_at.set_entry(r, c++, n); - job.stat_at.set_entry(r, c++, (int) case_it->second.ssvar_bins.size()); - job.stat_at.set_entry(r, c++, i); - job.stat_at.set_entry(r, c++, bin_it->second.bin_n); - job.stat_at.set_entry(r, c++, bin_it->second.var_min); - job.stat_at.set_entry(r, c++, bin_it->second.var_max); - job.stat_at.set_entry(r, c++, bin_it->second.var_mean); - job.stat_at.set_entry(r, c++, bin_it->second.sl1l2_info.fbar); - job.stat_at.set_entry(r, c++, bin_it->second.sl1l2_info.obar); - job.stat_at.set_entry(r, c++, bin_it->second.sl1l2_info.fobar); - job.stat_at.set_entry(r, c++, bin_it->second.sl1l2_info.ffbar); - job.stat_at.set_entry(r, c++, bin_it->second.sl1l2_info.oobar); - job.stat_at.set_entry(r, c++, cnt_info.fbar.v_ncl[0]); - job.stat_at.set_entry(r, c++, cnt_info.fbar.v_ncu[0]); - job.stat_at.set_entry(r, c++, cnt_info.fstdev.v); - job.stat_at.set_entry(r, c++, cnt_info.fstdev.v_ncl[0]); - job.stat_at.set_entry(r, c++, cnt_info.fstdev.v_ncu[0]); - job.stat_at.set_entry(r, c++, cnt_info.obar.v_ncl[0]); - job.stat_at.set_entry(r, c++, cnt_info.obar.v_ncu[0]); - job.stat_at.set_entry(r, c++, cnt_info.ostdev.v); - job.stat_at.set_entry(r, c++, cnt_info.ostdev.v_ncl[0]); - job.stat_at.set_entry(r, c++, cnt_info.ostdev.v_ncu[0]); - job.stat_at.set_entry(r, c++, cnt_info.pr_corr.v); - job.stat_at.set_entry(r, c++, cnt_info.pr_corr.v_ncl[0]); - job.stat_at.set_entry(r, c++, cnt_info.pr_corr.v_ncu[0]); - job.stat_at.set_entry(r, c++, cnt_info.me.v); - job.stat_at.set_entry(r, c++, cnt_info.me.v_ncl[0]); - job.stat_at.set_entry(r, c++, cnt_info.me.v_ncu[0]); - job.stat_at.set_entry(r, c++, cnt_info.estdev.v); - job.stat_at.set_entry(r, c++, cnt_info.estdev.v_ncl[0]); - job.stat_at.set_entry(r, c++, cnt_info.estdev.v_ncu[0]); - job.stat_at.set_entry(r, c++, cnt_info.mbias.v); - job.stat_at.set_entry(r, c++, cnt_info.mse.v); - job.stat_at.set_entry(r, c++, cnt_info.bcmse.v); - job.stat_at.set_entry(r, c++, cnt_info.rmse.v); + write_header_cols(shc, job.stat_at, job.stat_row); + job.stat_at.set_entry(job.stat_row, c++, n); + job.stat_at.set_entry(job.stat_row, c++, (int) case_it->second.ssvar_bins.size()); + job.stat_at.set_entry(job.stat_row, c++, i); + job.stat_at.set_entry(job.stat_row, c++, bin_it->second.bin_n); + job.stat_at.set_entry(job.stat_row, c++, bin_it->second.var_min); + job.stat_at.set_entry(job.stat_row, c++, bin_it->second.var_max); + job.stat_at.set_entry(job.stat_row, c++, bin_it->second.var_mean); + job.stat_at.set_entry(job.stat_row, c++, bin_it->second.sl1l2_info.fbar); + job.stat_at.set_entry(job.stat_row, c++, bin_it->second.sl1l2_info.obar); + job.stat_at.set_entry(job.stat_row, c++, bin_it->second.sl1l2_info.fobar); + job.stat_at.set_entry(job.stat_row, c++, bin_it->second.sl1l2_info.ffbar); + job.stat_at.set_entry(job.stat_row, c++, bin_it->second.sl1l2_info.oobar); + job.stat_at.set_entry(job.stat_row, c++, cnt_info.fbar.v_ncl[0]); + job.stat_at.set_entry(job.stat_row, c++, cnt_info.fbar.v_ncu[0]); + job.stat_at.set_entry(job.stat_row, c++, cnt_info.fstdev.v); + job.stat_at.set_entry(job.stat_row, c++, cnt_info.fstdev.v_ncl[0]); + job.stat_at.set_entry(job.stat_row, c++, cnt_info.fstdev.v_ncu[0]); + job.stat_at.set_entry(job.stat_row, c++, cnt_info.obar.v_ncl[0]); + job.stat_at.set_entry(job.stat_row, c++, cnt_info.obar.v_ncu[0]); + job.stat_at.set_entry(job.stat_row, c++, cnt_info.ostdev.v); + job.stat_at.set_entry(job.stat_row, c++, cnt_info.ostdev.v_ncl[0]); + job.stat_at.set_entry(job.stat_row, c++, cnt_info.ostdev.v_ncu[0]); + job.stat_at.set_entry(job.stat_row, c++, cnt_info.pr_corr.v); + job.stat_at.set_entry(job.stat_row, c++, cnt_info.pr_corr.v_ncl[0]); + job.stat_at.set_entry(job.stat_row, c++, cnt_info.pr_corr.v_ncu[0]); + job.stat_at.set_entry(job.stat_row, c++, cnt_info.me.v); + job.stat_at.set_entry(job.stat_row, c++, cnt_info.me.v_ncl[0]); + job.stat_at.set_entry(job.stat_row, c++, cnt_info.me.v_ncu[0]); + job.stat_at.set_entry(job.stat_row, c++, cnt_info.estdev.v); + job.stat_at.set_entry(job.stat_row, c++, cnt_info.estdev.v_ncl[0]); + job.stat_at.set_entry(job.stat_row, c++, cnt_info.estdev.v_ncu[0]); + job.stat_at.set_entry(job.stat_row, c++, cnt_info.mbias.v); + job.stat_at.set_entry(job.stat_row, c++, cnt_info.mse.v); + job.stat_at.set_entry(job.stat_row, c++, cnt_info.bcmse.v); + job.stat_at.set_entry(job.stat_row, c++, cnt_info.rmse.v); + job.stat_row++; } // // SSVAR output line @@ -2539,6 +2645,7 @@ void write_job_aggr_ssvar(STATAnalysisJob &job, STATLineType lt, at.set_entry(r, c++, cnt_info.mse.v); at.set_entry(r, c++, cnt_info.bcmse.v); at.set_entry(r, c++, cnt_info.rmse.v); + r++; } } // end for bin_it } // end for case_it @@ -2653,21 +2760,21 @@ void write_job_aggr_orank(STATAnalysisJob &job, STATLineType lt, if(lt == stat_ecnt) { ECNTInfo ecnt_info; ecnt_info.set(it->second.ens_pd); - at.set_entry(r, c++, "ECNT:"); - write_case_cols(it->first, at, r, c); - write_ecnt_cols(ecnt_info, at, r, c); + if(job.stat_out) { - write_header_cols(shc, job.stat_at, r); - write_ecnt_cols(ecnt_info, job.stat_at, r, n_header_columns); + write_header_cols(shc, job.stat_at, job.stat_row); + write_ecnt_cols(ecnt_info, job.stat_at, + job.stat_row++, n_header_columns); + } + else { + at.set_entry(r, c++, "ECNT:"); + write_case_cols(it->first, at, r, c); + write_ecnt_cols(ecnt_info, at, r++, c); } - // Increment row counter - r++; } - // // RPS output line // - else if(lt == stat_rps) { RPSInfo rps_info; rps_info.fthresh = job.out_fcst_thresh; @@ -2675,19 +2782,16 @@ void write_job_aggr_orank(STATAnalysisJob &job, STATLineType lt, if(job.stat_out) { shc.set_fcst_thresh(job.out_fcst_thresh); - write_header_cols(shc, job.stat_at, r); - write_rps_cols(rps_info, job.stat_at, r, n_header_columns); + write_header_cols(shc, job.stat_at, job.stat_row); + write_rps_cols(rps_info, job.stat_at, + job.stat_row++, n_header_columns); } else { at.set_entry(r, c++, "RPS:"); write_case_cols(it->first, at, r, c); - write_rps_cols(rps_info, at, r, c); + write_rps_cols(rps_info, at, r++, c); } - - // Increment row counter - r++; } - // // RHIST output line // @@ -2695,37 +2799,31 @@ void write_job_aggr_orank(STATAnalysisJob &job, STATLineType lt, it->second.ens_pd.compute_rhist(); if(job.stat_out) { - write_header_cols(shc, job.stat_at, r); - write_rhist_cols(&(it->second.ens_pd), job.stat_at, r, n_header_columns); + write_header_cols(shc, job.stat_at, job.stat_row); + write_rhist_cols(&(it->second.ens_pd), job.stat_at, + job.stat_row++, n_header_columns); } else { at.set_entry(r, c++, "RHIST:"); write_case_cols(it->first, at, r, c); - write_rhist_cols(&(it->second.ens_pd), at, r, c); + write_rhist_cols(&(it->second.ens_pd), at, r++, c); } - - // Increment row counter - r++; } - // // PHIST output line // else if(lt == stat_phist) { if(job.stat_out) { - write_header_cols(shc, job.stat_at, r); - write_phist_cols(&(it->second.ens_pd), job.stat_at, r, n_header_columns); + write_header_cols(shc, job.stat_at, job.stat_row); + write_phist_cols(&(it->second.ens_pd), job.stat_at, + job.stat_row++, n_header_columns); } else { at.set_entry(r, c++, "PHIST:"); write_case_cols(it->first, at, r, c); - write_phist_cols(&(it->second.ens_pd), at, r, c); + write_phist_cols(&(it->second.ens_pd), at, r++, c); } - - // Increment row counter - r++; } - // // RELP output line // @@ -2733,20 +2831,16 @@ void write_job_aggr_orank(STATAnalysisJob &job, STATLineType lt, it->second.ens_pd.compute_relp(); if(job.stat_out) { - write_header_cols(shc, job.stat_at, r); + write_header_cols(shc, job.stat_at, job.stat_row); write_relp_cols(&(it->second.ens_pd), job.stat_at, - r, n_header_columns); + job.stat_row++, n_header_columns); } else { at.set_entry(r, c++, "RELP:"); write_case_cols(it->first, at, r, c); - write_relp_cols(&(it->second.ens_pd), at, r, c); + write_relp_cols(&(it->second.ens_pd), at, r++, c); } - - // Increment row counter - r++; } - // // SSVAR output lines // @@ -2759,21 +2853,27 @@ void write_job_aggr_orank(STATAnalysisJob &job, STATLineType lt, // for(i=0; isecond.ens_pd.ssvar_bins[0].n_bin; i++) { if(job.stat_out) { - write_header_cols(shc, job.stat_at, r); + write_header_cols(shc, job.stat_at, job.stat_row); write_ssvar_cols(&(it->second.ens_pd), i, job.out_alpha, job.stat_at, - r, n_header_columns); + job.stat_row++, n_header_columns); } else { c = 0; at.set_entry(r, c++, "SSVAR:"); write_case_cols(it->first, at, r, c); - write_ssvar_cols(&(it->second.ens_pd), i, job.out_alpha, at, r, c); + write_ssvar_cols(&(it->second.ens_pd), i, job.out_alpha, at, r++, c); } - - // Increment row counter - r++; } } + // + // Unsupported line type + // + else { + mlog << Error << "\nwrite_job_aggr_orank() -> " + << "unsupported output line type \"" + << statlinetype_to_string(lt) << "\" requested.\n\n"; + throw(1); + } } // end for it return; @@ -2830,16 +2930,16 @@ void write_job_aggr_isc(STATAnalysisJob &job, STATLineType lt, // // ISC output line // - for(i=-1, c=0; i<=it->second.isc_info.n_scale; i++, r++, c=0) { + for(i=-1, c=0; i<=it->second.isc_info.n_scale; i++, c=0) { if(job.stat_out) { - write_header_cols(shc, job.stat_at, r); + write_header_cols(shc, job.stat_at, job.stat_row); write_isc_cols(it->second.isc_info, i, job.stat_at, - r, n_header_columns); + job.stat_row++, n_header_columns); } else { at.set_entry(r, c++, "ISC:"); write_case_cols(it->first, at, r, c); - write_isc_cols(it->second.isc_info, i, at, r, c); + write_isc_cols(it->second.isc_info, i, at, r++, c); } } } // end for it @@ -2854,7 +2954,7 @@ void write_job_aggr_mpr(STATAnalysisJob &job, STATLineType lt, AsciiTable &at, const char *tmp_dir, gsl_rng *rng_ptr) { map::iterator it; - int n, n_row, n_col, r, c; + int n, n_row, n_col, r, c, i; StatHdrColumns shc; CTSInfo cts_info; @@ -2866,8 +2966,21 @@ void write_job_aggr_mpr(STATAnalysisJob &job, STATLineType lt, // // Setup the output table // - n = 0; - n_row = 1 + m.size(); + n = 0; + + // Number of rows + n_row = 1; + if(lt == stat_fho || lt == stat_ctc || + lt == stat_cts || lt == stat_eclv || + lt == stat_cnt || lt == stat_sl1l2 || + lt == stat_sal1l2) { + n_row += job.out_fcst_thresh.n() * m.size(); + } + else { + n_row += m.size(); + } + + // Number of columns n_col = 1 + job.by_column.n(); if(lt == stat_fho) { n_col += n_fho_columns; } else if(lt == stat_ctc) { n_col += n_ctc_columns; } @@ -2919,97 +3032,103 @@ void write_job_aggr_mpr(STATAnalysisJob &job, STATLineType lt, // // Loop through the map // - for(it = m.begin(), r=1; it != m.end(); it++, r++) { + for(it = m.begin(), r=1; it != m.end(); it++) { // - // Process percentile thresholds. + // Process percentile thresholds // job.set_perc_thresh(it->second.pd.f_na, it->second.pd.o_na, it->second.pd.cmn_na); // - // Write the output STAT header columns + // Prepare the output STAT header columns // shc = it->second.hdr.get_shc(it->first, job.by_column, job.hdr_name, job.hdr_value, lt); - if(job.stat_out) { - if(lt == stat_cts || lt == stat_nbrcts || lt == stat_mcts || - lt == stat_cnt || lt == stat_nbrcnt || lt == stat_pstd) { - shc.set_alpha(job.out_alpha); - } - if(job.out_fcst_thresh.n() > 0 || job.out_obs_thresh.n() > 0) { - shc.set_fcst_thresh(job.out_fcst_thresh); - shc.set_obs_thresh(job.out_obs_thresh); - if(lt == stat_cnt || lt == stat_sl1l2) { - shc.set_thresh_logic(job.out_cnt_logic); - } - } - write_header_cols(shc, job.stat_at, r); - } - - // - // Initialize - // - c = 0; // // FHO output line // if(lt == stat_fho) { - mpr_to_ctc(job, it->second, cts_info); - if(job.stat_out) { - write_fho_cols(cts_info, job.stat_at, - r, n_header_columns); - } - else { - at.set_entry(r, c++, "FHO:"); - write_case_cols(it->first, at, r, c); - write_fho_cols(cts_info, at, r, c); - } + for(i=0; isecond, i, cts_info); + if(job.stat_out) { + shc.set_fcst_thresh(job.out_fcst_thresh[i]); + shc.set_obs_thresh(job.out_obs_thresh[i]); + write_header_cols(shc, job.stat_at, job.stat_row); + write_fho_cols(cts_info, job.stat_at, + job.stat_row++, n_header_columns); + } + else { + c = 0; + at.set_entry(r, c++, "FHO:"); + write_case_cols(it->first, at, r, c); + write_fho_cols(cts_info, at, r++, c); + } + } // end for i } // // CTC output line // else if(lt == stat_ctc) { - mpr_to_ctc(job, it->second, cts_info); - if(job.stat_out) { - write_ctc_cols(cts_info, job.stat_at, - r, n_header_columns); - } - else { - at.set_entry(r, c++, "CTC:"); - write_case_cols(it->first, at, r, c); - write_ctc_cols(cts_info, at, r, c); - } + for(i=0; isecond, i, cts_info); + if(job.stat_out) { + shc.set_fcst_thresh(job.out_fcst_thresh[i]); + shc.set_obs_thresh(job.out_obs_thresh[i]); + write_header_cols(shc, job.stat_at, job.stat_row); + write_ctc_cols(cts_info, job.stat_at, + job.stat_row++, n_header_columns); + } + else { + c = 0; + at.set_entry(r, c++, "CTC:"); + write_case_cols(it->first, at, r, c); + write_ctc_cols(cts_info, at, r++, c); + } + } // end for i } // // CTS output line // else if(lt == stat_cts) { - mpr_to_cts(job, it->second, cts_info, tmp_dir, rng_ptr); - if(job.stat_out) { - write_cts_cols(cts_info, 0, job.stat_at, - r, n_header_columns); - } - else { - at.set_entry(r, c++, "CTS:"); - write_case_cols(it->first, at, r, c); - write_cts_cols(cts_info, 0, at, r, c); - } + for(i=0; isecond, i, cts_info, tmp_dir, rng_ptr); + if(job.stat_out) { + shc.set_fcst_thresh(job.out_fcst_thresh[i]); + shc.set_obs_thresh(job.out_obs_thresh[i]); + shc.set_alpha(job.out_alpha); + write_header_cols(shc, job.stat_at, job.stat_row); + write_cts_cols(cts_info, 0, job.stat_at, + job.stat_row++, n_header_columns); + } + else { + c = 0; + at.set_entry(r, c++, "CTS:"); + write_case_cols(it->first, at, r, c); + write_cts_cols(cts_info, 0, at, r++, c); + } + } // end for i } // // ECLV output line // else if(lt == stat_eclv) { - mpr_to_ctc(job, it->second, cts_info); - if(job.stat_out) { - write_eclv_cols(cts_info.cts, job.out_eclv_points, - job.stat_at, r, n_header_columns); - } - else { - at.set_entry(r, c++, "ECLV:"); - write_case_cols(it->first, at, r, c); - write_eclv_cols(cts_info.cts, job.out_eclv_points, at, r, c); - } + for(i=0; isecond, i, cts_info); + if(job.stat_out) { + shc.set_fcst_thresh(job.out_fcst_thresh[i]); + shc.set_obs_thresh(job.out_obs_thresh[i]); + write_header_cols(shc, job.stat_at, job.stat_row); + write_eclv_cols(cts_info.cts, job.out_eclv_points, job.stat_at, + job.stat_row++, n_header_columns); + } + else { + c = 0; + at.set_entry(r, c++, "ECLV:"); + write_case_cols(it->first, at, r, c); + write_eclv_cols(cts_info.cts, job.out_eclv_points, at, r++, c); + } + } // end for i } // // MCTC output line @@ -3017,13 +3136,17 @@ void write_job_aggr_mpr(STATAnalysisJob &job, STATLineType lt, else if(lt == stat_mctc) { mpr_to_mctc(job, it->second, mcts_info); if(job.stat_out) { + shc.set_fcst_thresh(job.out_fcst_thresh); + shc.set_obs_thresh(job.out_obs_thresh); + write_header_cols(shc, job.stat_at, job.stat_row); write_mctc_cols(mcts_info, job.stat_at, - r, n_header_columns); + job.stat_row++, n_header_columns); } else { + c = 0; at.set_entry(r, c++, "MCTC:"); write_case_cols(it->first, at, r, c); - write_mctc_cols(mcts_info, at, r, c); + write_mctc_cols(mcts_info, at, r++, c); } } // @@ -3032,59 +3155,89 @@ void write_job_aggr_mpr(STATAnalysisJob &job, STATLineType lt, else if(lt == stat_mcts) { mpr_to_mcts(job, it->second, mcts_info, tmp_dir, rng_ptr); if(job.stat_out) { + shc.set_fcst_thresh(job.out_fcst_thresh); + shc.set_obs_thresh(job.out_obs_thresh); + shc.set_alpha(job.out_alpha); + write_header_cols(shc, job.stat_at, job.stat_row); write_mcts_cols(mcts_info, 0, job.stat_at, - r, n_header_columns); + job.stat_row++, n_header_columns); } else { + c = 0; at.set_entry(r, c++, "MCTS:"); write_case_cols(it->first, at, r, c); - write_mcts_cols(mcts_info, 0, at, r, c); + write_mcts_cols(mcts_info, 0, at, r++, c); } } // // CNT output line // else if(lt == stat_cnt) { - mpr_to_cnt(job, it->second, cnt_info, tmp_dir, rng_ptr); - if(job.stat_out) { - write_cnt_cols(cnt_info, 0, job.stat_at, - r, n_header_columns); - } - else { - at.set_entry(r, c++, "CNT:"); - write_case_cols(it->first, at, r, c); - write_cnt_cols(cnt_info, 0, at, r, c); - } + for(i=0; isecond, i, cnt_info, tmp_dir, rng_ptr); + if(cnt_info.n == 0) continue; + if(job.stat_out) { + shc.set_fcst_thresh(job.out_fcst_thresh[i]); + shc.set_obs_thresh(job.out_obs_thresh[i]); + shc.set_thresh_logic(job.out_cnt_logic); + shc.set_alpha(job.out_alpha); + write_header_cols(shc, job.stat_at, job.stat_row); + write_cnt_cols(cnt_info, 0, job.stat_at, + job.stat_row++, n_header_columns); + } + else { + c = 0; + at.set_entry(r, c++, "CNT:"); + write_case_cols(it->first, at, r, c); + write_cnt_cols(cnt_info, 0, at, r++, c); + } + } // end for i } // // SL1L2 output line // else if(lt == stat_sl1l2) { - mpr_to_psum(job, it->second, sl1l2_info); - if(job.stat_out) { - write_sl1l2_cols(sl1l2_info, job.stat_at, - r, n_header_columns); - } - else { - at.set_entry(r, c++, "SL1L2:"); - write_case_cols(it->first, at, r, c); - write_sl1l2_cols(sl1l2_info, at, r, c); - } + for(i=0; isecond, i, sl1l2_info); + if(sl1l2_info.scount == 0) continue; + if(job.stat_out) { + shc.set_fcst_thresh(job.out_fcst_thresh[i]); + shc.set_obs_thresh(job.out_obs_thresh[i]); + shc.set_thresh_logic(job.out_cnt_logic); + write_header_cols(shc, job.stat_at, job.stat_row); + write_sl1l2_cols(sl1l2_info, job.stat_at, + job.stat_row++, n_header_columns); + } + else { + c = 0; + at.set_entry(r, c++, "SL1L2:"); + write_case_cols(it->first, at, r, c); + write_sl1l2_cols(sl1l2_info, at, r++, c); + } + } // end for i } // // SAL1L2 output line // else if(lt == stat_sal1l2) { - mpr_to_psum(job, it->second, sl1l2_info); - if(job.stat_out) { - write_sal1l2_cols(sl1l2_info, job.stat_at, - r, n_header_columns); - } - else { - at.set_entry(r, c++, "SAL1L2:"); - write_case_cols(it->first, at, r, c); - write_sal1l2_cols(sl1l2_info, at, r, c); - } + for(i=0; isecond, i, sl1l2_info); + if(sl1l2_info.sacount == 0) continue; + if(job.stat_out) { + shc.set_fcst_thresh(job.out_fcst_thresh[i]); + shc.set_obs_thresh(job.out_obs_thresh[i]); + shc.set_thresh_logic(job.out_cnt_logic); + write_header_cols(shc, job.stat_at, job.stat_row); + write_sal1l2_cols(sl1l2_info, job.stat_at, + job.stat_row++, n_header_columns); + } + else { + c = 0; + at.set_entry(r, c++, "SAL1L2:"); + write_case_cols(it->first, at, r, c); + write_sal1l2_cols(sl1l2_info, at, r++, c); + } + } // end for i } // // PCT output line @@ -3092,13 +3245,17 @@ void write_job_aggr_mpr(STATAnalysisJob &job, STATLineType lt, else if(lt == stat_pct) { mpr_to_pct(job, it->second, pct_info); if(job.stat_out) { + shc.set_fcst_thresh(job.out_fcst_thresh); + shc.set_obs_thresh(job.out_obs_thresh); + write_header_cols(shc, job.stat_at, job.stat_row); write_pct_cols(pct_info, job.stat_at, - r, n_header_columns); + job.stat_row++, n_header_columns); } else { + c = 0; at.set_entry(r, c++, "PCT:"); write_case_cols(it->first, at, r, c); - write_pct_cols(pct_info, at, r, c); + write_pct_cols(pct_info, at, r++, c); } } // @@ -3107,13 +3264,18 @@ void write_job_aggr_mpr(STATAnalysisJob &job, STATLineType lt, else if(lt == stat_pstd) { mpr_to_pct(job, it->second, pct_info); if(job.stat_out) { + shc.set_fcst_thresh(job.out_fcst_thresh); + shc.set_obs_thresh(job.out_obs_thresh); + shc.set_alpha(job.out_alpha); + write_header_cols(shc, job.stat_at, job.stat_row); write_pstd_cols(pct_info, 0, job.stat_at, - r, n_header_columns); + job.stat_row++, n_header_columns); } else { + c = 0; at.set_entry(r, c++, "PSTD:"); write_case_cols(it->first, at, r, c); - write_pstd_cols(pct_info, 0, at, r, c); + write_pstd_cols(pct_info, 0, at, r++, c); } } // @@ -3122,13 +3284,18 @@ void write_job_aggr_mpr(STATAnalysisJob &job, STATLineType lt, else if(lt == stat_pjc) { mpr_to_pct(job, it->second, pct_info); if(job.stat_out) { + shc.set_fcst_thresh(job.out_fcst_thresh); + shc.set_obs_thresh(job.out_obs_thresh); + shc.set_alpha(job.out_alpha); + write_header_cols(shc, job.stat_at, job.stat_row); write_pjc_cols(pct_info, job.stat_at, - r, n_header_columns); + job.stat_row++, n_header_columns); } else { + c = 0; at.set_entry(r, c++, "PJC:"); write_case_cols(it->first, at, r, c); - write_pjc_cols(pct_info, at, r, c); + write_pjc_cols(pct_info, at, r++, c); } } // @@ -3137,17 +3304,36 @@ void write_job_aggr_mpr(STATAnalysisJob &job, STATLineType lt, else if(lt == stat_prc) { mpr_to_pct(job, it->second, pct_info); if(job.stat_out) { + shc.set_fcst_thresh(job.out_fcst_thresh); + shc.set_obs_thresh(job.out_obs_thresh); + shc.set_alpha(job.out_alpha); + write_header_cols(shc, job.stat_at, job.stat_row); write_prc_cols(pct_info, job.stat_at, - r, n_header_columns); + job.stat_row++, n_header_columns); } else { + c = 0; at.set_entry(r, c++, "PRC:"); write_case_cols(it->first, at, r, c); - write_prc_cols(pct_info, at, r, c); + write_prc_cols(pct_info, at, r++, c); } } + // + // Unsupported line type + // + else { + mlog << Error << "\nwrite_job_aggr_mpr() -> " + << "unsupported output line type \"" + << statlinetype_to_string(lt) << "\" requested.\n\n"; + throw(1); + } } // end for it + // + // Discard contents of an empty AsciiTable + // + if(r == 1) at.clear(); + return; } @@ -3187,7 +3373,7 @@ void write_job_aggr_mpr_wind(STATAnalysisJob &job, STATLineType lt, // // Loop through the map // - for(it = m.begin(), r=1; it != m.end(); it++, r++) { + for(it = m.begin(), r=1; it != m.end(); it++) { // // Write the output STAT header columns @@ -3196,7 +3382,7 @@ void write_job_aggr_mpr_wind(STATAnalysisJob &job, STATLineType lt, job.hdr_name, job.hdr_value, lt); if(job.stat_out) { if(lt == stat_cnt || lt == stat_nbrcnt) shc.set_alpha(job.out_alpha); - write_header_cols(shc, job.stat_at, r); + write_header_cols(shc, job.stat_at, job.stat_row); } // @@ -3210,12 +3396,12 @@ void write_job_aggr_mpr_wind(STATAnalysisJob &job, STATLineType lt, if(lt == stat_vl1l2) { if(job.stat_out) { write_vl1l2_cols(it->second.vl1l2_info, job.stat_at, - r, n_header_columns); + job.stat_row++, n_header_columns); } else { at.set_entry(r, c++, "VL1L2:"); write_case_cols(it->first, at, r, c); - write_vl1l2_cols(it->second.vl1l2_info, at, r, c); + write_vl1l2_cols(it->second.vl1l2_info, at, r++, c); } } // @@ -3224,14 +3410,23 @@ void write_job_aggr_mpr_wind(STATAnalysisJob &job, STATLineType lt, else if(lt == stat_vcnt) { if(job.stat_out) { write_vcnt_cols(it->second.vl1l2_info, job.stat_at, - r, n_header_columns); + job.stat_row++, n_header_columns); } else { at.set_entry(r, c++, "VCNT:"); write_case_cols(it->first, at, r, c); - write_vcnt_cols(it->second.vl1l2_info, at, r, c); + write_vcnt_cols(it->second.vl1l2_info, at, r++, c); } } + // + // Unsupported line type + // + else { + mlog << Error << "\nwrite_job_aggr_mpr_wind() -> " + << "unsupported output line type \"" + << statlinetype_to_string(lt) << "\" requested.\n\n"; + throw(1); + } } // end for it return; @@ -3263,7 +3458,7 @@ void write_job_ramp(STATAnalysisJob &job, // Initialize to one header row int n_stat_row = 1; - int r_stat, r_ctc, r_cts, r_mpr; + int r_ctc, r_cts, r_mpr; // // Setup CTC output table @@ -3340,7 +3535,7 @@ void write_job_ramp(STATAnalysisJob &job, // // Loop through the map // - for(it = m.begin(), r_stat = r_ctc = r_cts = r_mpr = 1; it != m.end(); it++) { + for(it = m.begin(), r_ctc = r_cts = r_mpr = 1; it != m.end(); it++) { // // Nothing to do @@ -3662,16 +3857,16 @@ void write_job_ramp(STATAnalysisJob &job, // CTC line type if(job.out_line_type.has(stat_ctc_str)) { - write_header_cols(ctc_shc, job.stat_at, r_stat); - write_ctc_cols(cts_info, job.stat_at, r_stat, n_header_columns); - r_stat++; + write_header_cols(ctc_shc, job.stat_at, job.stat_row); + write_ctc_cols(cts_info, job.stat_at, + job.stat_row++, n_header_columns); } // CTS line type if(job.out_line_type.has(stat_cts_str)) { - write_header_cols(cts_shc, job.stat_at, r_stat); - write_cts_cols(cts_info, 0, job.stat_at, r_stat, n_header_columns); - r_stat++; + write_header_cols(cts_shc, job.stat_at, job.stat_row); + write_cts_cols(cts_info, 0, job.stat_at, + job.stat_row++, n_header_columns); } } @@ -4011,6 +4206,11 @@ void setup_table(AsciiTable &at, int n_hdr_cols, int prec) { void write_table(AsciiTable &at, ofstream *sa_out) { + // + // Do not write an empty table + // + if(at.nrows() == 0 && at.ncols() == 0) return; + if(sa_out) *(sa_out) << at << "\n" << flush; else cout << at << "\n" << flush; @@ -4596,3 +4796,10 @@ void write_case_cols(const ConcatString &cs, AsciiTable &at, } //////////////////////////////////////////////////////////////////////// + +bool has_line_type(const vector &v, + const STATLineType lt) { + return(std::find(v.begin(), v.end(), lt) != v.end()); +} + +//////////////////////////////////////////////////////////////////////// diff --git a/met/src/tools/other/ascii2nc/python_handler.cc b/met/src/tools/other/ascii2nc/python_handler.cc index d894ab6c64..09c7b90d2c 100644 --- a/met/src/tools/other/ascii2nc/python_handler.cc +++ b/met/src/tools/other/ascii2nc/python_handler.cc @@ -361,6 +361,9 @@ for (j=0; j> make.log 2>&1 - elif [[ ${COMPILER_FAMILY} == "intel" ]] || [[ ${COMPILER_FAMILY} == "ics" ]] || [[ ${COMPILER_FAMILY} == "ips" ]] || [[ ${COMPILER_FAMILY} == "ips" ]] || [[ ${COMPILER_FAMILY} == "PrgEnv-intel" ]]; then + ${FC} -c -fno-second-underscore -fallow-argument-mismatch `./getdefflags_F.sh` modv*.F moda*.F `ls -1 *.F *.f | grep -v "mod[av]_"` >> make.log 2>&1 + elif [[ ${COMPILER_FAMILY} == "intel" ]] || [[ ${COMPILER_FAMILY} == "ics" ]] || [[ ${COMPILER_FAMILY} == "ips" ]] || [[ ${COMPILER_FAMILY} == "ips" ]] || [[ ${COMPILER_FAMILY} == "PrgEnv-intel" ]]; then ${FC} -c `./getdefflags_F.sh` modv*.F moda*.F `ls -1 *.F *.f | grep -v "mod[av]_"` >> make.log 2>&1 elif [[ ${COMPILER_FAMILY} == "pgi" ]]; then ${FC} -c -Mnosecond_underscore `./getdefflags_F.sh` modv*.F moda*.F `ls -1 *.F *.f | grep -v "mod[av]_"` >> make.log 2>&1 @@ -460,8 +460,14 @@ if [ $COMPILE_HDF -eq 1 ]; then echo "configure returned with non-zero ($ret) status" exit 1 fi - cat mfhdf/hdiff/Makefile | sed 's/LIBS = -ljpeg -lz/LIBS = -ljpeg -lz -lm/g' > Makefile_NEW - mv Makefile_NEW mfhdf/hdiff/Makefile + cat mfhdf/hdiff/Makefile | \ + sed 's/LIBS = -ljpeg -lz/LIBS = -ljpeg -lz -lm/g' \ + > Makefile_new + mv Makefile_new mfhdf/hdiff/Makefile + cat hdf/src/Makefile | \ + sed 's/FFLAGS = -O2/FFLAGS = -w -fallow-argument-mismatch -O2/g' \ + > Makefile_new + mv Makefile_new hdf/src/Makefile echo "make > make.log 2>&1" make > make.log 2>&1 ret=$? @@ -624,7 +630,7 @@ fi if [ $COMPILE_CAIRO -eq 1 ]; then # If on Cray, compile PIXMAN - if [ ${COMPILER_FAMILY} == "PrgEnv-intel" ]; then + if [ ${COMPILER_FAMILY} = "PrgEnv-intel" ]; then echo echo "Compiling pixman at `date`" mkdir -p ${LIB_DIR}/pixman @@ -664,7 +670,7 @@ if [ $COMPILE_CAIRO -eq 1 ]; then tar -xf ${TAR_DIR}/cairo*.tar* cd cairo* export PKG_CONFIG=`which pkg-config` - if [ ${COMPILER_FAMILY} == "PrgEnv-intel" ]; then + if [ ${COMPILER_FAMILY} = "PrgEnv-intel" ]; then export PKG_CONFIG_PATH=${LIB_DIR}/lib/pkgconfig/ fi echo "cd `pwd`" @@ -699,7 +705,7 @@ if [ $COMPILE_MET -eq 1 ]; then cd ${MET_DIR} # If using source from a tar file remove everything and unpack the tar file # FALSE = compiling from github repo and we don't want to overwrite the files - if [ ${USE_MET_TAR_FILE} == "TRUE" ]; then + if [ ${USE_MET_TAR_FILE} = "TRUE" ]; then rm -rf met* tar -xzf ${MET_TARBALL} fi @@ -712,7 +718,11 @@ if [ $COMPILE_MET -eq 1 ]; then fi if [ -z ${MET_GRIB2CLIB} ]; then - export MET_GRIB2C=${LIB_DIR} + export MET_GRIB2CLIB=${LIB_DIR}/lib + export MET_GRIB2CINC=${LIB_DIR}/include + export LIB_JASPER=${LIB_DIR}/lib + export LIB_LIBPNG=${LIB_DIR}/lib + export LIB_Z=${LIB_DIR}/lib else export MET_GRIB2CLIB=${MET_GRIB2CLIB} export MET_GRIB2CINC=${MET_GRIB2CINC} @@ -744,7 +754,7 @@ if [ $COMPILE_MET -eq 1 ]; then export LIBS="${LIBS} -lhdf5_hl -lhdf5 -lz" export MET_FONT_DIR=${TEST_BASE}/fonts - if [ ${SET_D64BIT} == "TRUE" ]; then + if [ ${SET_D64BIT} = "TRUE" ]; then export CFLAGS="-D__64BIT__" export CXXFLAGS="-D__64BIT__" fi diff --git a/scripts/installation/config/install_met_env.cheyenne_gcc b/scripts/installation/config/install_met_env.cheyenne_gcc new file mode 100644 index 0000000000..57e013ebd2 --- /dev/null +++ b/scripts/installation/config/install_met_env.cheyenne_gcc @@ -0,0 +1,29 @@ +module load ncarenv/1.3 +module load gnu/10.1.0 +module load python/3.7.9 +module load netcdf/4.7.4 +ncar_pylib + +export TEST_BASE=/glade/p/ral/jntp/MET/MET_cross_platform_testing/met-10.0.0-beta4/gcc +export COMPILER=gnu_10.1.0 +export MET_SUBDIR=${TEST_BASE} +export MET_TARBALL=met-10.0.0-beta4.20210302.tar.gz +export USE_MODULES=TRUE +export MET_PYTHON=/glade/u/apps/ch/opt/python/3.7.9/gnu/9.1.0 +export MET_PYTHON_CC=-I${MET_PYTHON}/include/python3.7m +export MET_PYTHON_LD=-L${MET_PYTHON}/lib\ -lpython3.7m\ -lcrypt\ -lpthread\ -ldl\ -lutil\ -lm +export MET_NETCDF=/glade/u/apps/ch/opt/netcdf/4.7.4/gnu/10.1.0/ +export EXTERNAL_LIBS=/glade/p/ral/jntp/MET/MET_cross_platform_testing/met-10.0.0-beta4/gcc/external_libs/ +export MET_GSL=${EXTERNAL_LIBS} +export MET_BUFRLIB=${EXTERNAL_LIBS} +export BUFRLIB_NAME=-lbufr +export MET_HDF5=/glade/u/apps/ch/opt/netcdf/4.7.4/gnu/10.1.0/ +export MET_GRIB2CLIBS=${EXTERNAL_LIBS}/lib +export MET_GRIB2CINC=${EXTERNAL_LIBS}/include +export GRIB2CLIB_NAME=-lgrib2c +export LIB_JASPER=${EXTERNAL_LIBS}/lib +export LIB_LIBPNG=${EXTERNAL_LIBS}/lib +export LIB_Z=${EXTERNAL_LIBS}/lib +#export SET_D64BIT=FALSE +export CFLAGS="-Wall -g" +export CXXFLAGS="-Wall -g" diff --git a/test/config/STATAnalysisConfig_point_stat b/test/config/STATAnalysisConfig_point_stat index 68e1d17901..4d1a402a26 100644 --- a/test/config/STATAnalysisConfig_point_stat +++ b/test/config/STATAnalysisConfig_point_stat @@ -72,7 +72,7 @@ weight = []; // jobs = [ "-job aggregate_stat -fcst_var TMP -fcst_lev Z2 \ - -line_type MPR -out_line_type CNT \ + -line_type MPR -out_line_type CNT,SL1L2 -out_thresh NA,gt273 \ -dump_row ${OUTPUT_DIR}/CONFIG_POINT_STAT_agg_stat_mpr_to_cnt_dump.stat \ -out_stat ${OUTPUT_DIR}/CONFIG_POINT_STAT_agg_stat_mpr_to_cnt_out.stat \ -set_hdr VX_MASK CONUS", @@ -88,8 +88,8 @@ jobs = [ -out_wind_thresh >0 -out_wind_logic INTERSECTION \ -dump_row ${OUTPUT_DIR}/CONFIG_POINT_STAT_agg_stat_mpr_to_wdir_dump.stat", "-job aggregate_stat -fcst_var TMP -fcst_lev Z2 \ - -line_type MPR -out_line_type ECLV \ - -out_thresh >273 -out_eclv_points 0.1", + -line_type MPR -out_line_type ECLV,CTC,CTS \ + -out_thresh >273,>278 -out_eclv_points 0.1", "-job filter -fcst_var TMP -fcst_lev Z2 \ -line_type MPR -mask_sid ${CONFIG_DIR}/SID_CO.txt \ -dump_row ${OUTPUT_DIR}/CONFIG_POINT_STAT_filter_mpr_sid.stat", diff --git a/test/xml/unit_stat_analysis.xml b/test/xml/unit_stat_analysis.xml index 1558d101fd..93ef98b5bc 100644 --- a/test/xml/unit_stat_analysis.xml +++ b/test/xml/unit_stat_analysis.xml @@ -90,39 +90,21 @@ - + &MET_BIN;/stat_analysis \ -lookin &OUTPUT_DIR;/ensemble_stat/ensemble_stat_CMD_LINE_20120410_120000V.stat \ - -job aggregate_stat -line_type ORANK -out_line_type RHIST \ - -fcst_var APCP_24 -vx_mask NWC -vx_mask GRB \ - -dump_row &OUTPUT_DIR;/stat_analysis/AGG_STAT_ORANK_RHIST_dump.stat \ - -out_stat &OUTPUT_DIR;/stat_analysis/AGG_STAT_ORANK_RHIST_out.stat \ - -out &OUTPUT_DIR;/stat_analysis/AGG_STAT_ORANK_RHIST.out \ - -v 1 - - - &OUTPUT_DIR;/stat_analysis/AGG_STAT_ORANK_RHIST_dump.stat - &OUTPUT_DIR;/stat_analysis/AGG_STAT_ORANK_RHIST_out.stat - &OUTPUT_DIR;/stat_analysis/AGG_STAT_ORANK_RHIST.out - - - - - &MET_BIN;/stat_analysis - \ - -lookin &OUTPUT_DIR;/ensemble_stat/ensemble_stat_CMD_LINE_20120410_120000V.stat \ - -job aggregate_stat -line_type ORANK -out_line_type PHIST \ + -job aggregate_stat -line_type ORANK -out_line_type RHIST,PHIST \ -fcst_var APCP_24 -vx_mask NWC -vx_mask GRB -out_bin_size 0.10 \ - -dump_row &OUTPUT_DIR;/stat_analysis/AGG_STAT_ORANK_PHIST_dump.stat \ - -out_stat &OUTPUT_DIR;/stat_analysis/AGG_STAT_ORANK_PHIST_out.stat \ - -out &OUTPUT_DIR;/stat_analysis/AGG_STAT_ORANK_PHIST.out \ + -dump_row &OUTPUT_DIR;/stat_analysis/AGG_STAT_ORANK_RHIST_PHIST_dump.stat \ + -out_stat &OUTPUT_DIR;/stat_analysis/AGG_STAT_ORANK_RHIST_PHIST_out.stat \ + -out &OUTPUT_DIR;/stat_analysis/AGG_STAT_ORANK_RHIST_PHIST.out \ -v 1 - &OUTPUT_DIR;/stat_analysis/AGG_STAT_ORANK_PHIST_dump.stat - &OUTPUT_DIR;/stat_analysis/AGG_STAT_ORANK_PHIST_out.stat - &OUTPUT_DIR;/stat_analysis/AGG_STAT_ORANK_PHIST.out + &OUTPUT_DIR;/stat_analysis/AGG_STAT_ORANK_RHIST_PHIST_dump.stat + &OUTPUT_DIR;/stat_analysis/AGG_STAT_ORANK_RHIST_PHIST_out.stat + &OUTPUT_DIR;/stat_analysis/AGG_STAT_ORANK_RHIST_PHIST.out From 55aa8f73e8847f297d6631aa768dc7382123ddba Mon Sep 17 00:00:00 2001 From: johnhg Date: Thu, 22 Apr 2021 10:43:34 -0600 Subject: [PATCH 03/40] Per #1620, correct bug in read_ascii_mpr.py script. The MPR line type has 37 columns in it, not 36! (#1760) --- met/scripts/python/read_ascii_mpr.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/met/scripts/python/read_ascii_mpr.py b/met/scripts/python/read_ascii_mpr.py index 9a4a84f890..781485c58c 100755 --- a/met/scripts/python/read_ascii_mpr.py +++ b/met/scripts/python/read_ascii_mpr.py @@ -22,7 +22,7 @@ # Read MPR lines, skipping the header row and first column. mpr_data = pd.read_csv(input_file, header=None, delim_whitespace=True, keep_default_na=False, - skiprows=1, usecols=range(1,36), + skiprows=1, usecols=range(1,37), dtype=str).values.tolist() print("Data Length:\t" + repr(len(mpr_data))) print("Data Type:\t" + repr(type(mpr_data))) From 9d8ee066fa82b14b5dabb90b616b8091df9e7a7b Mon Sep 17 00:00:00 2001 From: johnhg Date: Mon, 26 Apr 2021 09:36:51 -0600 Subject: [PATCH 04/40] Feature 1700 python (#1765) * Per #1700, no real change, removing extra newline. * Per #1700, move global_python.h from vx_data2d_python over to the vx_python3_utils library where it belongs better. * Per #1700, no code changes. Just removing commented out code. * Per #1700, lots of little changes to make the python scripts consistent, updating the write*.py functions to add the user script directory to the system path, and remove extraneous log messages. * Per #1700, rename generic_python.py to set_python_env.py. Still actually need to change the source code to handle this change! * Per #1700 remove the pickle import. * Per #1700, work in progress. Replaced pickle file with tmp file. * Per #1700, work in progress. Replaced pickle file with tmp file. * Per #1700, update read_tmp_ascii.py to work for both ascii2nc and stat_analysis. Just create an object named ascii_data and have both instances read it. * Per #1700, getting closer. Work in progress. Just need to get user-python embedding working for stat-analysis. * Per #1700, removing extraneous cout. * Per #1700, fix logic in PyLineDataFile::do_tmp_ascii() to get stat_analysis python embedding working again. * Per #1700, just comments. * Per #1700, replace references to pickle with user_python * Per #1700, update documentation to replace pickle with temp files. --- met/data/wrappers/Makefile.am | 9 +-- met/data/wrappers/generic_pickle.py | 10 --- met/data/wrappers/read_tmp_ascii.py | 17 ++--- .../{generic_python.py => set_python_env.py} | 4 +- met/data/wrappers/write_pickle_mpr.py | 33 --------- met/data/wrappers/write_tmp_dataplane.py | 4 + met/data/wrappers/write_tmp_mpr.py | 39 ++++++++++ met/data/wrappers/write_tmp_point.py | 17 +++-- met/docs/Users_Guide/appendixF.rst | 6 +- met/scripts/python/read_ascii_mpr.py | 2 +- met/scripts/python/read_ascii_numpy.py | 2 +- met/scripts/python/read_ascii_numpy_grid.py | 2 +- met/scripts/python/read_ascii_point.py | 2 +- met/scripts/python/read_ascii_xarray.py | 2 +- met/src/basic/vx_util/data_line.cc | 69 ++++------------- met/src/basic/vx_util/python_line.cc | 62 ++++++++-------- met/src/basic/vx_util/python_line.h | 4 +- met/src/libcode/vx_data2d_python/Makefile.am | 3 +- met/src/libcode/vx_python3_utils/Makefile.am | 3 +- .../global_python.h | 0 .../vx_python3_utils/python3_script.cc | 74 +++++++------------ .../libcode/vx_python3_utils/python3_script.h | 2 - .../libcode/vx_python3_utils/python3_util.cc | 4 - met/src/libcode/vx_statistics/pair_base.cc | 3 +- .../tools/core/stat_analysis/stat_analysis.cc | 2 + met/src/tools/other/ascii2nc/ascii2nc.cc | 3 +- .../tools/other/ascii2nc/python_handler.cc | 18 +++-- met/src/tools/other/ascii2nc/python_handler.h | 5 +- test/xml/unit_python.xml | 24 +++--- 29 files changed, 184 insertions(+), 241 deletions(-) delete mode 100644 met/data/wrappers/generic_pickle.py rename met/data/wrappers/{generic_python.py => set_python_env.py} (63%) delete mode 100644 met/data/wrappers/write_pickle_mpr.py create mode 100644 met/data/wrappers/write_tmp_mpr.py rename met/src/libcode/{vx_data2d_python => vx_python3_utils}/global_python.h (100%) diff --git a/met/data/wrappers/Makefile.am b/met/data/wrappers/Makefile.am index f3518fa27b..d2f83ff125 100644 --- a/met/data/wrappers/Makefile.am +++ b/met/data/wrappers/Makefile.am @@ -21,13 +21,12 @@ SUBDIRS = wrappersdir = $(pkgdatadir)/wrappers wrappers_DATA = \ - generic_python.py \ - generic_pickle.py \ + set_python_env.py \ read_tmp_dataplane.py \ - write_tmp_dataplane.py \ - write_pickle_mpr.py \ read_tmp_ascii.py \ - write_tmp_point.py + write_tmp_dataplane.py \ + write_tmp_point.py \ + write_tmp_mpr.py EXTRA_DIST = ${wrappers_DATA} diff --git a/met/data/wrappers/generic_pickle.py b/met/data/wrappers/generic_pickle.py deleted file mode 100644 index 2ea1528f56..0000000000 --- a/met/data/wrappers/generic_pickle.py +++ /dev/null @@ -1,10 +0,0 @@ -######################################################################## -# -# When MET_PYTHON_EXE is defined, this script initializes the Python -# environment for reading the temporary pickle file back into MET. -# -######################################################################## - -import sys -import numpy as np -import pickle diff --git a/met/data/wrappers/read_tmp_ascii.py b/met/data/wrappers/read_tmp_ascii.py index b4f4303044..66c008e3cd 100644 --- a/met/data/wrappers/read_tmp_ascii.py +++ b/met/data/wrappers/read_tmp_ascii.py @@ -8,6 +8,8 @@ Message_Type, Station_ID, Valid_Time, Lat, Lon, Elevation, GRIB_Code or Variable_Name, Level, Height, QC_String, Observation_Value +MPR format: See documentation of the MPR line type + Version Date 1.0.0 2021/02/18 David Fillmore Initial version """ @@ -18,25 +20,22 @@ import argparse -point_data = None - def read_tmp_ascii(filename): """ Arguments: - filename (string): temporary file created by write_tmp_point.py + filename (string): temporary file created by write_tmp_point.py or write_tmp_mpr.py Returns: - (list of lists): point data + (list of lists): point or mpr data """ - print('read_tmp_ascii:' + filename) f = open(filename, 'r') lines = f.readlines() f.close() - global point_data - point_data = [eval(line.strip('\n')) for line in lines] - - return point_data + global ascii_data + ascii_data = [eval(line.strip('\n')) for line in lines] + + return ascii_data if __name__ == '__main__': """ diff --git a/met/data/wrappers/generic_python.py b/met/data/wrappers/set_python_env.py similarity index 63% rename from met/data/wrappers/generic_python.py rename to met/data/wrappers/set_python_env.py index b436b6325a..5b6c2743c2 100644 --- a/met/data/wrappers/generic_python.py +++ b/met/data/wrappers/set_python_env.py @@ -1,11 +1,9 @@ ######################################################################## # -# When MET_PYTHON_EXE is not defined, this script initializes -# MET's python runtime environment. +# This script initializes MET's python runtime environment. # ######################################################################## import os import sys import numpy as np -import pickle diff --git a/met/data/wrappers/write_pickle_mpr.py b/met/data/wrappers/write_pickle_mpr.py deleted file mode 100644 index 2e3f2d0d04..0000000000 --- a/met/data/wrappers/write_pickle_mpr.py +++ /dev/null @@ -1,33 +0,0 @@ -######################################################################## -# -# Adapted from a script provided by George McCabe -# Adapted by Randy Bullock -# -# usage: /path/to/python write_pickle_mpr.py \ -# pickle_output_filename .py -# -######################################################################## - -import os -import sys -import pickle -import importlib.util - -print('Python Script:\t', sys.argv[0]) -print('User Command:\t', sys.argv[2:]) -print('Write Pickle:\t', sys.argv[1]) - -pickle_filename = sys.argv[1] - -pyembed_module_name = sys.argv[2] -sys.argv = sys.argv[2:] - -user_base = os.path.basename(pyembed_module_name).replace('.py','') - -spec = importlib.util.spec_from_file_location(user_base, pyembed_module_name) -met_in = importlib.util.module_from_spec(spec) -spec.loader.exec_module(met_in) - -print(met_in) - -pickle.dump( met_in.mpr_data, open( pickle_filename, "wb" ) ) diff --git a/met/data/wrappers/write_tmp_dataplane.py b/met/data/wrappers/write_tmp_dataplane.py index b9194b2920..ff254bf978 100644 --- a/met/data/wrappers/write_tmp_dataplane.py +++ b/met/data/wrappers/write_tmp_dataplane.py @@ -13,6 +13,10 @@ import importlib.util import netCDF4 as nc +print("Python Script:\t" + repr(sys.argv[0])) +print("User Command:\t" + repr(' '.join(sys.argv[2:]))) +print("Temporary File:\t" + repr(sys.argv[1])) + netcdf_filename = sys.argv[1] pyembed_module_name = sys.argv[2] sys.argv = sys.argv[2:] diff --git a/met/data/wrappers/write_tmp_mpr.py b/met/data/wrappers/write_tmp_mpr.py new file mode 100644 index 0000000000..ed0f4f0675 --- /dev/null +++ b/met/data/wrappers/write_tmp_mpr.py @@ -0,0 +1,39 @@ +######################################################################## +# +# Adapted from a script provided by George McCabe +# Adapted by Randy Bullock +# +# usage: /path/to/python write_tmp_mpr.py \ +# tmp_output_filename .py +# +######################################################################## + +import os +import sys +import importlib.util + +print("Python Script:\t" + repr(sys.argv[0])) +print("User Command:\t" + repr(' '.join(sys.argv[2:]))) +print("Temporary File:\t" + repr(sys.argv[1])) + +tmp_filename = sys.argv[1] +pyembed_module_name = sys.argv[2] +sys.argv = sys.argv[2:] + +# append user script dir to system path +pyembed_dir, pyembed_file = os.path.split(pyembed_module_name) +if pyembed_dir: + sys.path.insert(0, pyembed_dir) + +if not pyembed_module_name.endswith('.py'): + pyembed_module_name += '.py' + +user_base = os.path.basename(pyembed_module_name).replace('.py','') + +spec = importlib.util.spec_from_file_location(user_base, pyembed_module_name) +met_in = importlib.util.module_from_spec(spec) +spec.loader.exec_module(met_in) + +f = open(tmp_filename, 'w') +for line in met_in.mpr_data: + f.write(str(line) + '\n') diff --git a/met/data/wrappers/write_tmp_point.py b/met/data/wrappers/write_tmp_point.py index 94f56cd3dd..b6cecddfbb 100644 --- a/met/data/wrappers/write_tmp_point.py +++ b/met/data/wrappers/write_tmp_point.py @@ -4,7 +4,7 @@ # Adapted by Randy Bullock # # usage: /path/to/python write_tmp_point.py \ -# tmp_ascii_output_filename .py +# tmp_output_filename .py # ######################################################################## @@ -12,15 +12,22 @@ import sys import importlib.util -print('Python Script:\t', sys.argv[0]) -print('User Command:\t', sys.argv[2:]) -print('Write Temporary Ascii:\t', sys.argv[1]) +print("Python Script:\t" + repr(sys.argv[0])) +print("User Command:\t" + repr(' '.join(sys.argv[2:]))) +print("Temporary File:\t" + repr(sys.argv[1])) tmp_filename = sys.argv[1] - pyembed_module_name = sys.argv[2] sys.argv = sys.argv[2:] +# append user script dir to system path +pyembed_dir, pyembed_file = os.path.split(pyembed_module_name) +if pyembed_dir: + sys.path.insert(0, pyembed_dir) + +if not pyembed_module_name.endswith('.py'): + pyembed_module_name += '.py' + user_base = os.path.basename(pyembed_module_name).replace('.py','') spec = importlib.util.spec_from_file_location(user_base, pyembed_module_name) diff --git a/met/docs/Users_Guide/appendixF.rst b/met/docs/Users_Guide/appendixF.rst index a5e34df338..ee895a8166 100644 --- a/met/docs/Users_Guide/appendixF.rst +++ b/met/docs/Users_Guide/appendixF.rst @@ -35,11 +35,11 @@ The types of Python embedding supported in MET are described below. In all cases Setting this environment variable triggers slightly different processing logic in MET. Rather than executing the user-specified script with compiled Python instance directly, MET does the following: -1. Wrap the user's Python script and arguments with a wrapper script (write_pickle_mpr.py, write_pickle_point.py, or write_pickle_dataplane.py) and specify the name of a temporary file to be written. +1. Wrap the user's Python script and arguments with a wrapper script (write_tmp_mpr.py, write_tmp_point.py, or write_tmp_dataplane.py) and specify the name of a temporary file to be written. -2. Use a system call to the **MET_PYTHON_EXE** Python instance to execute these commands and write the resulting data objects to a temporary Python pickle file. +2. Use a system call to the **MET_PYTHON_EXE** Python instance to execute these commands and write the resulting data objects to a temporary ASCII or NetCDF file. -3. Use the compiled Python instance to read data from that temporary pickle file. +3. Use the compiled Python instance to run a wrapper script (read_tmp_ascii.py or read_tmp_dataplane.py) to read data from that temporary file. With this approach, users should be able to execute Python scripts in their own custom environments. diff --git a/met/scripts/python/read_ascii_mpr.py b/met/scripts/python/read_ascii_mpr.py index 781485c58c..4a8c988405 100755 --- a/met/scripts/python/read_ascii_mpr.py +++ b/met/scripts/python/read_ascii_mpr.py @@ -6,7 +6,7 @@ ######################################################################## -print('Python Script:\t', sys.argv[0]) +print("Python Script:\t" + repr(sys.argv[0])) ## ## input file specified on the command line diff --git a/met/scripts/python/read_ascii_numpy.py b/met/scripts/python/read_ascii_numpy.py index 70393db6d8..b7a1e081b4 100755 --- a/met/scripts/python/read_ascii_numpy.py +++ b/met/scripts/python/read_ascii_numpy.py @@ -6,7 +6,7 @@ ########################################### -print('Python Script:\t', sys.argv[0]) +print("Python Script:\t" + repr(sys.argv[0])) ## ## input file specified on the command line diff --git a/met/scripts/python/read_ascii_numpy_grid.py b/met/scripts/python/read_ascii_numpy_grid.py index 88d868a2ad..fa72cbff6b 100755 --- a/met/scripts/python/read_ascii_numpy_grid.py +++ b/met/scripts/python/read_ascii_numpy_grid.py @@ -6,7 +6,7 @@ ########################################### -print('Python Script:\t', sys.argv[0]) +print("Python Script:\t" + repr(sys.argv[0])) ## ## input file specified on the command line diff --git a/met/scripts/python/read_ascii_point.py b/met/scripts/python/read_ascii_point.py index d5521eb0ca..cfd37d272a 100755 --- a/met/scripts/python/read_ascii_point.py +++ b/met/scripts/python/read_ascii_point.py @@ -6,7 +6,7 @@ ######################################################################## -print('Python Script:\t', sys.argv[0]) +print("Python Script:\t" + repr(sys.argv[0])) ## ## input file specified on the command line diff --git a/met/scripts/python/read_ascii_xarray.py b/met/scripts/python/read_ascii_xarray.py index 0d15030f88..53f8574d48 100755 --- a/met/scripts/python/read_ascii_xarray.py +++ b/met/scripts/python/read_ascii_xarray.py @@ -7,7 +7,7 @@ ########################################### -print('Python Script:\t', sys.argv[0]) +print("Python Script:\t" + repr(sys.argv[0])) ## ## input file specified on the command line diff --git a/met/src/basic/vx_util/data_line.cc b/met/src/basic/vx_util/data_line.cc index da012b9a0a..16f275327e 100644 --- a/met/src/basic/vx_util/data_line.cc +++ b/met/src/basic/vx_util/data_line.cc @@ -193,18 +193,12 @@ out << prefix << "\n"; if ( N_items == 0 ) { out.flush(); return; } -// std::ostringstream sstream; -// sstream.width(2); - for (j=0; j(ldf); +PyLineDataFile * pldf = dynamic_cast(ldf); - if ( pldf ) { +if ( pldf ) { - const bool status = read_py_single_text_line(pldf); + const bool status = read_py_single_text_line(pldf); - return ( status ); + return ( status ); - } +} #endif /* WITH_PYTHON */ -//////////////////////////////////////////////////// ifstream & f = *(ldf->in); @@ -606,6 +587,7 @@ return ( true ); #endif /* WITH_PYTHON */ + //////////////////////////////////////////////////////////////////////// @@ -848,6 +830,7 @@ for (j=0; j " - << "pickle object is not a list!\n\n"; + << "tmp ascii object is not a list!\n\n"; exit ( 1 ); @@ -301,7 +303,7 @@ void PyLineDataFile::do_straight() ConcatString command, path, user_base; -path = generic_python_wrapper; +path = set_python_env_wrapper; mlog << Debug(3) << "PyLineDataFile::do_straight() -> " @@ -372,7 +374,13 @@ return; //////////////////////////////////////////////////////////////////////// -void PyLineDataFile::do_pickle() + // + // wrapper usage: /path/to/python wrapper.py + // tmp_output_filename user_script_name + // [ user_script args ... ] + // + +void PyLineDataFile::do_tmp_ascii() { @@ -380,7 +388,7 @@ int j; const int N = UserScriptArgs.n(); ConcatString command; ConcatString path; -ConcatString pickle_path; +ConcatString tmp_ascii_path; const char * tmp_dir = 0; int status; @@ -394,15 +402,16 @@ if ( ! tmp_dir ) tmp_dir = default_tmp_dir; path << cs_erase << tmp_dir << '/' - << pickle_base_name; + << tmp_base_name; -pickle_path = make_temp_file_name(path.text(), 0); +tmp_ascii_path = make_temp_file_name(path.text(), 0); +tmp_ascii_path << ".txt"; command << cs_erase - << UserPathToPython << ' ' // user's path to python - << replace_path(write_pickle_wrapper) << ' ' // write_pickle.py - << pickle_path << ' ' // pickle output filename - << UserScriptPath; // user's script name + << UserPathToPython << ' ' // user's path to python + << replace_path(write_tmp_mpr_wrapper) << ' ' // write_tmp_mpr.py + << tmp_ascii_path << ' ' // temporary ascii output filename + << UserScriptPath; // user's script name for (j=0; j " + mlog << Error << "\nPyLineDataFile::do_tmp_ascii() -> " << "command \"" << command.text() << "\" failed ... status = " << status << "\n\n"; @@ -427,31 +436,24 @@ if ( status ) { ConcatString wrapper; -wrapper = generic_pickle_wrapper; +wrapper = set_python_env_wrapper; script = new Python3_Script (wrapper.text()); mlog << Debug(4) << "Reading temporary Python line data file: " - << pickle_path << "\n"; - -script->read_pickle(list_name, pickle_path.text()); + << tmp_ascii_path << "\n"; -main_list = script->lookup(list_name); +script->import_read_tmp_ascii_py(); -if ( ! main_list ) { +PyObject * dobj = script->read_tmp_ascii(tmp_ascii_path.text()); - mlog << Error << "\nPyLineDataFile::do_pickle() ->" - << "nul main list pointer!\n\n"; - - exit ( 1 ); - -} +main_list = script->lookup_ascii(tmp_list_name); // // cleanup // -remove_temp_file(pickle_path); +remove_temp_file(tmp_ascii_path); // // done diff --git a/met/src/basic/vx_util/python_line.h b/met/src/basic/vx_util/python_line.h index b5a51bd230..5f994a144d 100644 --- a/met/src/basic/vx_util/python_line.h +++ b/met/src/basic/vx_util/python_line.h @@ -52,8 +52,8 @@ class PyLineDataFile : public LineDataFile { ConcatString UserPathToPython; - void do_straight (); // straight-up python, no pickle - void do_pickle (); // pickle + void do_straight (); // run compiled python interpreter + void do_tmp_ascii(); // run user-defined MET_PYTHON_EXE ConcatString make_header_line () const; ConcatString make_data_line (); diff --git a/met/src/libcode/vx_data2d_python/Makefile.am b/met/src/libcode/vx_data2d_python/Makefile.am index ae3d3c21d3..185dd5d548 100644 --- a/met/src/libcode/vx_data2d_python/Makefile.am +++ b/met/src/libcode/vx_data2d_python/Makefile.am @@ -17,7 +17,6 @@ libvx_data2d_python_a_SOURCES = \ grid_from_python_dict.h grid_from_python_dict.cc \ python_dataplane.h python_dataplane.cc \ data2d_python.h data2d_python.cc \ - var_info_python.h var_info_python.cc \ - global_python.h + var_info_python.h var_info_python.cc libvx_data2d_python_a_CPPFLAGS = ${MET_CPPFLAGS} -I../vx_python2_utils ${MET_PYTHON_CC} $(MET_PYTHON_LD) diff --git a/met/src/libcode/vx_python3_utils/Makefile.am b/met/src/libcode/vx_python3_utils/Makefile.am index 0f45bb5214..3d0941ec47 100644 --- a/met/src/libcode/vx_python3_utils/Makefile.am +++ b/met/src/libcode/vx_python3_utils/Makefile.am @@ -22,5 +22,6 @@ libvx_python3_utils_a_SOURCES = \ python3_script.h python3_script.cc \ python3_numpy.h python3_numpy.cc \ python3_util.h python3_util.cc \ - vx_python3_utils.h + vx_python3_utils.h \ + global_python.h libvx_python3_utils_a_CPPFLAGS = ${MET_CPPFLAGS} ${CPPFLAGS} ${MET_PYTHON_CC} $(MET_PYTHON_LD) diff --git a/met/src/libcode/vx_data2d_python/global_python.h b/met/src/libcode/vx_python3_utils/global_python.h similarity index 100% rename from met/src/libcode/vx_data2d_python/global_python.h rename to met/src/libcode/vx_python3_utils/global_python.h diff --git a/met/src/libcode/vx_python3_utils/python3_script.cc b/met/src/libcode/vx_python3_utils/python3_script.cc index 7bd567ae2c..d9ac7f41e5 100644 --- a/met/src/libcode/vx_python3_utils/python3_script.cc +++ b/met/src/libcode/vx_python3_utils/python3_script.cc @@ -165,8 +165,10 @@ return ( var ); } + //////////////////////////////////////////////////////////////////////// + PyObject * Python3_Script::lookup_ascii(const char * name) const { @@ -175,10 +177,30 @@ PyObject * var = 0; var = PyDict_GetItemString (DictAscii, name); +if ( ! var ) { + + mlog << Error << "\nPython3_Script::lookup_ascii(const char * name) -> " + << "value for name \"" << name << "\" not found\n\n"; + + + exit ( 1 ); + +} + +if ( ! PyList_Check(var) ) { + + mlog << Error << "\nPython3_Script::lookup_ascii(const char * name) -> " + << "value for name \"" << name << "\" not a python list\n\n"; + + exit ( 1 ); + +} + return ( var ); } + //////////////////////////////////////////////////////////////////////// @@ -219,46 +241,6 @@ return pobj; //////////////////////////////////////////////////////////////////////// - // - // example: - // - // data = pickle.load( open( "save.p", "rb" ) ) - // - - -void Python3_Script::read_pickle(const char * variable, const char * pickle_filename) const - -{ - -mlog << Debug(3) << "Reading temporary pickle file: " - << pickle_filename << "\n"; - -ConcatString command; - -command << variable - << " = pickle.load(open(\"" - << pickle_filename - << "\", \"rb\"))"; - -PyErr_Clear(); - -run(command.text()); - -if ( PyErr_Occurred() ) { - - mlog << Error << "\nPython3_Script::read_pickle() -> " - << "command \"" << command << "\" failed!\n\n"; - - exit ( 1 ); - -} - -return; - -} - -//////////////////////////////////////////////////////////////////////// - void Python3_Script::import_read_tmp_ascii_py(void) { @@ -310,8 +292,10 @@ fflush(stderr); } + //////////////////////////////////////////////////////////////////////// + PyObject* Python3_Script::read_tmp_ascii(const char * tmp_filename) const { @@ -325,8 +309,6 @@ command << "read_tmp_ascii(\"" << tmp_filename << "\")"; -mlog << Debug(3) << command << "\n"; - PyErr_Clear(); PyObject * pobj; @@ -341,15 +323,11 @@ if ( PyErr_Occurred() ) { exit ( 1 ); } -PyTypeObject* type = pobj->ob_type; - -const char* p = type->tp_name; - -mlog << Debug(2) << "read_tmp_ascii return type: " << p << "\n"; - return pobj; + } + //////////////////////////////////////////////////////////////////////// diff --git a/met/src/libcode/vx_python3_utils/python3_script.h b/met/src/libcode/vx_python3_utils/python3_script.h index 6930d226a5..1174385c15 100644 --- a/met/src/libcode/vx_python3_utils/python3_script.h +++ b/met/src/libcode/vx_python3_utils/python3_script.h @@ -83,8 +83,6 @@ class Python3_Script { PyObject * run(const char * command) const; // runs a command in the namespace of the script - void read_pickle (const char * variable_name, const char * pickle_filename) const; - void import_read_tmp_ascii_py (void); PyObject * read_tmp_ascii (const char * tmp_filename) const; diff --git a/met/src/libcode/vx_python3_utils/python3_util.cc b/met/src/libcode/vx_python3_utils/python3_util.cc index 82990d8999..fe56b6f6b2 100644 --- a/met/src/libcode/vx_python3_utils/python3_util.cc +++ b/met/src/libcode/vx_python3_utils/python3_util.cc @@ -117,7 +117,6 @@ if ( PyLong_Check(obj) ) { // long? } - return ( k ); } @@ -154,7 +153,6 @@ if ( PyLong_Check(obj) ) { // long? } - return ( x ); } @@ -205,8 +203,6 @@ if ( PyUnicode_Check(obj) ) { // string? mlog << Error << "\npyobject_as_concat_string(PyObject *) -> " << "bad object type\n\n"; - cout << "\n\n pyobject_as_concat_string: obj = " << obj << "\n\n" << flush; - exit ( 1 ); } diff --git a/met/src/libcode/vx_statistics/pair_base.cc b/met/src/libcode/vx_statistics/pair_base.cc index 0fe6a1b006..1061423e25 100644 --- a/met/src/libcode/vx_statistics/pair_base.cc +++ b/met/src/libcode/vx_statistics/pair_base.cc @@ -496,8 +496,7 @@ void PairBase::set_point_obs(int i_obs, const char *sid, if(i_obs < 0 || i_obs >= n_obs) { mlog << Error << "\nPairBase::set_point_obs() -> " << "range check error: " << i_obs << " not in (0, " - << n_obs << ").\n\n" - ; + << n_obs << ").\n\n"; exit(1); } diff --git a/met/src/tools/core/stat_analysis/stat_analysis.cc b/met/src/tools/core/stat_analysis/stat_analysis.cc index c3d6788b71..02365d1525 100644 --- a/met/src/tools/core/stat_analysis/stat_analysis.cc +++ b/met/src/tools/core/stat_analysis/stat_analysis.cc @@ -39,6 +39,8 @@ // 010 07/26/18 Halley Gotway Support masks from gen_vx_mask. // 011 10/14/19 Halley Gotway Add support for climo distribution // percentile thresholds. +// 012 04/25/21 Halley Gotway Replace pickle files for temporary +// ascii. // //////////////////////////////////////////////////////////////////////// diff --git a/met/src/tools/other/ascii2nc/ascii2nc.cc b/met/src/tools/other/ascii2nc/ascii2nc.cc index 360329659c..6df5e2ba97 100644 --- a/met/src/tools/other/ascii2nc/ascii2nc.cc +++ b/met/src/tools/other/ascii2nc/ascii2nc.cc @@ -43,7 +43,8 @@ // 015 03-20-19 Fillmore Add aeronetv2 and aeronetv3 options. // 016 01-30-20 Bullock Add python option. // 017 01-25-21 Halley Gotway MET #1630 Handle zero obs. -// 018 03-01-21 Fillmore Replace pickle files for temporary ascii. +// 018 03-01-21 Fillmore Replace pickle files for temporary +// ascii. // //////////////////////////////////////////////////////////////////////// diff --git a/met/src/tools/other/ascii2nc/python_handler.cc b/met/src/tools/other/ascii2nc/python_handler.cc index 09c7b90d2c..2f3a0927c9 100644 --- a/met/src/tools/other/ascii2nc/python_handler.cc +++ b/met/src/tools/other/ascii2nc/python_handler.cc @@ -26,12 +26,14 @@ using namespace std; //////////////////////////////////////////////////////////////////////// -static const char generic_python_wrapper [] = "generic_python"; +static const char set_python_env_wrapper [] = "set_python_env"; static const char write_tmp_ascii_wrapper[] = "MET_BASE/wrappers/write_tmp_point.py"; static const char list_name [] = "point_data"; +static const char tmp_list_name [] = "ascii_data"; + static const char tmp_base_name [] = "tmp_ascii2nc"; @@ -230,8 +232,8 @@ bool PythonHandler::readAsciiFiles(const vector< ConcatString > &ascii_filename_ bool status = false; -if ( use_tmp_ascii ) status = do_tmp_ascii (); -else status = do_straight (); +if ( use_tmp_ascii ) status = do_tmp_ascii (); +else status = do_straight (); return ( status ); @@ -247,7 +249,7 @@ bool PythonHandler::do_straight() ConcatString command, path, user_base; -path = generic_python_wrapper; +path = set_python_env_wrapper; mlog << Debug(3) << "Running user's python script (" @@ -319,7 +321,9 @@ return ( true ); // - // wrapper usage: /path/to/python wrapper.py tmp_output_filename user_script_name [ user_script args ... ] + // wrapper usage: /path/to/python wrapper.py + // tmp_output_filename user_script_name + // [ user_script args ... ] // bool PythonHandler::do_tmp_ascii() @@ -378,7 +382,7 @@ if ( status ) { ConcatString wrapper; -wrapper = generic_python_wrapper; +wrapper = set_python_env_wrapper; Python3_Script script(wrapper.text()); @@ -389,7 +393,7 @@ script.import_read_tmp_ascii_py(); PyObject * dobj = script.read_tmp_ascii(tmp_ascii_path.text()); -PyObject * obj = script.lookup_ascii(list_name); +PyObject * obj = script.lookup_ascii(tmp_list_name); if ( ! PyList_Check(obj) ) { diff --git a/met/src/tools/other/ascii2nc/python_handler.h b/met/src/tools/other/ascii2nc/python_handler.h index b0fb2ef492..695b8fcb96 100644 --- a/met/src/tools/other/ascii2nc/python_handler.h +++ b/met/src/tools/other/ascii2nc/python_handler.h @@ -68,12 +68,11 @@ class PythonHandler : public FileHandler virtual bool readAsciiFiles(const vector< ConcatString > &ascii_filename_list); - bool do_tmp_ascii(); - bool do_straight (); // straight-up python, no temporary ascii + bool do_straight (); // run compiled python interpreter + bool do_tmp_ascii(); // run user-defined MET_PYTHON_EXE void load_python_obs(PyObject *); // python object is list of lists - bool read_obs_from_script (const char * script_name, const char * variable_name); }; diff --git a/test/xml/unit_python.xml b/test/xml/unit_python.xml index 6ed8dfa9d8..572e2f925d 100644 --- a/test/xml/unit_python.xml +++ b/test/xml/unit_python.xml @@ -374,24 +374,24 @@ - - + + &MET_BIN;/ascii2nc MET_PYTHON_EXE &MET_PYTHON_EXE; \ "&MET_BASE;/python/read_ascii_point.py &MET_DATA;/sample_obs/ascii/sample_ascii_obs.txt" \ - &OUTPUT_DIR;/python/ascii2nc_pickle.nc \ + &OUTPUT_DIR;/python/ascii2nc_user_python.nc \ -format python - &OUTPUT_DIR;/python/ascii2nc_pickle.nc + &OUTPUT_DIR;/python/ascii2nc_user_python.nc - - + + export PATH='&ANACONDA_BIN;:${PATH}'; \ &MET_BIN;/plot_data_plane @@ -399,19 +399,19 @@ \ PYTHON_NUMPY \ - &OUTPUT_DIR;/python/letter_pickle.ps \ + &OUTPUT_DIR;/python/letter_user_python.ps \ 'name = "&MET_BASE;/python/read_ascii_numpy.py &DATA_DIR_PYTHON;/letter.txt LETTER";' \ -plot_range 0.0 255.0 \ -title "Python enabled plot_data_plane" \ -v 1 - &OUTPUT_DIR;/python/letter_pickle.ps + &OUTPUT_DIR;/python/letter_user_python.ps - - + + &MET_BIN;/stat_analysis MET_PYTHON_EXE &MET_PYTHON_EXE; @@ -419,10 +419,10 @@ \ -lookin python &MET_BASE;/python/read_ascii_mpr.py &OUTPUT_DIR;/python/point_stat_120000L_20050807_120000V.stat \ -job aggregate_stat -line_type MPR -out_line_type sl1l2 -by FCST_VAR \ - -out_stat &OUTPUT_DIR;/python/stat_analysis_pickle_AGGR_MPR_to_SL1L2.stat + -out_stat &OUTPUT_DIR;/python/stat_analysis_user_python_AGGR_MPR_to_SL1L2.stat - &OUTPUT_DIR;/python/stat_analysis_pickle_AGGR_MPR_to_SL1L2.stat + &OUTPUT_DIR;/python/stat_analysis_user_python_AGGR_MPR_to_SL1L2.stat From 43247deb8d677c9e95ef244af80aa356fe73ecb7 Mon Sep 17 00:00:00 2001 From: johnhg Date: Mon, 26 Apr 2021 12:40:01 -0600 Subject: [PATCH 05/40] Feature 1766 v10.0.0_beta5 (#1767) * Per #1766, udpate the release date and add release notes for v10.0.0-beta5. * Per #1766 and #1728, update the copyright notice year to 2021. --- met/README | 2 +- met/data/copyright_notice.txt | 2 +- met/docs/Users_Guide/release-notes.rst | 53 +++++++++++++++++++ met/docs/conf.py | 2 +- .../basic/vx_config/test_config.cc | 2 +- .../basic/vx_config/test_lookup.cc | 2 +- .../basic/vx_config/test_lookup2.cc | 2 +- .../basic/vx_config/test_lookup3.cc | 2 +- .../basic/vx_config/test_met_478.cc | 2 +- .../basic/vx_config/test_string.cc | 2 +- .../vx_config/test_string_then_config.cc | 2 +- .../basic/vx_config/test_thresh.cc | 2 +- .../basic/vx_config/test_user_func.cc | 2 +- .../basic/vx_log/test_logger.cc | 2 +- .../basic/vx_log/test_reg_exp.cc | 2 +- .../basic/vx_util/test_add_rows.cc | 2 +- .../basic/vx_util/test_ascii_header.cc | 2 +- .../basic/vx_util/test_command_line.cc | 2 +- .../basic/vx_util/test_data_plane.cc | 2 +- .../basic/vx_util/test_table_float.cc | 2 +- .../libcode/vx_data2d/dump_default_table.cc | 2 +- .../libcode/vx_data2d/test_table_read.cc | 2 +- .../libcode/vx_data2d_factory/test_factory.cc | 2 +- .../libcode/vx_data2d_factory/test_is_grib.cc | 2 +- .../libcode/vx_data2d_grib/test_read_grib1.cc | 2 +- .../vx_data2d_nc_met/test_read_nc_met.cc | 2 +- .../libcode/vx_data2d_nccf/test_read_nccf.cc | 2 +- .../libcode/vx_geodesy/test_spheroid.cc | 2 +- .../libcode/vx_grid/test_grid_area.cc | 2 +- .../vx_nc_util/test_pressure_levels.cc | 2 +- .../libcode/vx_physics/test_thermo.cc | 2 +- .../libcode/vx_plot_util/test_map_region.cc | 2 +- met/internal_tests/libcode/vx_ps/test_ps.cc | 2 +- .../vx_series_data/test_series_data.cc | 2 +- .../libcode/vx_solar/test_ra_dec.cc | 2 +- .../libcode/vx_tc_util/test_read.cc | 2 +- .../libcode/vx_tc_util/test_read_prob.cc | 2 +- .../libcode/vx_tc_util/test_read_rmw.cc | 2 +- .../other/mode_time_domain/test_velocity.cc | 2 +- met/src/basic/enum_to_string/code.cc | 2 +- met/src/basic/enum_to_string/code.h | 2 +- met/src/basic/enum_to_string/enum.tab.h | 2 +- .../basic/enum_to_string/enum_to_string.cc | 2 +- met/src/basic/enum_to_string/info.cc | 2 +- met/src/basic/enum_to_string/info.h | 2 +- met/src/basic/enum_to_string/scope.cc | 2 +- met/src/basic/enum_to_string/scope.h | 2 +- met/src/basic/vx_cal/date_to_mjd.cc | 2 +- met/src/basic/vx_cal/day_dif.cc | 2 +- met/src/basic/vx_cal/day_of_week.cc | 2 +- met/src/basic/vx_cal/doyhms_to_unix.cc | 2 +- met/src/basic/vx_cal/is_dst.cc | 2 +- met/src/basic/vx_cal/is_leap_year.cc | 2 +- met/src/basic/vx_cal/mdyhms_to_unix.cc | 2 +- met/src/basic/vx_cal/mjd_to_date.cc | 2 +- met/src/basic/vx_cal/time_array.cc | 2 +- met/src/basic/vx_cal/time_array.h | 2 +- met/src/basic/vx_cal/time_strings.cc | 2 +- met/src/basic/vx_cal/unix_string.cc | 2 +- met/src/basic/vx_cal/unix_to_mdyhms.cc | 2 +- met/src/basic/vx_cal/vx_cal.h | 2 +- met/src/basic/vx_config/builtin.cc | 2 +- met/src/basic/vx_config/builtin.h | 2 +- met/src/basic/vx_config/calculator.cc | 2 +- met/src/basic/vx_config/calculator.h | 2 +- met/src/basic/vx_config/config_constants.h | 2 +- met/src/basic/vx_config/config_file.cc | 2 +- met/src/basic/vx_config/config_file.h | 2 +- met/src/basic/vx_config/config_funcs.cc | 2 +- met/src/basic/vx_config/config_funcs.h | 2 +- met/src/basic/vx_config/config_gaussian.h | 2 +- met/src/basic/vx_config/config_util.cc | 2 +- met/src/basic/vx_config/config_util.h | 2 +- met/src/basic/vx_config/data_file_type.h | 2 +- met/src/basic/vx_config/dictionary.cc | 2 +- met/src/basic/vx_config/dictionary.h | 2 +- met/src/basic/vx_config/icode.cc | 2 +- met/src/basic/vx_config/icode.h | 2 +- met/src/basic/vx_config/idstack.cc | 2 +- met/src/basic/vx_config/idstack.h | 2 +- met/src/basic/vx_config/number_stack.cc | 2 +- met/src/basic/vx_config/number_stack.h | 2 +- met/src/basic/vx_config/object_types.h | 2 +- met/src/basic/vx_config/scanner_stuff.h | 2 +- met/src/basic/vx_config/temp_file.cc | 2 +- met/src/basic/vx_config/temp_file.h | 2 +- met/src/basic/vx_config/threshold.cc | 2 +- met/src/basic/vx_config/threshold.h | 2 +- met/src/basic/vx_config/vx_config.h | 2 +- met/src/basic/vx_log/concat_string.cc | 2 +- met/src/basic/vx_log/concat_string.h | 2 +- met/src/basic/vx_log/file_fxns.cc | 2 +- met/src/basic/vx_log/file_fxns.h | 2 +- met/src/basic/vx_log/indent.cc | 2 +- met/src/basic/vx_log/indent.h | 2 +- met/src/basic/vx_log/logger.cc | 2 +- met/src/basic/vx_log/logger.h | 2 +- met/src/basic/vx_log/string_array.cc | 2 +- met/src/basic/vx_log/string_array.h | 2 +- met/src/basic/vx_log/vx_log.h | 2 +- met/src/basic/vx_math/affine.cc | 2 +- met/src/basic/vx_math/affine.h | 2 +- met/src/basic/vx_math/angles.cc | 2 +- met/src/basic/vx_math/angles.h | 2 +- met/src/basic/vx_math/hist.cc | 2 +- met/src/basic/vx_math/hist.h | 2 +- met/src/basic/vx_math/is_bad_data.h | 2 +- met/src/basic/vx_math/legendre.cc | 2 +- met/src/basic/vx_math/legendre.h | 2 +- met/src/basic/vx_math/math_constants.h | 2 +- met/src/basic/vx_math/nint.cc | 2 +- met/src/basic/vx_math/nint.h | 2 +- met/src/basic/vx_math/nti.cc | 2 +- met/src/basic/vx_math/nti.h | 2 +- met/src/basic/vx_math/ptile.cc | 2 +- met/src/basic/vx_math/ptile.h | 2 +- met/src/basic/vx_math/pwl.cc | 2 +- met/src/basic/vx_math/pwl.h | 2 +- met/src/basic/vx_math/so3.cc | 2 +- met/src/basic/vx_math/so3.h | 2 +- met/src/basic/vx_math/trig.h | 2 +- met/src/basic/vx_math/vx_math.h | 2 +- met/src/basic/vx_math/vx_vector.cc | 2 +- met/src/basic/vx_math/vx_vector.h | 2 +- met/src/basic/vx_util/CircularTemplate.cc | 2 +- met/src/basic/vx_util/CircularTemplate.h | 2 +- met/src/basic/vx_util/GridOffset.cc | 2 +- met/src/basic/vx_util/GridOffset.h | 2 +- met/src/basic/vx_util/GridPoint.cc | 2 +- met/src/basic/vx_util/GridPoint.h | 2 +- met/src/basic/vx_util/GridTemplate.cc | 2 +- met/src/basic/vx_util/GridTemplate.h | 2 +- met/src/basic/vx_util/RectangularTemplate.cc | 2 +- met/src/basic/vx_util/RectangularTemplate.h | 2 +- met/src/basic/vx_util/ascii_header.cc | 2 +- met/src/basic/vx_util/ascii_header.h | 2 +- met/src/basic/vx_util/ascii_table.cc | 2 +- met/src/basic/vx_util/ascii_table.h | 2 +- met/src/basic/vx_util/bool_to_string.h | 2 +- met/src/basic/vx_util/check_endian.cc | 2 +- met/src/basic/vx_util/check_endian.h | 2 +- met/src/basic/vx_util/comma_string.cc | 2 +- met/src/basic/vx_util/comma_string.h | 2 +- met/src/basic/vx_util/command_line.cc | 2 +- met/src/basic/vx_util/command_line.h | 2 +- met/src/basic/vx_util/conversions.cc | 2 +- met/src/basic/vx_util/conversions.h | 2 +- met/src/basic/vx_util/crc_array.h | 2 +- met/src/basic/vx_util/crr_array.h | 2 +- met/src/basic/vx_util/data_cube.cc | 2 +- met/src/basic/vx_util/data_cube.h | 2 +- met/src/basic/vx_util/data_line.cc | 2 +- met/src/basic/vx_util/data_line.h | 2 +- met/src/basic/vx_util/data_plane.cc | 2 +- met/src/basic/vx_util/data_plane.h | 2 +- met/src/basic/vx_util/data_plane_util.cc | 2 +- met/src/basic/vx_util/data_plane_util.h | 2 +- met/src/basic/vx_util/empty_string.h | 2 +- met/src/basic/vx_util/file_exists.cc | 2 +- met/src/basic/vx_util/file_exists.h | 2 +- met/src/basic/vx_util/file_linecount.cc | 2 +- met/src/basic/vx_util/file_linecount.h | 2 +- met/src/basic/vx_util/file_size.cc | 2 +- met/src/basic/vx_util/file_size.h | 2 +- met/src/basic/vx_util/filename_suffix.cc | 2 +- met/src/basic/vx_util/filename_suffix.h | 2 +- met/src/basic/vx_util/fix_float.cc | 2 +- met/src/basic/vx_util/fix_float.h | 2 +- met/src/basic/vx_util/get_filenames.cc | 2 +- met/src/basic/vx_util/get_filenames.h | 2 +- met/src/basic/vx_util/grib_constants.cc | 2 +- met/src/basic/vx_util/grib_constants.h | 2 +- met/src/basic/vx_util/int_array.h | 2 +- met/src/basic/vx_util/interp_mthd.cc | 2 +- met/src/basic/vx_util/interp_mthd.h | 2 +- met/src/basic/vx_util/interp_util.cc | 2 +- met/src/basic/vx_util/interp_util.h | 2 +- met/src/basic/vx_util/is_number.cc | 2 +- met/src/basic/vx_util/is_number.h | 2 +- met/src/basic/vx_util/long_array.cc | 2 +- met/src/basic/vx_util/long_array.h | 2 +- met/src/basic/vx_util/make_path.cc | 2 +- met/src/basic/vx_util/make_path.h | 2 +- met/src/basic/vx_util/mask_poly.cc | 2 +- met/src/basic/vx_util/mask_poly.h | 2 +- met/src/basic/vx_util/memory.cc | 2 +- met/src/basic/vx_util/memory.h | 2 +- met/src/basic/vx_util/met_buffer.cc | 2 +- met/src/basic/vx_util/met_buffer.h | 2 +- met/src/basic/vx_util/ncrr_array.h | 2 +- met/src/basic/vx_util/num_array.cc | 2 +- met/src/basic/vx_util/num_array.h | 2 +- met/src/basic/vx_util/observation.cc | 2 +- met/src/basic/vx_util/observation.h | 2 +- met/src/basic/vx_util/ordinal.cc | 2 +- met/src/basic/vx_util/ordinal.h | 2 +- met/src/basic/vx_util/polyline.cc | 2 +- met/src/basic/vx_util/polyline.h | 2 +- met/src/basic/vx_util/python_line.cc | 2 +- met/src/basic/vx_util/python_line.h | 2 +- met/src/basic/vx_util/read_fortran_binary.cc | 2 +- met/src/basic/vx_util/read_fortran_binary.h | 2 +- met/src/basic/vx_util/roman_numeral.cc | 2 +- met/src/basic/vx_util/roman_numeral.h | 2 +- met/src/basic/vx_util/smart_buffer.cc | 2 +- met/src/basic/vx_util/smart_buffer.h | 2 +- met/src/basic/vx_util/stat_column_defs.h | 2 +- met/src/basic/vx_util/string_fxns.cc | 2 +- met/src/basic/vx_util/string_fxns.h | 2 +- met/src/basic/vx_util/substring.cc | 2 +- met/src/basic/vx_util/substring.h | 2 +- met/src/basic/vx_util/thresh_array.cc | 2 +- met/src/basic/vx_util/thresh_array.h | 2 +- met/src/basic/vx_util/two_d_array.h | 2 +- met/src/basic/vx_util/two_to_one.cc | 2 +- met/src/basic/vx_util/two_to_one.h | 2 +- met/src/basic/vx_util/util_constants.h | 2 +- met/src/basic/vx_util/vx_util.h | 2 +- met/src/libcode/vx_afm/afm.cc | 2 +- met/src/libcode/vx_afm/afm.h | 2 +- met/src/libcode/vx_afm/afm_keywords.cc | 2 +- met/src/libcode/vx_afm/afm_keywords.h | 2 +- met/src/libcode/vx_afm/afm_line.cc | 2 +- met/src/libcode/vx_afm/afm_line.h | 2 +- met/src/libcode/vx_afm/afm_token.cc | 2 +- met/src/libcode/vx_afm/afm_token.h | 2 +- met/src/libcode/vx_afm/afm_token_types.h | 2 +- .../libcode/vx_afm/afmkeyword_to_string.cc | 2 +- met/src/libcode/vx_afm/afmkeyword_to_string.h | 2 +- .../libcode/vx_afm/afmtokentype_to_string.cc | 2 +- .../libcode/vx_afm/afmtokentype_to_string.h | 2 +- .../vx_analysis_util/analysis_utils.cc | 2 +- .../libcode/vx_analysis_util/analysis_utils.h | 2 +- .../libcode/vx_analysis_util/by_case_info.cc | 2 +- .../libcode/vx_analysis_util/by_case_info.h | 2 +- met/src/libcode/vx_analysis_util/mode_atts.cc | 2 +- met/src/libcode/vx_analysis_util/mode_atts.h | 2 +- met/src/libcode/vx_analysis_util/mode_job.cc | 2 +- met/src/libcode/vx_analysis_util/mode_job.h | 2 +- met/src/libcode/vx_analysis_util/mode_line.cc | 2 +- met/src/libcode/vx_analysis_util/mode_line.h | 2 +- met/src/libcode/vx_analysis_util/stat_job.cc | 2 +- met/src/libcode/vx_analysis_util/stat_job.h | 2 +- met/src/libcode/vx_analysis_util/stat_line.cc | 2 +- met/src/libcode/vx_analysis_util/stat_line.h | 2 +- .../libcode/vx_analysis_util/time_series.cc | 2 +- .../libcode/vx_analysis_util/time_series.h | 2 +- .../vx_analysis_util/vx_analysis_util.h | 2 +- met/src/libcode/vx_color/color.cc | 2 +- met/src/libcode/vx_color/color.h | 2 +- met/src/libcode/vx_color/color_list.cc | 2 +- met/src/libcode/vx_color/color_list.h | 2 +- met/src/libcode/vx_color/color_parser.h | 2 +- met/src/libcode/vx_color/color_table.cc | 2 +- met/src/libcode/vx_color/vx_color.h | 2 +- met/src/libcode/vx_data2d/data2d_utils.cc | 2 +- met/src/libcode/vx_data2d/data2d_utils.h | 2 +- met/src/libcode/vx_data2d/data_class.cc | 2 +- met/src/libcode/vx_data2d/data_class.h | 2 +- met/src/libcode/vx_data2d/level_info.cc | 2 +- met/src/libcode/vx_data2d/level_info.h | 2 +- met/src/libcode/vx_data2d/table_lookup.cc | 2 +- met/src/libcode/vx_data2d/table_lookup.h | 2 +- met/src/libcode/vx_data2d/var_info.cc | 2 +- met/src/libcode/vx_data2d/var_info.h | 2 +- met/src/libcode/vx_data2d/vx_data2d.h | 2 +- .../vx_data2d_factory/data2d_factory.cc | 2 +- .../vx_data2d_factory/data2d_factory.h | 2 +- .../vx_data2d_factory/data2d_factory_utils.cc | 2 +- .../vx_data2d_factory/data2d_factory_utils.h | 2 +- .../libcode/vx_data2d_factory/is_bufr_file.cc | 2 +- .../libcode/vx_data2d_factory/is_bufr_file.h | 2 +- .../libcode/vx_data2d_factory/is_grib_file.cc | 2 +- .../libcode/vx_data2d_factory/is_grib_file.h | 2 +- .../vx_data2d_factory/is_netcdf_file.cc | 2 +- .../vx_data2d_factory/is_netcdf_file.h | 2 +- .../vx_data2d_factory/parse_file_list.cc | 2 +- .../vx_data2d_factory/parse_file_list.h | 2 +- .../vx_data2d_factory/var_info_factory.cc | 2 +- .../vx_data2d_factory/var_info_factory.h | 2 +- .../vx_data2d_factory/vx_data2d_factory.h | 2 +- met/src/libcode/vx_data2d_grib/data2d_grib.cc | 2 +- met/src/libcode/vx_data2d_grib/data2d_grib.h | 2 +- .../vx_data2d_grib/data2d_grib_utils.cc | 2 +- .../vx_data2d_grib/data2d_grib_utils.h | 2 +- .../libcode/vx_data2d_grib/grib_classes.cc | 2 +- met/src/libcode/vx_data2d_grib/grib_classes.h | 2 +- .../libcode/vx_data2d_grib/grib_strings.cc | 2 +- met/src/libcode/vx_data2d_grib/grib_strings.h | 2 +- met/src/libcode/vx_data2d_grib/grib_utils.cc | 2 +- met/src/libcode/vx_data2d_grib/grib_utils.h | 2 +- .../libcode/vx_data2d_grib/var_info_grib.cc | 2 +- .../libcode/vx_data2d_grib/var_info_grib.h | 2 +- .../libcode/vx_data2d_grib/vx_data2d_grib.h | 2 +- .../libcode/vx_data2d_grib/vx_grib_classes.h | 2 +- .../libcode/vx_data2d_grib2/data2d_grib2.cc | 2 +- .../libcode/vx_data2d_grib2/data2d_grib2.h | 2 +- .../libcode/vx_data2d_grib2/var_info_grib2.cc | 2 +- .../libcode/vx_data2d_grib2/var_info_grib2.h | 2 +- .../libcode/vx_data2d_nc_met/data2d_nc_met.cc | 2 +- .../libcode/vx_data2d_nc_met/data2d_nc_met.h | 2 +- .../libcode/vx_data2d_nc_met/get_met_grid.cc | 2 +- .../libcode/vx_data2d_nc_met/get_met_grid.h | 2 +- met/src/libcode/vx_data2d_nc_met/met_file.cc | 2 +- met/src/libcode/vx_data2d_nc_met/met_file.h | 2 +- .../vx_data2d_nc_met/var_info_nc_met.cc | 2 +- .../vx_data2d_nc_met/var_info_nc_met.h | 2 +- .../vx_data2d_nc_met/vx_data2d_nc_met.h | 2 +- .../vx_data2d_nc_pinterp/data2d_nc_pinterp.cc | 2 +- .../vx_data2d_nc_pinterp/data2d_nc_pinterp.h | 2 +- .../vx_data2d_nc_pinterp/get_pinterp_grid.cc | 2 +- .../vx_data2d_nc_pinterp/get_pinterp_grid.h | 2 +- .../vx_data2d_nc_pinterp/pinterp_file.cc | 2 +- .../vx_data2d_nc_pinterp/pinterp_file.h | 2 +- .../var_info_nc_pinterp.cc | 2 +- .../var_info_nc_pinterp.h | 2 +- .../vx_data2d_nc_pinterp.h | 2 +- met/src/libcode/vx_data2d_nccf/data2d_nccf.cc | 2 +- met/src/libcode/vx_data2d_nccf/data2d_nccf.h | 2 +- met/src/libcode/vx_data2d_nccf/nccf_file.cc | 2 +- met/src/libcode/vx_data2d_nccf/nccf_file.h | 2 +- .../libcode/vx_data2d_nccf/var_info_nccf.cc | 2 +- .../libcode/vx_data2d_nccf/var_info_nccf.h | 2 +- .../libcode/vx_data2d_nccf/vx_data2d_nccf.h | 2 +- .../libcode/vx_data2d_python/data2d_python.cc | 2 +- .../libcode/vx_data2d_python/data2d_python.h | 2 +- .../dataplane_from_numpy_array.cc | 2 +- .../dataplane_from_numpy_array.h | 2 +- .../vx_data2d_python/dataplane_from_xarray.cc | 2 +- .../vx_data2d_python/dataplane_from_xarray.h | 2 +- .../vx_data2d_python/grid_from_python_dict.cc | 2 +- .../vx_data2d_python/grid_from_python_dict.h | 2 +- .../vx_data2d_python/python_dataplane.cc | 2 +- .../vx_data2d_python/python_dataplane.h | 2 +- .../vx_data2d_python/var_info_python.cc | 2 +- .../vx_data2d_python/var_info_python.h | 2 +- met/src/libcode/vx_geodesy/spheroid.cc | 2 +- met/src/libcode/vx_geodesy/spheroid.h | 2 +- met/src/libcode/vx_geodesy/vx_geodesy.h | 2 +- met/src/libcode/vx_gis/dbf_file.cc | 2 +- met/src/libcode/vx_gis/dbf_file.h | 2 +- met/src/libcode/vx_gis/shp_array.h | 2 +- met/src/libcode/vx_gis/shp_file.cc | 2 +- met/src/libcode/vx_gis/shp_file.h | 2 +- met/src/libcode/vx_gis/shp_point_record.cc | 2 +- met/src/libcode/vx_gis/shp_point_record.h | 2 +- met/src/libcode/vx_gis/shp_poly_record.cc | 2 +- met/src/libcode/vx_gis/shp_poly_record.h | 2 +- met/src/libcode/vx_gis/shp_types.h | 2 +- met/src/libcode/vx_gis/shx_file.cc | 2 +- met/src/libcode/vx_gis/shx_file.h | 2 +- met/src/libcode/vx_gnomon/gnomon.cc | 2 +- met/src/libcode/vx_gnomon/gnomon.h | 2 +- met/src/libcode/vx_grid/earth_rotation.cc | 2 +- met/src/libcode/vx_grid/earth_rotation.h | 2 +- met/src/libcode/vx_grid/find_grid_by_name.cc | 2 +- met/src/libcode/vx_grid/find_grid_by_name.h | 2 +- met/src/libcode/vx_grid/gaussian_grid.cc | 2 +- met/src/libcode/vx_grid/gaussian_grid.h | 2 +- met/src/libcode/vx_grid/gaussian_grid_defs.h | 2 +- met/src/libcode/vx_grid/goes_grid.cc | 2 +- met/src/libcode/vx_grid/goes_grid.h | 2 +- met/src/libcode/vx_grid/goes_grid_defs.h | 2 +- met/src/libcode/vx_grid/grid_base.cc | 2 +- met/src/libcode/vx_grid/grid_base.h | 2 +- met/src/libcode/vx_grid/latlon_grid.cc | 2 +- met/src/libcode/vx_grid/latlon_grid.h | 2 +- met/src/libcode/vx_grid/latlon_grid_defs.h | 2 +- met/src/libcode/vx_grid/latlon_xyz.cc | 2 +- met/src/libcode/vx_grid/latlon_xyz.h | 2 +- met/src/libcode/vx_grid/lc_grid.cc | 2 +- met/src/libcode/vx_grid/lc_grid.h | 2 +- met/src/libcode/vx_grid/lc_grid_defs.h | 2 +- met/src/libcode/vx_grid/merc_grid.cc | 2 +- met/src/libcode/vx_grid/merc_grid.h | 2 +- met/src/libcode/vx_grid/merc_grid_defs.h | 2 +- met/src/libcode/vx_grid/rot_latlon_grid.cc | 2 +- met/src/libcode/vx_grid/rot_latlon_grid.h | 2 +- met/src/libcode/vx_grid/st_grid.cc | 2 +- met/src/libcode/vx_grid/st_grid.h | 2 +- met/src/libcode/vx_grid/st_grid_defs.h | 2 +- met/src/libcode/vx_grid/tcrmw_grid.cc | 2 +- met/src/libcode/vx_grid/tcrmw_grid.h | 2 +- met/src/libcode/vx_grid/vx_grid.h | 2 +- met/src/libcode/vx_gsl_prob/gsl_bvn.cc | 2 +- met/src/libcode/vx_gsl_prob/gsl_bvn.h | 2 +- met/src/libcode/vx_gsl_prob/gsl_cdf.cc | 2 +- met/src/libcode/vx_gsl_prob/gsl_cdf.h | 2 +- met/src/libcode/vx_gsl_prob/gsl_randist.cc | 2 +- met/src/libcode/vx_gsl_prob/gsl_randist.h | 2 +- met/src/libcode/vx_gsl_prob/gsl_statistics.cc | 2 +- met/src/libcode/vx_gsl_prob/gsl_statistics.h | 2 +- met/src/libcode/vx_gsl_prob/gsl_wavelet2d.cc | 2 +- met/src/libcode/vx_gsl_prob/gsl_wavelet2d.h | 2 +- met/src/libcode/vx_gsl_prob/vx_gsl_prob.h | 2 +- met/src/libcode/vx_nav/nav.cc | 2 +- met/src/libcode/vx_nav/nav.h | 2 +- met/src/libcode/vx_nc_obs/nc_obs_util.cc | 2 +- met/src/libcode/vx_nc_obs/nc_obs_util.h | 2 +- met/src/libcode/vx_nc_obs/nc_summary.cc | 2 +- met/src/libcode/vx_nc_obs/nc_summary.h | 2 +- met/src/libcode/vx_nc_util/grid_output.cc | 2 +- met/src/libcode/vx_nc_util/grid_output.h | 2 +- met/src/libcode/vx_nc_util/load_tc_data.cc | 2 +- met/src/libcode/vx_nc_util/load_tc_data.h | 2 +- met/src/libcode/vx_nc_util/nc_constants.h | 2 +- met/src/libcode/vx_nc_util/nc_utils.cc | 2 +- met/src/libcode/vx_nc_util/nc_utils.h | 2 +- met/src/libcode/vx_nc_util/nc_var_info.cc | 2 +- met/src/libcode/vx_nc_util/nc_var_info.h | 2 +- met/src/libcode/vx_nc_util/vx_nc_util.h | 2 +- met/src/libcode/vx_nc_util/write_netcdf.cc | 2 +- met/src/libcode/vx_nc_util/write_netcdf.h | 2 +- met/src/libcode/vx_pb_util/copy_bytes.cc | 2 +- met/src/libcode/vx_pb_util/copy_bytes.h | 2 +- met/src/libcode/vx_pb_util/do_blocking.cc | 2 +- met/src/libcode/vx_pb_util/do_blocking.h | 2 +- met/src/libcode/vx_pb_util/do_unblocking.cc | 2 +- met/src/libcode/vx_pb_util/do_unblocking.h | 2 +- met/src/libcode/vx_pb_util/pblock.cc | 2 +- met/src/libcode/vx_pb_util/pblock.h | 2 +- met/src/libcode/vx_pb_util/vx_pb_util.h | 2 +- met/src/libcode/vx_physics/thermo.cc | 2 +- met/src/libcode/vx_physics/thermo.h | 2 +- .../libcode/vx_plot_util/data_plane_plot.cc | 2 +- .../libcode/vx_plot_util/data_plane_plot.h | 2 +- met/src/libcode/vx_plot_util/map_region.cc | 2 +- met/src/libcode/vx_plot_util/map_region.h | 2 +- met/src/libcode/vx_plot_util/vx_plot_util.cc | 2 +- met/src/libcode/vx_plot_util/vx_plot_util.h | 2 +- met/src/libcode/vx_ps/ps_text.cc | 2 +- met/src/libcode/vx_ps/ps_text.h | 2 +- met/src/libcode/vx_ps/table_helper.cc | 2 +- met/src/libcode/vx_ps/table_helper.h | 2 +- met/src/libcode/vx_ps/vx_ps.cc | 2 +- met/src/libcode/vx_ps/vx_ps.h | 2 +- met/src/libcode/vx_pxm/pbm.cc | 2 +- met/src/libcode/vx_pxm/pbm.h | 2 +- met/src/libcode/vx_pxm/pcm.cc | 2 +- met/src/libcode/vx_pxm/pcm.h | 2 +- met/src/libcode/vx_pxm/pgm.cc | 2 +- met/src/libcode/vx_pxm/pgm.h | 2 +- met/src/libcode/vx_pxm/ppm.cc | 2 +- met/src/libcode/vx_pxm/ppm.h | 2 +- met/src/libcode/vx_pxm/pxm_base.cc | 2 +- met/src/libcode/vx_pxm/pxm_base.h | 2 +- met/src/libcode/vx_pxm/pxm_utils.cc | 2 +- met/src/libcode/vx_pxm/pxm_utils.h | 2 +- met/src/libcode/vx_pxm/vx_pxm.h | 2 +- .../libcode/vx_python3_utils/global_python.h | 2 +- .../libcode/vx_python3_utils/python3_dict.cc | 2 +- .../libcode/vx_python3_utils/python3_dict.h | 2 +- .../libcode/vx_python3_utils/python3_list.cc | 2 +- .../libcode/vx_python3_utils/python3_list.h | 2 +- .../libcode/vx_python3_utils/wchar_argv.cc | 2 +- met/src/libcode/vx_python3_utils/wchar_argv.h | 2 +- met/src/libcode/vx_regrid/vx_regrid.cc | 2 +- met/src/libcode/vx_regrid/vx_regrid.h | 2 +- met/src/libcode/vx_regrid/vx_regrid_budget.cc | 2 +- met/src/libcode/vx_render/ascii85_filter.cc | 2 +- met/src/libcode/vx_render/ascii85_filter.h | 2 +- met/src/libcode/vx_render/bit_filter.cc | 2 +- met/src/libcode/vx_render/bit_filter.h | 2 +- met/src/libcode/vx_render/flate_filter.cc | 2 +- met/src/libcode/vx_render/flate_filter.h | 2 +- met/src/libcode/vx_render/hex_filter.cc | 2 +- met/src/libcode/vx_render/hex_filter.h | 2 +- met/src/libcode/vx_render/ps_filter.cc | 2 +- met/src/libcode/vx_render/ps_filter.h | 2 +- met/src/libcode/vx_render/psout_filter.cc | 2 +- met/src/libcode/vx_render/psout_filter.h | 2 +- met/src/libcode/vx_render/render_pbm.cc | 2 +- met/src/libcode/vx_render/render_pcm.cc | 2 +- met/src/libcode/vx_render/render_pgm.cc | 2 +- met/src/libcode/vx_render/render_ppm.cc | 2 +- met/src/libcode/vx_render/renderinfo.cc | 2 +- met/src/libcode/vx_render/renderinfo.h | 2 +- met/src/libcode/vx_render/rle_filter.cc | 2 +- met/src/libcode/vx_render/rle_filter.h | 2 +- met/src/libcode/vx_render/uc_queue.cc | 2 +- met/src/libcode/vx_render/uc_queue.h | 2 +- met/src/libcode/vx_render/vx_render.h | 2 +- met/src/libcode/vx_series_data/series_data.cc | 2 +- met/src/libcode/vx_series_data/series_data.h | 2 +- met/src/libcode/vx_series_data/series_pdf.cc | 2 +- met/src/libcode/vx_series_data/series_pdf.h | 2 +- met/src/libcode/vx_shapedata/engine.cc | 2 +- met/src/libcode/vx_shapedata/engine.h | 2 +- met/src/libcode/vx_shapedata/interest.cc | 2 +- met/src/libcode/vx_shapedata/interest.h | 2 +- met/src/libcode/vx_shapedata/mode_columns.h | 2 +- .../libcode/vx_shapedata/mode_conf_info.cc | 2 +- met/src/libcode/vx_shapedata/mode_conf_info.h | 2 +- met/src/libcode/vx_shapedata/moments.cc | 2 +- met/src/libcode/vx_shapedata/moments.h | 2 +- met/src/libcode/vx_shapedata/node.cc | 2 +- met/src/libcode/vx_shapedata/node.h | 2 +- met/src/libcode/vx_shapedata/set.cc | 2 +- met/src/libcode/vx_shapedata/set.h | 2 +- met/src/libcode/vx_shapedata/shape.h | 2 +- met/src/libcode/vx_shapedata/shapedata.cc | 2 +- met/src/libcode/vx_shapedata/shapedata.h | 2 +- met/src/libcode/vx_shapedata/vx_shapedata.h | 2 +- met/src/libcode/vx_solar/astro_constants.h | 2 +- met/src/libcode/vx_solar/siderial.cc | 2 +- met/src/libcode/vx_solar/siderial.h | 2 +- met/src/libcode/vx_solar/solar.cc | 2 +- met/src/libcode/vx_solar/solar.h | 2 +- met/src/libcode/vx_stat_out/stat_columns.cc | 2 +- met/src/libcode/vx_stat_out/stat_columns.h | 2 +- .../libcode/vx_stat_out/stat_hdr_columns.cc | 2 +- .../libcode/vx_stat_out/stat_hdr_columns.h | 2 +- met/src/libcode/vx_stat_out/vx_stat_out.h | 2 +- met/src/libcode/vx_statistics/apply_mask.cc | 2 +- met/src/libcode/vx_statistics/apply_mask.h | 2 +- met/src/libcode/vx_statistics/compute_ci.cc | 2 +- met/src/libcode/vx_statistics/compute_ci.h | 2 +- .../libcode/vx_statistics/compute_stats.cc | 2 +- met/src/libcode/vx_statistics/compute_stats.h | 2 +- met/src/libcode/vx_statistics/contable.cc | 2 +- met/src/libcode/vx_statistics/contable.h | 2 +- met/src/libcode/vx_statistics/contable_nx2.cc | 2 +- .../libcode/vx_statistics/contable_stats.cc | 2 +- met/src/libcode/vx_statistics/ens_stats.cc | 2 +- met/src/libcode/vx_statistics/ens_stats.h | 2 +- met/src/libcode/vx_statistics/met_stats.cc | 2 +- met/src/libcode/vx_statistics/met_stats.h | 2 +- met/src/libcode/vx_statistics/obs_error.cc | 2 +- met/src/libcode/vx_statistics/obs_error.h | 2 +- met/src/libcode/vx_statistics/pair_base.cc | 2 +- met/src/libcode/vx_statistics/pair_base.h | 2 +- .../vx_statistics/pair_data_ensemble.cc | 2 +- .../vx_statistics/pair_data_ensemble.h | 2 +- .../libcode/vx_statistics/pair_data_point.cc | 2 +- .../libcode/vx_statistics/pair_data_point.h | 2 +- met/src/libcode/vx_statistics/read_climo.cc | 2 +- met/src/libcode/vx_statistics/read_climo.h | 2 +- met/src/libcode/vx_statistics/vx_statistics.h | 2 +- met/src/libcode/vx_summary/summary_calc.cc | 2 +- met/src/libcode/vx_summary/summary_calc.h | 2 +- .../libcode/vx_summary/summary_calc_max.cc | 2 +- met/src/libcode/vx_summary/summary_calc_max.h | 2 +- .../libcode/vx_summary/summary_calc_mean.cc | 2 +- .../libcode/vx_summary/summary_calc_mean.h | 2 +- .../libcode/vx_summary/summary_calc_median.cc | 2 +- .../libcode/vx_summary/summary_calc_median.h | 2 +- .../libcode/vx_summary/summary_calc_min.cc | 2 +- met/src/libcode/vx_summary/summary_calc_min.h | 2 +- .../vx_summary/summary_calc_percentile.cc | 2 +- .../vx_summary/summary_calc_percentile.h | 2 +- .../libcode/vx_summary/summary_calc_range.cc | 2 +- .../libcode/vx_summary/summary_calc_range.h | 2 +- .../libcode/vx_summary/summary_calc_stdev.cc | 2 +- .../libcode/vx_summary/summary_calc_stdev.h | 2 +- met/src/libcode/vx_summary/summary_key.cc | 2 +- met/src/libcode/vx_summary/summary_key.h | 2 +- met/src/libcode/vx_summary/summary_obs.cc | 2 +- met/src/libcode/vx_summary/summary_obs.h | 2 +- .../vx_summary/time_summary_interval.cc | 2 +- .../vx_summary/time_summary_interval.h | 2 +- met/src/libcode/vx_summary/vx_summary.h | 2 +- met/src/libcode/vx_tc_util/atcf_line_base.cc | 2 +- met/src/libcode/vx_tc_util/atcf_line_base.h | 2 +- met/src/libcode/vx_tc_util/atcf_offsets.h | 2 +- met/src/libcode/vx_tc_util/atcf_prob_line.cc | 2 +- met/src/libcode/vx_tc_util/atcf_prob_line.h | 2 +- met/src/libcode/vx_tc_util/atcf_track_line.cc | 2 +- met/src/libcode/vx_tc_util/atcf_track_line.h | 2 +- met/src/libcode/vx_tc_util/genesis_info.cc | 2 +- met/src/libcode/vx_tc_util/genesis_info.h | 2 +- .../libcode/vx_tc_util/pair_data_genesis.cc | 2 +- .../libcode/vx_tc_util/pair_data_genesis.h | 2 +- met/src/libcode/vx_tc_util/prob_info_array.cc | 2 +- met/src/libcode/vx_tc_util/prob_info_array.h | 2 +- met/src/libcode/vx_tc_util/prob_info_base.cc | 2 +- met/src/libcode/vx_tc_util/prob_info_base.h | 2 +- met/src/libcode/vx_tc_util/prob_pair_info.cc | 2 +- met/src/libcode/vx_tc_util/prob_pair_info.h | 2 +- met/src/libcode/vx_tc_util/prob_rirw_info.cc | 2 +- met/src/libcode/vx_tc_util/prob_rirw_info.h | 2 +- .../libcode/vx_tc_util/prob_rirw_pair_info.cc | 2 +- .../libcode/vx_tc_util/prob_rirw_pair_info.h | 2 +- met/src/libcode/vx_tc_util/tc_columns.cc | 2 +- met/src/libcode/vx_tc_util/tc_columns.h | 2 +- met/src/libcode/vx_tc_util/tc_hdr_columns.cc | 2 +- met/src/libcode/vx_tc_util/tc_hdr_columns.h | 2 +- met/src/libcode/vx_tc_util/tc_stat_line.cc | 2 +- met/src/libcode/vx_tc_util/tc_stat_line.h | 2 +- met/src/libcode/vx_tc_util/track_info.cc | 2 +- met/src/libcode/vx_tc_util/track_info.h | 2 +- met/src/libcode/vx_tc_util/track_pair_info.cc | 2 +- met/src/libcode/vx_tc_util/track_pair_info.h | 2 +- met/src/libcode/vx_tc_util/track_point.cc | 2 +- met/src/libcode/vx_tc_util/track_point.h | 2 +- met/src/libcode/vx_tc_util/vx_tc_nc_util.cc | 2 +- met/src/libcode/vx_tc_util/vx_tc_nc_util.h | 2 +- met/src/libcode/vx_tc_util/vx_tc_util.h | 2 +- .../vx_time_series/compute_swinging_door.cc | 2 +- .../vx_time_series/compute_swinging_door.h | 2 +- .../vx_time_series/time_series_util.cc | 2 +- .../libcode/vx_time_series/time_series_util.h | 2 +- .../libcode/vx_time_series/vx_time_series.h | 2 +- .../tools/core/ensemble_stat/ensemble_stat.cc | 2 +- .../tools/core/ensemble_stat/ensemble_stat.h | 2 +- .../ensemble_stat/ensemble_stat_conf_info.cc | 2 +- .../ensemble_stat/ensemble_stat_conf_info.h | 2 +- met/src/tools/core/grid_stat/grid_stat.cc | 2 +- met/src/tools/core/grid_stat/grid_stat.h | 2 +- .../core/grid_stat/grid_stat_conf_info.cc | 2 +- .../core/grid_stat/grid_stat_conf_info.h | 2 +- met/src/tools/core/mode/cluster_page.cc | 2 +- met/src/tools/core/mode/fcst_enlarge_page.cc | 2 +- met/src/tools/core/mode/mode.cc | 2 +- met/src/tools/core/mode/mode_exec.cc | 2 +- met/src/tools/core/mode/mode_exec.h | 2 +- met/src/tools/core/mode/mode_ps_file.cc | 2 +- met/src/tools/core/mode/mode_ps_file.h | 2 +- met/src/tools/core/mode/mode_ps_table_defs.h | 2 +- met/src/tools/core/mode/obs_enlarge_page.cc | 2 +- met/src/tools/core/mode/overlap_page.cc | 2 +- met/src/tools/core/mode/page_1.cc | 2 +- met/src/tools/core/mode/plot_engine.cc | 2 +- .../tools/core/mode_analysis/config_to_att.cc | 2 +- .../tools/core/mode_analysis/config_to_att.h | 2 +- .../tools/core/mode_analysis/mode_analysis.cc | 2 +- met/src/tools/core/pcp_combine/pcp_combine.cc | 2 +- met/src/tools/core/point_stat/point_stat.cc | 2 +- met/src/tools/core/point_stat/point_stat.h | 2 +- .../core/point_stat/point_stat_conf_info.cc | 2 +- .../core/point_stat/point_stat_conf_info.h | 2 +- .../core/series_analysis/series_analysis.cc | 2 +- .../core/series_analysis/series_analysis.h | 2 +- .../series_analysis_conf_info.cc | 2 +- .../series_analysis_conf_info.h | 2 +- .../core/stat_analysis/aggr_stat_line.cc | 2 +- .../tools/core/stat_analysis/aggr_stat_line.h | 2 +- .../core/stat_analysis/parse_stat_line.cc | 2 +- .../core/stat_analysis/parse_stat_line.h | 2 +- .../tools/core/stat_analysis/stat_analysis.cc | 2 +- .../tools/core/stat_analysis/stat_analysis.h | 2 +- .../core/stat_analysis/stat_analysis_job.cc | 2 +- .../core/stat_analysis/stat_analysis_job.h | 2 +- .../tools/core/wavelet_stat/wavelet_stat.cc | 2 +- .../tools/core/wavelet_stat/wavelet_stat.h | 2 +- .../wavelet_stat/wavelet_stat_conf_info.cc | 2 +- .../wavelet_stat/wavelet_stat_conf_info.h | 2 +- met/src/tools/dev_utils/chk4copyright.cc | 2 +- met/src/tools/dev_utils/gen_climo_bin.cc | 2 +- .../tools/dev_utils/gribtab.dat_to_flat.cc | 2 +- met/src/tools/dev_utils/insitu_nc_file.cc | 2 +- met/src/tools/dev_utils/insitu_nc_file.h | 2 +- met/src/tools/dev_utils/insitu_nc_to_ascii.cc | 2 +- met/src/tools/dev_utils/met_nc_file.cc | 2 +- met/src/tools/dev_utils/met_nc_file.h | 2 +- met/src/tools/dev_utils/nceptab_to_flat.cc | 2 +- met/src/tools/dev_utils/pbtime.cc | 2 +- .../tools/dev_utils/reformat_county_data.cc | 2 +- met/src/tools/dev_utils/reformat_map_data.cc | 2 +- .../dev_utils/shapefiles/make_mapfiles.cc | 2 +- met/src/tools/dev_utils/swinging_door.cc | 2 +- .../tools/other/ascii2nc/aeronet_handler.cc | 2 +- .../tools/other/ascii2nc/aeronet_handler.h | 2 +- met/src/tools/other/ascii2nc/ascii2nc.cc | 2 +- .../other/ascii2nc/ascii2nc_conf_info.cc | 2 +- .../tools/other/ascii2nc/ascii2nc_conf_info.h | 2 +- met/src/tools/other/ascii2nc/file_handler.cc | 2 +- met/src/tools/other/ascii2nc/file_handler.h | 2 +- .../tools/other/ascii2nc/little_r_handler.cc | 2 +- .../tools/other/ascii2nc/little_r_handler.h | 2 +- met/src/tools/other/ascii2nc/met_handler.cc | 2 +- met/src/tools/other/ascii2nc/met_handler.h | 2 +- .../tools/other/ascii2nc/python_handler.cc | 2 +- met/src/tools/other/ascii2nc/python_handler.h | 2 +- .../tools/other/ascii2nc/surfrad_handler.cc | 2 +- .../tools/other/ascii2nc/surfrad_handler.h | 2 +- met/src/tools/other/ascii2nc/wwsis_handler.cc | 2 +- met/src/tools/other/ascii2nc/wwsis_handler.h | 2 +- .../tools/other/gen_vx_mask/gen_vx_mask.cc | 2 +- met/src/tools/other/gen_vx_mask/gen_vx_mask.h | 2 +- .../other/gen_vx_mask/grid_closed_poly.cc | 2 +- .../other/gen_vx_mask/grid_closed_poly.h | 2 +- met/src/tools/other/gis_utils/gis_dump_dbf.cc | 2 +- met/src/tools/other/gis_utils/gis_dump_shp.cc | 2 +- met/src/tools/other/gis_utils/gis_dump_shx.cc | 2 +- met/src/tools/other/grid_diag/grid_diag.cc | 2 +- met/src/tools/other/grid_diag/grid_diag.h | 2 +- .../other/grid_diag/grid_diag_conf_info.cc | 2 +- .../other/grid_diag/grid_diag_conf_info.h | 2 +- met/src/tools/other/gsi_tools/conv_offsets.h | 2 +- met/src/tools/other/gsi_tools/conv_record.cc | 2 +- met/src/tools/other/gsi_tools/conv_record.h | 2 +- met/src/tools/other/gsi_tools/ftto.h | 2 +- met/src/tools/other/gsi_tools/gsi_record.cc | 2 +- met/src/tools/other/gsi_tools/gsi_record.h | 2 +- met/src/tools/other/gsi_tools/gsi_util.cc | 2 +- met/src/tools/other/gsi_tools/gsi_util.h | 2 +- met/src/tools/other/gsi_tools/gsid2mpr.cc | 2 +- met/src/tools/other/gsi_tools/gsid2mpr.h | 2 +- .../tools/other/gsi_tools/gsidens2orank.cc | 2 +- met/src/tools/other/gsi_tools/gsidens2orank.h | 2 +- met/src/tools/other/gsi_tools/rad_config.cc | 2 +- met/src/tools/other/gsi_tools/rad_config.h | 2 +- met/src/tools/other/gsi_tools/rad_offsets.h | 2 +- met/src/tools/other/gsi_tools/rad_record.cc | 2 +- met/src/tools/other/gsi_tools/rad_record.h | 2 +- met/src/tools/other/ioda2nc/ioda2nc.cc | 2 +- .../tools/other/ioda2nc/ioda2nc_conf_info.cc | 2 +- .../tools/other/ioda2nc/ioda2nc_conf_info.h | 2 +- met/src/tools/other/lidar2nc/calipso_5km.cc | 2 +- met/src/tools/other/lidar2nc/calipso_5km.h | 2 +- met/src/tools/other/lidar2nc/hdf_utils.cc | 2 +- met/src/tools/other/lidar2nc/hdf_utils.h | 2 +- met/src/tools/other/lidar2nc/lidar2nc.cc | 2 +- met/src/tools/other/madis2nc/madis2nc.cc | 2 +- met/src/tools/other/madis2nc/madis2nc.h | 2 +- .../other/madis2nc/madis2nc_conf_info.cc | 2 +- .../tools/other/madis2nc/madis2nc_conf_info.h | 2 +- met/src/tools/other/mode_graphics/cgraph.h | 2 +- .../tools/other/mode_graphics/cgraph_font.cc | 2 +- .../tools/other/mode_graphics/cgraph_font.h | 2 +- .../tools/other/mode_graphics/cgraph_main.cc | 2 +- .../tools/other/mode_graphics/cgraph_main.h | 2 +- .../tools/other/mode_graphics/color_stack.cc | 2 +- .../tools/other/mode_graphics/color_stack.h | 2 +- met/src/tools/other/mode_graphics/gs_ps_map.h | 2 +- .../mode_graphics/mode_nc_output_file.cc | 2 +- .../other/mode_graphics/mode_nc_output_file.h | 2 +- .../other/mode_graphics/plot_mode_field.cc | 2 +- met/src/tools/other/mode_graphics/sincosd.h | 2 +- .../tools/other/mode_time_domain/2d_att.cc | 2 +- met/src/tools/other/mode_time_domain/2d_att.h | 2 +- .../other/mode_time_domain/2d_att_array.cc | 2 +- .../other/mode_time_domain/2d_att_array.h | 2 +- .../tools/other/mode_time_domain/2d_columns.h | 2 +- .../other/mode_time_domain/2d_moments.cc | 2 +- .../tools/other/mode_time_domain/2d_moments.h | 2 +- .../tools/other/mode_time_domain/3d_att.cc | 2 +- met/src/tools/other/mode_time_domain/3d_att.h | 2 +- .../mode_time_domain/3d_att_pair_array.cc | 2 +- .../mode_time_domain/3d_att_pair_array.h | 2 +- .../mode_time_domain/3d_att_single_array.cc | 2 +- .../mode_time_domain/3d_att_single_array.h | 2 +- .../tools/other/mode_time_domain/3d_conv.cc | 2 +- .../other/mode_time_domain/3d_moments.cc | 2 +- .../tools/other/mode_time_domain/3d_moments.h | 2 +- .../other/mode_time_domain/3d_pair_columns.h | 2 +- .../mode_time_domain/3d_single_columns.h | 2 +- .../other/mode_time_domain/3d_txt_header.h | 2 +- .../tools/other/mode_time_domain/fo_graph.cc | 2 +- .../tools/other/mode_time_domain/fo_graph.h | 2 +- .../tools/other/mode_time_domain/fo_node.cc | 2 +- .../tools/other/mode_time_domain/fo_node.h | 2 +- .../other/mode_time_domain/fo_node_array.cc | 2 +- .../other/mode_time_domain/fo_node_array.h | 2 +- .../other/mode_time_domain/interest_calc.cc | 2 +- .../other/mode_time_domain/interest_calc.h | 2 +- .../tools/other/mode_time_domain/mm_engine.cc | 2 +- .../tools/other/mode_time_domain/mm_engine.h | 2 +- met/src/tools/other/mode_time_domain/mtd.cc | 2 +- .../other/mode_time_domain/mtd_config_info.cc | 2 +- .../other/mode_time_domain/mtd_config_info.h | 2 +- .../tools/other/mode_time_domain/mtd_file.h | 2 +- .../other/mode_time_domain/mtd_file_base.cc | 2 +- .../other/mode_time_domain/mtd_file_base.h | 2 +- .../other/mode_time_domain/mtd_file_float.cc | 2 +- .../other/mode_time_domain/mtd_file_float.h | 2 +- .../other/mode_time_domain/mtd_file_int.cc | 2 +- .../other/mode_time_domain/mtd_file_int.h | 2 +- .../other/mode_time_domain/mtd_nc_defs.h | 2 +- .../other/mode_time_domain/mtd_nc_output.cc | 2 +- .../other/mode_time_domain/mtd_nc_output.h | 2 +- .../other/mode_time_domain/mtd_partition.cc | 2 +- .../other/mode_time_domain/mtd_partition.h | 2 +- .../other/mode_time_domain/mtd_read_data.cc | 2 +- .../other/mode_time_domain/mtd_read_data.h | 2 +- .../other/mode_time_domain/mtd_txt_output.cc | 2 +- .../other/mode_time_domain/mtd_txt_output.h | 2 +- .../tools/other/mode_time_domain/nc_grid.cc | 2 +- .../tools/other/mode_time_domain/nc_grid.h | 2 +- .../other/mode_time_domain/nc_utils_local.cc | 2 +- .../other/mode_time_domain/nc_utils_local.h | 2 +- .../other/modis_regrid/cloudsat_swath_file.cc | 2 +- .../other/modis_regrid/cloudsat_swath_file.h | 2 +- .../tools/other/modis_regrid/data_averager.cc | 2 +- .../tools/other/modis_regrid/data_averager.h | 2 +- .../modis_regrid/data_plane_to_netcdf.cc | 2 +- .../other/modis_regrid/data_plane_to_netcdf.h | 2 +- .../tools/other/modis_regrid/modis_file.cc | 2 +- met/src/tools/other/modis_regrid/modis_file.h | 2 +- .../tools/other/modis_regrid/modis_regrid.cc | 2 +- met/src/tools/other/modis_regrid/sat_utils.cc | 2 +- met/src/tools/other/modis_regrid/sat_utils.h | 2 +- met/src/tools/other/pb2nc/closepb.f | 6 +-- met/src/tools/other/pb2nc/dumppb.f | 6 +-- met/src/tools/other/pb2nc/numpbmsg.f | 8 +-- met/src/tools/other/pb2nc/openpb.f | 6 +-- met/src/tools/other/pb2nc/pb2nc.cc | 2 +- met/src/tools/other/pb2nc/pb2nc_conf_info.cc | 2 +- met/src/tools/other/pb2nc/pb2nc_conf_info.h | 2 +- met/src/tools/other/pb2nc/readpb.f | 6 +-- .../other/plot_data_plane/plot_data_plane.cc | 2 +- .../other/plot_point_obs/plot_point_obs.cc | 2 +- .../other/plot_point_obs/plot_point_obs.h | 2 +- .../plot_point_obs_conf_info.cc | 2 +- .../plot_point_obs/plot_point_obs_conf_info.h | 2 +- met/src/tools/other/point2grid/point2grid.cc | 2 +- .../other/point2grid/point2grid_conf_info.cc | 2 +- .../other/point2grid/point2grid_conf_info.h | 2 +- .../regrid_data_plane/regrid_data_plane.cc | 2 +- .../shift_data_plane/shift_data_plane.cc | 2 +- met/src/tools/other/wwmca_tool/af_cp_file.cc | 2 +- met/src/tools/other/wwmca_tool/af_cp_file.h | 2 +- met/src/tools/other/wwmca_tool/af_file.cc | 2 +- met/src/tools/other/wwmca_tool/af_file.h | 2 +- met/src/tools/other/wwmca_tool/af_pt_file.cc | 2 +- met/src/tools/other/wwmca_tool/af_pt_file.h | 2 +- met/src/tools/other/wwmca_tool/ave_interp.cc | 2 +- met/src/tools/other/wwmca_tool/ave_interp.h | 2 +- met/src/tools/other/wwmca_tool/interp_base.cc | 2 +- met/src/tools/other/wwmca_tool/interp_base.h | 2 +- met/src/tools/other/wwmca_tool/max_interp.cc | 2 +- met/src/tools/other/wwmca_tool/max_interp.h | 2 +- met/src/tools/other/wwmca_tool/min_interp.cc | 2 +- met/src/tools/other/wwmca_tool/min_interp.h | 2 +- met/src/tools/other/wwmca_tool/nc_output.cc | 2 +- .../tools/other/wwmca_tool/nearest_interp.cc | 2 +- .../tools/other/wwmca_tool/nearest_interp.h | 2 +- met/src/tools/other/wwmca_tool/wwmca_plot.cc | 2 +- met/src/tools/other/wwmca_tool/wwmca_ref.cc | 2 +- met/src/tools/other/wwmca_tool/wwmca_ref.h | 2 +- .../tools/other/wwmca_tool/wwmca_regrid.cc | 2 +- met/src/tools/other/wwmca_tool/wwmca_utils.cc | 2 +- met/src/tools/other/wwmca_tool/wwmca_utils.h | 2 +- .../tc_utils/rmw_analysis/rmw_analysis.cc | 2 +- .../tc_utils/rmw_analysis/rmw_analysis.h | 2 +- .../rmw_analysis/rmw_analysis_conf_info.cc | 2 +- .../rmw_analysis/rmw_analysis_conf_info.h | 2 +- met/src/tools/tc_utils/tc_dland/tc_dland.cc | 2 +- met/src/tools/tc_utils/tc_dland/tc_poly.cc | 2 +- met/src/tools/tc_utils/tc_dland/tc_poly.h | 2 +- met/src/tools/tc_utils/tc_gen/tc_gen.cc | 2 +- met/src/tools/tc_utils/tc_gen/tc_gen.h | 2 +- .../tools/tc_utils/tc_gen/tc_gen_conf_info.cc | 2 +- .../tools/tc_utils/tc_gen/tc_gen_conf_info.h | 2 +- met/src/tools/tc_utils/tc_pairs/tc_pairs.cc | 2 +- met/src/tools/tc_utils/tc_pairs/tc_pairs.h | 2 +- .../tc_utils/tc_pairs/tc_pairs_conf_info.cc | 2 +- .../tc_utils/tc_pairs/tc_pairs_conf_info.h | 2 +- met/src/tools/tc_utils/tc_rmw/tc_rmw.cc | 2 +- met/src/tools/tc_utils/tc_rmw/tc_rmw.h | 2 +- .../tools/tc_utils/tc_rmw/tc_rmw_conf_info.cc | 2 +- .../tools/tc_utils/tc_rmw/tc_rmw_conf_info.h | 2 +- met/src/tools/tc_utils/tc_stat/tc_stat.cc | 2 +- met/src/tools/tc_utils/tc_stat/tc_stat.h | 2 +- .../tc_utils/tc_stat/tc_stat_conf_info.cc | 2 +- .../tc_utils/tc_stat/tc_stat_conf_info.h | 2 +- .../tools/tc_utils/tc_stat/tc_stat_files.cc | 2 +- .../tools/tc_utils/tc_stat/tc_stat_files.h | 2 +- met/src/tools/tc_utils/tc_stat/tc_stat_job.cc | 2 +- met/src/tools/tc_utils/tc_stat/tc_stat_job.h | 2 +- 860 files changed, 923 insertions(+), 870 deletions(-) diff --git a/met/README b/met/README index 06aeafc3b5..3b0c6edba8 100644 --- a/met/README +++ b/met/README @@ -2,7 +2,7 @@ Model Evaluation Tools (MET) TERMS OF USE - IMPORTANT! ================================================================================ -Copyright 2020, UCAR/NCAR, NOAA, and CSU/CIRA +Copyright 2021, UCAR/NCAR, NOAA, and CSU/CIRA Licensed under the Apache License, Version 2.0 (the "License"); You may not use this file except in compliance with the License. You may obtain a copy of the License at diff --git a/met/data/copyright_notice.txt b/met/data/copyright_notice.txt index 5ae02fc8a3..59f11fd7d9 100644 --- a/met/data/copyright_notice.txt +++ b/met/data/copyright_notice.txt @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2019 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/docs/Users_Guide/release-notes.rst b/met/docs/Users_Guide/release-notes.rst index 791d657cfc..5bd26e9ea4 100644 --- a/met/docs/Users_Guide/release-notes.rst +++ b/met/docs/Users_Guide/release-notes.rst @@ -7,6 +7,59 @@ describes the bugfix, enhancement, or new feature: `MET GitHub issues. `_ release notes (20210426) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +* Bugfixes: + + * Fix Grid-Diag bug when reading the same variable name from multiple data sources (`#1694 `_). + * Fix Stat-Analysis failure when aggregating ECNT lines (`#1706 `_). + * Fix intermittent PB2NC segfault when deriving PBL (`#1715 `_). + * Fix parsing error for floating point percentile thresholds, like ">SFP33.3" (`#1716 `_). + * Fix ascii2nc to handle bad records in little_r format (`#1737 `_). + +* Documentation: + + * Migrate the MET documetation to Read the Docs (`#1649 `_). + +* Library code: + + * Miscellaneous: + + * Add support for climatological probabilities for complex CDP thresholds, like >=CDP33&&<=CDP67 (`#1705 `_). + + * NetCDF library: + + * Extend CF-compliant NetCDF file support when defining the time dimension as a time string (`#1755 `_). + + * Python embedding: + + * Replace the pickle format for temporary python files with NetCDF for gridded data (`#1319 `_, `#1697 `_). + * Replace the pickle format for temporary python files with ASCII for point observations in ascii2nc and matched pair data in Stat-Analysis (`#1319 `_, `#1700 `_). + * Enhance python embedding to support the "grid" being defined as a named grid or specification string (`#1471 `_). + * Enhance the python embedding library code to parse python longlong variables as integers to make the python embedding scripts less particular (`#1747 `_). + * Fix the read_ascii_mpr.py python embedding script to pass all 37 columns of MPR data to Stat-Analysis (`#1620 `_). + * Fix the read_tmp_dataplane.py python embedding script to handle the fill value correctly (`#1753 `_). + +* Application code: + + * Point-Stat and Grid-Stat Tools: + + * Enhance Point-Stat and Grid-Stat by adding mpr_column and mpr_thresh configuration options to filter out matched pairs based on large fcst, obs, and climo differences (`#1575 `_). + + * Stat-Analysis Tool: + + * Enhance Stat-Analysis to process multiple output thresholds and write multiple output line types in a single aggregate_stat job (`#1735 `_). + * Enhance Stat-Analysis to skip writing job output to the logfile when the -out_stat option is provided (`#1736 `_). + * Enhance Stat-Analysis by adding a -column_exc job command option to exclude lines based on string values (`#1733 `_). + + * MET-TC Tools: + + * Fix TC-Pairs to report the correct number of lines read from input track data files (`#1725 `_). + * Enhance TC-Stat by adding a -column_exc job command option to exclude lines based on string values (`#1733 `_). + * Enhance the TC-Gen matching logic and update several config options to support its S2S application (`#1714 `_). + Version `10.0.0-beta4 `_ release notes (20210302) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/met/docs/conf.py b/met/docs/conf.py index 2a51afe4d7..7abb9ffef0 100644 --- a/met/docs/conf.py +++ b/met/docs/conf.py @@ -24,7 +24,7 @@ verinfo = version release = f'{version}' release_year = '2021' -release_date = f'{release_year}-03-31' +release_date = f'{release_year}-04-26' copyright = f'{release_year}, {author}' # -- General configuration --------------------------------------------------- diff --git a/met/internal_tests/basic/vx_config/test_config.cc b/met/internal_tests/basic/vx_config/test_config.cc index 36865e3592..bc98cf99c9 100644 --- a/met/internal_tests/basic/vx_config/test_config.cc +++ b/met/internal_tests/basic/vx_config/test_config.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/internal_tests/basic/vx_config/test_lookup.cc b/met/internal_tests/basic/vx_config/test_lookup.cc index 22f64d02ad..acfdd6ce47 100644 --- a/met/internal_tests/basic/vx_config/test_lookup.cc +++ b/met/internal_tests/basic/vx_config/test_lookup.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/internal_tests/basic/vx_config/test_lookup2.cc b/met/internal_tests/basic/vx_config/test_lookup2.cc index 8be3e13934..f0550e51cb 100644 --- a/met/internal_tests/basic/vx_config/test_lookup2.cc +++ b/met/internal_tests/basic/vx_config/test_lookup2.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/internal_tests/basic/vx_config/test_lookup3.cc b/met/internal_tests/basic/vx_config/test_lookup3.cc index 8c9640b7ad..00b5092ef0 100644 --- a/met/internal_tests/basic/vx_config/test_lookup3.cc +++ b/met/internal_tests/basic/vx_config/test_lookup3.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/internal_tests/basic/vx_config/test_met_478.cc b/met/internal_tests/basic/vx_config/test_met_478.cc index 5beeb7b1f7..d8eb495d1e 100644 --- a/met/internal_tests/basic/vx_config/test_met_478.cc +++ b/met/internal_tests/basic/vx_config/test_met_478.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/internal_tests/basic/vx_config/test_string.cc b/met/internal_tests/basic/vx_config/test_string.cc index 628c38d295..1ff22b98a4 100644 --- a/met/internal_tests/basic/vx_config/test_string.cc +++ b/met/internal_tests/basic/vx_config/test_string.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/internal_tests/basic/vx_config/test_string_then_config.cc b/met/internal_tests/basic/vx_config/test_string_then_config.cc index e55d9a5dac..1749c65838 100644 --- a/met/internal_tests/basic/vx_config/test_string_then_config.cc +++ b/met/internal_tests/basic/vx_config/test_string_then_config.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/internal_tests/basic/vx_config/test_thresh.cc b/met/internal_tests/basic/vx_config/test_thresh.cc index 8c31b855fa..1a8d346d4f 100644 --- a/met/internal_tests/basic/vx_config/test_thresh.cc +++ b/met/internal_tests/basic/vx_config/test_thresh.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/internal_tests/basic/vx_config/test_user_func.cc b/met/internal_tests/basic/vx_config/test_user_func.cc index decebc9f98..f32a198878 100644 --- a/met/internal_tests/basic/vx_config/test_user_func.cc +++ b/met/internal_tests/basic/vx_config/test_user_func.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/internal_tests/basic/vx_log/test_logger.cc b/met/internal_tests/basic/vx_log/test_logger.cc index 7906a10abc..723cb38df3 100644 --- a/met/internal_tests/basic/vx_log/test_logger.cc +++ b/met/internal_tests/basic/vx_log/test_logger.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/internal_tests/basic/vx_log/test_reg_exp.cc b/met/internal_tests/basic/vx_log/test_reg_exp.cc index 3f3f8915e4..81fc9b246e 100644 --- a/met/internal_tests/basic/vx_log/test_reg_exp.cc +++ b/met/internal_tests/basic/vx_log/test_reg_exp.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/internal_tests/basic/vx_util/test_add_rows.cc b/met/internal_tests/basic/vx_util/test_add_rows.cc index 4a239103d1..bff68be679 100644 --- a/met/internal_tests/basic/vx_util/test_add_rows.cc +++ b/met/internal_tests/basic/vx_util/test_add_rows.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/internal_tests/basic/vx_util/test_ascii_header.cc b/met/internal_tests/basic/vx_util/test_ascii_header.cc index addacd7689..f71643b0b6 100644 --- a/met/internal_tests/basic/vx_util/test_ascii_header.cc +++ b/met/internal_tests/basic/vx_util/test_ascii_header.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/internal_tests/basic/vx_util/test_command_line.cc b/met/internal_tests/basic/vx_util/test_command_line.cc index 48f93a698f..ce5fcfc137 100644 --- a/met/internal_tests/basic/vx_util/test_command_line.cc +++ b/met/internal_tests/basic/vx_util/test_command_line.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/internal_tests/basic/vx_util/test_data_plane.cc b/met/internal_tests/basic/vx_util/test_data_plane.cc index 6b6c163aba..dea6b89c32 100644 --- a/met/internal_tests/basic/vx_util/test_data_plane.cc +++ b/met/internal_tests/basic/vx_util/test_data_plane.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/internal_tests/basic/vx_util/test_table_float.cc b/met/internal_tests/basic/vx_util/test_table_float.cc index faa17b4e65..2afeceeab2 100644 --- a/met/internal_tests/basic/vx_util/test_table_float.cc +++ b/met/internal_tests/basic/vx_util/test_table_float.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/internal_tests/libcode/vx_data2d/dump_default_table.cc b/met/internal_tests/libcode/vx_data2d/dump_default_table.cc index 864e4369b0..0bbac5baa1 100644 --- a/met/internal_tests/libcode/vx_data2d/dump_default_table.cc +++ b/met/internal_tests/libcode/vx_data2d/dump_default_table.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/internal_tests/libcode/vx_data2d/test_table_read.cc b/met/internal_tests/libcode/vx_data2d/test_table_read.cc index 0bc20383c6..0d726501cd 100644 --- a/met/internal_tests/libcode/vx_data2d/test_table_read.cc +++ b/met/internal_tests/libcode/vx_data2d/test_table_read.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/internal_tests/libcode/vx_data2d_factory/test_factory.cc b/met/internal_tests/libcode/vx_data2d_factory/test_factory.cc index 76d2de46f1..0701e448b8 100644 --- a/met/internal_tests/libcode/vx_data2d_factory/test_factory.cc +++ b/met/internal_tests/libcode/vx_data2d_factory/test_factory.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/internal_tests/libcode/vx_data2d_factory/test_is_grib.cc b/met/internal_tests/libcode/vx_data2d_factory/test_is_grib.cc index 1e5a60b7ba..7100114d20 100644 --- a/met/internal_tests/libcode/vx_data2d_factory/test_is_grib.cc +++ b/met/internal_tests/libcode/vx_data2d_factory/test_is_grib.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/internal_tests/libcode/vx_data2d_grib/test_read_grib1.cc b/met/internal_tests/libcode/vx_data2d_grib/test_read_grib1.cc index 4b229f94df..0595ef9ff6 100644 --- a/met/internal_tests/libcode/vx_data2d_grib/test_read_grib1.cc +++ b/met/internal_tests/libcode/vx_data2d_grib/test_read_grib1.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/internal_tests/libcode/vx_data2d_nc_met/test_read_nc_met.cc b/met/internal_tests/libcode/vx_data2d_nc_met/test_read_nc_met.cc index f2d9d9b1eb..b4f7b00cf7 100644 --- a/met/internal_tests/libcode/vx_data2d_nc_met/test_read_nc_met.cc +++ b/met/internal_tests/libcode/vx_data2d_nc_met/test_read_nc_met.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/internal_tests/libcode/vx_data2d_nccf/test_read_nccf.cc b/met/internal_tests/libcode/vx_data2d_nccf/test_read_nccf.cc index 7fb2b96248..60dea1f633 100644 --- a/met/internal_tests/libcode/vx_data2d_nccf/test_read_nccf.cc +++ b/met/internal_tests/libcode/vx_data2d_nccf/test_read_nccf.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/internal_tests/libcode/vx_geodesy/test_spheroid.cc b/met/internal_tests/libcode/vx_geodesy/test_spheroid.cc index 1170852b6e..dd6e8392e7 100644 --- a/met/internal_tests/libcode/vx_geodesy/test_spheroid.cc +++ b/met/internal_tests/libcode/vx_geodesy/test_spheroid.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/internal_tests/libcode/vx_grid/test_grid_area.cc b/met/internal_tests/libcode/vx_grid/test_grid_area.cc index 35ea95457c..28e95dda08 100644 --- a/met/internal_tests/libcode/vx_grid/test_grid_area.cc +++ b/met/internal_tests/libcode/vx_grid/test_grid_area.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/internal_tests/libcode/vx_nc_util/test_pressure_levels.cc b/met/internal_tests/libcode/vx_nc_util/test_pressure_levels.cc index a79fab07b6..ed1e369549 100644 --- a/met/internal_tests/libcode/vx_nc_util/test_pressure_levels.cc +++ b/met/internal_tests/libcode/vx_nc_util/test_pressure_levels.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/internal_tests/libcode/vx_physics/test_thermo.cc b/met/internal_tests/libcode/vx_physics/test_thermo.cc index 86cfe41339..49d1ad5622 100644 --- a/met/internal_tests/libcode/vx_physics/test_thermo.cc +++ b/met/internal_tests/libcode/vx_physics/test_thermo.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/internal_tests/libcode/vx_plot_util/test_map_region.cc b/met/internal_tests/libcode/vx_plot_util/test_map_region.cc index a46ca42b94..4bad8a606f 100644 --- a/met/internal_tests/libcode/vx_plot_util/test_map_region.cc +++ b/met/internal_tests/libcode/vx_plot_util/test_map_region.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/internal_tests/libcode/vx_ps/test_ps.cc b/met/internal_tests/libcode/vx_ps/test_ps.cc index 21aa68fde8..a5db88dc92 100644 --- a/met/internal_tests/libcode/vx_ps/test_ps.cc +++ b/met/internal_tests/libcode/vx_ps/test_ps.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/internal_tests/libcode/vx_series_data/test_series_data.cc b/met/internal_tests/libcode/vx_series_data/test_series_data.cc index b7e92b3182..f2396821cd 100644 --- a/met/internal_tests/libcode/vx_series_data/test_series_data.cc +++ b/met/internal_tests/libcode/vx_series_data/test_series_data.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/internal_tests/libcode/vx_solar/test_ra_dec.cc b/met/internal_tests/libcode/vx_solar/test_ra_dec.cc index 818ca6d823..1318e77bf2 100644 --- a/met/internal_tests/libcode/vx_solar/test_ra_dec.cc +++ b/met/internal_tests/libcode/vx_solar/test_ra_dec.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/internal_tests/libcode/vx_tc_util/test_read.cc b/met/internal_tests/libcode/vx_tc_util/test_read.cc index 568fead189..bcd29bbf3c 100644 --- a/met/internal_tests/libcode/vx_tc_util/test_read.cc +++ b/met/internal_tests/libcode/vx_tc_util/test_read.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/internal_tests/libcode/vx_tc_util/test_read_prob.cc b/met/internal_tests/libcode/vx_tc_util/test_read_prob.cc index 112defbab6..402876f47c 100644 --- a/met/internal_tests/libcode/vx_tc_util/test_read_prob.cc +++ b/met/internal_tests/libcode/vx_tc_util/test_read_prob.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/internal_tests/libcode/vx_tc_util/test_read_rmw.cc b/met/internal_tests/libcode/vx_tc_util/test_read_rmw.cc index 3b8beceacf..cffcd916bb 100644 --- a/met/internal_tests/libcode/vx_tc_util/test_read_rmw.cc +++ b/met/internal_tests/libcode/vx_tc_util/test_read_rmw.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2019 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/internal_tests/tools/other/mode_time_domain/test_velocity.cc b/met/internal_tests/tools/other/mode_time_domain/test_velocity.cc index a3d8b07506..802db6a97a 100644 --- a/met/internal_tests/tools/other/mode_time_domain/test_velocity.cc +++ b/met/internal_tests/tools/other/mode_time_domain/test_velocity.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/enum_to_string/code.cc b/met/src/basic/enum_to_string/code.cc index 3f70163872..ed79e593e5 100644 --- a/met/src/basic/enum_to_string/code.cc +++ b/met/src/basic/enum_to_string/code.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/enum_to_string/code.h b/met/src/basic/enum_to_string/code.h index e8092f6de2..244841bf13 100644 --- a/met/src/basic/enum_to_string/code.h +++ b/met/src/basic/enum_to_string/code.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/enum_to_string/enum.tab.h b/met/src/basic/enum_to_string/enum.tab.h index 6c3d1558ee..9c325b693b 100644 --- a/met/src/basic/enum_to_string/enum.tab.h +++ b/met/src/basic/enum_to_string/enum.tab.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/enum_to_string/enum_to_string.cc b/met/src/basic/enum_to_string/enum_to_string.cc index df22281acd..9ef21eb944 100644 --- a/met/src/basic/enum_to_string/enum_to_string.cc +++ b/met/src/basic/enum_to_string/enum_to_string.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/enum_to_string/info.cc b/met/src/basic/enum_to_string/info.cc index 2e06af874d..ba716a3ce1 100644 --- a/met/src/basic/enum_to_string/info.cc +++ b/met/src/basic/enum_to_string/info.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/enum_to_string/info.h b/met/src/basic/enum_to_string/info.h index 884e31d91d..d05e27d635 100644 --- a/met/src/basic/enum_to_string/info.h +++ b/met/src/basic/enum_to_string/info.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/enum_to_string/scope.cc b/met/src/basic/enum_to_string/scope.cc index 53aa01072a..703d3b5215 100644 --- a/met/src/basic/enum_to_string/scope.cc +++ b/met/src/basic/enum_to_string/scope.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/enum_to_string/scope.h b/met/src/basic/enum_to_string/scope.h index 8a567715b7..8ef6312b73 100644 --- a/met/src/basic/enum_to_string/scope.h +++ b/met/src/basic/enum_to_string/scope.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_cal/date_to_mjd.cc b/met/src/basic/vx_cal/date_to_mjd.cc index e9dc3b030c..faaa780f59 100644 --- a/met/src/basic/vx_cal/date_to_mjd.cc +++ b/met/src/basic/vx_cal/date_to_mjd.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_cal/day_dif.cc b/met/src/basic/vx_cal/day_dif.cc index dffe716c65..91bba5a773 100644 --- a/met/src/basic/vx_cal/day_dif.cc +++ b/met/src/basic/vx_cal/day_dif.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_cal/day_of_week.cc b/met/src/basic/vx_cal/day_of_week.cc index 42f4f16f83..fc4939b7f8 100644 --- a/met/src/basic/vx_cal/day_of_week.cc +++ b/met/src/basic/vx_cal/day_of_week.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_cal/doyhms_to_unix.cc b/met/src/basic/vx_cal/doyhms_to_unix.cc index 69a10b95a6..e4183ada5b 100644 --- a/met/src/basic/vx_cal/doyhms_to_unix.cc +++ b/met/src/basic/vx_cal/doyhms_to_unix.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_cal/is_dst.cc b/met/src/basic/vx_cal/is_dst.cc index 92ee8b65a9..57b9b2dfb0 100644 --- a/met/src/basic/vx_cal/is_dst.cc +++ b/met/src/basic/vx_cal/is_dst.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_cal/is_leap_year.cc b/met/src/basic/vx_cal/is_leap_year.cc index 07eb197103..53e642b8e7 100644 --- a/met/src/basic/vx_cal/is_leap_year.cc +++ b/met/src/basic/vx_cal/is_leap_year.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_cal/mdyhms_to_unix.cc b/met/src/basic/vx_cal/mdyhms_to_unix.cc index 20b0b97626..ea09fa197c 100644 --- a/met/src/basic/vx_cal/mdyhms_to_unix.cc +++ b/met/src/basic/vx_cal/mdyhms_to_unix.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_cal/mjd_to_date.cc b/met/src/basic/vx_cal/mjd_to_date.cc index 5be0176473..df7023f85a 100644 --- a/met/src/basic/vx_cal/mjd_to_date.cc +++ b/met/src/basic/vx_cal/mjd_to_date.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_cal/time_array.cc b/met/src/basic/vx_cal/time_array.cc index 29439a0c5e..4521693ed9 100644 --- a/met/src/basic/vx_cal/time_array.cc +++ b/met/src/basic/vx_cal/time_array.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_cal/time_array.h b/met/src/basic/vx_cal/time_array.h index fc35d26188..d1523b904f 100644 --- a/met/src/basic/vx_cal/time_array.h +++ b/met/src/basic/vx_cal/time_array.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_cal/time_strings.cc b/met/src/basic/vx_cal/time_strings.cc index 4f3ce06446..d15dea5280 100644 --- a/met/src/basic/vx_cal/time_strings.cc +++ b/met/src/basic/vx_cal/time_strings.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_cal/unix_string.cc b/met/src/basic/vx_cal/unix_string.cc index 0c2d22cc0f..2897d5a0cd 100644 --- a/met/src/basic/vx_cal/unix_string.cc +++ b/met/src/basic/vx_cal/unix_string.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_cal/unix_to_mdyhms.cc b/met/src/basic/vx_cal/unix_to_mdyhms.cc index fd30575698..5f5bf1dbfc 100644 --- a/met/src/basic/vx_cal/unix_to_mdyhms.cc +++ b/met/src/basic/vx_cal/unix_to_mdyhms.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_cal/vx_cal.h b/met/src/basic/vx_cal/vx_cal.h index cdff7e7a31..4648f2ed77 100644 --- a/met/src/basic/vx_cal/vx_cal.h +++ b/met/src/basic/vx_cal/vx_cal.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_config/builtin.cc b/met/src/basic/vx_config/builtin.cc index d0f2fedfb0..4396064a80 100644 --- a/met/src/basic/vx_config/builtin.cc +++ b/met/src/basic/vx_config/builtin.cc @@ -4,7 +4,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_config/builtin.h b/met/src/basic/vx_config/builtin.h index 48c2307527..d2691a2e5f 100644 --- a/met/src/basic/vx_config/builtin.h +++ b/met/src/basic/vx_config/builtin.h @@ -4,7 +4,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_config/calculator.cc b/met/src/basic/vx_config/calculator.cc index 17b2de7c05..bd7813f48f 100644 --- a/met/src/basic/vx_config/calculator.cc +++ b/met/src/basic/vx_config/calculator.cc @@ -4,7 +4,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_config/calculator.h b/met/src/basic/vx_config/calculator.h index e48c389b56..32c2d5f3c7 100644 --- a/met/src/basic/vx_config/calculator.h +++ b/met/src/basic/vx_config/calculator.h @@ -4,7 +4,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_config/config_constants.h b/met/src/basic/vx_config/config_constants.h index a6431fca54..2bb5acbeb8 100644 --- a/met/src/basic/vx_config/config_constants.h +++ b/met/src/basic/vx_config/config_constants.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_config/config_file.cc b/met/src/basic/vx_config/config_file.cc index 736444d85b..8b289a7487 100644 --- a/met/src/basic/vx_config/config_file.cc +++ b/met/src/basic/vx_config/config_file.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_config/config_file.h b/met/src/basic/vx_config/config_file.h index ced862aeaa..b3e90d80ff 100644 --- a/met/src/basic/vx_config/config_file.h +++ b/met/src/basic/vx_config/config_file.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_config/config_funcs.cc b/met/src/basic/vx_config/config_funcs.cc index 253a3d2729..adaf585f34 100644 --- a/met/src/basic/vx_config/config_funcs.cc +++ b/met/src/basic/vx_config/config_funcs.cc @@ -3,7 +3,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_config/config_funcs.h b/met/src/basic/vx_config/config_funcs.h index 87b1eb0b23..6f1db7c0c1 100644 --- a/met/src/basic/vx_config/config_funcs.h +++ b/met/src/basic/vx_config/config_funcs.h @@ -4,7 +4,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_config/config_gaussian.h b/met/src/basic/vx_config/config_gaussian.h index 136d4cf3a3..1a8e193231 100644 --- a/met/src/basic/vx_config/config_gaussian.h +++ b/met/src/basic/vx_config/config_gaussian.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2019 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_config/config_util.cc b/met/src/basic/vx_config/config_util.cc index 6eb13ef7a5..c55fd819ae 100644 --- a/met/src/basic/vx_config/config_util.cc +++ b/met/src/basic/vx_config/config_util.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_config/config_util.h b/met/src/basic/vx_config/config_util.h index ced39afb2d..a17d2badd3 100644 --- a/met/src/basic/vx_config/config_util.h +++ b/met/src/basic/vx_config/config_util.h @@ -1,6 +1,6 @@ //////////////////////////////////////////////////////////////////////// // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_config/data_file_type.h b/met/src/basic/vx_config/data_file_type.h index 8586ab379e..f1407b5004 100644 --- a/met/src/basic/vx_config/data_file_type.h +++ b/met/src/basic/vx_config/data_file_type.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_config/dictionary.cc b/met/src/basic/vx_config/dictionary.cc index 68421e5fce..cbe3013cba 100644 --- a/met/src/basic/vx_config/dictionary.cc +++ b/met/src/basic/vx_config/dictionary.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_config/dictionary.h b/met/src/basic/vx_config/dictionary.h index 6aeac17bb5..a39949be04 100644 --- a/met/src/basic/vx_config/dictionary.h +++ b/met/src/basic/vx_config/dictionary.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_config/icode.cc b/met/src/basic/vx_config/icode.cc index 5104cb7bc6..a45736daf1 100644 --- a/met/src/basic/vx_config/icode.cc +++ b/met/src/basic/vx_config/icode.cc @@ -4,7 +4,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_config/icode.h b/met/src/basic/vx_config/icode.h index a1d1fbe95f..f0db2d0afb 100644 --- a/met/src/basic/vx_config/icode.h +++ b/met/src/basic/vx_config/icode.h @@ -4,7 +4,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_config/idstack.cc b/met/src/basic/vx_config/idstack.cc index 00013ac045..49b94c53af 100644 --- a/met/src/basic/vx_config/idstack.cc +++ b/met/src/basic/vx_config/idstack.cc @@ -4,7 +4,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_config/idstack.h b/met/src/basic/vx_config/idstack.h index 427c00545b..b50f3c1b90 100644 --- a/met/src/basic/vx_config/idstack.h +++ b/met/src/basic/vx_config/idstack.h @@ -2,7 +2,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_config/number_stack.cc b/met/src/basic/vx_config/number_stack.cc index d5e5d14c9a..92e557a4e6 100644 --- a/met/src/basic/vx_config/number_stack.cc +++ b/met/src/basic/vx_config/number_stack.cc @@ -4,7 +4,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_config/number_stack.h b/met/src/basic/vx_config/number_stack.h index 473eb7a518..31a53b6888 100644 --- a/met/src/basic/vx_config/number_stack.h +++ b/met/src/basic/vx_config/number_stack.h @@ -4,7 +4,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_config/object_types.h b/met/src/basic/vx_config/object_types.h index a9ae9f907e..9da202d731 100644 --- a/met/src/basic/vx_config/object_types.h +++ b/met/src/basic/vx_config/object_types.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_config/scanner_stuff.h b/met/src/basic/vx_config/scanner_stuff.h index e17a8089fa..2474c740ad 100644 --- a/met/src/basic/vx_config/scanner_stuff.h +++ b/met/src/basic/vx_config/scanner_stuff.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_config/temp_file.cc b/met/src/basic/vx_config/temp_file.cc index 40c929e413..5746993957 100644 --- a/met/src/basic/vx_config/temp_file.cc +++ b/met/src/basic/vx_config/temp_file.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_config/temp_file.h b/met/src/basic/vx_config/temp_file.h index 2603a494aa..d46c99317a 100644 --- a/met/src/basic/vx_config/temp_file.h +++ b/met/src/basic/vx_config/temp_file.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_config/threshold.cc b/met/src/basic/vx_config/threshold.cc index b75ec9784a..bb1dfaa49a 100644 --- a/met/src/basic/vx_config/threshold.cc +++ b/met/src/basic/vx_config/threshold.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_config/threshold.h b/met/src/basic/vx_config/threshold.h index 493173e58d..cf7d5640fe 100644 --- a/met/src/basic/vx_config/threshold.h +++ b/met/src/basic/vx_config/threshold.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_config/vx_config.h b/met/src/basic/vx_config/vx_config.h index 22d755317c..98550a5b22 100644 --- a/met/src/basic/vx_config/vx_config.h +++ b/met/src/basic/vx_config/vx_config.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_log/concat_string.cc b/met/src/basic/vx_log/concat_string.cc index 0f2b97e63b..9fea23870b 100644 --- a/met/src/basic/vx_log/concat_string.cc +++ b/met/src/basic/vx_log/concat_string.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_log/concat_string.h b/met/src/basic/vx_log/concat_string.h index b4c472de6c..29903f8e40 100644 --- a/met/src/basic/vx_log/concat_string.h +++ b/met/src/basic/vx_log/concat_string.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_log/file_fxns.cc b/met/src/basic/vx_log/file_fxns.cc index 52ed4d4a0e..16a98ce261 100644 --- a/met/src/basic/vx_log/file_fxns.cc +++ b/met/src/basic/vx_log/file_fxns.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_log/file_fxns.h b/met/src/basic/vx_log/file_fxns.h index 6e2dfb652c..4b868bbdbf 100644 --- a/met/src/basic/vx_log/file_fxns.h +++ b/met/src/basic/vx_log/file_fxns.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_log/indent.cc b/met/src/basic/vx_log/indent.cc index 1d6de068b5..0c70ff60df 100644 --- a/met/src/basic/vx_log/indent.cc +++ b/met/src/basic/vx_log/indent.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_log/indent.h b/met/src/basic/vx_log/indent.h index 1e3e940938..63f0d6af48 100644 --- a/met/src/basic/vx_log/indent.h +++ b/met/src/basic/vx_log/indent.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_log/logger.cc b/met/src/basic/vx_log/logger.cc index 31f49d15b3..899fbffd2e 100644 --- a/met/src/basic/vx_log/logger.cc +++ b/met/src/basic/vx_log/logger.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_log/logger.h b/met/src/basic/vx_log/logger.h index fed112ae51..6a92e43e71 100644 --- a/met/src/basic/vx_log/logger.h +++ b/met/src/basic/vx_log/logger.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_log/string_array.cc b/met/src/basic/vx_log/string_array.cc index e48a46e2b3..5894d80f2e 100644 --- a/met/src/basic/vx_log/string_array.cc +++ b/met/src/basic/vx_log/string_array.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_log/string_array.h b/met/src/basic/vx_log/string_array.h index 8cec395275..d940ef3958 100644 --- a/met/src/basic/vx_log/string_array.h +++ b/met/src/basic/vx_log/string_array.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_log/vx_log.h b/met/src/basic/vx_log/vx_log.h index c1d7b75f0a..3dfa05f868 100644 --- a/met/src/basic/vx_log/vx_log.h +++ b/met/src/basic/vx_log/vx_log.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_math/affine.cc b/met/src/basic/vx_math/affine.cc index 21d0c97bc2..b7094024e1 100644 --- a/met/src/basic/vx_math/affine.cc +++ b/met/src/basic/vx_math/affine.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_math/affine.h b/met/src/basic/vx_math/affine.h index 5294509d29..7e05c53496 100644 --- a/met/src/basic/vx_math/affine.h +++ b/met/src/basic/vx_math/affine.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_math/angles.cc b/met/src/basic/vx_math/angles.cc index fcef01f0cd..4e7be72e40 100644 --- a/met/src/basic/vx_math/angles.cc +++ b/met/src/basic/vx_math/angles.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_math/angles.h b/met/src/basic/vx_math/angles.h index 8841ad3e5d..5a53164aff 100644 --- a/met/src/basic/vx_math/angles.h +++ b/met/src/basic/vx_math/angles.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_math/hist.cc b/met/src/basic/vx_math/hist.cc index 1a5a0d2842..73d5ac2291 100644 --- a/met/src/basic/vx_math/hist.cc +++ b/met/src/basic/vx_math/hist.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_math/hist.h b/met/src/basic/vx_math/hist.h index f7b764a971..2580ad57c4 100644 --- a/met/src/basic/vx_math/hist.h +++ b/met/src/basic/vx_math/hist.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_math/is_bad_data.h b/met/src/basic/vx_math/is_bad_data.h index e08a5d15bf..809fa2f210 100644 --- a/met/src/basic/vx_math/is_bad_data.h +++ b/met/src/basic/vx_math/is_bad_data.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_math/legendre.cc b/met/src/basic/vx_math/legendre.cc index 8781f5b8f1..34521d3dfd 100644 --- a/met/src/basic/vx_math/legendre.cc +++ b/met/src/basic/vx_math/legendre.cc @@ -4,7 +4,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_math/legendre.h b/met/src/basic/vx_math/legendre.h index 4845ba9392..fca0738f72 100644 --- a/met/src/basic/vx_math/legendre.h +++ b/met/src/basic/vx_math/legendre.h @@ -4,7 +4,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_math/math_constants.h b/met/src/basic/vx_math/math_constants.h index b346d48a1c..b2638c4654 100644 --- a/met/src/basic/vx_math/math_constants.h +++ b/met/src/basic/vx_math/math_constants.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_math/nint.cc b/met/src/basic/vx_math/nint.cc index 98157bc265..f027903500 100644 --- a/met/src/basic/vx_math/nint.cc +++ b/met/src/basic/vx_math/nint.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_math/nint.h b/met/src/basic/vx_math/nint.h index cd431e46e4..3c466858d6 100644 --- a/met/src/basic/vx_math/nint.h +++ b/met/src/basic/vx_math/nint.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_math/nti.cc b/met/src/basic/vx_math/nti.cc index 31a0d04fad..bd19f6cfc2 100644 --- a/met/src/basic/vx_math/nti.cc +++ b/met/src/basic/vx_math/nti.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_math/nti.h b/met/src/basic/vx_math/nti.h index 582dd47165..b32d721ce2 100644 --- a/met/src/basic/vx_math/nti.h +++ b/met/src/basic/vx_math/nti.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_math/ptile.cc b/met/src/basic/vx_math/ptile.cc index c03dbda21d..a712c6ff05 100644 --- a/met/src/basic/vx_math/ptile.cc +++ b/met/src/basic/vx_math/ptile.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_math/ptile.h b/met/src/basic/vx_math/ptile.h index 9c129fef65..46a91c69f7 100644 --- a/met/src/basic/vx_math/ptile.h +++ b/met/src/basic/vx_math/ptile.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_math/pwl.cc b/met/src/basic/vx_math/pwl.cc index cc74432afe..102ecf586c 100644 --- a/met/src/basic/vx_math/pwl.cc +++ b/met/src/basic/vx_math/pwl.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_math/pwl.h b/met/src/basic/vx_math/pwl.h index 64f562ff61..22e6894dbb 100644 --- a/met/src/basic/vx_math/pwl.h +++ b/met/src/basic/vx_math/pwl.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_math/so3.cc b/met/src/basic/vx_math/so3.cc index 8b83539c80..41e3dbc82b 100644 --- a/met/src/basic/vx_math/so3.cc +++ b/met/src/basic/vx_math/so3.cc @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_math/so3.h b/met/src/basic/vx_math/so3.h index 876e14bdbe..9d6a8e7377 100644 --- a/met/src/basic/vx_math/so3.h +++ b/met/src/basic/vx_math/so3.h @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_math/trig.h b/met/src/basic/vx_math/trig.h index 9893555b98..d88a2aeb79 100644 --- a/met/src/basic/vx_math/trig.h +++ b/met/src/basic/vx_math/trig.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_math/vx_math.h b/met/src/basic/vx_math/vx_math.h index e25093129a..08dc84b355 100644 --- a/met/src/basic/vx_math/vx_math.h +++ b/met/src/basic/vx_math/vx_math.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_math/vx_vector.cc b/met/src/basic/vx_math/vx_vector.cc index 5225259aec..a1fd9fe12a 100644 --- a/met/src/basic/vx_math/vx_vector.cc +++ b/met/src/basic/vx_math/vx_vector.cc @@ -4,7 +4,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_math/vx_vector.h b/met/src/basic/vx_math/vx_vector.h index 17cf3b1961..960ba8b63e 100644 --- a/met/src/basic/vx_math/vx_vector.h +++ b/met/src/basic/vx_math/vx_vector.h @@ -4,7 +4,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/CircularTemplate.cc b/met/src/basic/vx_util/CircularTemplate.cc index 31d24ff113..a49f40c62f 100644 --- a/met/src/basic/vx_util/CircularTemplate.cc +++ b/met/src/basic/vx_util/CircularTemplate.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1990 - 2018 +// ** Copyright UCAR (c) 1990 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Boulder, Colorado, USA diff --git a/met/src/basic/vx_util/CircularTemplate.h b/met/src/basic/vx_util/CircularTemplate.h index d8d9917598..fc92c7db8b 100644 --- a/met/src/basic/vx_util/CircularTemplate.h +++ b/met/src/basic/vx_util/CircularTemplate.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1990 - 2018 +// ** Copyright UCAR (c) 1990 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Boulder, Colorado, USA diff --git a/met/src/basic/vx_util/GridOffset.cc b/met/src/basic/vx_util/GridOffset.cc index da82e4cc27..4ae65fdf57 100644 --- a/met/src/basic/vx_util/GridOffset.cc +++ b/met/src/basic/vx_util/GridOffset.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1990 - 2018 +// ** Copyright UCAR (c) 1990 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Boulder, Colorado, USA diff --git a/met/src/basic/vx_util/GridOffset.h b/met/src/basic/vx_util/GridOffset.h index 941c67b3a4..8e4826011b 100644 --- a/met/src/basic/vx_util/GridOffset.h +++ b/met/src/basic/vx_util/GridOffset.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1990 - 2018 +// ** Copyright UCAR (c) 1990 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Boulder, Colorado, USA diff --git a/met/src/basic/vx_util/GridPoint.cc b/met/src/basic/vx_util/GridPoint.cc index fd260d9f4f..82581f2aeb 100644 --- a/met/src/basic/vx_util/GridPoint.cc +++ b/met/src/basic/vx_util/GridPoint.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1990 - 2018 +// ** Copyright UCAR (c) 1990 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Boulder, Colorado, USA diff --git a/met/src/basic/vx_util/GridPoint.h b/met/src/basic/vx_util/GridPoint.h index 67fa533488..84876e37fe 100644 --- a/met/src/basic/vx_util/GridPoint.h +++ b/met/src/basic/vx_util/GridPoint.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1990 - 2018 +// ** Copyright UCAR (c) 1990 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Boulder, Colorado, USA diff --git a/met/src/basic/vx_util/GridTemplate.cc b/met/src/basic/vx_util/GridTemplate.cc index 6ce6ee3f5a..85926d8ae5 100644 --- a/met/src/basic/vx_util/GridTemplate.cc +++ b/met/src/basic/vx_util/GridTemplate.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1990 - 2018 +// ** Copyright UCAR (c) 1990 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Boulder, Colorado, USA diff --git a/met/src/basic/vx_util/GridTemplate.h b/met/src/basic/vx_util/GridTemplate.h index 7388249977..28cfffec62 100644 --- a/met/src/basic/vx_util/GridTemplate.h +++ b/met/src/basic/vx_util/GridTemplate.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1990 - 2018 +// ** Copyright UCAR (c) 1990 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Boulder, Colorado, USA diff --git a/met/src/basic/vx_util/RectangularTemplate.cc b/met/src/basic/vx_util/RectangularTemplate.cc index 811861ca96..59c06901a0 100644 --- a/met/src/basic/vx_util/RectangularTemplate.cc +++ b/met/src/basic/vx_util/RectangularTemplate.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1990 - 2018 +// ** Copyright UCAR (c) 1990 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Boulder, Colorado, USA diff --git a/met/src/basic/vx_util/RectangularTemplate.h b/met/src/basic/vx_util/RectangularTemplate.h index 8ab12a9ec0..b45dcb6a77 100644 --- a/met/src/basic/vx_util/RectangularTemplate.h +++ b/met/src/basic/vx_util/RectangularTemplate.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1990 - 2018 +// ** Copyright UCAR (c) 1990 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Boulder, Colorado, USA diff --git a/met/src/basic/vx_util/ascii_header.cc b/met/src/basic/vx_util/ascii_header.cc index 553435cc88..48a967e84d 100644 --- a/met/src/basic/vx_util/ascii_header.cc +++ b/met/src/basic/vx_util/ascii_header.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/ascii_header.h b/met/src/basic/vx_util/ascii_header.h index 3d70361c82..0046f68c12 100644 --- a/met/src/basic/vx_util/ascii_header.h +++ b/met/src/basic/vx_util/ascii_header.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/ascii_table.cc b/met/src/basic/vx_util/ascii_table.cc index 04b19a30c3..910e5165d9 100644 --- a/met/src/basic/vx_util/ascii_table.cc +++ b/met/src/basic/vx_util/ascii_table.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/ascii_table.h b/met/src/basic/vx_util/ascii_table.h index 701804e666..4e0ed53804 100644 --- a/met/src/basic/vx_util/ascii_table.h +++ b/met/src/basic/vx_util/ascii_table.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/bool_to_string.h b/met/src/basic/vx_util/bool_to_string.h index dc93543173..c99cbb8978 100644 --- a/met/src/basic/vx_util/bool_to_string.h +++ b/met/src/basic/vx_util/bool_to_string.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/check_endian.cc b/met/src/basic/vx_util/check_endian.cc index 260f6d6c8f..795d7014a1 100644 --- a/met/src/basic/vx_util/check_endian.cc +++ b/met/src/basic/vx_util/check_endian.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/check_endian.h b/met/src/basic/vx_util/check_endian.h index 60c5f33ae4..bd4f65dec3 100644 --- a/met/src/basic/vx_util/check_endian.h +++ b/met/src/basic/vx_util/check_endian.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/comma_string.cc b/met/src/basic/vx_util/comma_string.cc index 98f3c9ae27..5535b63158 100644 --- a/met/src/basic/vx_util/comma_string.cc +++ b/met/src/basic/vx_util/comma_string.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/comma_string.h b/met/src/basic/vx_util/comma_string.h index ff89ddb11c..b7cbfaad83 100644 --- a/met/src/basic/vx_util/comma_string.h +++ b/met/src/basic/vx_util/comma_string.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/command_line.cc b/met/src/basic/vx_util/command_line.cc index 93fe6caa90..01a90bcb40 100644 --- a/met/src/basic/vx_util/command_line.cc +++ b/met/src/basic/vx_util/command_line.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/command_line.h b/met/src/basic/vx_util/command_line.h index 6cc72e838a..3cb114e980 100644 --- a/met/src/basic/vx_util/command_line.h +++ b/met/src/basic/vx_util/command_line.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/conversions.cc b/met/src/basic/vx_util/conversions.cc index 51baf1ec80..1851570488 100644 --- a/met/src/basic/vx_util/conversions.cc +++ b/met/src/basic/vx_util/conversions.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/conversions.h b/met/src/basic/vx_util/conversions.h index bd3a648123..1aae66121e 100644 --- a/met/src/basic/vx_util/conversions.h +++ b/met/src/basic/vx_util/conversions.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/crc_array.h b/met/src/basic/vx_util/crc_array.h index 8bd7b8d0aa..4fa5a99e6c 100644 --- a/met/src/basic/vx_util/crc_array.h +++ b/met/src/basic/vx_util/crc_array.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/crr_array.h b/met/src/basic/vx_util/crr_array.h index 79376d10eb..b6e9d877e7 100644 --- a/met/src/basic/vx_util/crr_array.h +++ b/met/src/basic/vx_util/crr_array.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/data_cube.cc b/met/src/basic/vx_util/data_cube.cc index 361fc77926..fcc416eca8 100644 --- a/met/src/basic/vx_util/data_cube.cc +++ b/met/src/basic/vx_util/data_cube.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/data_cube.h b/met/src/basic/vx_util/data_cube.h index 86982607db..7bee93e35e 100644 --- a/met/src/basic/vx_util/data_cube.h +++ b/met/src/basic/vx_util/data_cube.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/data_line.cc b/met/src/basic/vx_util/data_line.cc index 16f275327e..0a155a8eb2 100644 --- a/met/src/basic/vx_util/data_line.cc +++ b/met/src/basic/vx_util/data_line.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/data_line.h b/met/src/basic/vx_util/data_line.h index 0bb41ed9f9..d65c0dfbb5 100644 --- a/met/src/basic/vx_util/data_line.h +++ b/met/src/basic/vx_util/data_line.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/data_plane.cc b/met/src/basic/vx_util/data_plane.cc index 6f9223672c..043e1d7c7b 100644 --- a/met/src/basic/vx_util/data_plane.cc +++ b/met/src/basic/vx_util/data_plane.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/data_plane.h b/met/src/basic/vx_util/data_plane.h index 2a4f869225..54e3606b55 100644 --- a/met/src/basic/vx_util/data_plane.h +++ b/met/src/basic/vx_util/data_plane.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/data_plane_util.cc b/met/src/basic/vx_util/data_plane_util.cc index 7174a36b84..7b01b09f71 100644 --- a/met/src/basic/vx_util/data_plane_util.cc +++ b/met/src/basic/vx_util/data_plane_util.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/data_plane_util.h b/met/src/basic/vx_util/data_plane_util.h index 6d6e5fa456..401a22c2f7 100644 --- a/met/src/basic/vx_util/data_plane_util.h +++ b/met/src/basic/vx_util/data_plane_util.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/empty_string.h b/met/src/basic/vx_util/empty_string.h index b1ea9a7b61..b1ef49e074 100644 --- a/met/src/basic/vx_util/empty_string.h +++ b/met/src/basic/vx_util/empty_string.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/file_exists.cc b/met/src/basic/vx_util/file_exists.cc index 809defc109..fcf6b07203 100644 --- a/met/src/basic/vx_util/file_exists.cc +++ b/met/src/basic/vx_util/file_exists.cc @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/file_exists.h b/met/src/basic/vx_util/file_exists.h index cd67bc73b5..202109ec75 100644 --- a/met/src/basic/vx_util/file_exists.h +++ b/met/src/basic/vx_util/file_exists.h @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/file_linecount.cc b/met/src/basic/vx_util/file_linecount.cc index 39ae299dcd..ce9840bc39 100644 --- a/met/src/basic/vx_util/file_linecount.cc +++ b/met/src/basic/vx_util/file_linecount.cc @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/file_linecount.h b/met/src/basic/vx_util/file_linecount.h index ad4d628a3f..4a5ddfb0df 100644 --- a/met/src/basic/vx_util/file_linecount.h +++ b/met/src/basic/vx_util/file_linecount.h @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/file_size.cc b/met/src/basic/vx_util/file_size.cc index c058334d8d..c58e2785dd 100644 --- a/met/src/basic/vx_util/file_size.cc +++ b/met/src/basic/vx_util/file_size.cc @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/file_size.h b/met/src/basic/vx_util/file_size.h index a036aecb0e..3a3d9f7293 100644 --- a/met/src/basic/vx_util/file_size.h +++ b/met/src/basic/vx_util/file_size.h @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/filename_suffix.cc b/met/src/basic/vx_util/filename_suffix.cc index 1c781cad56..3cafe60f3a 100644 --- a/met/src/basic/vx_util/filename_suffix.cc +++ b/met/src/basic/vx_util/filename_suffix.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/filename_suffix.h b/met/src/basic/vx_util/filename_suffix.h index 7f42f15585..8cba40fa33 100644 --- a/met/src/basic/vx_util/filename_suffix.h +++ b/met/src/basic/vx_util/filename_suffix.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/fix_float.cc b/met/src/basic/vx_util/fix_float.cc index 9e214b9af6..8c9973efa7 100644 --- a/met/src/basic/vx_util/fix_float.cc +++ b/met/src/basic/vx_util/fix_float.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/fix_float.h b/met/src/basic/vx_util/fix_float.h index 8bcea2d9bf..775f2581df 100644 --- a/met/src/basic/vx_util/fix_float.h +++ b/met/src/basic/vx_util/fix_float.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/get_filenames.cc b/met/src/basic/vx_util/get_filenames.cc index 5a2f2eedfe..b777c78455 100644 --- a/met/src/basic/vx_util/get_filenames.cc +++ b/met/src/basic/vx_util/get_filenames.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/get_filenames.h b/met/src/basic/vx_util/get_filenames.h index d9586ef95c..3ee386a73b 100644 --- a/met/src/basic/vx_util/get_filenames.h +++ b/met/src/basic/vx_util/get_filenames.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/grib_constants.cc b/met/src/basic/vx_util/grib_constants.cc index b310d358ba..e5a1f594e3 100644 --- a/met/src/basic/vx_util/grib_constants.cc +++ b/met/src/basic/vx_util/grib_constants.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/grib_constants.h b/met/src/basic/vx_util/grib_constants.h index 68445aebf0..1b1fdfcc0a 100644 --- a/met/src/basic/vx_util/grib_constants.h +++ b/met/src/basic/vx_util/grib_constants.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/int_array.h b/met/src/basic/vx_util/int_array.h index de454043f5..08c815ef6c 100644 --- a/met/src/basic/vx_util/int_array.h +++ b/met/src/basic/vx_util/int_array.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/interp_mthd.cc b/met/src/basic/vx_util/interp_mthd.cc index 5ac02d9920..a0c8386a8c 100644 --- a/met/src/basic/vx_util/interp_mthd.cc +++ b/met/src/basic/vx_util/interp_mthd.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/interp_mthd.h b/met/src/basic/vx_util/interp_mthd.h index 4612946c28..88cf766d09 100644 --- a/met/src/basic/vx_util/interp_mthd.h +++ b/met/src/basic/vx_util/interp_mthd.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/interp_util.cc b/met/src/basic/vx_util/interp_util.cc index 9cb8a3d552..98cfa27ea4 100644 --- a/met/src/basic/vx_util/interp_util.cc +++ b/met/src/basic/vx_util/interp_util.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/interp_util.h b/met/src/basic/vx_util/interp_util.h index 39b5d8d50b..4369557be4 100644 --- a/met/src/basic/vx_util/interp_util.h +++ b/met/src/basic/vx_util/interp_util.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/is_number.cc b/met/src/basic/vx_util/is_number.cc index 7df8455bd0..f1c8b9c32f 100644 --- a/met/src/basic/vx_util/is_number.cc +++ b/met/src/basic/vx_util/is_number.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/is_number.h b/met/src/basic/vx_util/is_number.h index f7418166d1..201173e107 100644 --- a/met/src/basic/vx_util/is_number.h +++ b/met/src/basic/vx_util/is_number.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/long_array.cc b/met/src/basic/vx_util/long_array.cc index 92aa4b568a..b7a80b59b5 100644 --- a/met/src/basic/vx_util/long_array.cc +++ b/met/src/basic/vx_util/long_array.cc @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/long_array.h b/met/src/basic/vx_util/long_array.h index e9ffbfb0f2..c3dc4bccb2 100644 --- a/met/src/basic/vx_util/long_array.h +++ b/met/src/basic/vx_util/long_array.h @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/make_path.cc b/met/src/basic/vx_util/make_path.cc index 28610c732b..6ccf6df9b4 100644 --- a/met/src/basic/vx_util/make_path.cc +++ b/met/src/basic/vx_util/make_path.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/make_path.h b/met/src/basic/vx_util/make_path.h index 05cb065162..6e7f1b0c3d 100644 --- a/met/src/basic/vx_util/make_path.h +++ b/met/src/basic/vx_util/make_path.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/mask_poly.cc b/met/src/basic/vx_util/mask_poly.cc index 9e23f15921..d7e332c6f4 100644 --- a/met/src/basic/vx_util/mask_poly.cc +++ b/met/src/basic/vx_util/mask_poly.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/mask_poly.h b/met/src/basic/vx_util/mask_poly.h index 9f346bd4e7..d466b986ed 100644 --- a/met/src/basic/vx_util/mask_poly.h +++ b/met/src/basic/vx_util/mask_poly.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/memory.cc b/met/src/basic/vx_util/memory.cc index 80f755c4e3..0189a3fd75 100644 --- a/met/src/basic/vx_util/memory.cc +++ b/met/src/basic/vx_util/memory.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/memory.h b/met/src/basic/vx_util/memory.h index 4d43ad70d7..37d6091a4d 100644 --- a/met/src/basic/vx_util/memory.h +++ b/met/src/basic/vx_util/memory.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/met_buffer.cc b/met/src/basic/vx_util/met_buffer.cc index ff66edc210..fb596913ea 100644 --- a/met/src/basic/vx_util/met_buffer.cc +++ b/met/src/basic/vx_util/met_buffer.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/met_buffer.h b/met/src/basic/vx_util/met_buffer.h index c742294509..9ea54b9779 100644 --- a/met/src/basic/vx_util/met_buffer.h +++ b/met/src/basic/vx_util/met_buffer.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/ncrr_array.h b/met/src/basic/vx_util/ncrr_array.h index bb5a18a7b0..c40e282fe5 100644 --- a/met/src/basic/vx_util/ncrr_array.h +++ b/met/src/basic/vx_util/ncrr_array.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/num_array.cc b/met/src/basic/vx_util/num_array.cc index bf80325736..9493b14fb2 100644 --- a/met/src/basic/vx_util/num_array.cc +++ b/met/src/basic/vx_util/num_array.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/num_array.h b/met/src/basic/vx_util/num_array.h index 073bda597d..8c24299a42 100644 --- a/met/src/basic/vx_util/num_array.h +++ b/met/src/basic/vx_util/num_array.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/observation.cc b/met/src/basic/vx_util/observation.cc index e9b3e8cc57..7a9d6e7c8c 100644 --- a/met/src/basic/vx_util/observation.cc +++ b/met/src/basic/vx_util/observation.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/observation.h b/met/src/basic/vx_util/observation.h index 6b6f59eb46..3c84d65405 100644 --- a/met/src/basic/vx_util/observation.h +++ b/met/src/basic/vx_util/observation.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/ordinal.cc b/met/src/basic/vx_util/ordinal.cc index a35fc2b84e..415a9e2634 100644 --- a/met/src/basic/vx_util/ordinal.cc +++ b/met/src/basic/vx_util/ordinal.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/ordinal.h b/met/src/basic/vx_util/ordinal.h index 5cd3a2c6f1..41872ca93d 100644 --- a/met/src/basic/vx_util/ordinal.h +++ b/met/src/basic/vx_util/ordinal.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/polyline.cc b/met/src/basic/vx_util/polyline.cc index efed2dc476..5b266bf22d 100644 --- a/met/src/basic/vx_util/polyline.cc +++ b/met/src/basic/vx_util/polyline.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/polyline.h b/met/src/basic/vx_util/polyline.h index 4ec8be0951..5502425d68 100644 --- a/met/src/basic/vx_util/polyline.h +++ b/met/src/basic/vx_util/polyline.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/python_line.cc b/met/src/basic/vx_util/python_line.cc index 43a4dfc7dd..75b838427c 100644 --- a/met/src/basic/vx_util/python_line.cc +++ b/met/src/basic/vx_util/python_line.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/python_line.h b/met/src/basic/vx_util/python_line.h index 5f994a144d..e65cf9ba0c 100644 --- a/met/src/basic/vx_util/python_line.h +++ b/met/src/basic/vx_util/python_line.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/read_fortran_binary.cc b/met/src/basic/vx_util/read_fortran_binary.cc index 5b66ab9ee9..2c37d4b16a 100644 --- a/met/src/basic/vx_util/read_fortran_binary.cc +++ b/met/src/basic/vx_util/read_fortran_binary.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/read_fortran_binary.h b/met/src/basic/vx_util/read_fortran_binary.h index e92cbc1401..7249c04bad 100644 --- a/met/src/basic/vx_util/read_fortran_binary.h +++ b/met/src/basic/vx_util/read_fortran_binary.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/roman_numeral.cc b/met/src/basic/vx_util/roman_numeral.cc index 1020146448..61af948566 100644 --- a/met/src/basic/vx_util/roman_numeral.cc +++ b/met/src/basic/vx_util/roman_numeral.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/roman_numeral.h b/met/src/basic/vx_util/roman_numeral.h index 97f41529da..68c9cf260f 100644 --- a/met/src/basic/vx_util/roman_numeral.h +++ b/met/src/basic/vx_util/roman_numeral.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/smart_buffer.cc b/met/src/basic/vx_util/smart_buffer.cc index 047e553696..c3ed7e8150 100644 --- a/met/src/basic/vx_util/smart_buffer.cc +++ b/met/src/basic/vx_util/smart_buffer.cc @@ -4,7 +4,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/smart_buffer.h b/met/src/basic/vx_util/smart_buffer.h index da88ae98e8..1982136c0c 100644 --- a/met/src/basic/vx_util/smart_buffer.h +++ b/met/src/basic/vx_util/smart_buffer.h @@ -4,7 +4,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/stat_column_defs.h b/met/src/basic/vx_util/stat_column_defs.h index c7661cb3cb..0aad50d004 100644 --- a/met/src/basic/vx_util/stat_column_defs.h +++ b/met/src/basic/vx_util/stat_column_defs.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/string_fxns.cc b/met/src/basic/vx_util/string_fxns.cc index e393a69b61..7b8ea2114a 100644 --- a/met/src/basic/vx_util/string_fxns.cc +++ b/met/src/basic/vx_util/string_fxns.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/string_fxns.h b/met/src/basic/vx_util/string_fxns.h index bdb8eb8d28..93b3973fd4 100644 --- a/met/src/basic/vx_util/string_fxns.h +++ b/met/src/basic/vx_util/string_fxns.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/substring.cc b/met/src/basic/vx_util/substring.cc index 8edfc68952..3a5f3af102 100644 --- a/met/src/basic/vx_util/substring.cc +++ b/met/src/basic/vx_util/substring.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/substring.h b/met/src/basic/vx_util/substring.h index 32eff138bd..a4dee4f502 100644 --- a/met/src/basic/vx_util/substring.h +++ b/met/src/basic/vx_util/substring.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/thresh_array.cc b/met/src/basic/vx_util/thresh_array.cc index 46f04ead85..50358a5d83 100644 --- a/met/src/basic/vx_util/thresh_array.cc +++ b/met/src/basic/vx_util/thresh_array.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/thresh_array.h b/met/src/basic/vx_util/thresh_array.h index 781af2e96c..d27dc087c9 100644 --- a/met/src/basic/vx_util/thresh_array.h +++ b/met/src/basic/vx_util/thresh_array.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/two_d_array.h b/met/src/basic/vx_util/two_d_array.h index 7de51ad3a3..d76777efa7 100644 --- a/met/src/basic/vx_util/two_d_array.h +++ b/met/src/basic/vx_util/two_d_array.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/two_to_one.cc b/met/src/basic/vx_util/two_to_one.cc index aad0e5b2be..3eb7142a18 100644 --- a/met/src/basic/vx_util/two_to_one.cc +++ b/met/src/basic/vx_util/two_to_one.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/two_to_one.h b/met/src/basic/vx_util/two_to_one.h index 059492f152..72d5e8c8c6 100644 --- a/met/src/basic/vx_util/two_to_one.h +++ b/met/src/basic/vx_util/two_to_one.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/util_constants.h b/met/src/basic/vx_util/util_constants.h index fd55319b40..a83e4717a6 100644 --- a/met/src/basic/vx_util/util_constants.h +++ b/met/src/basic/vx_util/util_constants.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/basic/vx_util/vx_util.h b/met/src/basic/vx_util/vx_util.h index 05fdd41ab5..f8a79c5767 100644 --- a/met/src/basic/vx_util/vx_util.h +++ b/met/src/basic/vx_util/vx_util.h @@ -1,6 +1,6 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_afm/afm.cc b/met/src/libcode/vx_afm/afm.cc index 1003adb2d6..23df3616e3 100644 --- a/met/src/libcode/vx_afm/afm.cc +++ b/met/src/libcode/vx_afm/afm.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_afm/afm.h b/met/src/libcode/vx_afm/afm.h index 9b79eed461..5842a83f06 100644 --- a/met/src/libcode/vx_afm/afm.h +++ b/met/src/libcode/vx_afm/afm.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_afm/afm_keywords.cc b/met/src/libcode/vx_afm/afm_keywords.cc index 7dcd1490af..3007118b03 100644 --- a/met/src/libcode/vx_afm/afm_keywords.cc +++ b/met/src/libcode/vx_afm/afm_keywords.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_afm/afm_keywords.h b/met/src/libcode/vx_afm/afm_keywords.h index 471804f123..03aa9c5ea1 100644 --- a/met/src/libcode/vx_afm/afm_keywords.h +++ b/met/src/libcode/vx_afm/afm_keywords.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_afm/afm_line.cc b/met/src/libcode/vx_afm/afm_line.cc index 9f63760c68..686b8a4ba8 100644 --- a/met/src/libcode/vx_afm/afm_line.cc +++ b/met/src/libcode/vx_afm/afm_line.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_afm/afm_line.h b/met/src/libcode/vx_afm/afm_line.h index 100736c3bd..1ed49c33b5 100644 --- a/met/src/libcode/vx_afm/afm_line.h +++ b/met/src/libcode/vx_afm/afm_line.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_afm/afm_token.cc b/met/src/libcode/vx_afm/afm_token.cc index 37f21adb74..45d59be0f3 100644 --- a/met/src/libcode/vx_afm/afm_token.cc +++ b/met/src/libcode/vx_afm/afm_token.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_afm/afm_token.h b/met/src/libcode/vx_afm/afm_token.h index 5211a5fee7..fc08d7dac6 100644 --- a/met/src/libcode/vx_afm/afm_token.h +++ b/met/src/libcode/vx_afm/afm_token.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_afm/afm_token_types.h b/met/src/libcode/vx_afm/afm_token_types.h index 0c08ed5a8f..0e8e6029ba 100644 --- a/met/src/libcode/vx_afm/afm_token_types.h +++ b/met/src/libcode/vx_afm/afm_token_types.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_afm/afmkeyword_to_string.cc b/met/src/libcode/vx_afm/afmkeyword_to_string.cc index 276823a6ef..80b9ee4af4 100644 --- a/met/src/libcode/vx_afm/afmkeyword_to_string.cc +++ b/met/src/libcode/vx_afm/afmkeyword_to_string.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_afm/afmkeyword_to_string.h b/met/src/libcode/vx_afm/afmkeyword_to_string.h index fe0c4bfc4f..382c62c9f4 100644 --- a/met/src/libcode/vx_afm/afmkeyword_to_string.h +++ b/met/src/libcode/vx_afm/afmkeyword_to_string.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_afm/afmtokentype_to_string.cc b/met/src/libcode/vx_afm/afmtokentype_to_string.cc index 0573e9d63f..a7a4df02e6 100644 --- a/met/src/libcode/vx_afm/afmtokentype_to_string.cc +++ b/met/src/libcode/vx_afm/afmtokentype_to_string.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_afm/afmtokentype_to_string.h b/met/src/libcode/vx_afm/afmtokentype_to_string.h index e33953c05a..122ceb2ead 100644 --- a/met/src/libcode/vx_afm/afmtokentype_to_string.h +++ b/met/src/libcode/vx_afm/afmtokentype_to_string.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_analysis_util/analysis_utils.cc b/met/src/libcode/vx_analysis_util/analysis_utils.cc index bae152a8ca..298683a373 100644 --- a/met/src/libcode/vx_analysis_util/analysis_utils.cc +++ b/met/src/libcode/vx_analysis_util/analysis_utils.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_analysis_util/analysis_utils.h b/met/src/libcode/vx_analysis_util/analysis_utils.h index 338c8133f2..035c0c7ee8 100644 --- a/met/src/libcode/vx_analysis_util/analysis_utils.h +++ b/met/src/libcode/vx_analysis_util/analysis_utils.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_analysis_util/by_case_info.cc b/met/src/libcode/vx_analysis_util/by_case_info.cc index 7985f35890..4ed22aa36c 100644 --- a/met/src/libcode/vx_analysis_util/by_case_info.cc +++ b/met/src/libcode/vx_analysis_util/by_case_info.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_analysis_util/by_case_info.h b/met/src/libcode/vx_analysis_util/by_case_info.h index a5a9a8f034..1c5391f82f 100644 --- a/met/src/libcode/vx_analysis_util/by_case_info.h +++ b/met/src/libcode/vx_analysis_util/by_case_info.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_analysis_util/mode_atts.cc b/met/src/libcode/vx_analysis_util/mode_atts.cc index 26b84e0d96..138e488b10 100644 --- a/met/src/libcode/vx_analysis_util/mode_atts.cc +++ b/met/src/libcode/vx_analysis_util/mode_atts.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_analysis_util/mode_atts.h b/met/src/libcode/vx_analysis_util/mode_atts.h index 39a728d790..f50977ba08 100644 --- a/met/src/libcode/vx_analysis_util/mode_atts.h +++ b/met/src/libcode/vx_analysis_util/mode_atts.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_analysis_util/mode_job.cc b/met/src/libcode/vx_analysis_util/mode_job.cc index 7e20a2ead6..dea7bee574 100644 --- a/met/src/libcode/vx_analysis_util/mode_job.cc +++ b/met/src/libcode/vx_analysis_util/mode_job.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_analysis_util/mode_job.h b/met/src/libcode/vx_analysis_util/mode_job.h index 3518a5baea..27e551a8a5 100644 --- a/met/src/libcode/vx_analysis_util/mode_job.h +++ b/met/src/libcode/vx_analysis_util/mode_job.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_analysis_util/mode_line.cc b/met/src/libcode/vx_analysis_util/mode_line.cc index d4bf67b8e1..f62739af92 100644 --- a/met/src/libcode/vx_analysis_util/mode_line.cc +++ b/met/src/libcode/vx_analysis_util/mode_line.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_analysis_util/mode_line.h b/met/src/libcode/vx_analysis_util/mode_line.h index 0abf426b6b..e5b0822255 100644 --- a/met/src/libcode/vx_analysis_util/mode_line.h +++ b/met/src/libcode/vx_analysis_util/mode_line.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_analysis_util/stat_job.cc b/met/src/libcode/vx_analysis_util/stat_job.cc index 1b00c802da..826c61806d 100644 --- a/met/src/libcode/vx_analysis_util/stat_job.cc +++ b/met/src/libcode/vx_analysis_util/stat_job.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_analysis_util/stat_job.h b/met/src/libcode/vx_analysis_util/stat_job.h index 80facaf912..e07b962519 100644 --- a/met/src/libcode/vx_analysis_util/stat_job.h +++ b/met/src/libcode/vx_analysis_util/stat_job.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_analysis_util/stat_line.cc b/met/src/libcode/vx_analysis_util/stat_line.cc index 9c2dadb7e8..0a47746f8f 100644 --- a/met/src/libcode/vx_analysis_util/stat_line.cc +++ b/met/src/libcode/vx_analysis_util/stat_line.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_analysis_util/stat_line.h b/met/src/libcode/vx_analysis_util/stat_line.h index 6362031d58..fd615ef8d6 100644 --- a/met/src/libcode/vx_analysis_util/stat_line.h +++ b/met/src/libcode/vx_analysis_util/stat_line.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_analysis_util/time_series.cc b/met/src/libcode/vx_analysis_util/time_series.cc index 29de1adfa0..2829989f99 100644 --- a/met/src/libcode/vx_analysis_util/time_series.cc +++ b/met/src/libcode/vx_analysis_util/time_series.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_analysis_util/time_series.h b/met/src/libcode/vx_analysis_util/time_series.h index ca4c2a88ac..efc2f948d3 100644 --- a/met/src/libcode/vx_analysis_util/time_series.h +++ b/met/src/libcode/vx_analysis_util/time_series.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_analysis_util/vx_analysis_util.h b/met/src/libcode/vx_analysis_util/vx_analysis_util.h index 9748f9dbea..8ea79ebf2d 100644 --- a/met/src/libcode/vx_analysis_util/vx_analysis_util.h +++ b/met/src/libcode/vx_analysis_util/vx_analysis_util.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_color/color.cc b/met/src/libcode/vx_color/color.cc index ac145ca346..ffb72de3ad 100644 --- a/met/src/libcode/vx_color/color.cc +++ b/met/src/libcode/vx_color/color.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_color/color.h b/met/src/libcode/vx_color/color.h index c0f61649d1..608d0f2667 100644 --- a/met/src/libcode/vx_color/color.h +++ b/met/src/libcode/vx_color/color.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_color/color_list.cc b/met/src/libcode/vx_color/color_list.cc index 4c965b6538..517ae095fa 100644 --- a/met/src/libcode/vx_color/color_list.cc +++ b/met/src/libcode/vx_color/color_list.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_color/color_list.h b/met/src/libcode/vx_color/color_list.h index 0996750a05..5ebe43af49 100644 --- a/met/src/libcode/vx_color/color_list.h +++ b/met/src/libcode/vx_color/color_list.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_color/color_parser.h b/met/src/libcode/vx_color/color_parser.h index c05be5694e..9ac68cfd87 100644 --- a/met/src/libcode/vx_color/color_parser.h +++ b/met/src/libcode/vx_color/color_parser.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_color/color_table.cc b/met/src/libcode/vx_color/color_table.cc index 62f00688a3..aa990b8189 100644 --- a/met/src/libcode/vx_color/color_table.cc +++ b/met/src/libcode/vx_color/color_table.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_color/vx_color.h b/met/src/libcode/vx_color/vx_color.h index 95e73da43f..c8b9a30538 100644 --- a/met/src/libcode/vx_color/vx_color.h +++ b/met/src/libcode/vx_color/vx_color.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d/data2d_utils.cc b/met/src/libcode/vx_data2d/data2d_utils.cc index ec3e01d624..b86829221c 100644 --- a/met/src/libcode/vx_data2d/data2d_utils.cc +++ b/met/src/libcode/vx_data2d/data2d_utils.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d/data2d_utils.h b/met/src/libcode/vx_data2d/data2d_utils.h index 605282e5ac..20c5793e58 100644 --- a/met/src/libcode/vx_data2d/data2d_utils.h +++ b/met/src/libcode/vx_data2d/data2d_utils.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d/data_class.cc b/met/src/libcode/vx_data2d/data_class.cc index 431c5fffb6..80ddbf3ef1 100644 --- a/met/src/libcode/vx_data2d/data_class.cc +++ b/met/src/libcode/vx_data2d/data_class.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d/data_class.h b/met/src/libcode/vx_data2d/data_class.h index b6a946ee04..0762346ad7 100644 --- a/met/src/libcode/vx_data2d/data_class.h +++ b/met/src/libcode/vx_data2d/data_class.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d/level_info.cc b/met/src/libcode/vx_data2d/level_info.cc index f97a802146..f1f18bdabe 100644 --- a/met/src/libcode/vx_data2d/level_info.cc +++ b/met/src/libcode/vx_data2d/level_info.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d/level_info.h b/met/src/libcode/vx_data2d/level_info.h index 838827bbf2..c551fa0e54 100644 --- a/met/src/libcode/vx_data2d/level_info.h +++ b/met/src/libcode/vx_data2d/level_info.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d/table_lookup.cc b/met/src/libcode/vx_data2d/table_lookup.cc index 87e9864282..7f5264d1ee 100644 --- a/met/src/libcode/vx_data2d/table_lookup.cc +++ b/met/src/libcode/vx_data2d/table_lookup.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d/table_lookup.h b/met/src/libcode/vx_data2d/table_lookup.h index f2be0e4352..6a8365d795 100644 --- a/met/src/libcode/vx_data2d/table_lookup.h +++ b/met/src/libcode/vx_data2d/table_lookup.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d/var_info.cc b/met/src/libcode/vx_data2d/var_info.cc index aa4449d2e5..81e8f11252 100644 --- a/met/src/libcode/vx_data2d/var_info.cc +++ b/met/src/libcode/vx_data2d/var_info.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d/var_info.h b/met/src/libcode/vx_data2d/var_info.h index f2801a49c0..2d80138878 100644 --- a/met/src/libcode/vx_data2d/var_info.h +++ b/met/src/libcode/vx_data2d/var_info.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d/vx_data2d.h b/met/src/libcode/vx_data2d/vx_data2d.h index 7ed632d465..d080544991 100644 --- a/met/src/libcode/vx_data2d/vx_data2d.h +++ b/met/src/libcode/vx_data2d/vx_data2d.h @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_factory/data2d_factory.cc b/met/src/libcode/vx_data2d_factory/data2d_factory.cc index 8e7c9ef452..75664a0d1a 100644 --- a/met/src/libcode/vx_data2d_factory/data2d_factory.cc +++ b/met/src/libcode/vx_data2d_factory/data2d_factory.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_factory/data2d_factory.h b/met/src/libcode/vx_data2d_factory/data2d_factory.h index c66ecc1df0..43d0575e49 100644 --- a/met/src/libcode/vx_data2d_factory/data2d_factory.h +++ b/met/src/libcode/vx_data2d_factory/data2d_factory.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_factory/data2d_factory_utils.cc b/met/src/libcode/vx_data2d_factory/data2d_factory_utils.cc index f9d0d60c39..3d638a065b 100644 --- a/met/src/libcode/vx_data2d_factory/data2d_factory_utils.cc +++ b/met/src/libcode/vx_data2d_factory/data2d_factory_utils.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_factory/data2d_factory_utils.h b/met/src/libcode/vx_data2d_factory/data2d_factory_utils.h index d92c580c59..e86e8df108 100644 --- a/met/src/libcode/vx_data2d_factory/data2d_factory_utils.h +++ b/met/src/libcode/vx_data2d_factory/data2d_factory_utils.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_factory/is_bufr_file.cc b/met/src/libcode/vx_data2d_factory/is_bufr_file.cc index 81dd8244c6..6103e79286 100644 --- a/met/src/libcode/vx_data2d_factory/is_bufr_file.cc +++ b/met/src/libcode/vx_data2d_factory/is_bufr_file.cc @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_factory/is_bufr_file.h b/met/src/libcode/vx_data2d_factory/is_bufr_file.h index 68ed46e117..9b2adb27c1 100644 --- a/met/src/libcode/vx_data2d_factory/is_bufr_file.h +++ b/met/src/libcode/vx_data2d_factory/is_bufr_file.h @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_factory/is_grib_file.cc b/met/src/libcode/vx_data2d_factory/is_grib_file.cc index 65603218b2..db7fc05046 100644 --- a/met/src/libcode/vx_data2d_factory/is_grib_file.cc +++ b/met/src/libcode/vx_data2d_factory/is_grib_file.cc @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_factory/is_grib_file.h b/met/src/libcode/vx_data2d_factory/is_grib_file.h index f690aa4aa8..5301859de7 100644 --- a/met/src/libcode/vx_data2d_factory/is_grib_file.h +++ b/met/src/libcode/vx_data2d_factory/is_grib_file.h @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_factory/is_netcdf_file.cc b/met/src/libcode/vx_data2d_factory/is_netcdf_file.cc index 6ddecfa972..7cc6ca6283 100644 --- a/met/src/libcode/vx_data2d_factory/is_netcdf_file.cc +++ b/met/src/libcode/vx_data2d_factory/is_netcdf_file.cc @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_factory/is_netcdf_file.h b/met/src/libcode/vx_data2d_factory/is_netcdf_file.h index 6a8f63e5c9..de06530466 100644 --- a/met/src/libcode/vx_data2d_factory/is_netcdf_file.h +++ b/met/src/libcode/vx_data2d_factory/is_netcdf_file.h @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_factory/parse_file_list.cc b/met/src/libcode/vx_data2d_factory/parse_file_list.cc index 93ae285016..b8cd615fd2 100644 --- a/met/src/libcode/vx_data2d_factory/parse_file_list.cc +++ b/met/src/libcode/vx_data2d_factory/parse_file_list.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_factory/parse_file_list.h b/met/src/libcode/vx_data2d_factory/parse_file_list.h index fc173a6b2b..35443a52ba 100644 --- a/met/src/libcode/vx_data2d_factory/parse_file_list.h +++ b/met/src/libcode/vx_data2d_factory/parse_file_list.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_factory/var_info_factory.cc b/met/src/libcode/vx_data2d_factory/var_info_factory.cc index 9c0f230b41..354be867c0 100644 --- a/met/src/libcode/vx_data2d_factory/var_info_factory.cc +++ b/met/src/libcode/vx_data2d_factory/var_info_factory.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_factory/var_info_factory.h b/met/src/libcode/vx_data2d_factory/var_info_factory.h index 53c658dd3c..35f12051b2 100644 --- a/met/src/libcode/vx_data2d_factory/var_info_factory.h +++ b/met/src/libcode/vx_data2d_factory/var_info_factory.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_factory/vx_data2d_factory.h b/met/src/libcode/vx_data2d_factory/vx_data2d_factory.h index 1ac73a478e..264c30886f 100644 --- a/met/src/libcode/vx_data2d_factory/vx_data2d_factory.h +++ b/met/src/libcode/vx_data2d_factory/vx_data2d_factory.h @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_grib/data2d_grib.cc b/met/src/libcode/vx_data2d_grib/data2d_grib.cc index 118215c5a5..adfe298daf 100644 --- a/met/src/libcode/vx_data2d_grib/data2d_grib.cc +++ b/met/src/libcode/vx_data2d_grib/data2d_grib.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_grib/data2d_grib.h b/met/src/libcode/vx_data2d_grib/data2d_grib.h index 61036f7181..63839220a5 100644 --- a/met/src/libcode/vx_data2d_grib/data2d_grib.h +++ b/met/src/libcode/vx_data2d_grib/data2d_grib.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_grib/data2d_grib_utils.cc b/met/src/libcode/vx_data2d_grib/data2d_grib_utils.cc index 19e6e366a2..8e6a694bdc 100644 --- a/met/src/libcode/vx_data2d_grib/data2d_grib_utils.cc +++ b/met/src/libcode/vx_data2d_grib/data2d_grib_utils.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_grib/data2d_grib_utils.h b/met/src/libcode/vx_data2d_grib/data2d_grib_utils.h index 20655cdbea..fa775f4a18 100644 --- a/met/src/libcode/vx_data2d_grib/data2d_grib_utils.h +++ b/met/src/libcode/vx_data2d_grib/data2d_grib_utils.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_grib/grib_classes.cc b/met/src/libcode/vx_data2d_grib/grib_classes.cc index 4e2192238a..ff351e2d28 100644 --- a/met/src/libcode/vx_data2d_grib/grib_classes.cc +++ b/met/src/libcode/vx_data2d_grib/grib_classes.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_grib/grib_classes.h b/met/src/libcode/vx_data2d_grib/grib_classes.h index d5e58d5b58..ce8b6687eb 100644 --- a/met/src/libcode/vx_data2d_grib/grib_classes.h +++ b/met/src/libcode/vx_data2d_grib/grib_classes.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_grib/grib_strings.cc b/met/src/libcode/vx_data2d_grib/grib_strings.cc index 00dd65ce69..2380f10c2f 100644 --- a/met/src/libcode/vx_data2d_grib/grib_strings.cc +++ b/met/src/libcode/vx_data2d_grib/grib_strings.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_grib/grib_strings.h b/met/src/libcode/vx_data2d_grib/grib_strings.h index 838f5ccaf2..500d5f7638 100644 --- a/met/src/libcode/vx_data2d_grib/grib_strings.h +++ b/met/src/libcode/vx_data2d_grib/grib_strings.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_grib/grib_utils.cc b/met/src/libcode/vx_data2d_grib/grib_utils.cc index 4b6f5fbe36..64c49234b4 100644 --- a/met/src/libcode/vx_data2d_grib/grib_utils.cc +++ b/met/src/libcode/vx_data2d_grib/grib_utils.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_grib/grib_utils.h b/met/src/libcode/vx_data2d_grib/grib_utils.h index 7b7168949a..7b3a1a9400 100644 --- a/met/src/libcode/vx_data2d_grib/grib_utils.h +++ b/met/src/libcode/vx_data2d_grib/grib_utils.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_grib/var_info_grib.cc b/met/src/libcode/vx_data2d_grib/var_info_grib.cc index 7594a1d1e6..de4d685846 100644 --- a/met/src/libcode/vx_data2d_grib/var_info_grib.cc +++ b/met/src/libcode/vx_data2d_grib/var_info_grib.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_grib/var_info_grib.h b/met/src/libcode/vx_data2d_grib/var_info_grib.h index 1fd2e8eca2..1e92bbbd93 100644 --- a/met/src/libcode/vx_data2d_grib/var_info_grib.h +++ b/met/src/libcode/vx_data2d_grib/var_info_grib.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_grib/vx_data2d_grib.h b/met/src/libcode/vx_data2d_grib/vx_data2d_grib.h index cd3cf6e1aa..92bf8fea02 100644 --- a/met/src/libcode/vx_data2d_grib/vx_data2d_grib.h +++ b/met/src/libcode/vx_data2d_grib/vx_data2d_grib.h @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_grib/vx_grib_classes.h b/met/src/libcode/vx_data2d_grib/vx_grib_classes.h index 1459dc589f..06131ea82a 100644 --- a/met/src/libcode/vx_data2d_grib/vx_grib_classes.h +++ b/met/src/libcode/vx_data2d_grib/vx_grib_classes.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_grib2/data2d_grib2.cc b/met/src/libcode/vx_data2d_grib2/data2d_grib2.cc index 291663cbf0..799b7cfb80 100644 --- a/met/src/libcode/vx_data2d_grib2/data2d_grib2.cc +++ b/met/src/libcode/vx_data2d_grib2/data2d_grib2.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_grib2/data2d_grib2.h b/met/src/libcode/vx_data2d_grib2/data2d_grib2.h index 69b47bbc3c..851bb78e0a 100644 --- a/met/src/libcode/vx_data2d_grib2/data2d_grib2.h +++ b/met/src/libcode/vx_data2d_grib2/data2d_grib2.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_grib2/var_info_grib2.cc b/met/src/libcode/vx_data2d_grib2/var_info_grib2.cc index b35efcd8b4..5fa3042bfe 100644 --- a/met/src/libcode/vx_data2d_grib2/var_info_grib2.cc +++ b/met/src/libcode/vx_data2d_grib2/var_info_grib2.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_grib2/var_info_grib2.h b/met/src/libcode/vx_data2d_grib2/var_info_grib2.h index 27ba9c396b..dd9cd994a0 100644 --- a/met/src/libcode/vx_data2d_grib2/var_info_grib2.h +++ b/met/src/libcode/vx_data2d_grib2/var_info_grib2.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_nc_met/data2d_nc_met.cc b/met/src/libcode/vx_data2d_nc_met/data2d_nc_met.cc index f5ad0e5708..0c73e8f677 100644 --- a/met/src/libcode/vx_data2d_nc_met/data2d_nc_met.cc +++ b/met/src/libcode/vx_data2d_nc_met/data2d_nc_met.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_nc_met/data2d_nc_met.h b/met/src/libcode/vx_data2d_nc_met/data2d_nc_met.h index 765d1b2e9c..36d80858c5 100644 --- a/met/src/libcode/vx_data2d_nc_met/data2d_nc_met.h +++ b/met/src/libcode/vx_data2d_nc_met/data2d_nc_met.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_nc_met/get_met_grid.cc b/met/src/libcode/vx_data2d_nc_met/get_met_grid.cc index 7a3bbed67c..d4c7519596 100644 --- a/met/src/libcode/vx_data2d_nc_met/get_met_grid.cc +++ b/met/src/libcode/vx_data2d_nc_met/get_met_grid.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_nc_met/get_met_grid.h b/met/src/libcode/vx_data2d_nc_met/get_met_grid.h index 2f33a62786..16aaf84662 100644 --- a/met/src/libcode/vx_data2d_nc_met/get_met_grid.h +++ b/met/src/libcode/vx_data2d_nc_met/get_met_grid.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_nc_met/met_file.cc b/met/src/libcode/vx_data2d_nc_met/met_file.cc index 83c56a5e8e..39dc06ca68 100644 --- a/met/src/libcode/vx_data2d_nc_met/met_file.cc +++ b/met/src/libcode/vx_data2d_nc_met/met_file.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_nc_met/met_file.h b/met/src/libcode/vx_data2d_nc_met/met_file.h index 71b01c4471..f2f218f617 100644 --- a/met/src/libcode/vx_data2d_nc_met/met_file.h +++ b/met/src/libcode/vx_data2d_nc_met/met_file.h @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_nc_met/var_info_nc_met.cc b/met/src/libcode/vx_data2d_nc_met/var_info_nc_met.cc index 49f14705ec..facb4e8702 100644 --- a/met/src/libcode/vx_data2d_nc_met/var_info_nc_met.cc +++ b/met/src/libcode/vx_data2d_nc_met/var_info_nc_met.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_nc_met/var_info_nc_met.h b/met/src/libcode/vx_data2d_nc_met/var_info_nc_met.h index bcc5ba6098..f2abb1e5ec 100644 --- a/met/src/libcode/vx_data2d_nc_met/var_info_nc_met.h +++ b/met/src/libcode/vx_data2d_nc_met/var_info_nc_met.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_nc_met/vx_data2d_nc_met.h b/met/src/libcode/vx_data2d_nc_met/vx_data2d_nc_met.h index e3e29292ce..979f915512 100644 --- a/met/src/libcode/vx_data2d_nc_met/vx_data2d_nc_met.h +++ b/met/src/libcode/vx_data2d_nc_met/vx_data2d_nc_met.h @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_nc_pinterp/data2d_nc_pinterp.cc b/met/src/libcode/vx_data2d_nc_pinterp/data2d_nc_pinterp.cc index ac21a36ea1..0af7e2e2b3 100644 --- a/met/src/libcode/vx_data2d_nc_pinterp/data2d_nc_pinterp.cc +++ b/met/src/libcode/vx_data2d_nc_pinterp/data2d_nc_pinterp.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_nc_pinterp/data2d_nc_pinterp.h b/met/src/libcode/vx_data2d_nc_pinterp/data2d_nc_pinterp.h index f1488ef717..f467b41a6b 100644 --- a/met/src/libcode/vx_data2d_nc_pinterp/data2d_nc_pinterp.h +++ b/met/src/libcode/vx_data2d_nc_pinterp/data2d_nc_pinterp.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_nc_pinterp/get_pinterp_grid.cc b/met/src/libcode/vx_data2d_nc_pinterp/get_pinterp_grid.cc index 2b933fb3a5..0dd8607c0b 100644 --- a/met/src/libcode/vx_data2d_nc_pinterp/get_pinterp_grid.cc +++ b/met/src/libcode/vx_data2d_nc_pinterp/get_pinterp_grid.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_nc_pinterp/get_pinterp_grid.h b/met/src/libcode/vx_data2d_nc_pinterp/get_pinterp_grid.h index a6e71e3f0f..1ca10b7294 100644 --- a/met/src/libcode/vx_data2d_nc_pinterp/get_pinterp_grid.h +++ b/met/src/libcode/vx_data2d_nc_pinterp/get_pinterp_grid.h @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_nc_pinterp/pinterp_file.cc b/met/src/libcode/vx_data2d_nc_pinterp/pinterp_file.cc index 84cec1cf06..b1b93d9e8a 100644 --- a/met/src/libcode/vx_data2d_nc_pinterp/pinterp_file.cc +++ b/met/src/libcode/vx_data2d_nc_pinterp/pinterp_file.cc @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_nc_pinterp/pinterp_file.h b/met/src/libcode/vx_data2d_nc_pinterp/pinterp_file.h index 8f0df6b8a6..3d2f0dc256 100644 --- a/met/src/libcode/vx_data2d_nc_pinterp/pinterp_file.h +++ b/met/src/libcode/vx_data2d_nc_pinterp/pinterp_file.h @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_nc_pinterp/var_info_nc_pinterp.cc b/met/src/libcode/vx_data2d_nc_pinterp/var_info_nc_pinterp.cc index 02da4ac8ac..9f16c1dea8 100644 --- a/met/src/libcode/vx_data2d_nc_pinterp/var_info_nc_pinterp.cc +++ b/met/src/libcode/vx_data2d_nc_pinterp/var_info_nc_pinterp.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_nc_pinterp/var_info_nc_pinterp.h b/met/src/libcode/vx_data2d_nc_pinterp/var_info_nc_pinterp.h index 226cc8ea8d..d48e6c2270 100644 --- a/met/src/libcode/vx_data2d_nc_pinterp/var_info_nc_pinterp.h +++ b/met/src/libcode/vx_data2d_nc_pinterp/var_info_nc_pinterp.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_nc_pinterp/vx_data2d_nc_pinterp.h b/met/src/libcode/vx_data2d_nc_pinterp/vx_data2d_nc_pinterp.h index 561cc2be49..3e6285e090 100644 --- a/met/src/libcode/vx_data2d_nc_pinterp/vx_data2d_nc_pinterp.h +++ b/met/src/libcode/vx_data2d_nc_pinterp/vx_data2d_nc_pinterp.h @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_nccf/data2d_nccf.cc b/met/src/libcode/vx_data2d_nccf/data2d_nccf.cc index 099b095565..4b023a32dc 100644 --- a/met/src/libcode/vx_data2d_nccf/data2d_nccf.cc +++ b/met/src/libcode/vx_data2d_nccf/data2d_nccf.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_nccf/data2d_nccf.h b/met/src/libcode/vx_data2d_nccf/data2d_nccf.h index 962e9b21a2..0ebbf50df6 100644 --- a/met/src/libcode/vx_data2d_nccf/data2d_nccf.h +++ b/met/src/libcode/vx_data2d_nccf/data2d_nccf.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_nccf/nccf_file.cc b/met/src/libcode/vx_data2d_nccf/nccf_file.cc index 91696d8a91..a43c25fcb5 100644 --- a/met/src/libcode/vx_data2d_nccf/nccf_file.cc +++ b/met/src/libcode/vx_data2d_nccf/nccf_file.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_nccf/nccf_file.h b/met/src/libcode/vx_data2d_nccf/nccf_file.h index 8acb54ed37..71fa039a60 100644 --- a/met/src/libcode/vx_data2d_nccf/nccf_file.h +++ b/met/src/libcode/vx_data2d_nccf/nccf_file.h @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_nccf/var_info_nccf.cc b/met/src/libcode/vx_data2d_nccf/var_info_nccf.cc index 24ed320c3c..8bfc679336 100644 --- a/met/src/libcode/vx_data2d_nccf/var_info_nccf.cc +++ b/met/src/libcode/vx_data2d_nccf/var_info_nccf.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_nccf/var_info_nccf.h b/met/src/libcode/vx_data2d_nccf/var_info_nccf.h index d346baadc4..f3d5a47d5e 100644 --- a/met/src/libcode/vx_data2d_nccf/var_info_nccf.h +++ b/met/src/libcode/vx_data2d_nccf/var_info_nccf.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_nccf/vx_data2d_nccf.h b/met/src/libcode/vx_data2d_nccf/vx_data2d_nccf.h index e74225f5bb..e8c7ecc00f 100644 --- a/met/src/libcode/vx_data2d_nccf/vx_data2d_nccf.h +++ b/met/src/libcode/vx_data2d_nccf/vx_data2d_nccf.h @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_python/data2d_python.cc b/met/src/libcode/vx_data2d_python/data2d_python.cc index bee5fef172..97fab35c6a 100644 --- a/met/src/libcode/vx_data2d_python/data2d_python.cc +++ b/met/src/libcode/vx_data2d_python/data2d_python.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_python/data2d_python.h b/met/src/libcode/vx_data2d_python/data2d_python.h index 5aa5b53272..0aebfe2710 100644 --- a/met/src/libcode/vx_data2d_python/data2d_python.h +++ b/met/src/libcode/vx_data2d_python/data2d_python.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_python/dataplane_from_numpy_array.cc b/met/src/libcode/vx_data2d_python/dataplane_from_numpy_array.cc index 61f997a267..16fe195edc 100644 --- a/met/src/libcode/vx_data2d_python/dataplane_from_numpy_array.cc +++ b/met/src/libcode/vx_data2d_python/dataplane_from_numpy_array.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_python/dataplane_from_numpy_array.h b/met/src/libcode/vx_data2d_python/dataplane_from_numpy_array.h index b1135cbd42..b6d7a1f25e 100644 --- a/met/src/libcode/vx_data2d_python/dataplane_from_numpy_array.h +++ b/met/src/libcode/vx_data2d_python/dataplane_from_numpy_array.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_python/dataplane_from_xarray.cc b/met/src/libcode/vx_data2d_python/dataplane_from_xarray.cc index 0e1f1dbaed..9704c73cb9 100644 --- a/met/src/libcode/vx_data2d_python/dataplane_from_xarray.cc +++ b/met/src/libcode/vx_data2d_python/dataplane_from_xarray.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_python/dataplane_from_xarray.h b/met/src/libcode/vx_data2d_python/dataplane_from_xarray.h index f623575429..58cb05f30b 100644 --- a/met/src/libcode/vx_data2d_python/dataplane_from_xarray.h +++ b/met/src/libcode/vx_data2d_python/dataplane_from_xarray.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_python/grid_from_python_dict.cc b/met/src/libcode/vx_data2d_python/grid_from_python_dict.cc index 51286678c4..d60bb8e39a 100644 --- a/met/src/libcode/vx_data2d_python/grid_from_python_dict.cc +++ b/met/src/libcode/vx_data2d_python/grid_from_python_dict.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_python/grid_from_python_dict.h b/met/src/libcode/vx_data2d_python/grid_from_python_dict.h index dab07c107e..a8bee09c2d 100644 --- a/met/src/libcode/vx_data2d_python/grid_from_python_dict.h +++ b/met/src/libcode/vx_data2d_python/grid_from_python_dict.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_python/python_dataplane.cc b/met/src/libcode/vx_data2d_python/python_dataplane.cc index 8280c99fe5..aac7ac9e15 100644 --- a/met/src/libcode/vx_data2d_python/python_dataplane.cc +++ b/met/src/libcode/vx_data2d_python/python_dataplane.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_python/python_dataplane.h b/met/src/libcode/vx_data2d_python/python_dataplane.h index 56aabec2f0..6b125a393d 100644 --- a/met/src/libcode/vx_data2d_python/python_dataplane.h +++ b/met/src/libcode/vx_data2d_python/python_dataplane.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_python/var_info_python.cc b/met/src/libcode/vx_data2d_python/var_info_python.cc index 81fb4e8045..3ca19e0621 100644 --- a/met/src/libcode/vx_data2d_python/var_info_python.cc +++ b/met/src/libcode/vx_data2d_python/var_info_python.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_data2d_python/var_info_python.h b/met/src/libcode/vx_data2d_python/var_info_python.h index 9df494c98d..bc02c8868d 100644 --- a/met/src/libcode/vx_data2d_python/var_info_python.h +++ b/met/src/libcode/vx_data2d_python/var_info_python.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_geodesy/spheroid.cc b/met/src/libcode/vx_geodesy/spheroid.cc index 6e35857d70..377a5b746b 100644 --- a/met/src/libcode/vx_geodesy/spheroid.cc +++ b/met/src/libcode/vx_geodesy/spheroid.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_geodesy/spheroid.h b/met/src/libcode/vx_geodesy/spheroid.h index 00acaff589..311940ac24 100644 --- a/met/src/libcode/vx_geodesy/spheroid.h +++ b/met/src/libcode/vx_geodesy/spheroid.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_geodesy/vx_geodesy.h b/met/src/libcode/vx_geodesy/vx_geodesy.h index baace676e7..fd01ed6f19 100644 --- a/met/src/libcode/vx_geodesy/vx_geodesy.h +++ b/met/src/libcode/vx_geodesy/vx_geodesy.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_gis/dbf_file.cc b/met/src/libcode/vx_gis/dbf_file.cc index 768cbc6581..703791d75e 100644 --- a/met/src/libcode/vx_gis/dbf_file.cc +++ b/met/src/libcode/vx_gis/dbf_file.cc @@ -1,6 +1,6 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_gis/dbf_file.h b/met/src/libcode/vx_gis/dbf_file.h index 1616ecb90c..6bc2a354f4 100644 --- a/met/src/libcode/vx_gis/dbf_file.h +++ b/met/src/libcode/vx_gis/dbf_file.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_gis/shp_array.h b/met/src/libcode/vx_gis/shp_array.h index 3f8492e713..419d1ca5bf 100644 --- a/met/src/libcode/vx_gis/shp_array.h +++ b/met/src/libcode/vx_gis/shp_array.h @@ -4,7 +4,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_gis/shp_file.cc b/met/src/libcode/vx_gis/shp_file.cc index 99fa62e2dd..14417c0048 100644 --- a/met/src/libcode/vx_gis/shp_file.cc +++ b/met/src/libcode/vx_gis/shp_file.cc @@ -4,7 +4,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_gis/shp_file.h b/met/src/libcode/vx_gis/shp_file.h index 2d7bf43320..77b2c48418 100644 --- a/met/src/libcode/vx_gis/shp_file.h +++ b/met/src/libcode/vx_gis/shp_file.h @@ -4,7 +4,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_gis/shp_point_record.cc b/met/src/libcode/vx_gis/shp_point_record.cc index 971cc943a1..6fde8fb74c 100644 --- a/met/src/libcode/vx_gis/shp_point_record.cc +++ b/met/src/libcode/vx_gis/shp_point_record.cc @@ -4,7 +4,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_gis/shp_point_record.h b/met/src/libcode/vx_gis/shp_point_record.h index 9b322372cf..e606f3f178 100644 --- a/met/src/libcode/vx_gis/shp_point_record.h +++ b/met/src/libcode/vx_gis/shp_point_record.h @@ -4,7 +4,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_gis/shp_poly_record.cc b/met/src/libcode/vx_gis/shp_poly_record.cc index 2ff662ddb6..b540b78779 100644 --- a/met/src/libcode/vx_gis/shp_poly_record.cc +++ b/met/src/libcode/vx_gis/shp_poly_record.cc @@ -4,7 +4,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_gis/shp_poly_record.h b/met/src/libcode/vx_gis/shp_poly_record.h index 6f37a06574..faad26478d 100644 --- a/met/src/libcode/vx_gis/shp_poly_record.h +++ b/met/src/libcode/vx_gis/shp_poly_record.h @@ -4,7 +4,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_gis/shp_types.h b/met/src/libcode/vx_gis/shp_types.h index 7e62a82d99..d9e240ebe3 100644 --- a/met/src/libcode/vx_gis/shp_types.h +++ b/met/src/libcode/vx_gis/shp_types.h @@ -4,7 +4,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_gis/shx_file.cc b/met/src/libcode/vx_gis/shx_file.cc index 8a2c0e63c9..1fec346dac 100644 --- a/met/src/libcode/vx_gis/shx_file.cc +++ b/met/src/libcode/vx_gis/shx_file.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_gis/shx_file.h b/met/src/libcode/vx_gis/shx_file.h index ee4745e50b..43dab61c2b 100644 --- a/met/src/libcode/vx_gis/shx_file.h +++ b/met/src/libcode/vx_gis/shx_file.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_gnomon/gnomon.cc b/met/src/libcode/vx_gnomon/gnomon.cc index 5d4d37d61b..9a1305eaed 100644 --- a/met/src/libcode/vx_gnomon/gnomon.cc +++ b/met/src/libcode/vx_gnomon/gnomon.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research(UCAR) // ** National Center for Atmospheric Research(NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_gnomon/gnomon.h b/met/src/libcode/vx_gnomon/gnomon.h index 1a35917833..e413e6161c 100644 --- a/met/src/libcode/vx_gnomon/gnomon.h +++ b/met/src/libcode/vx_gnomon/gnomon.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research(UCAR) // ** National Center for Atmospheric Research(NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_grid/earth_rotation.cc b/met/src/libcode/vx_grid/earth_rotation.cc index 2f3d8a3068..9171175e75 100644 --- a/met/src/libcode/vx_grid/earth_rotation.cc +++ b/met/src/libcode/vx_grid/earth_rotation.cc @@ -4,7 +4,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_grid/earth_rotation.h b/met/src/libcode/vx_grid/earth_rotation.h index cfffd00ae5..3c95b3f4f9 100644 --- a/met/src/libcode/vx_grid/earth_rotation.h +++ b/met/src/libcode/vx_grid/earth_rotation.h @@ -4,7 +4,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_grid/find_grid_by_name.cc b/met/src/libcode/vx_grid/find_grid_by_name.cc index ba32c5d5a4..a5f426b66d 100644 --- a/met/src/libcode/vx_grid/find_grid_by_name.cc +++ b/met/src/libcode/vx_grid/find_grid_by_name.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_grid/find_grid_by_name.h b/met/src/libcode/vx_grid/find_grid_by_name.h index de75c46210..0281353f39 100644 --- a/met/src/libcode/vx_grid/find_grid_by_name.h +++ b/met/src/libcode/vx_grid/find_grid_by_name.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_grid/gaussian_grid.cc b/met/src/libcode/vx_grid/gaussian_grid.cc index 6e9693cf3c..c44bd8a3dd 100644 --- a/met/src/libcode/vx_grid/gaussian_grid.cc +++ b/met/src/libcode/vx_grid/gaussian_grid.cc @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_grid/gaussian_grid.h b/met/src/libcode/vx_grid/gaussian_grid.h index 0632da7e5f..404b546097 100644 --- a/met/src/libcode/vx_grid/gaussian_grid.h +++ b/met/src/libcode/vx_grid/gaussian_grid.h @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_grid/gaussian_grid_defs.h b/met/src/libcode/vx_grid/gaussian_grid_defs.h index 9eae84a424..6e97f544b5 100644 --- a/met/src/libcode/vx_grid/gaussian_grid_defs.h +++ b/met/src/libcode/vx_grid/gaussian_grid_defs.h @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_grid/goes_grid.cc b/met/src/libcode/vx_grid/goes_grid.cc index 7909d1f1e9..eed67fbaaa 100644 --- a/met/src/libcode/vx_grid/goes_grid.cc +++ b/met/src/libcode/vx_grid/goes_grid.cc @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_grid/goes_grid.h b/met/src/libcode/vx_grid/goes_grid.h index 60729cc572..a43869b1f7 100644 --- a/met/src/libcode/vx_grid/goes_grid.h +++ b/met/src/libcode/vx_grid/goes_grid.h @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_grid/goes_grid_defs.h b/met/src/libcode/vx_grid/goes_grid_defs.h index 194f6aa3c9..e402b4cbd8 100644 --- a/met/src/libcode/vx_grid/goes_grid_defs.h +++ b/met/src/libcode/vx_grid/goes_grid_defs.h @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_grid/grid_base.cc b/met/src/libcode/vx_grid/grid_base.cc index 44a224f9cc..7b1fa99790 100644 --- a/met/src/libcode/vx_grid/grid_base.cc +++ b/met/src/libcode/vx_grid/grid_base.cc @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_grid/grid_base.h b/met/src/libcode/vx_grid/grid_base.h index f0b1334248..c2894f0df1 100644 --- a/met/src/libcode/vx_grid/grid_base.h +++ b/met/src/libcode/vx_grid/grid_base.h @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_grid/latlon_grid.cc b/met/src/libcode/vx_grid/latlon_grid.cc index 3830d3991a..6176424ed1 100644 --- a/met/src/libcode/vx_grid/latlon_grid.cc +++ b/met/src/libcode/vx_grid/latlon_grid.cc @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_grid/latlon_grid.h b/met/src/libcode/vx_grid/latlon_grid.h index e5876b0f2d..4f0f01cb5b 100644 --- a/met/src/libcode/vx_grid/latlon_grid.h +++ b/met/src/libcode/vx_grid/latlon_grid.h @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_grid/latlon_grid_defs.h b/met/src/libcode/vx_grid/latlon_grid_defs.h index 4cbdeff757..8643686044 100644 --- a/met/src/libcode/vx_grid/latlon_grid_defs.h +++ b/met/src/libcode/vx_grid/latlon_grid_defs.h @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_grid/latlon_xyz.cc b/met/src/libcode/vx_grid/latlon_xyz.cc index 2425080f83..e1eae674da 100644 --- a/met/src/libcode/vx_grid/latlon_xyz.cc +++ b/met/src/libcode/vx_grid/latlon_xyz.cc @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_grid/latlon_xyz.h b/met/src/libcode/vx_grid/latlon_xyz.h index 1618de5bbc..a59e89324a 100644 --- a/met/src/libcode/vx_grid/latlon_xyz.h +++ b/met/src/libcode/vx_grid/latlon_xyz.h @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_grid/lc_grid.cc b/met/src/libcode/vx_grid/lc_grid.cc index ad24440a8e..aab40b015f 100644 --- a/met/src/libcode/vx_grid/lc_grid.cc +++ b/met/src/libcode/vx_grid/lc_grid.cc @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_grid/lc_grid.h b/met/src/libcode/vx_grid/lc_grid.h index f9d0c5c747..6b67eabb0b 100644 --- a/met/src/libcode/vx_grid/lc_grid.h +++ b/met/src/libcode/vx_grid/lc_grid.h @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_grid/lc_grid_defs.h b/met/src/libcode/vx_grid/lc_grid_defs.h index 04d2f5a69c..2fa028a86c 100644 --- a/met/src/libcode/vx_grid/lc_grid_defs.h +++ b/met/src/libcode/vx_grid/lc_grid_defs.h @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_grid/merc_grid.cc b/met/src/libcode/vx_grid/merc_grid.cc index d1f6562721..c45dee4d6d 100644 --- a/met/src/libcode/vx_grid/merc_grid.cc +++ b/met/src/libcode/vx_grid/merc_grid.cc @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_grid/merc_grid.h b/met/src/libcode/vx_grid/merc_grid.h index fe925827c5..94dd842bda 100644 --- a/met/src/libcode/vx_grid/merc_grid.h +++ b/met/src/libcode/vx_grid/merc_grid.h @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_grid/merc_grid_defs.h b/met/src/libcode/vx_grid/merc_grid_defs.h index b06d660820..a3c485556d 100644 --- a/met/src/libcode/vx_grid/merc_grid_defs.h +++ b/met/src/libcode/vx_grid/merc_grid_defs.h @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_grid/rot_latlon_grid.cc b/met/src/libcode/vx_grid/rot_latlon_grid.cc index 48ddc21ca9..2e97cba498 100644 --- a/met/src/libcode/vx_grid/rot_latlon_grid.cc +++ b/met/src/libcode/vx_grid/rot_latlon_grid.cc @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_grid/rot_latlon_grid.h b/met/src/libcode/vx_grid/rot_latlon_grid.h index b25b7fbf76..eea580d285 100644 --- a/met/src/libcode/vx_grid/rot_latlon_grid.h +++ b/met/src/libcode/vx_grid/rot_latlon_grid.h @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_grid/st_grid.cc b/met/src/libcode/vx_grid/st_grid.cc index c5b7e455c0..64ed1a062d 100644 --- a/met/src/libcode/vx_grid/st_grid.cc +++ b/met/src/libcode/vx_grid/st_grid.cc @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_grid/st_grid.h b/met/src/libcode/vx_grid/st_grid.h index f9f4067812..e80f3aadff 100644 --- a/met/src/libcode/vx_grid/st_grid.h +++ b/met/src/libcode/vx_grid/st_grid.h @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_grid/st_grid_defs.h b/met/src/libcode/vx_grid/st_grid_defs.h index f19433b052..daab0a0df8 100644 --- a/met/src/libcode/vx_grid/st_grid_defs.h +++ b/met/src/libcode/vx_grid/st_grid_defs.h @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_grid/tcrmw_grid.cc b/met/src/libcode/vx_grid/tcrmw_grid.cc index 8602fbae1a..f1f9b4d10c 100644 --- a/met/src/libcode/vx_grid/tcrmw_grid.cc +++ b/met/src/libcode/vx_grid/tcrmw_grid.cc @@ -4,7 +4,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_grid/tcrmw_grid.h b/met/src/libcode/vx_grid/tcrmw_grid.h index f74f431420..9221838bae 100644 --- a/met/src/libcode/vx_grid/tcrmw_grid.h +++ b/met/src/libcode/vx_grid/tcrmw_grid.h @@ -4,7 +4,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_grid/vx_grid.h b/met/src/libcode/vx_grid/vx_grid.h index 798c8aea5a..8f81a980ba 100644 --- a/met/src/libcode/vx_grid/vx_grid.h +++ b/met/src/libcode/vx_grid/vx_grid.h @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_gsl_prob/gsl_bvn.cc b/met/src/libcode/vx_gsl_prob/gsl_bvn.cc index 97dd0fbc7a..7fe3cc0fe4 100644 --- a/met/src/libcode/vx_gsl_prob/gsl_bvn.cc +++ b/met/src/libcode/vx_gsl_prob/gsl_bvn.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_gsl_prob/gsl_bvn.h b/met/src/libcode/vx_gsl_prob/gsl_bvn.h index 8d322f241b..addff50eb4 100644 --- a/met/src/libcode/vx_gsl_prob/gsl_bvn.h +++ b/met/src/libcode/vx_gsl_prob/gsl_bvn.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_gsl_prob/gsl_cdf.cc b/met/src/libcode/vx_gsl_prob/gsl_cdf.cc index 065c3a6b9b..8d6ee16e0c 100644 --- a/met/src/libcode/vx_gsl_prob/gsl_cdf.cc +++ b/met/src/libcode/vx_gsl_prob/gsl_cdf.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_gsl_prob/gsl_cdf.h b/met/src/libcode/vx_gsl_prob/gsl_cdf.h index 0ea5b55afd..1fea3ada87 100644 --- a/met/src/libcode/vx_gsl_prob/gsl_cdf.h +++ b/met/src/libcode/vx_gsl_prob/gsl_cdf.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_gsl_prob/gsl_randist.cc b/met/src/libcode/vx_gsl_prob/gsl_randist.cc index 335d6bf359..92b3031d68 100644 --- a/met/src/libcode/vx_gsl_prob/gsl_randist.cc +++ b/met/src/libcode/vx_gsl_prob/gsl_randist.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_gsl_prob/gsl_randist.h b/met/src/libcode/vx_gsl_prob/gsl_randist.h index 3a260db080..619e86199b 100644 --- a/met/src/libcode/vx_gsl_prob/gsl_randist.h +++ b/met/src/libcode/vx_gsl_prob/gsl_randist.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_gsl_prob/gsl_statistics.cc b/met/src/libcode/vx_gsl_prob/gsl_statistics.cc index f5b50e37fb..4d775903d6 100644 --- a/met/src/libcode/vx_gsl_prob/gsl_statistics.cc +++ b/met/src/libcode/vx_gsl_prob/gsl_statistics.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_gsl_prob/gsl_statistics.h b/met/src/libcode/vx_gsl_prob/gsl_statistics.h index 6c493b7707..05600d8aa6 100644 --- a/met/src/libcode/vx_gsl_prob/gsl_statistics.h +++ b/met/src/libcode/vx_gsl_prob/gsl_statistics.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_gsl_prob/gsl_wavelet2d.cc b/met/src/libcode/vx_gsl_prob/gsl_wavelet2d.cc index 860c1f1b40..afa8fc3aa5 100644 --- a/met/src/libcode/vx_gsl_prob/gsl_wavelet2d.cc +++ b/met/src/libcode/vx_gsl_prob/gsl_wavelet2d.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_gsl_prob/gsl_wavelet2d.h b/met/src/libcode/vx_gsl_prob/gsl_wavelet2d.h index 1437d46f7e..59aa9ea12f 100644 --- a/met/src/libcode/vx_gsl_prob/gsl_wavelet2d.h +++ b/met/src/libcode/vx_gsl_prob/gsl_wavelet2d.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_gsl_prob/vx_gsl_prob.h b/met/src/libcode/vx_gsl_prob/vx_gsl_prob.h index 8258f3a768..1b94e82ad7 100644 --- a/met/src/libcode/vx_gsl_prob/vx_gsl_prob.h +++ b/met/src/libcode/vx_gsl_prob/vx_gsl_prob.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_nav/nav.cc b/met/src/libcode/vx_nav/nav.cc index 8cee1584ca..6cc2056268 100644 --- a/met/src/libcode/vx_nav/nav.cc +++ b/met/src/libcode/vx_nav/nav.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_nav/nav.h b/met/src/libcode/vx_nav/nav.h index c00804432a..67274110b7 100644 --- a/met/src/libcode/vx_nav/nav.h +++ b/met/src/libcode/vx_nav/nav.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_nc_obs/nc_obs_util.cc b/met/src/libcode/vx_nc_obs/nc_obs_util.cc index 4b545cf306..5cd8709097 100644 --- a/met/src/libcode/vx_nc_obs/nc_obs_util.cc +++ b/met/src/libcode/vx_nc_obs/nc_obs_util.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_nc_obs/nc_obs_util.h b/met/src/libcode/vx_nc_obs/nc_obs_util.h index 2141ac0e94..58c5748e24 100644 --- a/met/src/libcode/vx_nc_obs/nc_obs_util.h +++ b/met/src/libcode/vx_nc_obs/nc_obs_util.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_nc_obs/nc_summary.cc b/met/src/libcode/vx_nc_obs/nc_summary.cc index d8219e246b..2870ee713c 100644 --- a/met/src/libcode/vx_nc_obs/nc_summary.cc +++ b/met/src/libcode/vx_nc_obs/nc_summary.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_nc_obs/nc_summary.h b/met/src/libcode/vx_nc_obs/nc_summary.h index 6a99181041..85d11ec249 100644 --- a/met/src/libcode/vx_nc_obs/nc_summary.h +++ b/met/src/libcode/vx_nc_obs/nc_summary.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_nc_util/grid_output.cc b/met/src/libcode/vx_nc_util/grid_output.cc index 1ae6e5bebb..e66b6d6766 100644 --- a/met/src/libcode/vx_nc_util/grid_output.cc +++ b/met/src/libcode/vx_nc_util/grid_output.cc @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_nc_util/grid_output.h b/met/src/libcode/vx_nc_util/grid_output.h index 9c14588ae5..177dae5b53 100644 --- a/met/src/libcode/vx_nc_util/grid_output.h +++ b/met/src/libcode/vx_nc_util/grid_output.h @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_nc_util/load_tc_data.cc b/met/src/libcode/vx_nc_util/load_tc_data.cc index 240ac92c01..ec764baf67 100644 --- a/met/src/libcode/vx_nc_util/load_tc_data.cc +++ b/met/src/libcode/vx_nc_util/load_tc_data.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_nc_util/load_tc_data.h b/met/src/libcode/vx_nc_util/load_tc_data.h index bb7a6172f0..b6f0e59b45 100644 --- a/met/src/libcode/vx_nc_util/load_tc_data.h +++ b/met/src/libcode/vx_nc_util/load_tc_data.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_nc_util/nc_constants.h b/met/src/libcode/vx_nc_util/nc_constants.h index 86da357025..f1417ee916 100644 --- a/met/src/libcode/vx_nc_util/nc_constants.h +++ b/met/src/libcode/vx_nc_util/nc_constants.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_nc_util/nc_utils.cc b/met/src/libcode/vx_nc_util/nc_utils.cc index 62b64e233b..d45a49f8b6 100644 --- a/met/src/libcode/vx_nc_util/nc_utils.cc +++ b/met/src/libcode/vx_nc_util/nc_utils.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_nc_util/nc_utils.h b/met/src/libcode/vx_nc_util/nc_utils.h index 79cc241f07..e1e99d6c10 100644 --- a/met/src/libcode/vx_nc_util/nc_utils.h +++ b/met/src/libcode/vx_nc_util/nc_utils.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_nc_util/nc_var_info.cc b/met/src/libcode/vx_nc_util/nc_var_info.cc index 416e2e2c4a..0cf01a5c8d 100644 --- a/met/src/libcode/vx_nc_util/nc_var_info.cc +++ b/met/src/libcode/vx_nc_util/nc_var_info.cc @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_nc_util/nc_var_info.h b/met/src/libcode/vx_nc_util/nc_var_info.h index bd98cf2545..8e59432f27 100644 --- a/met/src/libcode/vx_nc_util/nc_var_info.h +++ b/met/src/libcode/vx_nc_util/nc_var_info.h @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_nc_util/vx_nc_util.h b/met/src/libcode/vx_nc_util/vx_nc_util.h index 208cc46b03..ee3878cdb7 100644 --- a/met/src/libcode/vx_nc_util/vx_nc_util.h +++ b/met/src/libcode/vx_nc_util/vx_nc_util.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_nc_util/write_netcdf.cc b/met/src/libcode/vx_nc_util/write_netcdf.cc index b193234d51..bf8eff148c 100644 --- a/met/src/libcode/vx_nc_util/write_netcdf.cc +++ b/met/src/libcode/vx_nc_util/write_netcdf.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_nc_util/write_netcdf.h b/met/src/libcode/vx_nc_util/write_netcdf.h index 49fac996e5..fd4b3adb32 100644 --- a/met/src/libcode/vx_nc_util/write_netcdf.h +++ b/met/src/libcode/vx_nc_util/write_netcdf.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_pb_util/copy_bytes.cc b/met/src/libcode/vx_pb_util/copy_bytes.cc index ad5941598e..eb1655d60a 100644 --- a/met/src/libcode/vx_pb_util/copy_bytes.cc +++ b/met/src/libcode/vx_pb_util/copy_bytes.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_pb_util/copy_bytes.h b/met/src/libcode/vx_pb_util/copy_bytes.h index e4ab211f00..8a90f4bbd9 100644 --- a/met/src/libcode/vx_pb_util/copy_bytes.h +++ b/met/src/libcode/vx_pb_util/copy_bytes.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_pb_util/do_blocking.cc b/met/src/libcode/vx_pb_util/do_blocking.cc index 21a5cd6c06..814da8beb5 100644 --- a/met/src/libcode/vx_pb_util/do_blocking.cc +++ b/met/src/libcode/vx_pb_util/do_blocking.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_pb_util/do_blocking.h b/met/src/libcode/vx_pb_util/do_blocking.h index 819e0301b7..2eef4d2081 100644 --- a/met/src/libcode/vx_pb_util/do_blocking.h +++ b/met/src/libcode/vx_pb_util/do_blocking.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_pb_util/do_unblocking.cc b/met/src/libcode/vx_pb_util/do_unblocking.cc index 782228f9ef..f4d5af6cf2 100644 --- a/met/src/libcode/vx_pb_util/do_unblocking.cc +++ b/met/src/libcode/vx_pb_util/do_unblocking.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_pb_util/do_unblocking.h b/met/src/libcode/vx_pb_util/do_unblocking.h index 185c7cd588..61359bee87 100644 --- a/met/src/libcode/vx_pb_util/do_unblocking.h +++ b/met/src/libcode/vx_pb_util/do_unblocking.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_pb_util/pblock.cc b/met/src/libcode/vx_pb_util/pblock.cc index 49ce48c0f1..26196a8421 100644 --- a/met/src/libcode/vx_pb_util/pblock.cc +++ b/met/src/libcode/vx_pb_util/pblock.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_pb_util/pblock.h b/met/src/libcode/vx_pb_util/pblock.h index d325a61ab5..7f7e83b1eb 100644 --- a/met/src/libcode/vx_pb_util/pblock.h +++ b/met/src/libcode/vx_pb_util/pblock.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_pb_util/vx_pb_util.h b/met/src/libcode/vx_pb_util/vx_pb_util.h index e41345b6f9..5da853037e 100644 --- a/met/src/libcode/vx_pb_util/vx_pb_util.h +++ b/met/src/libcode/vx_pb_util/vx_pb_util.h @@ -1,6 +1,6 @@ //////////////////////////////////////////////////////////////////////// // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_physics/thermo.cc b/met/src/libcode/vx_physics/thermo.cc index cdd49e32be..93d6d61289 100644 --- a/met/src/libcode/vx_physics/thermo.cc +++ b/met/src/libcode/vx_physics/thermo.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_physics/thermo.h b/met/src/libcode/vx_physics/thermo.h index 8dd27d50cf..64ae2eda75 100644 --- a/met/src/libcode/vx_physics/thermo.h +++ b/met/src/libcode/vx_physics/thermo.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_plot_util/data_plane_plot.cc b/met/src/libcode/vx_plot_util/data_plane_plot.cc index e5357cd1f5..d5723c6455 100644 --- a/met/src/libcode/vx_plot_util/data_plane_plot.cc +++ b/met/src/libcode/vx_plot_util/data_plane_plot.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_plot_util/data_plane_plot.h b/met/src/libcode/vx_plot_util/data_plane_plot.h index fc6081dd2c..a6069a55e0 100644 --- a/met/src/libcode/vx_plot_util/data_plane_plot.h +++ b/met/src/libcode/vx_plot_util/data_plane_plot.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_plot_util/map_region.cc b/met/src/libcode/vx_plot_util/map_region.cc index f352751d58..0481e8787b 100644 --- a/met/src/libcode/vx_plot_util/map_region.cc +++ b/met/src/libcode/vx_plot_util/map_region.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_plot_util/map_region.h b/met/src/libcode/vx_plot_util/map_region.h index c45eb75457..b7ee0e101a 100644 --- a/met/src/libcode/vx_plot_util/map_region.h +++ b/met/src/libcode/vx_plot_util/map_region.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_plot_util/vx_plot_util.cc b/met/src/libcode/vx_plot_util/vx_plot_util.cc index 3f9b815ab6..fc6e54f22a 100644 --- a/met/src/libcode/vx_plot_util/vx_plot_util.cc +++ b/met/src/libcode/vx_plot_util/vx_plot_util.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_plot_util/vx_plot_util.h b/met/src/libcode/vx_plot_util/vx_plot_util.h index cbf675c74b..c13aa3b1b4 100644 --- a/met/src/libcode/vx_plot_util/vx_plot_util.h +++ b/met/src/libcode/vx_plot_util/vx_plot_util.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_ps/ps_text.cc b/met/src/libcode/vx_ps/ps_text.cc index ec13c056f8..923ca2e6e4 100644 --- a/met/src/libcode/vx_ps/ps_text.cc +++ b/met/src/libcode/vx_ps/ps_text.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_ps/ps_text.h b/met/src/libcode/vx_ps/ps_text.h index 3165c16d6f..efa376cfea 100644 --- a/met/src/libcode/vx_ps/ps_text.h +++ b/met/src/libcode/vx_ps/ps_text.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_ps/table_helper.cc b/met/src/libcode/vx_ps/table_helper.cc index 1c303ae8fa..f4dc483f89 100644 --- a/met/src/libcode/vx_ps/table_helper.cc +++ b/met/src/libcode/vx_ps/table_helper.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_ps/table_helper.h b/met/src/libcode/vx_ps/table_helper.h index 02a7e82f9c..d236dceca0 100644 --- a/met/src/libcode/vx_ps/table_helper.h +++ b/met/src/libcode/vx_ps/table_helper.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_ps/vx_ps.cc b/met/src/libcode/vx_ps/vx_ps.cc index f5d2e2b403..68d311077b 100644 --- a/met/src/libcode/vx_ps/vx_ps.cc +++ b/met/src/libcode/vx_ps/vx_ps.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_ps/vx_ps.h b/met/src/libcode/vx_ps/vx_ps.h index fe1f400c7c..28d4f92ccf 100644 --- a/met/src/libcode/vx_ps/vx_ps.h +++ b/met/src/libcode/vx_ps/vx_ps.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_pxm/pbm.cc b/met/src/libcode/vx_pxm/pbm.cc index 806815837d..36b8a94a65 100644 --- a/met/src/libcode/vx_pxm/pbm.cc +++ b/met/src/libcode/vx_pxm/pbm.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_pxm/pbm.h b/met/src/libcode/vx_pxm/pbm.h index 2e604a9342..d24537a7fb 100644 --- a/met/src/libcode/vx_pxm/pbm.h +++ b/met/src/libcode/vx_pxm/pbm.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_pxm/pcm.cc b/met/src/libcode/vx_pxm/pcm.cc index 1b4160ff40..3919805709 100644 --- a/met/src/libcode/vx_pxm/pcm.cc +++ b/met/src/libcode/vx_pxm/pcm.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_pxm/pcm.h b/met/src/libcode/vx_pxm/pcm.h index f84d45f517..3ef1f4968d 100644 --- a/met/src/libcode/vx_pxm/pcm.h +++ b/met/src/libcode/vx_pxm/pcm.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_pxm/pgm.cc b/met/src/libcode/vx_pxm/pgm.cc index 6ea60e1f90..f8eb026cd8 100644 --- a/met/src/libcode/vx_pxm/pgm.cc +++ b/met/src/libcode/vx_pxm/pgm.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_pxm/pgm.h b/met/src/libcode/vx_pxm/pgm.h index 8503af3740..adf2481c1e 100644 --- a/met/src/libcode/vx_pxm/pgm.h +++ b/met/src/libcode/vx_pxm/pgm.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_pxm/ppm.cc b/met/src/libcode/vx_pxm/ppm.cc index bcac4944f3..c12c130e56 100644 --- a/met/src/libcode/vx_pxm/ppm.cc +++ b/met/src/libcode/vx_pxm/ppm.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_pxm/ppm.h b/met/src/libcode/vx_pxm/ppm.h index 5d40eaa180..e9c6d80975 100644 --- a/met/src/libcode/vx_pxm/ppm.h +++ b/met/src/libcode/vx_pxm/ppm.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_pxm/pxm_base.cc b/met/src/libcode/vx_pxm/pxm_base.cc index 576b16cde5..5e4450e36c 100644 --- a/met/src/libcode/vx_pxm/pxm_base.cc +++ b/met/src/libcode/vx_pxm/pxm_base.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_pxm/pxm_base.h b/met/src/libcode/vx_pxm/pxm_base.h index 06ebc2ac9d..59d5717a04 100644 --- a/met/src/libcode/vx_pxm/pxm_base.h +++ b/met/src/libcode/vx_pxm/pxm_base.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_pxm/pxm_utils.cc b/met/src/libcode/vx_pxm/pxm_utils.cc index d76d7b7faa..58640e2040 100644 --- a/met/src/libcode/vx_pxm/pxm_utils.cc +++ b/met/src/libcode/vx_pxm/pxm_utils.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_pxm/pxm_utils.h b/met/src/libcode/vx_pxm/pxm_utils.h index b6f754e486..fee904887a 100644 --- a/met/src/libcode/vx_pxm/pxm_utils.h +++ b/met/src/libcode/vx_pxm/pxm_utils.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_pxm/vx_pxm.h b/met/src/libcode/vx_pxm/vx_pxm.h index e33203d0b5..d98c56d492 100644 --- a/met/src/libcode/vx_pxm/vx_pxm.h +++ b/met/src/libcode/vx_pxm/vx_pxm.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_python3_utils/global_python.h b/met/src/libcode/vx_python3_utils/global_python.h index e3ee2181c5..3459f27dda 100644 --- a/met/src/libcode/vx_python3_utils/global_python.h +++ b/met/src/libcode/vx_python3_utils/global_python.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_python3_utils/python3_dict.cc b/met/src/libcode/vx_python3_utils/python3_dict.cc index 99a0d5fc93..e3fbcc4191 100644 --- a/met/src/libcode/vx_python3_utils/python3_dict.cc +++ b/met/src/libcode/vx_python3_utils/python3_dict.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_python3_utils/python3_dict.h b/met/src/libcode/vx_python3_utils/python3_dict.h index 34cfd803de..1b747d183d 100644 --- a/met/src/libcode/vx_python3_utils/python3_dict.h +++ b/met/src/libcode/vx_python3_utils/python3_dict.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_python3_utils/python3_list.cc b/met/src/libcode/vx_python3_utils/python3_list.cc index 554be77c53..5a91bb92a9 100644 --- a/met/src/libcode/vx_python3_utils/python3_list.cc +++ b/met/src/libcode/vx_python3_utils/python3_list.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_python3_utils/python3_list.h b/met/src/libcode/vx_python3_utils/python3_list.h index b6690d510e..d502c09005 100644 --- a/met/src/libcode/vx_python3_utils/python3_list.h +++ b/met/src/libcode/vx_python3_utils/python3_list.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_python3_utils/wchar_argv.cc b/met/src/libcode/vx_python3_utils/wchar_argv.cc index f8dca24f47..2460fa5776 100644 --- a/met/src/libcode/vx_python3_utils/wchar_argv.cc +++ b/met/src/libcode/vx_python3_utils/wchar_argv.cc @@ -4,7 +4,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_python3_utils/wchar_argv.h b/met/src/libcode/vx_python3_utils/wchar_argv.h index 10be5bfe06..a7fe2b42b0 100644 --- a/met/src/libcode/vx_python3_utils/wchar_argv.h +++ b/met/src/libcode/vx_python3_utils/wchar_argv.h @@ -4,7 +4,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_regrid/vx_regrid.cc b/met/src/libcode/vx_regrid/vx_regrid.cc index 188ef51057..1094fd6c86 100644 --- a/met/src/libcode/vx_regrid/vx_regrid.cc +++ b/met/src/libcode/vx_regrid/vx_regrid.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_regrid/vx_regrid.h b/met/src/libcode/vx_regrid/vx_regrid.h index 11f7a65ba7..521b2d89c8 100644 --- a/met/src/libcode/vx_regrid/vx_regrid.h +++ b/met/src/libcode/vx_regrid/vx_regrid.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_regrid/vx_regrid_budget.cc b/met/src/libcode/vx_regrid/vx_regrid_budget.cc index a4e7771fa0..881e56ef1c 100644 --- a/met/src/libcode/vx_regrid/vx_regrid_budget.cc +++ b/met/src/libcode/vx_regrid/vx_regrid_budget.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_render/ascii85_filter.cc b/met/src/libcode/vx_render/ascii85_filter.cc index b3375e5da4..2646ac7f0d 100644 --- a/met/src/libcode/vx_render/ascii85_filter.cc +++ b/met/src/libcode/vx_render/ascii85_filter.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_render/ascii85_filter.h b/met/src/libcode/vx_render/ascii85_filter.h index 2c1ec28bda..85e650595d 100644 --- a/met/src/libcode/vx_render/ascii85_filter.h +++ b/met/src/libcode/vx_render/ascii85_filter.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_render/bit_filter.cc b/met/src/libcode/vx_render/bit_filter.cc index 6006daa8d6..f1d80dc6fc 100644 --- a/met/src/libcode/vx_render/bit_filter.cc +++ b/met/src/libcode/vx_render/bit_filter.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_render/bit_filter.h b/met/src/libcode/vx_render/bit_filter.h index 867afe83c7..77ba44f78d 100644 --- a/met/src/libcode/vx_render/bit_filter.h +++ b/met/src/libcode/vx_render/bit_filter.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_render/flate_filter.cc b/met/src/libcode/vx_render/flate_filter.cc index 7d1a27bd4f..40272d3f0a 100644 --- a/met/src/libcode/vx_render/flate_filter.cc +++ b/met/src/libcode/vx_render/flate_filter.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_render/flate_filter.h b/met/src/libcode/vx_render/flate_filter.h index abeeed4bdf..6d73cdc9f7 100644 --- a/met/src/libcode/vx_render/flate_filter.h +++ b/met/src/libcode/vx_render/flate_filter.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_render/hex_filter.cc b/met/src/libcode/vx_render/hex_filter.cc index 134d1f0640..0e2bc10654 100644 --- a/met/src/libcode/vx_render/hex_filter.cc +++ b/met/src/libcode/vx_render/hex_filter.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_render/hex_filter.h b/met/src/libcode/vx_render/hex_filter.h index e473dea92f..6f6965d099 100644 --- a/met/src/libcode/vx_render/hex_filter.h +++ b/met/src/libcode/vx_render/hex_filter.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_render/ps_filter.cc b/met/src/libcode/vx_render/ps_filter.cc index 0eaa98ad38..fe74d522a8 100644 --- a/met/src/libcode/vx_render/ps_filter.cc +++ b/met/src/libcode/vx_render/ps_filter.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_render/ps_filter.h b/met/src/libcode/vx_render/ps_filter.h index 9a17d621f3..041a0f3aa8 100644 --- a/met/src/libcode/vx_render/ps_filter.h +++ b/met/src/libcode/vx_render/ps_filter.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_render/psout_filter.cc b/met/src/libcode/vx_render/psout_filter.cc index db579b31b6..45a043ad53 100644 --- a/met/src/libcode/vx_render/psout_filter.cc +++ b/met/src/libcode/vx_render/psout_filter.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_render/psout_filter.h b/met/src/libcode/vx_render/psout_filter.h index cbfc03b364..5ea36d2c17 100644 --- a/met/src/libcode/vx_render/psout_filter.h +++ b/met/src/libcode/vx_render/psout_filter.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_render/render_pbm.cc b/met/src/libcode/vx_render/render_pbm.cc index 0a3d86e808..af98e535fd 100644 --- a/met/src/libcode/vx_render/render_pbm.cc +++ b/met/src/libcode/vx_render/render_pbm.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_render/render_pcm.cc b/met/src/libcode/vx_render/render_pcm.cc index 587a7670b1..3246800645 100644 --- a/met/src/libcode/vx_render/render_pcm.cc +++ b/met/src/libcode/vx_render/render_pcm.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_render/render_pgm.cc b/met/src/libcode/vx_render/render_pgm.cc index ceba2dfd21..9a199c6d47 100644 --- a/met/src/libcode/vx_render/render_pgm.cc +++ b/met/src/libcode/vx_render/render_pgm.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_render/render_ppm.cc b/met/src/libcode/vx_render/render_ppm.cc index fa17545723..2b1a63ff6c 100644 --- a/met/src/libcode/vx_render/render_ppm.cc +++ b/met/src/libcode/vx_render/render_ppm.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_render/renderinfo.cc b/met/src/libcode/vx_render/renderinfo.cc index 7ede10050c..a57330dfee 100644 --- a/met/src/libcode/vx_render/renderinfo.cc +++ b/met/src/libcode/vx_render/renderinfo.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_render/renderinfo.h b/met/src/libcode/vx_render/renderinfo.h index 6107f03515..27475473e8 100644 --- a/met/src/libcode/vx_render/renderinfo.h +++ b/met/src/libcode/vx_render/renderinfo.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_render/rle_filter.cc b/met/src/libcode/vx_render/rle_filter.cc index d022818119..39607b27b7 100644 --- a/met/src/libcode/vx_render/rle_filter.cc +++ b/met/src/libcode/vx_render/rle_filter.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_render/rle_filter.h b/met/src/libcode/vx_render/rle_filter.h index 2b8539a78b..e941d122ce 100644 --- a/met/src/libcode/vx_render/rle_filter.h +++ b/met/src/libcode/vx_render/rle_filter.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_render/uc_queue.cc b/met/src/libcode/vx_render/uc_queue.cc index 54126b9fdf..f176ee5953 100644 --- a/met/src/libcode/vx_render/uc_queue.cc +++ b/met/src/libcode/vx_render/uc_queue.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_render/uc_queue.h b/met/src/libcode/vx_render/uc_queue.h index ff2493126a..7795c9d2d4 100644 --- a/met/src/libcode/vx_render/uc_queue.h +++ b/met/src/libcode/vx_render/uc_queue.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_render/vx_render.h b/met/src/libcode/vx_render/vx_render.h index 0052dd4578..1adb848cf2 100644 --- a/met/src/libcode/vx_render/vx_render.h +++ b/met/src/libcode/vx_render/vx_render.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_series_data/series_data.cc b/met/src/libcode/vx_series_data/series_data.cc index c7aafa8203..02ec7e79bf 100644 --- a/met/src/libcode/vx_series_data/series_data.cc +++ b/met/src/libcode/vx_series_data/series_data.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_series_data/series_data.h b/met/src/libcode/vx_series_data/series_data.h index 4aa41f5e90..90235519b6 100644 --- a/met/src/libcode/vx_series_data/series_data.h +++ b/met/src/libcode/vx_series_data/series_data.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_series_data/series_pdf.cc b/met/src/libcode/vx_series_data/series_pdf.cc index 15f1c8cf15..994dc16618 100644 --- a/met/src/libcode/vx_series_data/series_pdf.cc +++ b/met/src/libcode/vx_series_data/series_pdf.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_series_data/series_pdf.h b/met/src/libcode/vx_series_data/series_pdf.h index 32962a1dd7..7a200357d5 100644 --- a/met/src/libcode/vx_series_data/series_pdf.h +++ b/met/src/libcode/vx_series_data/series_pdf.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_shapedata/engine.cc b/met/src/libcode/vx_shapedata/engine.cc index 849ba80da8..ff0b98e393 100644 --- a/met/src/libcode/vx_shapedata/engine.cc +++ b/met/src/libcode/vx_shapedata/engine.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_shapedata/engine.h b/met/src/libcode/vx_shapedata/engine.h index c56732fd7b..41906284fd 100644 --- a/met/src/libcode/vx_shapedata/engine.h +++ b/met/src/libcode/vx_shapedata/engine.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_shapedata/interest.cc b/met/src/libcode/vx_shapedata/interest.cc index 9e3735adb8..2c42129b94 100644 --- a/met/src/libcode/vx_shapedata/interest.cc +++ b/met/src/libcode/vx_shapedata/interest.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_shapedata/interest.h b/met/src/libcode/vx_shapedata/interest.h index 45095f82b9..80a38a7606 100644 --- a/met/src/libcode/vx_shapedata/interest.h +++ b/met/src/libcode/vx_shapedata/interest.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_shapedata/mode_columns.h b/met/src/libcode/vx_shapedata/mode_columns.h index f18b501305..f478579cba 100644 --- a/met/src/libcode/vx_shapedata/mode_columns.h +++ b/met/src/libcode/vx_shapedata/mode_columns.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_shapedata/mode_conf_info.cc b/met/src/libcode/vx_shapedata/mode_conf_info.cc index 40ae8db179..06ac25c914 100644 --- a/met/src/libcode/vx_shapedata/mode_conf_info.cc +++ b/met/src/libcode/vx_shapedata/mode_conf_info.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_shapedata/mode_conf_info.h b/met/src/libcode/vx_shapedata/mode_conf_info.h index c644cbdc41..7521fad258 100644 --- a/met/src/libcode/vx_shapedata/mode_conf_info.h +++ b/met/src/libcode/vx_shapedata/mode_conf_info.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_shapedata/moments.cc b/met/src/libcode/vx_shapedata/moments.cc index 5c471c35f0..ed7125beab 100644 --- a/met/src/libcode/vx_shapedata/moments.cc +++ b/met/src/libcode/vx_shapedata/moments.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_shapedata/moments.h b/met/src/libcode/vx_shapedata/moments.h index e925064b37..f05ac292c4 100644 --- a/met/src/libcode/vx_shapedata/moments.h +++ b/met/src/libcode/vx_shapedata/moments.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_shapedata/node.cc b/met/src/libcode/vx_shapedata/node.cc index 16a4cdd49f..1174ded749 100644 --- a/met/src/libcode/vx_shapedata/node.cc +++ b/met/src/libcode/vx_shapedata/node.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_shapedata/node.h b/met/src/libcode/vx_shapedata/node.h index 50be097612..56089e1f1c 100644 --- a/met/src/libcode/vx_shapedata/node.h +++ b/met/src/libcode/vx_shapedata/node.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_shapedata/set.cc b/met/src/libcode/vx_shapedata/set.cc index b994788310..3f1fd4152b 100644 --- a/met/src/libcode/vx_shapedata/set.cc +++ b/met/src/libcode/vx_shapedata/set.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_shapedata/set.h b/met/src/libcode/vx_shapedata/set.h index 6c811be5ee..4e73eb3082 100644 --- a/met/src/libcode/vx_shapedata/set.h +++ b/met/src/libcode/vx_shapedata/set.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_shapedata/shape.h b/met/src/libcode/vx_shapedata/shape.h index c84a96eb66..a78b28cdcd 100644 --- a/met/src/libcode/vx_shapedata/shape.h +++ b/met/src/libcode/vx_shapedata/shape.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_shapedata/shapedata.cc b/met/src/libcode/vx_shapedata/shapedata.cc index 8794f85389..4a0016ea59 100644 --- a/met/src/libcode/vx_shapedata/shapedata.cc +++ b/met/src/libcode/vx_shapedata/shapedata.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_shapedata/shapedata.h b/met/src/libcode/vx_shapedata/shapedata.h index 8d06f5f35c..c045e9971c 100644 --- a/met/src/libcode/vx_shapedata/shapedata.h +++ b/met/src/libcode/vx_shapedata/shapedata.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_shapedata/vx_shapedata.h b/met/src/libcode/vx_shapedata/vx_shapedata.h index 4efdc616ca..77ca27f1c7 100644 --- a/met/src/libcode/vx_shapedata/vx_shapedata.h +++ b/met/src/libcode/vx_shapedata/vx_shapedata.h @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_solar/astro_constants.h b/met/src/libcode/vx_solar/astro_constants.h index 9686d1f65b..53e53a8f7f 100644 --- a/met/src/libcode/vx_solar/astro_constants.h +++ b/met/src/libcode/vx_solar/astro_constants.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_solar/siderial.cc b/met/src/libcode/vx_solar/siderial.cc index 2db04d44ff..4e528ca7c3 100644 --- a/met/src/libcode/vx_solar/siderial.cc +++ b/met/src/libcode/vx_solar/siderial.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_solar/siderial.h b/met/src/libcode/vx_solar/siderial.h index 57b6bc24ab..c2ee6ffed0 100644 --- a/met/src/libcode/vx_solar/siderial.h +++ b/met/src/libcode/vx_solar/siderial.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_solar/solar.cc b/met/src/libcode/vx_solar/solar.cc index 5849df152a..283c71ec4f 100644 --- a/met/src/libcode/vx_solar/solar.cc +++ b/met/src/libcode/vx_solar/solar.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_solar/solar.h b/met/src/libcode/vx_solar/solar.h index dba2ff10e0..052d3ffe69 100644 --- a/met/src/libcode/vx_solar/solar.h +++ b/met/src/libcode/vx_solar/solar.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_stat_out/stat_columns.cc b/met/src/libcode/vx_stat_out/stat_columns.cc index aeaa1ff684..49b274da18 100644 --- a/met/src/libcode/vx_stat_out/stat_columns.cc +++ b/met/src/libcode/vx_stat_out/stat_columns.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_stat_out/stat_columns.h b/met/src/libcode/vx_stat_out/stat_columns.h index f5db8bb977..ff974d7c1e 100644 --- a/met/src/libcode/vx_stat_out/stat_columns.h +++ b/met/src/libcode/vx_stat_out/stat_columns.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_stat_out/stat_hdr_columns.cc b/met/src/libcode/vx_stat_out/stat_hdr_columns.cc index 85f933029b..2ab360b744 100644 --- a/met/src/libcode/vx_stat_out/stat_hdr_columns.cc +++ b/met/src/libcode/vx_stat_out/stat_hdr_columns.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_stat_out/stat_hdr_columns.h b/met/src/libcode/vx_stat_out/stat_hdr_columns.h index 8967621c02..a7d8564d62 100644 --- a/met/src/libcode/vx_stat_out/stat_hdr_columns.h +++ b/met/src/libcode/vx_stat_out/stat_hdr_columns.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_stat_out/vx_stat_out.h b/met/src/libcode/vx_stat_out/vx_stat_out.h index 7aba14f5b4..19800bb5ce 100644 --- a/met/src/libcode/vx_stat_out/vx_stat_out.h +++ b/met/src/libcode/vx_stat_out/vx_stat_out.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_statistics/apply_mask.cc b/met/src/libcode/vx_statistics/apply_mask.cc index b97e9272d3..1aea2fe836 100644 --- a/met/src/libcode/vx_statistics/apply_mask.cc +++ b/met/src/libcode/vx_statistics/apply_mask.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_statistics/apply_mask.h b/met/src/libcode/vx_statistics/apply_mask.h index 5e62500d73..5dcb6bd14c 100644 --- a/met/src/libcode/vx_statistics/apply_mask.h +++ b/met/src/libcode/vx_statistics/apply_mask.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_statistics/compute_ci.cc b/met/src/libcode/vx_statistics/compute_ci.cc index 9b0f55d38c..2e4caa83f6 100644 --- a/met/src/libcode/vx_statistics/compute_ci.cc +++ b/met/src/libcode/vx_statistics/compute_ci.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_statistics/compute_ci.h b/met/src/libcode/vx_statistics/compute_ci.h index f74559aa02..ab3fa01977 100644 --- a/met/src/libcode/vx_statistics/compute_ci.h +++ b/met/src/libcode/vx_statistics/compute_ci.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_statistics/compute_stats.cc b/met/src/libcode/vx_statistics/compute_stats.cc index 211fe9860e..701ef35b96 100644 --- a/met/src/libcode/vx_statistics/compute_stats.cc +++ b/met/src/libcode/vx_statistics/compute_stats.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_statistics/compute_stats.h b/met/src/libcode/vx_statistics/compute_stats.h index 102d0a2a49..0536350cce 100644 --- a/met/src/libcode/vx_statistics/compute_stats.h +++ b/met/src/libcode/vx_statistics/compute_stats.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_statistics/contable.cc b/met/src/libcode/vx_statistics/contable.cc index fbae3e5904..7d952e4eb6 100644 --- a/met/src/libcode/vx_statistics/contable.cc +++ b/met/src/libcode/vx_statistics/contable.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_statistics/contable.h b/met/src/libcode/vx_statistics/contable.h index e124870a16..dd7dd05ca5 100644 --- a/met/src/libcode/vx_statistics/contable.h +++ b/met/src/libcode/vx_statistics/contable.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_statistics/contable_nx2.cc b/met/src/libcode/vx_statistics/contable_nx2.cc index aaa0bde6fb..ab9b19922c 100644 --- a/met/src/libcode/vx_statistics/contable_nx2.cc +++ b/met/src/libcode/vx_statistics/contable_nx2.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_statistics/contable_stats.cc b/met/src/libcode/vx_statistics/contable_stats.cc index bfa961deb8..eb51399d43 100644 --- a/met/src/libcode/vx_statistics/contable_stats.cc +++ b/met/src/libcode/vx_statistics/contable_stats.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_statistics/ens_stats.cc b/met/src/libcode/vx_statistics/ens_stats.cc index ebfe4b5e28..ac9805a928 100644 --- a/met/src/libcode/vx_statistics/ens_stats.cc +++ b/met/src/libcode/vx_statistics/ens_stats.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_statistics/ens_stats.h b/met/src/libcode/vx_statistics/ens_stats.h index 8290ddfabd..987b172907 100644 --- a/met/src/libcode/vx_statistics/ens_stats.h +++ b/met/src/libcode/vx_statistics/ens_stats.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_statistics/met_stats.cc b/met/src/libcode/vx_statistics/met_stats.cc index 27904462d1..a01b8a57eb 100644 --- a/met/src/libcode/vx_statistics/met_stats.cc +++ b/met/src/libcode/vx_statistics/met_stats.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_statistics/met_stats.h b/met/src/libcode/vx_statistics/met_stats.h index 4967673101..93c1c60020 100644 --- a/met/src/libcode/vx_statistics/met_stats.h +++ b/met/src/libcode/vx_statistics/met_stats.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_statistics/obs_error.cc b/met/src/libcode/vx_statistics/obs_error.cc index 6ff2d4d185..03b91b8cdb 100644 --- a/met/src/libcode/vx_statistics/obs_error.cc +++ b/met/src/libcode/vx_statistics/obs_error.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_statistics/obs_error.h b/met/src/libcode/vx_statistics/obs_error.h index 4a440acf3e..e060aa4854 100644 --- a/met/src/libcode/vx_statistics/obs_error.h +++ b/met/src/libcode/vx_statistics/obs_error.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_statistics/pair_base.cc b/met/src/libcode/vx_statistics/pair_base.cc index 1061423e25..d90e3167a6 100644 --- a/met/src/libcode/vx_statistics/pair_base.cc +++ b/met/src/libcode/vx_statistics/pair_base.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_statistics/pair_base.h b/met/src/libcode/vx_statistics/pair_base.h index db7b63297f..ebe0f845fc 100644 --- a/met/src/libcode/vx_statistics/pair_base.h +++ b/met/src/libcode/vx_statistics/pair_base.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_statistics/pair_data_ensemble.cc b/met/src/libcode/vx_statistics/pair_data_ensemble.cc index 5f21f17fe9..53c4993580 100644 --- a/met/src/libcode/vx_statistics/pair_data_ensemble.cc +++ b/met/src/libcode/vx_statistics/pair_data_ensemble.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_statistics/pair_data_ensemble.h b/met/src/libcode/vx_statistics/pair_data_ensemble.h index 3d71af984b..d5bad07d03 100644 --- a/met/src/libcode/vx_statistics/pair_data_ensemble.h +++ b/met/src/libcode/vx_statistics/pair_data_ensemble.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_statistics/pair_data_point.cc b/met/src/libcode/vx_statistics/pair_data_point.cc index 0ca19804dd..361939a010 100644 --- a/met/src/libcode/vx_statistics/pair_data_point.cc +++ b/met/src/libcode/vx_statistics/pair_data_point.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_statistics/pair_data_point.h b/met/src/libcode/vx_statistics/pair_data_point.h index 739baf2ba6..33a090e2dc 100644 --- a/met/src/libcode/vx_statistics/pair_data_point.h +++ b/met/src/libcode/vx_statistics/pair_data_point.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_statistics/read_climo.cc b/met/src/libcode/vx_statistics/read_climo.cc index 27d79cbb42..af682ca973 100644 --- a/met/src/libcode/vx_statistics/read_climo.cc +++ b/met/src/libcode/vx_statistics/read_climo.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_statistics/read_climo.h b/met/src/libcode/vx_statistics/read_climo.h index 7a65c6e68c..f2fe419b23 100644 --- a/met/src/libcode/vx_statistics/read_climo.h +++ b/met/src/libcode/vx_statistics/read_climo.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_statistics/vx_statistics.h b/met/src/libcode/vx_statistics/vx_statistics.h index 2af3fc87fa..db1d6685d1 100644 --- a/met/src/libcode/vx_statistics/vx_statistics.h +++ b/met/src/libcode/vx_statistics/vx_statistics.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_summary/summary_calc.cc b/met/src/libcode/vx_summary/summary_calc.cc index 84ce0ab14c..727c787549 100644 --- a/met/src/libcode/vx_summary/summary_calc.cc +++ b/met/src/libcode/vx_summary/summary_calc.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_summary/summary_calc.h b/met/src/libcode/vx_summary/summary_calc.h index 41bd7b54fa..1779603445 100644 --- a/met/src/libcode/vx_summary/summary_calc.h +++ b/met/src/libcode/vx_summary/summary_calc.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_summary/summary_calc_max.cc b/met/src/libcode/vx_summary/summary_calc_max.cc index 9902e74012..3e3d4d6b03 100644 --- a/met/src/libcode/vx_summary/summary_calc_max.cc +++ b/met/src/libcode/vx_summary/summary_calc_max.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_summary/summary_calc_max.h b/met/src/libcode/vx_summary/summary_calc_max.h index 2b9733d416..51d947a98c 100644 --- a/met/src/libcode/vx_summary/summary_calc_max.h +++ b/met/src/libcode/vx_summary/summary_calc_max.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_summary/summary_calc_mean.cc b/met/src/libcode/vx_summary/summary_calc_mean.cc index abf834b6a3..3fbdece2cd 100644 --- a/met/src/libcode/vx_summary/summary_calc_mean.cc +++ b/met/src/libcode/vx_summary/summary_calc_mean.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_summary/summary_calc_mean.h b/met/src/libcode/vx_summary/summary_calc_mean.h index 552f0e0f21..34373a3bed 100644 --- a/met/src/libcode/vx_summary/summary_calc_mean.h +++ b/met/src/libcode/vx_summary/summary_calc_mean.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_summary/summary_calc_median.cc b/met/src/libcode/vx_summary/summary_calc_median.cc index 940e4e18e7..b7e02a7a39 100644 --- a/met/src/libcode/vx_summary/summary_calc_median.cc +++ b/met/src/libcode/vx_summary/summary_calc_median.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_summary/summary_calc_median.h b/met/src/libcode/vx_summary/summary_calc_median.h index a7b5ef702b..5a311796e3 100644 --- a/met/src/libcode/vx_summary/summary_calc_median.h +++ b/met/src/libcode/vx_summary/summary_calc_median.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_summary/summary_calc_min.cc b/met/src/libcode/vx_summary/summary_calc_min.cc index ad0c1e97cb..f6f4f5d05b 100644 --- a/met/src/libcode/vx_summary/summary_calc_min.cc +++ b/met/src/libcode/vx_summary/summary_calc_min.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_summary/summary_calc_min.h b/met/src/libcode/vx_summary/summary_calc_min.h index 5dee6ba548..0c65405056 100644 --- a/met/src/libcode/vx_summary/summary_calc_min.h +++ b/met/src/libcode/vx_summary/summary_calc_min.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_summary/summary_calc_percentile.cc b/met/src/libcode/vx_summary/summary_calc_percentile.cc index b4488acf4b..06386b326d 100644 --- a/met/src/libcode/vx_summary/summary_calc_percentile.cc +++ b/met/src/libcode/vx_summary/summary_calc_percentile.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_summary/summary_calc_percentile.h b/met/src/libcode/vx_summary/summary_calc_percentile.h index 7919c2e58e..a3b21ba0da 100644 --- a/met/src/libcode/vx_summary/summary_calc_percentile.h +++ b/met/src/libcode/vx_summary/summary_calc_percentile.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_summary/summary_calc_range.cc b/met/src/libcode/vx_summary/summary_calc_range.cc index 36a754f4cf..4856fa1e2d 100644 --- a/met/src/libcode/vx_summary/summary_calc_range.cc +++ b/met/src/libcode/vx_summary/summary_calc_range.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_summary/summary_calc_range.h b/met/src/libcode/vx_summary/summary_calc_range.h index e645018426..b155912b99 100644 --- a/met/src/libcode/vx_summary/summary_calc_range.h +++ b/met/src/libcode/vx_summary/summary_calc_range.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_summary/summary_calc_stdev.cc b/met/src/libcode/vx_summary/summary_calc_stdev.cc index 851d4ee845..ebe3489c38 100644 --- a/met/src/libcode/vx_summary/summary_calc_stdev.cc +++ b/met/src/libcode/vx_summary/summary_calc_stdev.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_summary/summary_calc_stdev.h b/met/src/libcode/vx_summary/summary_calc_stdev.h index b4aa83c0a1..6ee6bb3ed6 100644 --- a/met/src/libcode/vx_summary/summary_calc_stdev.h +++ b/met/src/libcode/vx_summary/summary_calc_stdev.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_summary/summary_key.cc b/met/src/libcode/vx_summary/summary_key.cc index 54731cde02..31a9fcf27d 100644 --- a/met/src/libcode/vx_summary/summary_key.cc +++ b/met/src/libcode/vx_summary/summary_key.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_summary/summary_key.h b/met/src/libcode/vx_summary/summary_key.h index 1941e91ed4..fd6c76e514 100644 --- a/met/src/libcode/vx_summary/summary_key.h +++ b/met/src/libcode/vx_summary/summary_key.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_summary/summary_obs.cc b/met/src/libcode/vx_summary/summary_obs.cc index 33cc40f626..4a2ef5a768 100644 --- a/met/src/libcode/vx_summary/summary_obs.cc +++ b/met/src/libcode/vx_summary/summary_obs.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_summary/summary_obs.h b/met/src/libcode/vx_summary/summary_obs.h index afd6630b79..65da966e43 100644 --- a/met/src/libcode/vx_summary/summary_obs.h +++ b/met/src/libcode/vx_summary/summary_obs.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_summary/time_summary_interval.cc b/met/src/libcode/vx_summary/time_summary_interval.cc index 78155eb337..2bee215b92 100644 --- a/met/src/libcode/vx_summary/time_summary_interval.cc +++ b/met/src/libcode/vx_summary/time_summary_interval.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_summary/time_summary_interval.h b/met/src/libcode/vx_summary/time_summary_interval.h index 094340a91f..74dfd22d1e 100644 --- a/met/src/libcode/vx_summary/time_summary_interval.h +++ b/met/src/libcode/vx_summary/time_summary_interval.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_summary/vx_summary.h b/met/src/libcode/vx_summary/vx_summary.h index e0340a2729..429d3dc45d 100644 --- a/met/src/libcode/vx_summary/vx_summary.h +++ b/met/src/libcode/vx_summary/vx_summary.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_tc_util/atcf_line_base.cc b/met/src/libcode/vx_tc_util/atcf_line_base.cc index aa970dc117..bc5474cec4 100644 --- a/met/src/libcode/vx_tc_util/atcf_line_base.cc +++ b/met/src/libcode/vx_tc_util/atcf_line_base.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_tc_util/atcf_line_base.h b/met/src/libcode/vx_tc_util/atcf_line_base.h index e65f7004a3..816ddfeba4 100644 --- a/met/src/libcode/vx_tc_util/atcf_line_base.h +++ b/met/src/libcode/vx_tc_util/atcf_line_base.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_tc_util/atcf_offsets.h b/met/src/libcode/vx_tc_util/atcf_offsets.h index de15fad578..5a82809c70 100644 --- a/met/src/libcode/vx_tc_util/atcf_offsets.h +++ b/met/src/libcode/vx_tc_util/atcf_offsets.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_tc_util/atcf_prob_line.cc b/met/src/libcode/vx_tc_util/atcf_prob_line.cc index 2a26e5a68e..2f912e9516 100644 --- a/met/src/libcode/vx_tc_util/atcf_prob_line.cc +++ b/met/src/libcode/vx_tc_util/atcf_prob_line.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_tc_util/atcf_prob_line.h b/met/src/libcode/vx_tc_util/atcf_prob_line.h index 9c4f9acae0..6e421c2d99 100644 --- a/met/src/libcode/vx_tc_util/atcf_prob_line.h +++ b/met/src/libcode/vx_tc_util/atcf_prob_line.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_tc_util/atcf_track_line.cc b/met/src/libcode/vx_tc_util/atcf_track_line.cc index 86697c2514..49c0aad310 100644 --- a/met/src/libcode/vx_tc_util/atcf_track_line.cc +++ b/met/src/libcode/vx_tc_util/atcf_track_line.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_tc_util/atcf_track_line.h b/met/src/libcode/vx_tc_util/atcf_track_line.h index 2e3f94e3a1..f548fa1735 100644 --- a/met/src/libcode/vx_tc_util/atcf_track_line.h +++ b/met/src/libcode/vx_tc_util/atcf_track_line.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_tc_util/genesis_info.cc b/met/src/libcode/vx_tc_util/genesis_info.cc index 91c708ff82..0000d93b8a 100644 --- a/met/src/libcode/vx_tc_util/genesis_info.cc +++ b/met/src/libcode/vx_tc_util/genesis_info.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_tc_util/genesis_info.h b/met/src/libcode/vx_tc_util/genesis_info.h index 9ef8afb742..5caa835e51 100644 --- a/met/src/libcode/vx_tc_util/genesis_info.h +++ b/met/src/libcode/vx_tc_util/genesis_info.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_tc_util/pair_data_genesis.cc b/met/src/libcode/vx_tc_util/pair_data_genesis.cc index ba1f564b44..d10b809c58 100644 --- a/met/src/libcode/vx_tc_util/pair_data_genesis.cc +++ b/met/src/libcode/vx_tc_util/pair_data_genesis.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_tc_util/pair_data_genesis.h b/met/src/libcode/vx_tc_util/pair_data_genesis.h index 81843fce09..0f0473d53a 100644 --- a/met/src/libcode/vx_tc_util/pair_data_genesis.h +++ b/met/src/libcode/vx_tc_util/pair_data_genesis.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_tc_util/prob_info_array.cc b/met/src/libcode/vx_tc_util/prob_info_array.cc index 7422735634..ea8827a682 100644 --- a/met/src/libcode/vx_tc_util/prob_info_array.cc +++ b/met/src/libcode/vx_tc_util/prob_info_array.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_tc_util/prob_info_array.h b/met/src/libcode/vx_tc_util/prob_info_array.h index 6ee42dbb10..1228b91880 100644 --- a/met/src/libcode/vx_tc_util/prob_info_array.h +++ b/met/src/libcode/vx_tc_util/prob_info_array.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_tc_util/prob_info_base.cc b/met/src/libcode/vx_tc_util/prob_info_base.cc index 710f566eed..07de90221a 100644 --- a/met/src/libcode/vx_tc_util/prob_info_base.cc +++ b/met/src/libcode/vx_tc_util/prob_info_base.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_tc_util/prob_info_base.h b/met/src/libcode/vx_tc_util/prob_info_base.h index b823ad0a31..4f416db319 100644 --- a/met/src/libcode/vx_tc_util/prob_info_base.h +++ b/met/src/libcode/vx_tc_util/prob_info_base.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_tc_util/prob_pair_info.cc b/met/src/libcode/vx_tc_util/prob_pair_info.cc index f1b9c44d90..4f8189d7e0 100644 --- a/met/src/libcode/vx_tc_util/prob_pair_info.cc +++ b/met/src/libcode/vx_tc_util/prob_pair_info.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_tc_util/prob_pair_info.h b/met/src/libcode/vx_tc_util/prob_pair_info.h index f037410814..3bb29586ed 100644 --- a/met/src/libcode/vx_tc_util/prob_pair_info.h +++ b/met/src/libcode/vx_tc_util/prob_pair_info.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_tc_util/prob_rirw_info.cc b/met/src/libcode/vx_tc_util/prob_rirw_info.cc index ebf8788c6e..edbd318334 100644 --- a/met/src/libcode/vx_tc_util/prob_rirw_info.cc +++ b/met/src/libcode/vx_tc_util/prob_rirw_info.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_tc_util/prob_rirw_info.h b/met/src/libcode/vx_tc_util/prob_rirw_info.h index 8350aef620..9f47615dbf 100644 --- a/met/src/libcode/vx_tc_util/prob_rirw_info.h +++ b/met/src/libcode/vx_tc_util/prob_rirw_info.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_tc_util/prob_rirw_pair_info.cc b/met/src/libcode/vx_tc_util/prob_rirw_pair_info.cc index c627a693d2..61b69cc125 100644 --- a/met/src/libcode/vx_tc_util/prob_rirw_pair_info.cc +++ b/met/src/libcode/vx_tc_util/prob_rirw_pair_info.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_tc_util/prob_rirw_pair_info.h b/met/src/libcode/vx_tc_util/prob_rirw_pair_info.h index 9c3420d0cf..d3465e2743 100644 --- a/met/src/libcode/vx_tc_util/prob_rirw_pair_info.h +++ b/met/src/libcode/vx_tc_util/prob_rirw_pair_info.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_tc_util/tc_columns.cc b/met/src/libcode/vx_tc_util/tc_columns.cc index 422823e754..b4b383268d 100644 --- a/met/src/libcode/vx_tc_util/tc_columns.cc +++ b/met/src/libcode/vx_tc_util/tc_columns.cc @@ -1,6 +1,6 @@ //////////////////////////////////////////////////////////////////////// // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_tc_util/tc_columns.h b/met/src/libcode/vx_tc_util/tc_columns.h index d7d88cfe30..fe091fc296 100644 --- a/met/src/libcode/vx_tc_util/tc_columns.h +++ b/met/src/libcode/vx_tc_util/tc_columns.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_tc_util/tc_hdr_columns.cc b/met/src/libcode/vx_tc_util/tc_hdr_columns.cc index b450a87d2a..c001395d77 100644 --- a/met/src/libcode/vx_tc_util/tc_hdr_columns.cc +++ b/met/src/libcode/vx_tc_util/tc_hdr_columns.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_tc_util/tc_hdr_columns.h b/met/src/libcode/vx_tc_util/tc_hdr_columns.h index 002f0b7fc5..1d8408cb07 100644 --- a/met/src/libcode/vx_tc_util/tc_hdr_columns.h +++ b/met/src/libcode/vx_tc_util/tc_hdr_columns.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_tc_util/tc_stat_line.cc b/met/src/libcode/vx_tc_util/tc_stat_line.cc index 9cd7d09344..f57d4c01ad 100644 --- a/met/src/libcode/vx_tc_util/tc_stat_line.cc +++ b/met/src/libcode/vx_tc_util/tc_stat_line.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_tc_util/tc_stat_line.h b/met/src/libcode/vx_tc_util/tc_stat_line.h index 952b6cc904..26fd11eff2 100644 --- a/met/src/libcode/vx_tc_util/tc_stat_line.h +++ b/met/src/libcode/vx_tc_util/tc_stat_line.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_tc_util/track_info.cc b/met/src/libcode/vx_tc_util/track_info.cc index 215f0c3b38..be717f65c7 100644 --- a/met/src/libcode/vx_tc_util/track_info.cc +++ b/met/src/libcode/vx_tc_util/track_info.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_tc_util/track_info.h b/met/src/libcode/vx_tc_util/track_info.h index bd92f52f4b..75e7390f69 100644 --- a/met/src/libcode/vx_tc_util/track_info.h +++ b/met/src/libcode/vx_tc_util/track_info.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_tc_util/track_pair_info.cc b/met/src/libcode/vx_tc_util/track_pair_info.cc index ec202d7a3a..b82d0a5f0d 100644 --- a/met/src/libcode/vx_tc_util/track_pair_info.cc +++ b/met/src/libcode/vx_tc_util/track_pair_info.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_tc_util/track_pair_info.h b/met/src/libcode/vx_tc_util/track_pair_info.h index 0ee9cce003..c2cc548b93 100644 --- a/met/src/libcode/vx_tc_util/track_pair_info.h +++ b/met/src/libcode/vx_tc_util/track_pair_info.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_tc_util/track_point.cc b/met/src/libcode/vx_tc_util/track_point.cc index 139b4fa68f..17946957f0 100644 --- a/met/src/libcode/vx_tc_util/track_point.cc +++ b/met/src/libcode/vx_tc_util/track_point.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_tc_util/track_point.h b/met/src/libcode/vx_tc_util/track_point.h index 73cca157e8..147c13cfd9 100644 --- a/met/src/libcode/vx_tc_util/track_point.h +++ b/met/src/libcode/vx_tc_util/track_point.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_tc_util/vx_tc_nc_util.cc b/met/src/libcode/vx_tc_util/vx_tc_nc_util.cc index 997c0ba835..7bd51ffbbe 100644 --- a/met/src/libcode/vx_tc_util/vx_tc_nc_util.cc +++ b/met/src/libcode/vx_tc_util/vx_tc_nc_util.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_tc_util/vx_tc_nc_util.h b/met/src/libcode/vx_tc_util/vx_tc_nc_util.h index 9e520180e4..9f9ad259d9 100644 --- a/met/src/libcode/vx_tc_util/vx_tc_nc_util.h +++ b/met/src/libcode/vx_tc_util/vx_tc_nc_util.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_tc_util/vx_tc_util.h b/met/src/libcode/vx_tc_util/vx_tc_util.h index 2b3d74d0c9..76e5448429 100644 --- a/met/src/libcode/vx_tc_util/vx_tc_util.h +++ b/met/src/libcode/vx_tc_util/vx_tc_util.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_time_series/compute_swinging_door.cc b/met/src/libcode/vx_time_series/compute_swinging_door.cc index de98846d28..20330ae837 100644 --- a/met/src/libcode/vx_time_series/compute_swinging_door.cc +++ b/met/src/libcode/vx_time_series/compute_swinging_door.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_time_series/compute_swinging_door.h b/met/src/libcode/vx_time_series/compute_swinging_door.h index b6caa08ba1..9b48fec68e 100644 --- a/met/src/libcode/vx_time_series/compute_swinging_door.h +++ b/met/src/libcode/vx_time_series/compute_swinging_door.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_time_series/time_series_util.cc b/met/src/libcode/vx_time_series/time_series_util.cc index e08f898370..9206598cea 100644 --- a/met/src/libcode/vx_time_series/time_series_util.cc +++ b/met/src/libcode/vx_time_series/time_series_util.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_time_series/time_series_util.h b/met/src/libcode/vx_time_series/time_series_util.h index dc6822b2ff..41a681b058 100644 --- a/met/src/libcode/vx_time_series/time_series_util.h +++ b/met/src/libcode/vx_time_series/time_series_util.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/libcode/vx_time_series/vx_time_series.h b/met/src/libcode/vx_time_series/vx_time_series.h index c1e4877472..e440328ced 100644 --- a/met/src/libcode/vx_time_series/vx_time_series.h +++ b/met/src/libcode/vx_time_series/vx_time_series.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/ensemble_stat/ensemble_stat.cc b/met/src/tools/core/ensemble_stat/ensemble_stat.cc index bcb202970e..b3e736fdae 100644 --- a/met/src/tools/core/ensemble_stat/ensemble_stat.cc +++ b/met/src/tools/core/ensemble_stat/ensemble_stat.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/ensemble_stat/ensemble_stat.h b/met/src/tools/core/ensemble_stat/ensemble_stat.h index fe94cdf728..34e66b148a 100644 --- a/met/src/tools/core/ensemble_stat/ensemble_stat.h +++ b/met/src/tools/core/ensemble_stat/ensemble_stat.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/ensemble_stat/ensemble_stat_conf_info.cc b/met/src/tools/core/ensemble_stat/ensemble_stat_conf_info.cc index e4361e041a..ff21bcd27d 100644 --- a/met/src/tools/core/ensemble_stat/ensemble_stat_conf_info.cc +++ b/met/src/tools/core/ensemble_stat/ensemble_stat_conf_info.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/ensemble_stat/ensemble_stat_conf_info.h b/met/src/tools/core/ensemble_stat/ensemble_stat_conf_info.h index dfc91c712c..289ac667d6 100644 --- a/met/src/tools/core/ensemble_stat/ensemble_stat_conf_info.h +++ b/met/src/tools/core/ensemble_stat/ensemble_stat_conf_info.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/grid_stat/grid_stat.cc b/met/src/tools/core/grid_stat/grid_stat.cc index cf30bd282f..310677504d 100644 --- a/met/src/tools/core/grid_stat/grid_stat.cc +++ b/met/src/tools/core/grid_stat/grid_stat.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/grid_stat/grid_stat.h b/met/src/tools/core/grid_stat/grid_stat.h index 0a05a8c104..2e872d0d36 100644 --- a/met/src/tools/core/grid_stat/grid_stat.h +++ b/met/src/tools/core/grid_stat/grid_stat.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/grid_stat/grid_stat_conf_info.cc b/met/src/tools/core/grid_stat/grid_stat_conf_info.cc index 8b2b572eca..20b1dec99e 100644 --- a/met/src/tools/core/grid_stat/grid_stat_conf_info.cc +++ b/met/src/tools/core/grid_stat/grid_stat_conf_info.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/grid_stat/grid_stat_conf_info.h b/met/src/tools/core/grid_stat/grid_stat_conf_info.h index e03b657488..e006f8fa70 100644 --- a/met/src/tools/core/grid_stat/grid_stat_conf_info.h +++ b/met/src/tools/core/grid_stat/grid_stat_conf_info.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/mode/cluster_page.cc b/met/src/tools/core/mode/cluster_page.cc index 261599ad9c..b295da4b6c 100644 --- a/met/src/tools/core/mode/cluster_page.cc +++ b/met/src/tools/core/mode/cluster_page.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/mode/fcst_enlarge_page.cc b/met/src/tools/core/mode/fcst_enlarge_page.cc index edea030dfa..6713cc5628 100644 --- a/met/src/tools/core/mode/fcst_enlarge_page.cc +++ b/met/src/tools/core/mode/fcst_enlarge_page.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/mode/mode.cc b/met/src/tools/core/mode/mode.cc index a4d60101f2..1c3e5f67c7 100644 --- a/met/src/tools/core/mode/mode.cc +++ b/met/src/tools/core/mode/mode.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/mode/mode_exec.cc b/met/src/tools/core/mode/mode_exec.cc index edce0762e8..d25ccde24b 100644 --- a/met/src/tools/core/mode/mode_exec.cc +++ b/met/src/tools/core/mode/mode_exec.cc @@ -1,7 +1,7 @@ /////////////////////////////////////////////////////////////////////// -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/mode/mode_exec.h b/met/src/tools/core/mode/mode_exec.h index 85739aaad4..5f93f51e2f 100644 --- a/met/src/tools/core/mode/mode_exec.h +++ b/met/src/tools/core/mode/mode_exec.h @@ -3,7 +3,7 @@ //////////////////////////////////////////////////////////////////////// -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/mode/mode_ps_file.cc b/met/src/tools/core/mode/mode_ps_file.cc index c50164edf7..c36bd746b1 100644 --- a/met/src/tools/core/mode/mode_ps_file.cc +++ b/met/src/tools/core/mode/mode_ps_file.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/mode/mode_ps_file.h b/met/src/tools/core/mode/mode_ps_file.h index f0535b728b..251cc814de 100644 --- a/met/src/tools/core/mode/mode_ps_file.h +++ b/met/src/tools/core/mode/mode_ps_file.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/mode/mode_ps_table_defs.h b/met/src/tools/core/mode/mode_ps_table_defs.h index 0c22523339..8215625e62 100644 --- a/met/src/tools/core/mode/mode_ps_table_defs.h +++ b/met/src/tools/core/mode/mode_ps_table_defs.h @@ -3,7 +3,7 @@ //////////////////////////////////////////////////////////////////////// -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/mode/obs_enlarge_page.cc b/met/src/tools/core/mode/obs_enlarge_page.cc index 92d4e991ec..dd2061d0c5 100644 --- a/met/src/tools/core/mode/obs_enlarge_page.cc +++ b/met/src/tools/core/mode/obs_enlarge_page.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/mode/overlap_page.cc b/met/src/tools/core/mode/overlap_page.cc index b51a52e9f1..1222788c47 100644 --- a/met/src/tools/core/mode/overlap_page.cc +++ b/met/src/tools/core/mode/overlap_page.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/mode/page_1.cc b/met/src/tools/core/mode/page_1.cc index f08967acfd..02cbfebaa2 100644 --- a/met/src/tools/core/mode/page_1.cc +++ b/met/src/tools/core/mode/page_1.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/mode/plot_engine.cc b/met/src/tools/core/mode/plot_engine.cc index f9aa7bcff2..ca78825ba5 100644 --- a/met/src/tools/core/mode/plot_engine.cc +++ b/met/src/tools/core/mode/plot_engine.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/mode_analysis/config_to_att.cc b/met/src/tools/core/mode_analysis/config_to_att.cc index ceb016121b..6df08525c8 100644 --- a/met/src/tools/core/mode_analysis/config_to_att.cc +++ b/met/src/tools/core/mode_analysis/config_to_att.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/mode_analysis/config_to_att.h b/met/src/tools/core/mode_analysis/config_to_att.h index ee477474c5..a909c647e6 100644 --- a/met/src/tools/core/mode_analysis/config_to_att.h +++ b/met/src/tools/core/mode_analysis/config_to_att.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/mode_analysis/mode_analysis.cc b/met/src/tools/core/mode_analysis/mode_analysis.cc index 3cd984dc62..1debd48121 100644 --- a/met/src/tools/core/mode_analysis/mode_analysis.cc +++ b/met/src/tools/core/mode_analysis/mode_analysis.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/pcp_combine/pcp_combine.cc b/met/src/tools/core/pcp_combine/pcp_combine.cc index 65c4f51bce..6ff36272aa 100644 --- a/met/src/tools/core/pcp_combine/pcp_combine.cc +++ b/met/src/tools/core/pcp_combine/pcp_combine.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/point_stat/point_stat.cc b/met/src/tools/core/point_stat/point_stat.cc index ba28097e6a..478cda7707 100644 --- a/met/src/tools/core/point_stat/point_stat.cc +++ b/met/src/tools/core/point_stat/point_stat.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research led(UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/point_stat/point_stat.h b/met/src/tools/core/point_stat/point_stat.h index 25a46aa249..9d34a7282a 100644 --- a/met/src/tools/core/point_stat/point_stat.h +++ b/met/src/tools/core/point_stat/point_stat.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/point_stat/point_stat_conf_info.cc b/met/src/tools/core/point_stat/point_stat_conf_info.cc index 5a039e1bae..d992c08425 100644 --- a/met/src/tools/core/point_stat/point_stat_conf_info.cc +++ b/met/src/tools/core/point_stat/point_stat_conf_info.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/point_stat/point_stat_conf_info.h b/met/src/tools/core/point_stat/point_stat_conf_info.h index dd1d787dfa..addf779f0a 100644 --- a/met/src/tools/core/point_stat/point_stat_conf_info.h +++ b/met/src/tools/core/point_stat/point_stat_conf_info.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/series_analysis/series_analysis.cc b/met/src/tools/core/series_analysis/series_analysis.cc index acc347aff0..3166e348c1 100644 --- a/met/src/tools/core/series_analysis/series_analysis.cc +++ b/met/src/tools/core/series_analysis/series_analysis.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/series_analysis/series_analysis.h b/met/src/tools/core/series_analysis/series_analysis.h index 3ab9ddea20..3dc9618304 100644 --- a/met/src/tools/core/series_analysis/series_analysis.h +++ b/met/src/tools/core/series_analysis/series_analysis.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/series_analysis/series_analysis_conf_info.cc b/met/src/tools/core/series_analysis/series_analysis_conf_info.cc index df14d088d5..ecd221b6ce 100644 --- a/met/src/tools/core/series_analysis/series_analysis_conf_info.cc +++ b/met/src/tools/core/series_analysis/series_analysis_conf_info.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/series_analysis/series_analysis_conf_info.h b/met/src/tools/core/series_analysis/series_analysis_conf_info.h index 86714731a3..05ed960108 100644 --- a/met/src/tools/core/series_analysis/series_analysis_conf_info.h +++ b/met/src/tools/core/series_analysis/series_analysis_conf_info.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/stat_analysis/aggr_stat_line.cc b/met/src/tools/core/stat_analysis/aggr_stat_line.cc index b5c7a160dd..6d7d952956 100644 --- a/met/src/tools/core/stat_analysis/aggr_stat_line.cc +++ b/met/src/tools/core/stat_analysis/aggr_stat_line.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/stat_analysis/aggr_stat_line.h b/met/src/tools/core/stat_analysis/aggr_stat_line.h index 6ffbd42091..166dde307e 100644 --- a/met/src/tools/core/stat_analysis/aggr_stat_line.h +++ b/met/src/tools/core/stat_analysis/aggr_stat_line.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/stat_analysis/parse_stat_line.cc b/met/src/tools/core/stat_analysis/parse_stat_line.cc index 14bf981ea6..6f057faf3a 100644 --- a/met/src/tools/core/stat_analysis/parse_stat_line.cc +++ b/met/src/tools/core/stat_analysis/parse_stat_line.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/stat_analysis/parse_stat_line.h b/met/src/tools/core/stat_analysis/parse_stat_line.h index 7575d7ef47..74f1ee3cd6 100644 --- a/met/src/tools/core/stat_analysis/parse_stat_line.h +++ b/met/src/tools/core/stat_analysis/parse_stat_line.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/stat_analysis/stat_analysis.cc b/met/src/tools/core/stat_analysis/stat_analysis.cc index 02365d1525..8c1df6d2d6 100644 --- a/met/src/tools/core/stat_analysis/stat_analysis.cc +++ b/met/src/tools/core/stat_analysis/stat_analysis.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/stat_analysis/stat_analysis.h b/met/src/tools/core/stat_analysis/stat_analysis.h index 3004407fa5..c07abfa476 100644 --- a/met/src/tools/core/stat_analysis/stat_analysis.h +++ b/met/src/tools/core/stat_analysis/stat_analysis.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/stat_analysis/stat_analysis_job.cc b/met/src/tools/core/stat_analysis/stat_analysis_job.cc index 58858c6117..4f585d9e6f 100644 --- a/met/src/tools/core/stat_analysis/stat_analysis_job.cc +++ b/met/src/tools/core/stat_analysis/stat_analysis_job.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/stat_analysis/stat_analysis_job.h b/met/src/tools/core/stat_analysis/stat_analysis_job.h index 74feb5a282..e03c74330d 100644 --- a/met/src/tools/core/stat_analysis/stat_analysis_job.h +++ b/met/src/tools/core/stat_analysis/stat_analysis_job.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/wavelet_stat/wavelet_stat.cc b/met/src/tools/core/wavelet_stat/wavelet_stat.cc index f371220327..e557d039a0 100644 --- a/met/src/tools/core/wavelet_stat/wavelet_stat.cc +++ b/met/src/tools/core/wavelet_stat/wavelet_stat.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/wavelet_stat/wavelet_stat.h b/met/src/tools/core/wavelet_stat/wavelet_stat.h index aa40a5a0a5..ab807cc9a7 100644 --- a/met/src/tools/core/wavelet_stat/wavelet_stat.h +++ b/met/src/tools/core/wavelet_stat/wavelet_stat.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/wavelet_stat/wavelet_stat_conf_info.cc b/met/src/tools/core/wavelet_stat/wavelet_stat_conf_info.cc index 75480e850b..087d1fbaba 100644 --- a/met/src/tools/core/wavelet_stat/wavelet_stat_conf_info.cc +++ b/met/src/tools/core/wavelet_stat/wavelet_stat_conf_info.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/core/wavelet_stat/wavelet_stat_conf_info.h b/met/src/tools/core/wavelet_stat/wavelet_stat_conf_info.h index cf18c27919..8b1473572b 100644 --- a/met/src/tools/core/wavelet_stat/wavelet_stat_conf_info.h +++ b/met/src/tools/core/wavelet_stat/wavelet_stat_conf_info.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/dev_utils/chk4copyright.cc b/met/src/tools/dev_utils/chk4copyright.cc index c838647688..ecae014bb8 100644 --- a/met/src/tools/dev_utils/chk4copyright.cc +++ b/met/src/tools/dev_utils/chk4copyright.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/dev_utils/gen_climo_bin.cc b/met/src/tools/dev_utils/gen_climo_bin.cc index 7eba741a94..01c49691fb 100644 --- a/met/src/tools/dev_utils/gen_climo_bin.cc +++ b/met/src/tools/dev_utils/gen_climo_bin.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/dev_utils/gribtab.dat_to_flat.cc b/met/src/tools/dev_utils/gribtab.dat_to_flat.cc index e950e051d9..47d199cdd2 100644 --- a/met/src/tools/dev_utils/gribtab.dat_to_flat.cc +++ b/met/src/tools/dev_utils/gribtab.dat_to_flat.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/dev_utils/insitu_nc_file.cc b/met/src/tools/dev_utils/insitu_nc_file.cc index 68c9db434e..753f44204c 100644 --- a/met/src/tools/dev_utils/insitu_nc_file.cc +++ b/met/src/tools/dev_utils/insitu_nc_file.cc @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/dev_utils/insitu_nc_file.h b/met/src/tools/dev_utils/insitu_nc_file.h index bac3804d04..ccb165a8ad 100644 --- a/met/src/tools/dev_utils/insitu_nc_file.h +++ b/met/src/tools/dev_utils/insitu_nc_file.h @@ -1,7 +1,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/dev_utils/insitu_nc_to_ascii.cc b/met/src/tools/dev_utils/insitu_nc_to_ascii.cc index c72874c6a7..04efec517e 100644 --- a/met/src/tools/dev_utils/insitu_nc_to_ascii.cc +++ b/met/src/tools/dev_utils/insitu_nc_to_ascii.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2018 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/dev_utils/met_nc_file.cc b/met/src/tools/dev_utils/met_nc_file.cc index 5336cebd9a..664ee7fea4 100644 --- a/met/src/tools/dev_utils/met_nc_file.cc +++ b/met/src/tools/dev_utils/met_nc_file.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/dev_utils/met_nc_file.h b/met/src/tools/dev_utils/met_nc_file.h index b655d568ff..03bac0723c 100644 --- a/met/src/tools/dev_utils/met_nc_file.h +++ b/met/src/tools/dev_utils/met_nc_file.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/dev_utils/nceptab_to_flat.cc b/met/src/tools/dev_utils/nceptab_to_flat.cc index 3660546756..3916da530a 100644 --- a/met/src/tools/dev_utils/nceptab_to_flat.cc +++ b/met/src/tools/dev_utils/nceptab_to_flat.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/dev_utils/pbtime.cc b/met/src/tools/dev_utils/pbtime.cc index e2814050a0..5cda897428 100644 --- a/met/src/tools/dev_utils/pbtime.cc +++ b/met/src/tools/dev_utils/pbtime.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/dev_utils/reformat_county_data.cc b/met/src/tools/dev_utils/reformat_county_data.cc index fbb2fead12..edb9650e88 100644 --- a/met/src/tools/dev_utils/reformat_county_data.cc +++ b/met/src/tools/dev_utils/reformat_county_data.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/dev_utils/reformat_map_data.cc b/met/src/tools/dev_utils/reformat_map_data.cc index ae60536e86..5304a521c3 100644 --- a/met/src/tools/dev_utils/reformat_map_data.cc +++ b/met/src/tools/dev_utils/reformat_map_data.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/dev_utils/shapefiles/make_mapfiles.cc b/met/src/tools/dev_utils/shapefiles/make_mapfiles.cc index bd360cd4d2..5dbccfccd3 100644 --- a/met/src/tools/dev_utils/shapefiles/make_mapfiles.cc +++ b/met/src/tools/dev_utils/shapefiles/make_mapfiles.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/dev_utils/swinging_door.cc b/met/src/tools/dev_utils/swinging_door.cc index 8ad266981b..49181206d9 100644 --- a/met/src/tools/dev_utils/swinging_door.cc +++ b/met/src/tools/dev_utils/swinging_door.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/ascii2nc/aeronet_handler.cc b/met/src/tools/other/ascii2nc/aeronet_handler.cc index 3cf3a29a2d..1a1fe249a1 100644 --- a/met/src/tools/other/ascii2nc/aeronet_handler.cc +++ b/met/src/tools/other/ascii2nc/aeronet_handler.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/ascii2nc/aeronet_handler.h b/met/src/tools/other/ascii2nc/aeronet_handler.h index 6d015a5dc1..a2c30e3a91 100644 --- a/met/src/tools/other/ascii2nc/aeronet_handler.h +++ b/met/src/tools/other/ascii2nc/aeronet_handler.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/ascii2nc/ascii2nc.cc b/met/src/tools/other/ascii2nc/ascii2nc.cc index 6df5e2ba97..a8f74f9daf 100644 --- a/met/src/tools/other/ascii2nc/ascii2nc.cc +++ b/met/src/tools/other/ascii2nc/ascii2nc.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/ascii2nc/ascii2nc_conf_info.cc b/met/src/tools/other/ascii2nc/ascii2nc_conf_info.cc index a09969629f..5f856ecdfb 100644 --- a/met/src/tools/other/ascii2nc/ascii2nc_conf_info.cc +++ b/met/src/tools/other/ascii2nc/ascii2nc_conf_info.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/ascii2nc/ascii2nc_conf_info.h b/met/src/tools/other/ascii2nc/ascii2nc_conf_info.h index 45d1909950..d228aee919 100644 --- a/met/src/tools/other/ascii2nc/ascii2nc_conf_info.h +++ b/met/src/tools/other/ascii2nc/ascii2nc_conf_info.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/ascii2nc/file_handler.cc b/met/src/tools/other/ascii2nc/file_handler.cc index 28ef53e8cc..f5b57aec74 100644 --- a/met/src/tools/other/ascii2nc/file_handler.cc +++ b/met/src/tools/other/ascii2nc/file_handler.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/ascii2nc/file_handler.h b/met/src/tools/other/ascii2nc/file_handler.h index 1a9514433b..5a160e3068 100644 --- a/met/src/tools/other/ascii2nc/file_handler.h +++ b/met/src/tools/other/ascii2nc/file_handler.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/ascii2nc/little_r_handler.cc b/met/src/tools/other/ascii2nc/little_r_handler.cc index a604a96355..b99d3c7f32 100644 --- a/met/src/tools/other/ascii2nc/little_r_handler.cc +++ b/met/src/tools/other/ascii2nc/little_r_handler.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/ascii2nc/little_r_handler.h b/met/src/tools/other/ascii2nc/little_r_handler.h index 39f35e8383..6774bf718f 100644 --- a/met/src/tools/other/ascii2nc/little_r_handler.h +++ b/met/src/tools/other/ascii2nc/little_r_handler.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/ascii2nc/met_handler.cc b/met/src/tools/other/ascii2nc/met_handler.cc index 081db7906a..22fc024fdd 100644 --- a/met/src/tools/other/ascii2nc/met_handler.cc +++ b/met/src/tools/other/ascii2nc/met_handler.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/ascii2nc/met_handler.h b/met/src/tools/other/ascii2nc/met_handler.h index 9e01f64a12..4dbc117ce9 100644 --- a/met/src/tools/other/ascii2nc/met_handler.h +++ b/met/src/tools/other/ascii2nc/met_handler.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/ascii2nc/python_handler.cc b/met/src/tools/other/ascii2nc/python_handler.cc index 2f3a0927c9..92b1a73e05 100644 --- a/met/src/tools/other/ascii2nc/python_handler.cc +++ b/met/src/tools/other/ascii2nc/python_handler.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/ascii2nc/python_handler.h b/met/src/tools/other/ascii2nc/python_handler.h index 695b8fcb96..a3b4cfb696 100644 --- a/met/src/tools/other/ascii2nc/python_handler.h +++ b/met/src/tools/other/ascii2nc/python_handler.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/ascii2nc/surfrad_handler.cc b/met/src/tools/other/ascii2nc/surfrad_handler.cc index e6849dc962..c55cb11092 100644 --- a/met/src/tools/other/ascii2nc/surfrad_handler.cc +++ b/met/src/tools/other/ascii2nc/surfrad_handler.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/ascii2nc/surfrad_handler.h b/met/src/tools/other/ascii2nc/surfrad_handler.h index 8b74858869..d3680aef57 100644 --- a/met/src/tools/other/ascii2nc/surfrad_handler.h +++ b/met/src/tools/other/ascii2nc/surfrad_handler.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/ascii2nc/wwsis_handler.cc b/met/src/tools/other/ascii2nc/wwsis_handler.cc index a96d5ec547..461896e4bb 100644 --- a/met/src/tools/other/ascii2nc/wwsis_handler.cc +++ b/met/src/tools/other/ascii2nc/wwsis_handler.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/ascii2nc/wwsis_handler.h b/met/src/tools/other/ascii2nc/wwsis_handler.h index 85605404ae..f960f31408 100644 --- a/met/src/tools/other/ascii2nc/wwsis_handler.h +++ b/met/src/tools/other/ascii2nc/wwsis_handler.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/gen_vx_mask/gen_vx_mask.cc b/met/src/tools/other/gen_vx_mask/gen_vx_mask.cc index bee09aff7c..85bb95d2af 100644 --- a/met/src/tools/other/gen_vx_mask/gen_vx_mask.cc +++ b/met/src/tools/other/gen_vx_mask/gen_vx_mask.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/gen_vx_mask/gen_vx_mask.h b/met/src/tools/other/gen_vx_mask/gen_vx_mask.h index e3c4b629ce..d51194e5da 100644 --- a/met/src/tools/other/gen_vx_mask/gen_vx_mask.h +++ b/met/src/tools/other/gen_vx_mask/gen_vx_mask.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/gen_vx_mask/grid_closed_poly.cc b/met/src/tools/other/gen_vx_mask/grid_closed_poly.cc index daf74b481c..a39c63457a 100644 --- a/met/src/tools/other/gen_vx_mask/grid_closed_poly.cc +++ b/met/src/tools/other/gen_vx_mask/grid_closed_poly.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/gen_vx_mask/grid_closed_poly.h b/met/src/tools/other/gen_vx_mask/grid_closed_poly.h index c99af54033..0d1780a3e8 100644 --- a/met/src/tools/other/gen_vx_mask/grid_closed_poly.h +++ b/met/src/tools/other/gen_vx_mask/grid_closed_poly.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/gis_utils/gis_dump_dbf.cc b/met/src/tools/other/gis_utils/gis_dump_dbf.cc index a14d2dc770..785db46fd5 100644 --- a/met/src/tools/other/gis_utils/gis_dump_dbf.cc +++ b/met/src/tools/other/gis_utils/gis_dump_dbf.cc @@ -4,7 +4,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/gis_utils/gis_dump_shp.cc b/met/src/tools/other/gis_utils/gis_dump_shp.cc index 2a2fe8f8b5..a9ecb7c350 100644 --- a/met/src/tools/other/gis_utils/gis_dump_shp.cc +++ b/met/src/tools/other/gis_utils/gis_dump_shp.cc @@ -4,7 +4,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/gis_utils/gis_dump_shx.cc b/met/src/tools/other/gis_utils/gis_dump_shx.cc index 015ec7e8db..ba9869d541 100644 --- a/met/src/tools/other/gis_utils/gis_dump_shx.cc +++ b/met/src/tools/other/gis_utils/gis_dump_shx.cc @@ -4,7 +4,7 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/grid_diag/grid_diag.cc b/met/src/tools/other/grid_diag/grid_diag.cc index 6199ba408f..c72a81aba3 100644 --- a/met/src/tools/other/grid_diag/grid_diag.cc +++ b/met/src/tools/other/grid_diag/grid_diag.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/grid_diag/grid_diag.h b/met/src/tools/other/grid_diag/grid_diag.h index 2204fbc04f..419d6b8f50 100644 --- a/met/src/tools/other/grid_diag/grid_diag.h +++ b/met/src/tools/other/grid_diag/grid_diag.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/grid_diag/grid_diag_conf_info.cc b/met/src/tools/other/grid_diag/grid_diag_conf_info.cc index 5ae8b4bd62..14b6edaa29 100644 --- a/met/src/tools/other/grid_diag/grid_diag_conf_info.cc +++ b/met/src/tools/other/grid_diag/grid_diag_conf_info.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/grid_diag/grid_diag_conf_info.h b/met/src/tools/other/grid_diag/grid_diag_conf_info.h index 1a273115cf..7127aa2927 100644 --- a/met/src/tools/other/grid_diag/grid_diag_conf_info.h +++ b/met/src/tools/other/grid_diag/grid_diag_conf_info.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/gsi_tools/conv_offsets.h b/met/src/tools/other/gsi_tools/conv_offsets.h index cdbf853930..d64f4169bf 100644 --- a/met/src/tools/other/gsi_tools/conv_offsets.h +++ b/met/src/tools/other/gsi_tools/conv_offsets.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/gsi_tools/conv_record.cc b/met/src/tools/other/gsi_tools/conv_record.cc index 1777c1d6d9..1bf283f83e 100644 --- a/met/src/tools/other/gsi_tools/conv_record.cc +++ b/met/src/tools/other/gsi_tools/conv_record.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/gsi_tools/conv_record.h b/met/src/tools/other/gsi_tools/conv_record.h index fb52969d69..229c55424e 100644 --- a/met/src/tools/other/gsi_tools/conv_record.h +++ b/met/src/tools/other/gsi_tools/conv_record.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/gsi_tools/ftto.h b/met/src/tools/other/gsi_tools/ftto.h index 8880fa36d4..a3c316f5e5 100644 --- a/met/src/tools/other/gsi_tools/ftto.h +++ b/met/src/tools/other/gsi_tools/ftto.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/gsi_tools/gsi_record.cc b/met/src/tools/other/gsi_tools/gsi_record.cc index a147ebba88..23739a1ea9 100644 --- a/met/src/tools/other/gsi_tools/gsi_record.cc +++ b/met/src/tools/other/gsi_tools/gsi_record.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/gsi_tools/gsi_record.h b/met/src/tools/other/gsi_tools/gsi_record.h index 69b870abf7..048415f4ff 100644 --- a/met/src/tools/other/gsi_tools/gsi_record.h +++ b/met/src/tools/other/gsi_tools/gsi_record.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/gsi_tools/gsi_util.cc b/met/src/tools/other/gsi_tools/gsi_util.cc index 5dc275c598..acee7eff0a 100644 --- a/met/src/tools/other/gsi_tools/gsi_util.cc +++ b/met/src/tools/other/gsi_tools/gsi_util.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/gsi_tools/gsi_util.h b/met/src/tools/other/gsi_tools/gsi_util.h index 8ec21493d8..adb8b3e28a 100644 --- a/met/src/tools/other/gsi_tools/gsi_util.h +++ b/met/src/tools/other/gsi_tools/gsi_util.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/gsi_tools/gsid2mpr.cc b/met/src/tools/other/gsi_tools/gsid2mpr.cc index b58aee704c..306099ad75 100644 --- a/met/src/tools/other/gsi_tools/gsid2mpr.cc +++ b/met/src/tools/other/gsi_tools/gsid2mpr.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/gsi_tools/gsid2mpr.h b/met/src/tools/other/gsi_tools/gsid2mpr.h index 7982fe2f6a..4b6eb07313 100644 --- a/met/src/tools/other/gsi_tools/gsid2mpr.h +++ b/met/src/tools/other/gsi_tools/gsid2mpr.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/gsi_tools/gsidens2orank.cc b/met/src/tools/other/gsi_tools/gsidens2orank.cc index 25a7926cd1..bbfe926e81 100644 --- a/met/src/tools/other/gsi_tools/gsidens2orank.cc +++ b/met/src/tools/other/gsi_tools/gsidens2orank.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/gsi_tools/gsidens2orank.h b/met/src/tools/other/gsi_tools/gsidens2orank.h index d17f55658b..15b403684e 100644 --- a/met/src/tools/other/gsi_tools/gsidens2orank.h +++ b/met/src/tools/other/gsi_tools/gsidens2orank.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/gsi_tools/rad_config.cc b/met/src/tools/other/gsi_tools/rad_config.cc index ec37e71242..955891d595 100644 --- a/met/src/tools/other/gsi_tools/rad_config.cc +++ b/met/src/tools/other/gsi_tools/rad_config.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/gsi_tools/rad_config.h b/met/src/tools/other/gsi_tools/rad_config.h index cdfa2e9f40..c85d3fccaf 100644 --- a/met/src/tools/other/gsi_tools/rad_config.h +++ b/met/src/tools/other/gsi_tools/rad_config.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/gsi_tools/rad_offsets.h b/met/src/tools/other/gsi_tools/rad_offsets.h index 71981dd4d7..b9c5098d7d 100644 --- a/met/src/tools/other/gsi_tools/rad_offsets.h +++ b/met/src/tools/other/gsi_tools/rad_offsets.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/gsi_tools/rad_record.cc b/met/src/tools/other/gsi_tools/rad_record.cc index 9d37022ae3..d250bcba27 100644 --- a/met/src/tools/other/gsi_tools/rad_record.cc +++ b/met/src/tools/other/gsi_tools/rad_record.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/gsi_tools/rad_record.h b/met/src/tools/other/gsi_tools/rad_record.h index 5d300f5141..596bb7f49f 100644 --- a/met/src/tools/other/gsi_tools/rad_record.h +++ b/met/src/tools/other/gsi_tools/rad_record.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/ioda2nc/ioda2nc.cc b/met/src/tools/other/ioda2nc/ioda2nc.cc index 9069459123..a9a08722b6 100644 --- a/met/src/tools/other/ioda2nc/ioda2nc.cc +++ b/met/src/tools/other/ioda2nc/ioda2nc.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/ioda2nc/ioda2nc_conf_info.cc b/met/src/tools/other/ioda2nc/ioda2nc_conf_info.cc index 0b849be48f..ca5c9c0e92 100644 --- a/met/src/tools/other/ioda2nc/ioda2nc_conf_info.cc +++ b/met/src/tools/other/ioda2nc/ioda2nc_conf_info.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/ioda2nc/ioda2nc_conf_info.h b/met/src/tools/other/ioda2nc/ioda2nc_conf_info.h index 8751ca6df7..217c7a8b61 100644 --- a/met/src/tools/other/ioda2nc/ioda2nc_conf_info.h +++ b/met/src/tools/other/ioda2nc/ioda2nc_conf_info.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/lidar2nc/calipso_5km.cc b/met/src/tools/other/lidar2nc/calipso_5km.cc index 5b7956619c..185dc58797 100644 --- a/met/src/tools/other/lidar2nc/calipso_5km.cc +++ b/met/src/tools/other/lidar2nc/calipso_5km.cc @@ -1,6 +1,6 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/lidar2nc/calipso_5km.h b/met/src/tools/other/lidar2nc/calipso_5km.h index 6e3b59edd6..eaa1dd6863 100644 --- a/met/src/tools/other/lidar2nc/calipso_5km.h +++ b/met/src/tools/other/lidar2nc/calipso_5km.h @@ -1,6 +1,6 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/lidar2nc/hdf_utils.cc b/met/src/tools/other/lidar2nc/hdf_utils.cc index 91c2753056..d7cd7d5740 100644 --- a/met/src/tools/other/lidar2nc/hdf_utils.cc +++ b/met/src/tools/other/lidar2nc/hdf_utils.cc @@ -1,6 +1,6 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/lidar2nc/hdf_utils.h b/met/src/tools/other/lidar2nc/hdf_utils.h index 670d6c7b8a..7dba934a4e 100644 --- a/met/src/tools/other/lidar2nc/hdf_utils.h +++ b/met/src/tools/other/lidar2nc/hdf_utils.h @@ -1,6 +1,6 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/lidar2nc/lidar2nc.cc b/met/src/tools/other/lidar2nc/lidar2nc.cc index b8bca05f9c..627c1f70c6 100644 --- a/met/src/tools/other/lidar2nc/lidar2nc.cc +++ b/met/src/tools/other/lidar2nc/lidar2nc.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/madis2nc/madis2nc.cc b/met/src/tools/other/madis2nc/madis2nc.cc index 621c841215..ded94c4f33 100644 --- a/met/src/tools/other/madis2nc/madis2nc.cc +++ b/met/src/tools/other/madis2nc/madis2nc.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/madis2nc/madis2nc.h b/met/src/tools/other/madis2nc/madis2nc.h index 6860d1079b..142698193e 100644 --- a/met/src/tools/other/madis2nc/madis2nc.h +++ b/met/src/tools/other/madis2nc/madis2nc.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/madis2nc/madis2nc_conf_info.cc b/met/src/tools/other/madis2nc/madis2nc_conf_info.cc index b11ff0a436..cf6c2af280 100644 --- a/met/src/tools/other/madis2nc/madis2nc_conf_info.cc +++ b/met/src/tools/other/madis2nc/madis2nc_conf_info.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/madis2nc/madis2nc_conf_info.h b/met/src/tools/other/madis2nc/madis2nc_conf_info.h index d7e6f56f7a..3fd72e1933 100644 --- a/met/src/tools/other/madis2nc/madis2nc_conf_info.h +++ b/met/src/tools/other/madis2nc/madis2nc_conf_info.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_graphics/cgraph.h b/met/src/tools/other/mode_graphics/cgraph.h index 9a092448a1..0d1ba11d63 100644 --- a/met/src/tools/other/mode_graphics/cgraph.h +++ b/met/src/tools/other/mode_graphics/cgraph.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_graphics/cgraph_font.cc b/met/src/tools/other/mode_graphics/cgraph_font.cc index a96cf4cab3..83d7b62a41 100644 --- a/met/src/tools/other/mode_graphics/cgraph_font.cc +++ b/met/src/tools/other/mode_graphics/cgraph_font.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_graphics/cgraph_font.h b/met/src/tools/other/mode_graphics/cgraph_font.h index ec636fb65a..66184a66b7 100644 --- a/met/src/tools/other/mode_graphics/cgraph_font.h +++ b/met/src/tools/other/mode_graphics/cgraph_font.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_graphics/cgraph_main.cc b/met/src/tools/other/mode_graphics/cgraph_main.cc index 67535e2270..6ed1092825 100644 --- a/met/src/tools/other/mode_graphics/cgraph_main.cc +++ b/met/src/tools/other/mode_graphics/cgraph_main.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_graphics/cgraph_main.h b/met/src/tools/other/mode_graphics/cgraph_main.h index 9758279d93..d570e5e6cc 100644 --- a/met/src/tools/other/mode_graphics/cgraph_main.h +++ b/met/src/tools/other/mode_graphics/cgraph_main.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_graphics/color_stack.cc b/met/src/tools/other/mode_graphics/color_stack.cc index 66873be59e..0df39516f9 100644 --- a/met/src/tools/other/mode_graphics/color_stack.cc +++ b/met/src/tools/other/mode_graphics/color_stack.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_graphics/color_stack.h b/met/src/tools/other/mode_graphics/color_stack.h index 4841d1e04c..6193027dd1 100644 --- a/met/src/tools/other/mode_graphics/color_stack.h +++ b/met/src/tools/other/mode_graphics/color_stack.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_graphics/gs_ps_map.h b/met/src/tools/other/mode_graphics/gs_ps_map.h index fe412f6350..83b383e911 100644 --- a/met/src/tools/other/mode_graphics/gs_ps_map.h +++ b/met/src/tools/other/mode_graphics/gs_ps_map.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_graphics/mode_nc_output_file.cc b/met/src/tools/other/mode_graphics/mode_nc_output_file.cc index fea96bc3b7..708ece18cf 100644 --- a/met/src/tools/other/mode_graphics/mode_nc_output_file.cc +++ b/met/src/tools/other/mode_graphics/mode_nc_output_file.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_graphics/mode_nc_output_file.h b/met/src/tools/other/mode_graphics/mode_nc_output_file.h index f4e7d11c89..3be5937c9e 100644 --- a/met/src/tools/other/mode_graphics/mode_nc_output_file.h +++ b/met/src/tools/other/mode_graphics/mode_nc_output_file.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_graphics/plot_mode_field.cc b/met/src/tools/other/mode_graphics/plot_mode_field.cc index b2bad56907..51516be279 100644 --- a/met/src/tools/other/mode_graphics/plot_mode_field.cc +++ b/met/src/tools/other/mode_graphics/plot_mode_field.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_graphics/sincosd.h b/met/src/tools/other/mode_graphics/sincosd.h index e8eee5b7bb..d61be2fa1c 100644 --- a/met/src/tools/other/mode_graphics/sincosd.h +++ b/met/src/tools/other/mode_graphics/sincosd.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/2d_att.cc b/met/src/tools/other/mode_time_domain/2d_att.cc index aeb1222952..1df67272cc 100644 --- a/met/src/tools/other/mode_time_domain/2d_att.cc +++ b/met/src/tools/other/mode_time_domain/2d_att.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/2d_att.h b/met/src/tools/other/mode_time_domain/2d_att.h index dffbadf004..0e6f66b059 100644 --- a/met/src/tools/other/mode_time_domain/2d_att.h +++ b/met/src/tools/other/mode_time_domain/2d_att.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/2d_att_array.cc b/met/src/tools/other/mode_time_domain/2d_att_array.cc index 759727e7c6..6b1502145e 100644 --- a/met/src/tools/other/mode_time_domain/2d_att_array.cc +++ b/met/src/tools/other/mode_time_domain/2d_att_array.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/2d_att_array.h b/met/src/tools/other/mode_time_domain/2d_att_array.h index 40fe4b51b5..3c7154383a 100644 --- a/met/src/tools/other/mode_time_domain/2d_att_array.h +++ b/met/src/tools/other/mode_time_domain/2d_att_array.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/2d_columns.h b/met/src/tools/other/mode_time_domain/2d_columns.h index 55ba828e97..8d34ef589e 100644 --- a/met/src/tools/other/mode_time_domain/2d_columns.h +++ b/met/src/tools/other/mode_time_domain/2d_columns.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/2d_moments.cc b/met/src/tools/other/mode_time_domain/2d_moments.cc index 6cf491d6ba..b2d521e75e 100644 --- a/met/src/tools/other/mode_time_domain/2d_moments.cc +++ b/met/src/tools/other/mode_time_domain/2d_moments.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/2d_moments.h b/met/src/tools/other/mode_time_domain/2d_moments.h index 0b65bf3d6e..e5de613c1f 100644 --- a/met/src/tools/other/mode_time_domain/2d_moments.h +++ b/met/src/tools/other/mode_time_domain/2d_moments.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/3d_att.cc b/met/src/tools/other/mode_time_domain/3d_att.cc index fab1364c19..0fc640ff05 100644 --- a/met/src/tools/other/mode_time_domain/3d_att.cc +++ b/met/src/tools/other/mode_time_domain/3d_att.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/3d_att.h b/met/src/tools/other/mode_time_domain/3d_att.h index a149952bd6..20e1c9a41f 100644 --- a/met/src/tools/other/mode_time_domain/3d_att.h +++ b/met/src/tools/other/mode_time_domain/3d_att.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/3d_att_pair_array.cc b/met/src/tools/other/mode_time_domain/3d_att_pair_array.cc index 1f244560a6..17e281d75d 100644 --- a/met/src/tools/other/mode_time_domain/3d_att_pair_array.cc +++ b/met/src/tools/other/mode_time_domain/3d_att_pair_array.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/3d_att_pair_array.h b/met/src/tools/other/mode_time_domain/3d_att_pair_array.h index e7853ad8a1..8aaadaf128 100644 --- a/met/src/tools/other/mode_time_domain/3d_att_pair_array.h +++ b/met/src/tools/other/mode_time_domain/3d_att_pair_array.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/3d_att_single_array.cc b/met/src/tools/other/mode_time_domain/3d_att_single_array.cc index b47ca8f8f1..71e34b5b4f 100644 --- a/met/src/tools/other/mode_time_domain/3d_att_single_array.cc +++ b/met/src/tools/other/mode_time_domain/3d_att_single_array.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/3d_att_single_array.h b/met/src/tools/other/mode_time_domain/3d_att_single_array.h index 7fa3bccdb1..7a95cbbee8 100644 --- a/met/src/tools/other/mode_time_domain/3d_att_single_array.h +++ b/met/src/tools/other/mode_time_domain/3d_att_single_array.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/3d_conv.cc b/met/src/tools/other/mode_time_domain/3d_conv.cc index cad22733bd..44ea6788e7 100644 --- a/met/src/tools/other/mode_time_domain/3d_conv.cc +++ b/met/src/tools/other/mode_time_domain/3d_conv.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/3d_moments.cc b/met/src/tools/other/mode_time_domain/3d_moments.cc index a0053c65c6..854e3c82dd 100644 --- a/met/src/tools/other/mode_time_domain/3d_moments.cc +++ b/met/src/tools/other/mode_time_domain/3d_moments.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/3d_moments.h b/met/src/tools/other/mode_time_domain/3d_moments.h index 38acc409b5..424249877b 100644 --- a/met/src/tools/other/mode_time_domain/3d_moments.h +++ b/met/src/tools/other/mode_time_domain/3d_moments.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/3d_pair_columns.h b/met/src/tools/other/mode_time_domain/3d_pair_columns.h index 96af542227..bd746ef8f3 100644 --- a/met/src/tools/other/mode_time_domain/3d_pair_columns.h +++ b/met/src/tools/other/mode_time_domain/3d_pair_columns.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/3d_single_columns.h b/met/src/tools/other/mode_time_domain/3d_single_columns.h index 841ffe5a95..0fbefaccbc 100644 --- a/met/src/tools/other/mode_time_domain/3d_single_columns.h +++ b/met/src/tools/other/mode_time_domain/3d_single_columns.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/3d_txt_header.h b/met/src/tools/other/mode_time_domain/3d_txt_header.h index 8dbd9b0a0a..fc7cf7ec70 100644 --- a/met/src/tools/other/mode_time_domain/3d_txt_header.h +++ b/met/src/tools/other/mode_time_domain/3d_txt_header.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/fo_graph.cc b/met/src/tools/other/mode_time_domain/fo_graph.cc index d483e4d5f9..9c22800a4f 100644 --- a/met/src/tools/other/mode_time_domain/fo_graph.cc +++ b/met/src/tools/other/mode_time_domain/fo_graph.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/fo_graph.h b/met/src/tools/other/mode_time_domain/fo_graph.h index 4c1191741a..fa1d5247e4 100644 --- a/met/src/tools/other/mode_time_domain/fo_graph.h +++ b/met/src/tools/other/mode_time_domain/fo_graph.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/fo_node.cc b/met/src/tools/other/mode_time_domain/fo_node.cc index 8f03f24f42..7e0891034d 100644 --- a/met/src/tools/other/mode_time_domain/fo_node.cc +++ b/met/src/tools/other/mode_time_domain/fo_node.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/fo_node.h b/met/src/tools/other/mode_time_domain/fo_node.h index 36233db527..58d01ca9c8 100644 --- a/met/src/tools/other/mode_time_domain/fo_node.h +++ b/met/src/tools/other/mode_time_domain/fo_node.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/fo_node_array.cc b/met/src/tools/other/mode_time_domain/fo_node_array.cc index 8e83173f35..5f72d8f456 100644 --- a/met/src/tools/other/mode_time_domain/fo_node_array.cc +++ b/met/src/tools/other/mode_time_domain/fo_node_array.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/fo_node_array.h b/met/src/tools/other/mode_time_domain/fo_node_array.h index 1c04e486ff..7b6b7dae5b 100644 --- a/met/src/tools/other/mode_time_domain/fo_node_array.h +++ b/met/src/tools/other/mode_time_domain/fo_node_array.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/interest_calc.cc b/met/src/tools/other/mode_time_domain/interest_calc.cc index 874635c400..40e6ce9ada 100644 --- a/met/src/tools/other/mode_time_domain/interest_calc.cc +++ b/met/src/tools/other/mode_time_domain/interest_calc.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/interest_calc.h b/met/src/tools/other/mode_time_domain/interest_calc.h index 9a14a71046..c520a5b0be 100644 --- a/met/src/tools/other/mode_time_domain/interest_calc.h +++ b/met/src/tools/other/mode_time_domain/interest_calc.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/mm_engine.cc b/met/src/tools/other/mode_time_domain/mm_engine.cc index 89c5c6d3e0..6daf8b7e96 100644 --- a/met/src/tools/other/mode_time_domain/mm_engine.cc +++ b/met/src/tools/other/mode_time_domain/mm_engine.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/mm_engine.h b/met/src/tools/other/mode_time_domain/mm_engine.h index 122b533fe0..e5aecef10f 100644 --- a/met/src/tools/other/mode_time_domain/mm_engine.h +++ b/met/src/tools/other/mode_time_domain/mm_engine.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/mtd.cc b/met/src/tools/other/mode_time_domain/mtd.cc index f8628b2f3c..bcabb80f03 100644 --- a/met/src/tools/other/mode_time_domain/mtd.cc +++ b/met/src/tools/other/mode_time_domain/mtd.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/mtd_config_info.cc b/met/src/tools/other/mode_time_domain/mtd_config_info.cc index 1b2bd261e8..8f700c0b85 100644 --- a/met/src/tools/other/mode_time_domain/mtd_config_info.cc +++ b/met/src/tools/other/mode_time_domain/mtd_config_info.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/mtd_config_info.h b/met/src/tools/other/mode_time_domain/mtd_config_info.h index fa512b9b3d..93665449e4 100644 --- a/met/src/tools/other/mode_time_domain/mtd_config_info.h +++ b/met/src/tools/other/mode_time_domain/mtd_config_info.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/mtd_file.h b/met/src/tools/other/mode_time_domain/mtd_file.h index 81b50ba7e4..5fc052fe1c 100644 --- a/met/src/tools/other/mode_time_domain/mtd_file.h +++ b/met/src/tools/other/mode_time_domain/mtd_file.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/mtd_file_base.cc b/met/src/tools/other/mode_time_domain/mtd_file_base.cc index 15f822051b..7c185333f3 100644 --- a/met/src/tools/other/mode_time_domain/mtd_file_base.cc +++ b/met/src/tools/other/mode_time_domain/mtd_file_base.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/mtd_file_base.h b/met/src/tools/other/mode_time_domain/mtd_file_base.h index e29009bbee..2d1e76d513 100644 --- a/met/src/tools/other/mode_time_domain/mtd_file_base.h +++ b/met/src/tools/other/mode_time_domain/mtd_file_base.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/mtd_file_float.cc b/met/src/tools/other/mode_time_domain/mtd_file_float.cc index 8be27e5521..9b1cf559f8 100644 --- a/met/src/tools/other/mode_time_domain/mtd_file_float.cc +++ b/met/src/tools/other/mode_time_domain/mtd_file_float.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/mtd_file_float.h b/met/src/tools/other/mode_time_domain/mtd_file_float.h index e965b7e628..630e69577c 100644 --- a/met/src/tools/other/mode_time_domain/mtd_file_float.h +++ b/met/src/tools/other/mode_time_domain/mtd_file_float.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/mtd_file_int.cc b/met/src/tools/other/mode_time_domain/mtd_file_int.cc index dbc36d62c5..1d885d85bf 100644 --- a/met/src/tools/other/mode_time_domain/mtd_file_int.cc +++ b/met/src/tools/other/mode_time_domain/mtd_file_int.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/mtd_file_int.h b/met/src/tools/other/mode_time_domain/mtd_file_int.h index 041e01aeca..52f7cfcc87 100644 --- a/met/src/tools/other/mode_time_domain/mtd_file_int.h +++ b/met/src/tools/other/mode_time_domain/mtd_file_int.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/mtd_nc_defs.h b/met/src/tools/other/mode_time_domain/mtd_nc_defs.h index b95197a54f..df29bc5fa6 100644 --- a/met/src/tools/other/mode_time_domain/mtd_nc_defs.h +++ b/met/src/tools/other/mode_time_domain/mtd_nc_defs.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/mtd_nc_output.cc b/met/src/tools/other/mode_time_domain/mtd_nc_output.cc index 8a5b4c5ce3..2df09ae472 100644 --- a/met/src/tools/other/mode_time_domain/mtd_nc_output.cc +++ b/met/src/tools/other/mode_time_domain/mtd_nc_output.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/mtd_nc_output.h b/met/src/tools/other/mode_time_domain/mtd_nc_output.h index 5dbf8b8a85..ec2ed57e8e 100644 --- a/met/src/tools/other/mode_time_domain/mtd_nc_output.h +++ b/met/src/tools/other/mode_time_domain/mtd_nc_output.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/mtd_partition.cc b/met/src/tools/other/mode_time_domain/mtd_partition.cc index c3534e0221..6de39e9182 100644 --- a/met/src/tools/other/mode_time_domain/mtd_partition.cc +++ b/met/src/tools/other/mode_time_domain/mtd_partition.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/mtd_partition.h b/met/src/tools/other/mode_time_domain/mtd_partition.h index 1e00ad9773..926c9ee495 100644 --- a/met/src/tools/other/mode_time_domain/mtd_partition.h +++ b/met/src/tools/other/mode_time_domain/mtd_partition.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/mtd_read_data.cc b/met/src/tools/other/mode_time_domain/mtd_read_data.cc index cf2fd2d2fa..a129082909 100644 --- a/met/src/tools/other/mode_time_domain/mtd_read_data.cc +++ b/met/src/tools/other/mode_time_domain/mtd_read_data.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/mtd_read_data.h b/met/src/tools/other/mode_time_domain/mtd_read_data.h index 7950d87d0f..cebb9c482f 100644 --- a/met/src/tools/other/mode_time_domain/mtd_read_data.h +++ b/met/src/tools/other/mode_time_domain/mtd_read_data.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/mtd_txt_output.cc b/met/src/tools/other/mode_time_domain/mtd_txt_output.cc index c19abb2489..3b717c6b5d 100644 --- a/met/src/tools/other/mode_time_domain/mtd_txt_output.cc +++ b/met/src/tools/other/mode_time_domain/mtd_txt_output.cc @@ -1,6 +1,6 @@ // ** National Center for Atmospheric Research (NCAR) // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** Research Applications Lab (RAL) // ** P.O.Box 3000, Boulder, Colorado, 80307-3000, USA diff --git a/met/src/tools/other/mode_time_domain/mtd_txt_output.h b/met/src/tools/other/mode_time_domain/mtd_txt_output.h index 1100eeb8e6..797ac26b6e 100644 --- a/met/src/tools/other/mode_time_domain/mtd_txt_output.h +++ b/met/src/tools/other/mode_time_domain/mtd_txt_output.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/nc_grid.cc b/met/src/tools/other/mode_time_domain/nc_grid.cc index e123acbd25..2b4a3e89b4 100644 --- a/met/src/tools/other/mode_time_domain/nc_grid.cc +++ b/met/src/tools/other/mode_time_domain/nc_grid.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/nc_grid.h b/met/src/tools/other/mode_time_domain/nc_grid.h index 6677e1b413..79e1115bfe 100644 --- a/met/src/tools/other/mode_time_domain/nc_grid.h +++ b/met/src/tools/other/mode_time_domain/nc_grid.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/nc_utils_local.cc b/met/src/tools/other/mode_time_domain/nc_utils_local.cc index 8aceca0d79..a0c0f976bf 100644 --- a/met/src/tools/other/mode_time_domain/nc_utils_local.cc +++ b/met/src/tools/other/mode_time_domain/nc_utils_local.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/mode_time_domain/nc_utils_local.h b/met/src/tools/other/mode_time_domain/nc_utils_local.h index ac357d0846..5e16d2845e 100644 --- a/met/src/tools/other/mode_time_domain/nc_utils_local.h +++ b/met/src/tools/other/mode_time_domain/nc_utils_local.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/modis_regrid/cloudsat_swath_file.cc b/met/src/tools/other/modis_regrid/cloudsat_swath_file.cc index b403c02c4b..49d6fc5d4d 100644 --- a/met/src/tools/other/modis_regrid/cloudsat_swath_file.cc +++ b/met/src/tools/other/modis_regrid/cloudsat_swath_file.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/modis_regrid/cloudsat_swath_file.h b/met/src/tools/other/modis_regrid/cloudsat_swath_file.h index 83cf08b800..33d815e045 100644 --- a/met/src/tools/other/modis_regrid/cloudsat_swath_file.h +++ b/met/src/tools/other/modis_regrid/cloudsat_swath_file.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/modis_regrid/data_averager.cc b/met/src/tools/other/modis_regrid/data_averager.cc index 39d5991613..a582682bfc 100644 --- a/met/src/tools/other/modis_regrid/data_averager.cc +++ b/met/src/tools/other/modis_regrid/data_averager.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/modis_regrid/data_averager.h b/met/src/tools/other/modis_regrid/data_averager.h index 034660eee6..adad4f996a 100644 --- a/met/src/tools/other/modis_regrid/data_averager.h +++ b/met/src/tools/other/modis_regrid/data_averager.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/modis_regrid/data_plane_to_netcdf.cc b/met/src/tools/other/modis_regrid/data_plane_to_netcdf.cc index f8c401997b..40f9771931 100644 --- a/met/src/tools/other/modis_regrid/data_plane_to_netcdf.cc +++ b/met/src/tools/other/modis_regrid/data_plane_to_netcdf.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/modis_regrid/data_plane_to_netcdf.h b/met/src/tools/other/modis_regrid/data_plane_to_netcdf.h index 59e018e67d..682bc3d29b 100644 --- a/met/src/tools/other/modis_regrid/data_plane_to_netcdf.h +++ b/met/src/tools/other/modis_regrid/data_plane_to_netcdf.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/modis_regrid/modis_file.cc b/met/src/tools/other/modis_regrid/modis_file.cc index 261f06c3df..c3825f8d85 100644 --- a/met/src/tools/other/modis_regrid/modis_file.cc +++ b/met/src/tools/other/modis_regrid/modis_file.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/modis_regrid/modis_file.h b/met/src/tools/other/modis_regrid/modis_file.h index 3495a2ce8c..3a87eacd51 100644 --- a/met/src/tools/other/modis_regrid/modis_file.h +++ b/met/src/tools/other/modis_regrid/modis_file.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/modis_regrid/modis_regrid.cc b/met/src/tools/other/modis_regrid/modis_regrid.cc index fa4ffa1f6b..600abf655c 100644 --- a/met/src/tools/other/modis_regrid/modis_regrid.cc +++ b/met/src/tools/other/modis_regrid/modis_regrid.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/modis_regrid/sat_utils.cc b/met/src/tools/other/modis_regrid/sat_utils.cc index 4e22431ec7..e1fc2540c0 100644 --- a/met/src/tools/other/modis_regrid/sat_utils.cc +++ b/met/src/tools/other/modis_regrid/sat_utils.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/modis_regrid/sat_utils.h b/met/src/tools/other/modis_regrid/sat_utils.h index f5c0de52bf..6cc285f92a 100644 --- a/met/src/tools/other/modis_regrid/sat_utils.h +++ b/met/src/tools/other/modis_regrid/sat_utils.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/pb2nc/closepb.f b/met/src/tools/other/pb2nc/closepb.f index d8e3d442e9..7d0cbb7262 100644 --- a/met/src/tools/other/pb2nc/closepb.f +++ b/met/src/tools/other/pb2nc/closepb.f @@ -1,7 +1,7 @@ C* *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -C* ** Copyright UCAR (c) 1992 - 2018 -C* ** University Corporation for AtmospheriC*Research (UCAR) -C* ** National Center for AtmospheriC*Research (NCAR) +C* ** Copyright UCAR (c) 1992 - 2021 +C* ** University Corporation for Atmospheric Research (UCAR) +C* ** National Center for Atmospheric Research (NCAR) C* ** Research Applications Lab (RAL) C* ** P.O.Box 3000, Boulder, Colorado, 80307-3000, USA C* *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* diff --git a/met/src/tools/other/pb2nc/dumppb.f b/met/src/tools/other/pb2nc/dumppb.f index 9f75a2e0ee..8c07364668 100644 --- a/met/src/tools/other/pb2nc/dumppb.f +++ b/met/src/tools/other/pb2nc/dumppb.f @@ -1,7 +1,7 @@ C* *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -C* ** Copyright UCAR (c) 1992 - 2018 -C* ** University Corporation for AtmospheriC*Research (UCAR) -C* ** National Center for AtmospheriC*Research (NCAR) +C* ** Copyright UCAR (c) 1992 - 2021 +C* ** University Corporation for Atmospheric Research (UCAR) +C* ** National Center for Atmospheric Research (NCAR) C* ** Research Applications Lab (RAL) C* ** P.O.Box 3000, Boulder, Colorado, 80307-3000, USA C* *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* diff --git a/met/src/tools/other/pb2nc/numpbmsg.f b/met/src/tools/other/pb2nc/numpbmsg.f index 18a5d09128..d6b5b4b4d4 100644 --- a/met/src/tools/other/pb2nc/numpbmsg.f +++ b/met/src/tools/other/pb2nc/numpbmsg.f @@ -1,7 +1,7 @@ C* *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -C* ** Copyright UCAR (c) 1992 - 2018 -C* ** University Corporation for AtmospheriC*Research (UCAR) -C* ** National Center for AtmospheriC*Research (NCAR) +C* ** Copyright UCAR (c) 1992 - 2021 +C* ** University Corporation for Atmospheric Research (UCAR) +C* ** National Center for Atmospheric Research (NCAR) C* ** Research Applications Lab (RAL) C* ** P.O.Box 3000, Boulder, Colorado, 80307-3000, USA C* *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* @@ -60,4 +60,4 @@ SUBROUTINE GET_TMIN ( FID, TMIN ) TMIN = IUPVS01(FID,'MINU') C* END - \ No newline at end of file + diff --git a/met/src/tools/other/pb2nc/openpb.f b/met/src/tools/other/pb2nc/openpb.f index dc78c877bc..532cf0ce54 100644 --- a/met/src/tools/other/pb2nc/openpb.f +++ b/met/src/tools/other/pb2nc/openpb.f @@ -1,7 +1,7 @@ C* *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -C* ** Copyright UCAR (c) 1992 - 2018 -C* ** University Corporation for AtmospheriC*Research (UCAR) -C* ** National Center for AtmospheriC*Research (NCAR) +C* ** Copyright UCAR (c) 1992 - 2021 +C* ** University Corporation for Atmospheric Research (UCAR) +C* ** National Center for Atmospheric Research (NCAR) C* ** Research Applications Lab (RAL) C* ** P.O.Box 3000, Boulder, Colorado, 80307-3000, USA C* *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* diff --git a/met/src/tools/other/pb2nc/pb2nc.cc b/met/src/tools/other/pb2nc/pb2nc.cc index b36095ccf5..1113290c76 100644 --- a/met/src/tools/other/pb2nc/pb2nc.cc +++ b/met/src/tools/other/pb2nc/pb2nc.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/pb2nc/pb2nc_conf_info.cc b/met/src/tools/other/pb2nc/pb2nc_conf_info.cc index 5f990d0099..8acd87755b 100644 --- a/met/src/tools/other/pb2nc/pb2nc_conf_info.cc +++ b/met/src/tools/other/pb2nc/pb2nc_conf_info.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/pb2nc/pb2nc_conf_info.h b/met/src/tools/other/pb2nc/pb2nc_conf_info.h index d99451dbae..26dc20c282 100644 --- a/met/src/tools/other/pb2nc/pb2nc_conf_info.h +++ b/met/src/tools/other/pb2nc/pb2nc_conf_info.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/pb2nc/readpb.f b/met/src/tools/other/pb2nc/readpb.f index d5aef7bfa3..dec7eab8da 100644 --- a/met/src/tools/other/pb2nc/readpb.f +++ b/met/src/tools/other/pb2nc/readpb.f @@ -1,7 +1,7 @@ C* *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -C* ** Copyright UCAR (c) 1992 - 2018 -C* ** University Corporation for AtmospheriC*Research (UCAR) -C* ** National Center for AtmospheriC*Research (NCAR) +C* ** Copyright UCAR (c) 1992 - 2021 +C* ** University Corporation for Atmospheric Research (UCAR) +C* ** National Center for Atmospheric Research (NCAR) C* ** Research Applications Lab (RAL) C* ** P.O.Box 3000, Boulder, Colorado, 80307-3000, USA C* *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* diff --git a/met/src/tools/other/plot_data_plane/plot_data_plane.cc b/met/src/tools/other/plot_data_plane/plot_data_plane.cc index 1f6886c3fb..80251a7ccf 100644 --- a/met/src/tools/other/plot_data_plane/plot_data_plane.cc +++ b/met/src/tools/other/plot_data_plane/plot_data_plane.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/plot_point_obs/plot_point_obs.cc b/met/src/tools/other/plot_point_obs/plot_point_obs.cc index 768f7393a1..6ffee6c271 100644 --- a/met/src/tools/other/plot_point_obs/plot_point_obs.cc +++ b/met/src/tools/other/plot_point_obs/plot_point_obs.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/plot_point_obs/plot_point_obs.h b/met/src/tools/other/plot_point_obs/plot_point_obs.h index 56faf4f28a..7fec0e19f0 100644 --- a/met/src/tools/other/plot_point_obs/plot_point_obs.h +++ b/met/src/tools/other/plot_point_obs/plot_point_obs.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/plot_point_obs/plot_point_obs_conf_info.cc b/met/src/tools/other/plot_point_obs/plot_point_obs_conf_info.cc index 93213bdc35..a53740f278 100644 --- a/met/src/tools/other/plot_point_obs/plot_point_obs_conf_info.cc +++ b/met/src/tools/other/plot_point_obs/plot_point_obs_conf_info.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/plot_point_obs/plot_point_obs_conf_info.h b/met/src/tools/other/plot_point_obs/plot_point_obs_conf_info.h index 743fbeaf75..8261cc3f91 100644 --- a/met/src/tools/other/plot_point_obs/plot_point_obs_conf_info.h +++ b/met/src/tools/other/plot_point_obs/plot_point_obs_conf_info.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/point2grid/point2grid.cc b/met/src/tools/other/point2grid/point2grid.cc index f5a5f57e3b..f81a0c6bea 100644 --- a/met/src/tools/other/point2grid/point2grid.cc +++ b/met/src/tools/other/point2grid/point2grid.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/point2grid/point2grid_conf_info.cc b/met/src/tools/other/point2grid/point2grid_conf_info.cc index 73c1f3a78b..8c50524235 100644 --- a/met/src/tools/other/point2grid/point2grid_conf_info.cc +++ b/met/src/tools/other/point2grid/point2grid_conf_info.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/point2grid/point2grid_conf_info.h b/met/src/tools/other/point2grid/point2grid_conf_info.h index 73196a33e2..fe62f7258a 100644 --- a/met/src/tools/other/point2grid/point2grid_conf_info.h +++ b/met/src/tools/other/point2grid/point2grid_conf_info.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/regrid_data_plane/regrid_data_plane.cc b/met/src/tools/other/regrid_data_plane/regrid_data_plane.cc index 7d68ffb1c2..695201ed10 100644 --- a/met/src/tools/other/regrid_data_plane/regrid_data_plane.cc +++ b/met/src/tools/other/regrid_data_plane/regrid_data_plane.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/shift_data_plane/shift_data_plane.cc b/met/src/tools/other/shift_data_plane/shift_data_plane.cc index 99020a8f9b..979babbfe1 100644 --- a/met/src/tools/other/shift_data_plane/shift_data_plane.cc +++ b/met/src/tools/other/shift_data_plane/shift_data_plane.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/wwmca_tool/af_cp_file.cc b/met/src/tools/other/wwmca_tool/af_cp_file.cc index 66d7c0927b..c5ad453f95 100644 --- a/met/src/tools/other/wwmca_tool/af_cp_file.cc +++ b/met/src/tools/other/wwmca_tool/af_cp_file.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/wwmca_tool/af_cp_file.h b/met/src/tools/other/wwmca_tool/af_cp_file.h index 72d4261be5..2b3713fd73 100644 --- a/met/src/tools/other/wwmca_tool/af_cp_file.h +++ b/met/src/tools/other/wwmca_tool/af_cp_file.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/wwmca_tool/af_file.cc b/met/src/tools/other/wwmca_tool/af_file.cc index 142497efc0..8e42f35045 100644 --- a/met/src/tools/other/wwmca_tool/af_file.cc +++ b/met/src/tools/other/wwmca_tool/af_file.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/wwmca_tool/af_file.h b/met/src/tools/other/wwmca_tool/af_file.h index 670916fc5d..bd95a18c5b 100644 --- a/met/src/tools/other/wwmca_tool/af_file.h +++ b/met/src/tools/other/wwmca_tool/af_file.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/wwmca_tool/af_pt_file.cc b/met/src/tools/other/wwmca_tool/af_pt_file.cc index abbf324c68..e64897d80f 100644 --- a/met/src/tools/other/wwmca_tool/af_pt_file.cc +++ b/met/src/tools/other/wwmca_tool/af_pt_file.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/wwmca_tool/af_pt_file.h b/met/src/tools/other/wwmca_tool/af_pt_file.h index 0ef403f189..61859d8755 100644 --- a/met/src/tools/other/wwmca_tool/af_pt_file.h +++ b/met/src/tools/other/wwmca_tool/af_pt_file.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/wwmca_tool/ave_interp.cc b/met/src/tools/other/wwmca_tool/ave_interp.cc index 84f381878e..51b4f88fb0 100644 --- a/met/src/tools/other/wwmca_tool/ave_interp.cc +++ b/met/src/tools/other/wwmca_tool/ave_interp.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/wwmca_tool/ave_interp.h b/met/src/tools/other/wwmca_tool/ave_interp.h index 84275c6368..96f16737e1 100644 --- a/met/src/tools/other/wwmca_tool/ave_interp.h +++ b/met/src/tools/other/wwmca_tool/ave_interp.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/wwmca_tool/interp_base.cc b/met/src/tools/other/wwmca_tool/interp_base.cc index 7666c1dac9..3bf262eefa 100644 --- a/met/src/tools/other/wwmca_tool/interp_base.cc +++ b/met/src/tools/other/wwmca_tool/interp_base.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/wwmca_tool/interp_base.h b/met/src/tools/other/wwmca_tool/interp_base.h index 3de5dd30e9..81b030aef2 100644 --- a/met/src/tools/other/wwmca_tool/interp_base.h +++ b/met/src/tools/other/wwmca_tool/interp_base.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/wwmca_tool/max_interp.cc b/met/src/tools/other/wwmca_tool/max_interp.cc index 3bcccbaaeb..2f870ea7f2 100644 --- a/met/src/tools/other/wwmca_tool/max_interp.cc +++ b/met/src/tools/other/wwmca_tool/max_interp.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/wwmca_tool/max_interp.h b/met/src/tools/other/wwmca_tool/max_interp.h index ae28eebbdf..a4760c3062 100644 --- a/met/src/tools/other/wwmca_tool/max_interp.h +++ b/met/src/tools/other/wwmca_tool/max_interp.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/wwmca_tool/min_interp.cc b/met/src/tools/other/wwmca_tool/min_interp.cc index e4d868c9ec..3973ba011e 100644 --- a/met/src/tools/other/wwmca_tool/min_interp.cc +++ b/met/src/tools/other/wwmca_tool/min_interp.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/wwmca_tool/min_interp.h b/met/src/tools/other/wwmca_tool/min_interp.h index e909fa9b58..fc301a6e16 100644 --- a/met/src/tools/other/wwmca_tool/min_interp.h +++ b/met/src/tools/other/wwmca_tool/min_interp.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/wwmca_tool/nc_output.cc b/met/src/tools/other/wwmca_tool/nc_output.cc index 26b7330004..fb55d045b5 100644 --- a/met/src/tools/other/wwmca_tool/nc_output.cc +++ b/met/src/tools/other/wwmca_tool/nc_output.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/wwmca_tool/nearest_interp.cc b/met/src/tools/other/wwmca_tool/nearest_interp.cc index e845adff8d..3b5cb14624 100644 --- a/met/src/tools/other/wwmca_tool/nearest_interp.cc +++ b/met/src/tools/other/wwmca_tool/nearest_interp.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/wwmca_tool/nearest_interp.h b/met/src/tools/other/wwmca_tool/nearest_interp.h index 7e06c82085..d4a3eb7c57 100644 --- a/met/src/tools/other/wwmca_tool/nearest_interp.h +++ b/met/src/tools/other/wwmca_tool/nearest_interp.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/wwmca_tool/wwmca_plot.cc b/met/src/tools/other/wwmca_tool/wwmca_plot.cc index a62aa5ddd3..fce0ed780b 100644 --- a/met/src/tools/other/wwmca_tool/wwmca_plot.cc +++ b/met/src/tools/other/wwmca_tool/wwmca_plot.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/wwmca_tool/wwmca_ref.cc b/met/src/tools/other/wwmca_tool/wwmca_ref.cc index dd4079c7ae..828e517485 100644 --- a/met/src/tools/other/wwmca_tool/wwmca_ref.cc +++ b/met/src/tools/other/wwmca_tool/wwmca_ref.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/wwmca_tool/wwmca_ref.h b/met/src/tools/other/wwmca_tool/wwmca_ref.h index 95f1bff12f..043669e11e 100644 --- a/met/src/tools/other/wwmca_tool/wwmca_ref.h +++ b/met/src/tools/other/wwmca_tool/wwmca_ref.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/wwmca_tool/wwmca_regrid.cc b/met/src/tools/other/wwmca_tool/wwmca_regrid.cc index e99b45c774..df4c3324af 100644 --- a/met/src/tools/other/wwmca_tool/wwmca_regrid.cc +++ b/met/src/tools/other/wwmca_tool/wwmca_regrid.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/wwmca_tool/wwmca_utils.cc b/met/src/tools/other/wwmca_tool/wwmca_utils.cc index 1288a06193..9d02297c60 100644 --- a/met/src/tools/other/wwmca_tool/wwmca_utils.cc +++ b/met/src/tools/other/wwmca_tool/wwmca_utils.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/other/wwmca_tool/wwmca_utils.h b/met/src/tools/other/wwmca_tool/wwmca_utils.h index 91ea2f054b..1070195941 100644 --- a/met/src/tools/other/wwmca_tool/wwmca_utils.h +++ b/met/src/tools/other/wwmca_tool/wwmca_utils.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/tc_utils/rmw_analysis/rmw_analysis.cc b/met/src/tools/tc_utils/rmw_analysis/rmw_analysis.cc index 084ea2edeb..5965ba8c84 100644 --- a/met/src/tools/tc_utils/rmw_analysis/rmw_analysis.cc +++ b/met/src/tools/tc_utils/rmw_analysis/rmw_analysis.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2019 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/tc_utils/rmw_analysis/rmw_analysis.h b/met/src/tools/tc_utils/rmw_analysis/rmw_analysis.h index 3f6d344889..2c00e1d609 100644 --- a/met/src/tools/tc_utils/rmw_analysis/rmw_analysis.h +++ b/met/src/tools/tc_utils/rmw_analysis/rmw_analysis.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2019 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/tc_utils/rmw_analysis/rmw_analysis_conf_info.cc b/met/src/tools/tc_utils/rmw_analysis/rmw_analysis_conf_info.cc index 3437b9e2bd..4e3c1cd734 100644 --- a/met/src/tools/tc_utils/rmw_analysis/rmw_analysis_conf_info.cc +++ b/met/src/tools/tc_utils/rmw_analysis/rmw_analysis_conf_info.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2019 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/tc_utils/rmw_analysis/rmw_analysis_conf_info.h b/met/src/tools/tc_utils/rmw_analysis/rmw_analysis_conf_info.h index 576ad9db0a..2fde1a15a0 100644 --- a/met/src/tools/tc_utils/rmw_analysis/rmw_analysis_conf_info.h +++ b/met/src/tools/tc_utils/rmw_analysis/rmw_analysis_conf_info.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2019 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/tc_utils/tc_dland/tc_dland.cc b/met/src/tools/tc_utils/tc_dland/tc_dland.cc index dcd2d83ab9..e7c378549c 100644 --- a/met/src/tools/tc_utils/tc_dland/tc_dland.cc +++ b/met/src/tools/tc_utils/tc_dland/tc_dland.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/tc_utils/tc_dland/tc_poly.cc b/met/src/tools/tc_utils/tc_dland/tc_poly.cc index 02f0cbd726..ef50388018 100644 --- a/met/src/tools/tc_utils/tc_dland/tc_poly.cc +++ b/met/src/tools/tc_utils/tc_dland/tc_poly.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/tc_utils/tc_dland/tc_poly.h b/met/src/tools/tc_utils/tc_dland/tc_poly.h index 29197aec30..0d307f910f 100644 --- a/met/src/tools/tc_utils/tc_dland/tc_poly.h +++ b/met/src/tools/tc_utils/tc_dland/tc_poly.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/tc_utils/tc_gen/tc_gen.cc b/met/src/tools/tc_utils/tc_gen/tc_gen.cc index 743db7fd44..21ecc6269f 100644 --- a/met/src/tools/tc_utils/tc_gen/tc_gen.cc +++ b/met/src/tools/tc_utils/tc_gen/tc_gen.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/tc_utils/tc_gen/tc_gen.h b/met/src/tools/tc_utils/tc_gen/tc_gen.h index 10118842c6..a531652c32 100644 --- a/met/src/tools/tc_utils/tc_gen/tc_gen.h +++ b/met/src/tools/tc_utils/tc_gen/tc_gen.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/tc_utils/tc_gen/tc_gen_conf_info.cc b/met/src/tools/tc_utils/tc_gen/tc_gen_conf_info.cc index e2046c0c13..02f75d16d7 100644 --- a/met/src/tools/tc_utils/tc_gen/tc_gen_conf_info.cc +++ b/met/src/tools/tc_utils/tc_gen/tc_gen_conf_info.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/tc_utils/tc_gen/tc_gen_conf_info.h b/met/src/tools/tc_utils/tc_gen/tc_gen_conf_info.h index 0769f64f8f..a02a62e562 100644 --- a/met/src/tools/tc_utils/tc_gen/tc_gen_conf_info.h +++ b/met/src/tools/tc_utils/tc_gen/tc_gen_conf_info.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/tc_utils/tc_pairs/tc_pairs.cc b/met/src/tools/tc_utils/tc_pairs/tc_pairs.cc index 6fd095d299..dc3792da05 100644 --- a/met/src/tools/tc_utils/tc_pairs/tc_pairs.cc +++ b/met/src/tools/tc_utils/tc_pairs/tc_pairs.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/tc_utils/tc_pairs/tc_pairs.h b/met/src/tools/tc_utils/tc_pairs/tc_pairs.h index 6d14b21bb5..7a6d435715 100644 --- a/met/src/tools/tc_utils/tc_pairs/tc_pairs.h +++ b/met/src/tools/tc_utils/tc_pairs/tc_pairs.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/tc_utils/tc_pairs/tc_pairs_conf_info.cc b/met/src/tools/tc_utils/tc_pairs/tc_pairs_conf_info.cc index 4c122d7aeb..9bb8105282 100644 --- a/met/src/tools/tc_utils/tc_pairs/tc_pairs_conf_info.cc +++ b/met/src/tools/tc_utils/tc_pairs/tc_pairs_conf_info.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/tc_utils/tc_pairs/tc_pairs_conf_info.h b/met/src/tools/tc_utils/tc_pairs/tc_pairs_conf_info.h index be457218b4..ffbe04442a 100644 --- a/met/src/tools/tc_utils/tc_pairs/tc_pairs_conf_info.h +++ b/met/src/tools/tc_utils/tc_pairs/tc_pairs_conf_info.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/tc_utils/tc_rmw/tc_rmw.cc b/met/src/tools/tc_utils/tc_rmw/tc_rmw.cc index be0c6edddc..27e224387c 100644 --- a/met/src/tools/tc_utils/tc_rmw/tc_rmw.cc +++ b/met/src/tools/tc_utils/tc_rmw/tc_rmw.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/tc_utils/tc_rmw/tc_rmw.h b/met/src/tools/tc_utils/tc_rmw/tc_rmw.h index 8e9620c8fe..acc8e81513 100644 --- a/met/src/tools/tc_utils/tc_rmw/tc_rmw.h +++ b/met/src/tools/tc_utils/tc_rmw/tc_rmw.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/tc_utils/tc_rmw/tc_rmw_conf_info.cc b/met/src/tools/tc_utils/tc_rmw/tc_rmw_conf_info.cc index 2299208b48..e309e0e7f8 100644 --- a/met/src/tools/tc_utils/tc_rmw/tc_rmw_conf_info.cc +++ b/met/src/tools/tc_utils/tc_rmw/tc_rmw_conf_info.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/tc_utils/tc_rmw/tc_rmw_conf_info.h b/met/src/tools/tc_utils/tc_rmw/tc_rmw_conf_info.h index 5e23d6765e..f8fc48f276 100644 --- a/met/src/tools/tc_utils/tc_rmw/tc_rmw_conf_info.h +++ b/met/src/tools/tc_utils/tc_rmw/tc_rmw_conf_info.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/tc_utils/tc_stat/tc_stat.cc b/met/src/tools/tc_utils/tc_stat/tc_stat.cc index 98713d12c1..5595e02b93 100644 --- a/met/src/tools/tc_utils/tc_stat/tc_stat.cc +++ b/met/src/tools/tc_utils/tc_stat/tc_stat.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/tc_utils/tc_stat/tc_stat.h b/met/src/tools/tc_utils/tc_stat/tc_stat.h index 57e519af53..4addd94508 100644 --- a/met/src/tools/tc_utils/tc_stat/tc_stat.h +++ b/met/src/tools/tc_utils/tc_stat/tc_stat.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/tc_utils/tc_stat/tc_stat_conf_info.cc b/met/src/tools/tc_utils/tc_stat/tc_stat_conf_info.cc index 1bdc3af262..6305732e18 100644 --- a/met/src/tools/tc_utils/tc_stat/tc_stat_conf_info.cc +++ b/met/src/tools/tc_utils/tc_stat/tc_stat_conf_info.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/tc_utils/tc_stat/tc_stat_conf_info.h b/met/src/tools/tc_utils/tc_stat/tc_stat_conf_info.h index 65e68d80f8..e6a40e3ee3 100644 --- a/met/src/tools/tc_utils/tc_stat/tc_stat_conf_info.h +++ b/met/src/tools/tc_utils/tc_stat/tc_stat_conf_info.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/tc_utils/tc_stat/tc_stat_files.cc b/met/src/tools/tc_utils/tc_stat/tc_stat_files.cc index 4478cf831b..a70064d4b8 100644 --- a/met/src/tools/tc_utils/tc_stat/tc_stat_files.cc +++ b/met/src/tools/tc_utils/tc_stat/tc_stat_files.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/tc_utils/tc_stat/tc_stat_files.h b/met/src/tools/tc_utils/tc_stat/tc_stat_files.h index e6b6118d9e..18edf7bf1b 100644 --- a/met/src/tools/tc_utils/tc_stat/tc_stat_files.h +++ b/met/src/tools/tc_utils/tc_stat/tc_stat_files.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/tc_utils/tc_stat/tc_stat_job.cc b/met/src/tools/tc_utils/tc_stat/tc_stat_job.cc index 6f6f812878..59e4dd9616 100644 --- a/met/src/tools/tc_utils/tc_stat/tc_stat_job.cc +++ b/met/src/tools/tc_utils/tc_stat/tc_stat_job.cc @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) diff --git a/met/src/tools/tc_utils/tc_stat/tc_stat_job.h b/met/src/tools/tc_utils/tc_stat/tc_stat_job.h index 4ad98be987..111c6a3564 100644 --- a/met/src/tools/tc_utils/tc_stat/tc_stat_job.h +++ b/met/src/tools/tc_utils/tc_stat/tc_stat_job.h @@ -1,5 +1,5 @@ // *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* -// ** Copyright UCAR (c) 1992 - 2020 +// ** Copyright UCAR (c) 1992 - 2021 // ** University Corporation for Atmospheric Research (UCAR) // ** National Center for Atmospheric Research (NCAR) // ** Research Applications Lab (RAL) From ddf29e0d6872f602afd0552ccb8e0c117d6374d9 Mon Sep 17 00:00:00 2001 From: johnhg Date: Tue, 27 Apr 2021 10:27:19 -0600 Subject: [PATCH 06/40] Bugfix 1768 edeck (#1769) * Per #1768, update logic in ATCFProbLine::read_line(). If read_line() from the base class returns bad status, have this one return bad status as well. But do NOT for unsupported line types. Just print a Debug(4) log message instead. * Per #1768, update the probability line types to match those listed in https://www.nrlmry.navy.mil/atcf_web/docs/database/new/edeck.txt. That documentation was last updated in 11/2020, so presumably these reflect NHC's latest changes. * Per #1768, renaming enumerated value from ATCFLineType_ProbRIRW to ATCFLineType_ProbRI since there are now separated ATCF line type for rapid intensitifcation (RI) and weakening (RW). Will work more with this data in future issues to verify more of these probability types. --- met/src/libcode/vx_tc_util/atcf_line_base.cc | 12 ++-- met/src/libcode/vx_tc_util/atcf_line_base.h | 11 +++- met/src/libcode/vx_tc_util/atcf_prob_line.cc | 57 ++++++++++--------- met/src/libcode/vx_tc_util/prob_info_array.cc | 2 +- met/src/libcode/vx_tc_util/prob_info_base.cc | 2 +- met/src/libcode/vx_tc_util/prob_pair_info.cc | 2 +- met/src/tools/tc_utils/tc_pairs/tc_pairs.cc | 2 +- 7 files changed, 51 insertions(+), 37 deletions(-) diff --git a/met/src/libcode/vx_tc_util/atcf_line_base.cc b/met/src/libcode/vx_tc_util/atcf_line_base.cc index bc5474cec4..c4fca4e38e 100644 --- a/met/src/libcode/vx_tc_util/atcf_line_base.cc +++ b/met/src/libcode/vx_tc_util/atcf_line_base.cc @@ -482,11 +482,13 @@ ATCFLineType string_to_atcflinetype(const char *s) { else if(strlen(s) == 0) t = ATCFLineType_Track; // BDECK else if(strcasecmp(s, "TR") == 0) t = ATCFLineType_ProbTR; else if(strcasecmp(s, "IN") == 0) t = ATCFLineType_ProbIN; - else if(strcasecmp(s, "RI") == 0) t = ATCFLineType_ProbRIRW; - else if(strcasecmp(s, "WD") == 0) t = ATCFLineType_ProbWD; + else if(strcasecmp(s, "RI") == 0) t = ATCFLineType_ProbRI; + else if(strcasecmp(s, "RW") == 0) t = ATCFLineType_ProbRW; + else if(strcasecmp(s, "WR") == 0) t = ATCFLineType_ProbWR; else if(strcasecmp(s, "PR") == 0) t = ATCFLineType_ProbPR; else if(strcasecmp(s, "GN") == 0) t = ATCFLineType_ProbGN; else if(strcasecmp(s, "GS") == 0) t = ATCFLineType_ProbGS; + else if(strcasecmp(s, "ER") == 0) t = ATCFLineType_ProbER; else t = NoATCFLineType; return(t); @@ -502,11 +504,13 @@ ConcatString atcflinetype_to_string(const ATCFLineType t) { case ATCFLineType_GenTrack: s = "GenTrack"; break; case ATCFLineType_ProbTR: s = "ProbTR"; break; case ATCFLineType_ProbIN: s = "ProbIN"; break; - case ATCFLineType_ProbRIRW: s = "ProbRIRW"; break; - case ATCFLineType_ProbWD: s = "ProbWD"; break; + case ATCFLineType_ProbRI: s = "ProbRI"; break; + case ATCFLineType_ProbRW: s = "ProbRW"; break; + case ATCFLineType_ProbWR: s = "ProbWR"; break; case ATCFLineType_ProbPR: s = "ProbPR"; break; case ATCFLineType_ProbGN: s = "ProbGN"; break; case ATCFLineType_ProbGS: s = "ProbGS"; break; + case ATCFLineType_ProbER: s = "ProbER"; break; case NoATCFLineType: s = na_str; break; default: s = na_str; break; } diff --git a/met/src/libcode/vx_tc_util/atcf_line_base.h b/met/src/libcode/vx_tc_util/atcf_line_base.h index 816ddfeba4..313c294e54 100644 --- a/met/src/libcode/vx_tc_util/atcf_line_base.h +++ b/met/src/libcode/vx_tc_util/atcf_line_base.h @@ -13,9 +13,12 @@ //////////////////////////////////////////////////////////////////////// // -// Based on Best Track file format information at: +// Best Track file format information: // http://www.nrlmry.navy.mil/atcf_web/docs/database/new/abrdeck.html // +// EDeck file format information: +// https://www.nrlmry.navy.mil/atcf_web/docs/database/new/edeck.txt +// //////////////////////////////////////////////////////////////////////// #include @@ -31,11 +34,13 @@ enum ATCFLineType { ATCFLineType_GenTrack, // Genesis Track and intensity line type (numeric) ATCFLineType_ProbTR, // Track probability (TR) ATCFLineType_ProbIN, // Intensity probability (IN) - ATCFLineType_ProbRIRW, // Rapid intensification probability (RI) - ATCFLineType_ProbWD, // Wind radii probability (WD) + ATCFLineType_ProbRI, // Rapid intensification probability (RI) + ATCFLineType_ProbRW, // Rapid weakening probability (RW) + ATCFLineType_ProbWR, // Wind radii probability (WR) ATCFLineType_ProbPR, // Pressure probability (PR) ATCFLineType_ProbGN, // TC genesis probability (GN) ATCFLineType_ProbGS, // TC genesis shape probability (GS) + ATCFLineType_ProbER, // Eyewall replacement probability (ER) NoATCFLineType }; diff --git a/met/src/libcode/vx_tc_util/atcf_prob_line.cc b/met/src/libcode/vx_tc_util/atcf_prob_line.cc index 2f912e9516..a06ad1c5eb 100644 --- a/met/src/libcode/vx_tc_util/atcf_prob_line.cc +++ b/met/src/libcode/vx_tc_util/atcf_prob_line.cc @@ -98,6 +98,7 @@ void ATCFProbLine::dump(ostream &out, int indent_depth) const { //////////////////////////////////////////////////////////////////////// void ATCFProbLine::clear() { + ATCFLineBase::clear(); return; @@ -106,40 +107,44 @@ void ATCFProbLine::clear() { //////////////////////////////////////////////////////////////////////// int ATCFProbLine::read_line(LineDataFile * ldf) { - int status; + int status = 0; int n_expect; - clear(); + // Read lines until good status is found + while(status == 0) { + + clear(); - status = ATCFLineBase::read_line(ldf); + // Return bad status from the base class + if(!(status = ATCFLineBase::read_line(ldf))) return(0); - // Check for bad return status or blank line - if(!status) return(0); + // Check the line type + switch(Type) { + case ATCFLineType_ProbRI: + n_expect = MinATCFProbRIRWElements; + break; - // Check the line type - switch(Type) { - case ATCFLineType_ProbRIRW: - n_expect = MinATCFProbRIRWElements; - break; + default: + mlog << Debug(4) + << "ATCFProbLine::read_line(LineDataFile * ldf) -> " + << "skipping ATCF line type (" + << atcflinetype_to_string(Type) << ")\n"; + status = 0; + continue; + } - default: + // Check for the minumum number of elements + if(n_items() < n_expect) { mlog << Warning << "\nint ATCFProbLine::read_line(LineDataFile * ldf) -> " - << "unexpected ATCF line type (" - << atcflinetype_to_string(Type) << ")\n\n"; - return(0); - } - - // Check for the minumum number of elements - if(n_items() < n_expect) { - mlog << Warning - << "\nint ATCFProbLine::read_line(LineDataFile * ldf) -> " - << "found fewer than the expected number of elements (" - << n_items() << "<" << n_expect - << ") in ATCF " << atcflinetype_to_string(Type) << " line:\n" - << DataLine::get_line() << "\n\n"; - return(0); - } + << "found fewer than the expected number of elements (" + << n_items() << "<" << n_expect + << ") in ATCF " << atcflinetype_to_string(Type) << " line:\n" + << DataLine::get_line() << "\n\n"; + status = 0; + continue; + } + } return(1); } diff --git a/met/src/libcode/vx_tc_util/prob_info_array.cc b/met/src/libcode/vx_tc_util/prob_info_array.cc index ea8827a682..6197121ff8 100644 --- a/met/src/libcode/vx_tc_util/prob_info_array.cc +++ b/met/src/libcode/vx_tc_util/prob_info_array.cc @@ -184,7 +184,7 @@ bool ProbInfoArray::add(const ATCFProbLine &l, bool check_dup) { // Store based on the input line type switch(l.type()) { - case(ATCFLineType_ProbRIRW): + case(ATCFLineType_ProbRI): // Check for no entries or a mismatch with the latest entry if( ProbRIRW.size() == 0 || diff --git a/met/src/libcode/vx_tc_util/prob_info_base.cc b/met/src/libcode/vx_tc_util/prob_info_base.cc index 07de90221a..f8d3bb791e 100644 --- a/met/src/libcode/vx_tc_util/prob_info_base.cc +++ b/met/src/libcode/vx_tc_util/prob_info_base.cc @@ -280,7 +280,7 @@ void ProbInfoBase::set(const TCStatLine &l) { switch(l.type()) { case TCStatLineType_ProbRIRW: - Type = ATCFLineType_ProbRIRW; + Type = ATCFLineType_ProbRI; break; default: diff --git a/met/src/libcode/vx_tc_util/prob_pair_info.cc b/met/src/libcode/vx_tc_util/prob_pair_info.cc index 4f8189d7e0..3415f040d2 100644 --- a/met/src/libcode/vx_tc_util/prob_pair_info.cc +++ b/met/src/libcode/vx_tc_util/prob_pair_info.cc @@ -200,7 +200,7 @@ ProbPairInfoBase * new_prob_pair(const ATCFLineType t) { ProbPairInfoBase *new_pair = (ProbPairInfoBase *) 0; switch(t) { - case ATCFLineType_ProbRIRW: + case ATCFLineType_ProbRI: new_pair = new ProbRIRWPairInfo; break; diff --git a/met/src/tools/tc_utils/tc_pairs/tc_pairs.cc b/met/src/tools/tc_utils/tc_pairs/tc_pairs.cc index dc3792da05..46c3a80b04 100644 --- a/met/src/tools/tc_utils/tc_pairs/tc_pairs.cc +++ b/met/src/tools/tc_utils/tc_pairs/tc_pairs.cc @@ -949,7 +949,7 @@ void filter_probs(ProbInfoArray &probs) { } // If we've made it here, retain this probability - if(p[i]->type() == ATCFLineType_ProbRIRW) probs.add(p.prob_rirw(i)); + if(p[i]->type() == ATCFLineType_ProbRI) probs.add(p.prob_rirw(i)); } // Print summary filtering info From 9190a29ba2a560a25e802cbd75d792d8cb9d0625 Mon Sep 17 00:00:00 2001 From: johnhg Date: Wed, 28 Apr 2021 13:33:21 -0600 Subject: [PATCH 07/40] Feature 1771 release_notes (#1772) * Per #1771, draft version of combined met-10.0.0 release notes. * Per #1771, add bolding to indicate emphasis. * Per #1771, add bolding to indicate emphasis. * Per #1771, add bolding to indicate emphasis. * Per #1771, add bolding to indicate emphasis. * Per #1771, add bolding to indicate emphasis. * Per #1771, add bolding to indicate emphasis. * Per #1771, add bolding to indicate emphasis. * Per #1771, add bolding to indicate emphasis. * Per #1771, also update the flowchart for met-10.0.0. * Per #1771, update flowchart to indicate that tc_gen now has netcdf output. * Per #1771, rotate the authorship list for met-10.0.0, shifting Barb from first author down to the end. --- met/docs/Flowchart/MET_flowchart.pptx | Bin 324389 -> 348311 bytes met/docs/Flowchart/MET_flowchart_v10.0.0.png | Bin 0 -> 166779 bytes .../Users_Guide/figure/overview-figure.png | Bin 172285 -> 166779 bytes met/docs/Users_Guide/release-notes.rst | 258 +++++++----------- met/docs/conf.py | 2 +- 5 files changed, 103 insertions(+), 157 deletions(-) create mode 100644 met/docs/Flowchart/MET_flowchart_v10.0.0.png diff --git a/met/docs/Flowchart/MET_flowchart.pptx b/met/docs/Flowchart/MET_flowchart.pptx index acb06acef654270cbf35bb7dc5eb69557504c699..575eaada143e9fdec65e32b93b8d25aebeb57fb9 100644 GIT binary patch delta 27814 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 delta 5194 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 z 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 R>GuKn$jK;4S4n;i`hWF7KB52s literal 0 HcmV?d00001 diff --git a/met/docs/Users_Guide/figure/overview-figure.png b/met/docs/Users_Guide/figure/overview-figure.png index 8bf523df65b496f72afe9e02c5fc861d40d2bb7f..a6def17819b10602c9c94e61094babef84c6320c 100644 GIT binary patch literal 166779 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 z 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 R>GuKn$jK;4S4n;i`hWF7KB52s literal 172285 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

MctP7R!ux|`w~7cpF#S*_7+Cg8LQ=9K|}S%Fck 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 E0OyX1wg3PC diff --git a/met/docs/Users_Guide/release-notes.rst b/met/docs/Users_Guide/release-notes.rst index 5bd26e9ea4..536170ede6 100644 --- a/met/docs/Users_Guide/release-notes.rst +++ b/met/docs/Users_Guide/release-notes.rst @@ -2,219 +2,165 @@ MET release notes _________________ When applicable, release notes are followed by the GitHub issue number which -describes the bugfix, enhancement, or new feature: `MET GitHub issues. `_ +describes the bugfix, enhancement, or new feature: +`MET GitHub issues. `_ -Version |version| release notes (|release_date|) ------------------------------------------------- +MET Version |version| release notes (|release_date|) +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Version `10.0.0-beta5 `_ release notes (20210426) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -* Bugfixes: - - * Fix Grid-Diag bug when reading the same variable name from multiple data sources (`#1694 `_). - * Fix Stat-Analysis failure when aggregating ECNT lines (`#1706 `_). - * Fix intermittent PB2NC segfault when deriving PBL (`#1715 `_). - * Fix parsing error for floating point percentile thresholds, like ">SFP33.3" (`#1716 `_). - * Fix ascii2nc to handle bad records in little_r format (`#1737 `_). +* Repository and build: + + * **Migrate GitHub respository from the NCAR to DTCenter organization** (`#1462 `_). + * **Switch to consistent vX.Y.Z version numbering, from v10.0 to v10.0.0** (`#1590 `_). + * Switch from tagging releases as met-X.Y.Z to vX.Y.Z instead (`#1541 `_). + * Add a GitHub pull request template (`#1516 `_). + * Resolve warnings from autoconf (`#1498 `_). + * Restructure nightly builds (`#1510 `_). + * Update the MET unit test logic by unsetting environment variables after each test to provide a clean environment for the next (`#1624 `_). + * Run the nightly build as the shared met_test user (`#1116 `_). + * Correct the time offset for tests in unit_plot_data_plane.xml (`#1677 `_). + * Enhance the sample plotting R-script to read output from different versions of MET (`#1653 `_). * Documentation: - * Migrate the MET documetation to Read the Docs (`#1649 `_). + * **Migrate the MET documentation to Read the Docs** (`#1649 `_). + * Enhance and update documentation (`#1459 `_ and `#1460 `_). + * Update comments at the top of each MET config file directing users to the MET User's Guide (`#1598 `_). + * Migrate content from README and README_TC in data/config to the MET User's Guide (`#1474 `_). + * Add version selector to the Sphinx documentation page (`#1461 `_). + * Make bolding consistent across the documentation (`#1458 `_). + * Implement hanging indents for references (`#1457 `_). + * Correct typos and spelling errors (`#1456 `_). + * Update the Grid-Diag documentation to clarify the -data command line option (`#1611 `_). + * Documentation updates to correct typos and apply consistent formatting (`#1455 `_). + * Correct the definition of H_RATE and PODY in MET User's Guide Appendix C (`#1631 `_). * Library code: - * Miscellaneous: - - * Add support for climatological probabilities for complex CDP thresholds, like >=CDP33&&<=CDP67 (`#1705 `_). + * Bugfixes: - * NetCDF library: + * Apply the GRIB ensemble filtering option (GRIB_ens) whenever specified by the user (`#1604 `_). + * Fix the set_attr_accum option to set the accumulation time instead of the lead time (`#1646 `_). + * Fix ASCII file list parsing logic (`#1484 `_ and `#1508 `_). + * Fix parsing error for floating point percentile thresholds, like ">SFP33.3" (`#1716 `_). - * Extend CF-compliant NetCDF file support when defining the time dimension as a time string (`#1755 `_). - - * Python embedding: + * Python embedding enhancements: - * Replace the pickle format for temporary python files with NetCDF for gridded data (`#1319 `_, `#1697 `_). - * Replace the pickle format for temporary python files with ASCII for point observations in ascii2nc and matched pair data in Stat-Analysis (`#1319 `_, `#1700 `_). - * Enhance python embedding to support the "grid" being defined as a named grid or specification string (`#1471 `_). - * Enhance the python embedding library code to parse python longlong variables as integers to make the python embedding scripts less particular (`#1747 `_). + * **Replace the pickle format for temporary python files with NetCDF for gridded data** (`#1319 `_, `#1697 `_). + * **Replace the pickle format for temporary python files with ASCII for point observations in ascii2nc and matched pair data in Stat-Analysis** (`#1319 `_, `#1700 `_). + * **Complete support for Python XArray embedding** (`#1534 `_). + * Treat gridded fields of entirely missing data as missing files and fix python embedding to call common data processing code (`#1494 `_). + * Clarify error messages for Xarray python embedding (`#1472 `_). + * Add support for Gaussian grids with python embedding (`#1477 `_). + * Correct error messages from python embedding (`#1473 `_). + * Enhance to support the "grid" being defined as a named grid or specification string (`#1471 `_). + * Enhance to parse python longlong variables as integers to make the python embedding scripts less particular (`#1747 `_). * Fix the read_ascii_mpr.py python embedding script to pass all 37 columns of MPR data to Stat-Analysis (`#1620 `_). * Fix the read_tmp_dataplane.py python embedding script to handle the fill value correctly (`#1753 `_). -* Application code: - - * Point-Stat and Grid-Stat Tools: - - * Enhance Point-Stat and Grid-Stat by adding mpr_column and mpr_thresh configuration options to filter out matched pairs based on large fcst, obs, and climo differences (`#1575 `_). - - * Stat-Analysis Tool: - - * Enhance Stat-Analysis to process multiple output thresholds and write multiple output line types in a single aggregate_stat job (`#1735 `_). - * Enhance Stat-Analysis to skip writing job output to the logfile when the -out_stat option is provided (`#1736 `_). - * Enhance Stat-Analysis by adding a -column_exc job command option to exclude lines based on string values (`#1733 `_). - - * MET-TC Tools: - - * Fix TC-Pairs to report the correct number of lines read from input track data files (`#1725 `_). - * Enhance TC-Stat by adding a -column_exc job command option to exclude lines based on string values (`#1733 `_). - * Enhance the TC-Gen matching logic and update several config options to support its S2S application (`#1714 `_). - -Version `10.0.0-beta4 `_ release notes (20210302) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -* Bugfixes: - - * Fix the set_attr_accum option to set the accumulation time instead of the lead time (`#1646 `_). - * Correct the time offset for tests in unit_plot_data_plane.xml (`#1677 `_). - -* Repository and build: - - * Enhance the sample plotting R-script to read output from different versions of MET (`#1653 `_). - -* Library code: - * Miscellaneous: + * **Enhance support for rotated latlon grids and update related documentation** (`#1574 `_). + * Parse the -v and -log options prior to application-specific command line options (`#1527 `_). * Update GRIB1/2 table entries for the MXUPHL, MAXREF, MAXUVV, and MAXDVV variables (`#1658 `_). * Update the Air Force GRIB tables to reflect current AF usage (`#1519 `_). * Enhance the DataLine::get_item() error message to include the file name, line number, and column (`#1429 `_). + * Add support for climatological probabilities for complex CDP thresholds, like >=CDP33&&<=CDP67 (`#1705 `_). + * Update the NCL-derived color tables (`#1568 `_). * NetCDF library: + * Enhance to support additional NetCDF data types (`#1492 `_ and `#1493 `_). * Add support for the NetCDF-CF conventions time bounds option (`#1657 `_). + * Extend CF-compliant NetCDF file support when defining the time dimension as a time string (`#1755 `_). * Error out when reading CF-compliant NetCDF data with incomplete grid definition (`#1454 `_). * Reformat and simplify the magic_str() printed for NetCDF data files (`#1655 `_). + * Parse the "init_time" and "valid_time" attributes from MET NetCDF input files (`#1346 `_). * Statistics computations: - * Add support for the Hersbach CRPS algorithm by add new columns to the ECNT line type (`#1450 `_). + * **Modify the climatological Brier Score computation to match the NOAA/EMC VSDB method** (`#1684 `_). + * **Add support for the Hersbach CRPS algorithm by add new columns to the ECNT line type** (`#1450 `_). * Enhance MET to derive the Hersbach CRPSCL_EMP and CRPSS_EMP statistics from a single deterministic reference model (`#1685 `_). * Correct the climatological CRPS computation to match the NOAA/EMC VSDB method (`#1451 `_). - * Modify the climatological Brier Score computation to match the NOAA/EMC VSDB method (`#1684 `_). + * Refine log messages when verifying probabilities (`#1502 `_). * Application code: - * ASCII2NC and Point2Grid: - - * Enhance ascii2nc and point2grid to gracefully process zero input observations rather than erroring out (`#1630 `_). - - * Point-Stat Tool: - - * Enhance the validation of masking regions to check for non-unique masking region names (`#1439 `_). - * Print the Point-Stat rejection code reason count log messages at verbosity level 2 for zero matched pairs (`#1644 `_). - * Add detailed log messages to Point-Stat when discarding observations (`#1588 `_). + * ASCII2NC Tool: - * Stat-Analysis Tool: + * Fix to handle bad records in little_r format (`#1737 `_). + * Create empty output files for zero input observations instead of erroring out (`#1630 `_). - * Add -fcst_init_inc/_exc and -fcst_valid_inc/_exc job command filtering options to Stat-Analysis (`#1135 `_). + * MADIS2NC Tool: - * MODE Tool: + * Clarify various error messages (`#1409 `_). - * Update the MODE AREA_RATIO output column to list the forecast area divided by the observation area (`#1643 `_). + * PB2NC Tool: -Version `10.0.0-beta3 `_ release notes (20210127) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + * Fix intermittent segfault when deriving PBL (`#1715 `_). -* Bugfixes: + * Point2Grid Tool: - * Correct the climatological CDF values in the Grid-Stat NetCDF matched pairs output files, and correct the climatological probability values for climatgological distribution percentile (CDP) threshold types (`#1638 `_). - * Apply the GRIB ensemble filtering option (GRIB_ens) whenever specified by the user (`#1604 `_). + * **Support additional NetCDF point observation data sources** (`#1345 `_, `#1509 `_, and `#1511 `_). + * Support the 2-dimensional time variable in Himawari data files (`#1580 `_). + * Create empty output files for zero input observations instead of erroring out (`#1630 `_). + * Improve the point2grid runtime performance (`#1421 `_). + * Process point observations by variable name instead of GRIB code (`#1408 `_). -* Repository and build: + * Plot-Point-Obs Tool: - * Update the MET unit test logic by unsetting environment variables after each test to provide a clean environment for the next (`#1624 `_). + * **Overhaul Plot-Point-Obs to make it highly configurable** (`#213 `_, `#1528 `_, and `#1052 `_). + * Support regridding option in the config file (`#1627 `_). -* Documentation: - - * Update the Grid-Diag documentation to clarify the -data command line option (`#1611 `_). - * Documentation updates to correct typos and apply consistent formatting (`#1455 `_). - * Correct the definition of H_RATE and PODY in MET User's Guide Appendix C (`#1631 `_). + * Point-Stat Tool: -* Library code: - - * When reading MET NetCDF files, parse the "init_time" and "valid_time" attributes (`#1346 `_). - * Python embedding enhancements: + * **Add mpr_column and mpr_thresh configuration options to filter out matched pairs based on large fcst, obs, and climo differences** (`#1575 `_). + * **Print the rejection code reason count log messages at verbosity level 2 for zero matched pairs** (`#1644 `_). + * **Add detailed log messages when discarding observations** (`#1588 `_). + * Update log messages (`#1514 `_). + * Enhance the validation of masking regions to check for non-unique masking region names (`#1439 `_). - * Complete support for Python XArray embedding (`#1534 `_). - * Correct error messages from Python embedding (`#1473 `_). - -* Application code: + * Grid-Stat Tool: - * Enhance Plot-Point-Obs to support regridding in the config file (`#1627 `_). - * Update ASCII2NC and Point2Grid to create empty output files for zero input observations instead of erroring out (`#1630 `_). - * Point2Grid Tool: + * **Add mpr_column and mpr_thresh configuration options to filter out matched pairs based on large fcst, obs, and climo differences** (`#1575 `_). + * Correct the climatological CDF values in the NetCDF matched pairs output files and correct the climatological probability values for climatgological distribution percentile (CDP) threshold types (`#1638 `_). - * Improve the Point2Grid runtime performance (`#1421 `_). - * Process point observations by variable name instead of GRIB code (`#1408 `_). - * Support the 2-dimensional time variable in Himawari data files (`#1580 `_). + * Stat-Analysis Tool: - * TC-Gen Tool: + * **Process multiple output thresholds and write multiple output line types in a single aggregate_stat job** (`#1735 `_). + * Skip writing job output to the logfile when the -out_stat option is provided (`#1736 `_). + * Add -fcst_init_inc/_exc and -fcst_valid_inc/_exc job command filtering options to Stat-Analysis (`#1135 `_). + * Add -column_exc job command option to exclude lines based on string values (`#1733 `_). + * Fix Stat-Analysis failure when aggregating ECNT lines (`#1706 `_). - * Overhaul the Tropical Cyclone genesis matching logic, add the development and operational scoring algorithms, and add many config file options (`#1448 `_). - * Add config file options to filter data by initialization time (init_inc and init_exc) and hurricane basin (basin_mask) (`#1626 `_). - * Add the genesis matched pair (GENMPR) output line type (`#1597 `_). - * Add a gridded NetCDF output file with counts for genesis events and track points (`#1430 `_). + * Grid-Diag Tool: -Version `10.0.0-beta2 `_ release notes (20201207) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + * Fix bug when reading the same variable name from multiple data sources (`#1694 `_). -* Repository and build: + * MODE Tool: - * Switch from tagging releases as met-X.Y.Z to vX.Y.Z instead (`#1541 `_). - * Switch to consistent vX.Y.Z version numbering, from v10.0 to v10.0.0 (`#1590 `_). - * Run the nightly build as the shared met_test user (`#1116 `_). + * **Update the MODE AREA_RATIO output column to list the forecast area divided by the observation area** (`#1643 `_). + * **Incremental development toward the Multivariate MODE tool** (`#1282 `_, `#1284 `_, and `#1290 `_). -* Documentation: - - * Update comments at the top of each MET config file directing users to the MET User's Guide (`#1598 `_). - * Migrate content from README and README_TC in data/config to the MET User's Guide (`#1474 `_). - * Add version selector to the Sphinx documentation page (`#1461 `_). - * Make bolding consistent across the documentation (`#1458 `_). - * Implement hanging indents for references (`#1457 `_). - * Correct typos and spelling errors (`#1456 `_). + * TC-Pairs Tool: -* Library code: - - * Enhance support for rotated latlon grids and update related documentation (`#1574 `_). - * Update the NCL-derived color tables (`#1568 `_). - * Parse the -v and -log options prior to application-specific command line options (`#1527 `_). - * Treat gridded fields of entirely missing data as missing files and fix python embedding to call common data processing code (`#1494 `_). - -* Application code: - - * Overhaul the plot_point_obs tool to make it highly configurable (`#213 `_, `#1528 `_, and `#1052 `_). - * Add new ioda2nc tool (`#1355 `_). - * Incremental development toward the Multivariate MODE tool (`#1282 `_, `#1284 `_, and `#1290 `_). + * Fix to report the correct number of lines read from input track data files (`#1725 `_). + * Fix to read supported RI edeck input lines and ignore unsupported edeck probability line types (`#1768 `_). -Version `10.0.0-beta1 `_ release notes (20201022) -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + * TC-Stat Tool: -* Bugfixes since the version 9.1 release: - - * Clarify madis2nc error messages (`#1409 `_). - * Fix tc_gen lead window filtering option (`#1465 `_). - * Clarify error messages for Xarray python embedding (`#1472 `_). - * Add support for Gaussian grids with python embedding (`#1477 `_). - * Fix ASCII file list parsing logic (`#1484 `_ and `#1508 `_). + * Add -column_exc job command option to exclude lines based on string values (`#1733 `_). -* Repository and build: - - * Migrate GitHub respository from the NCAR to DTCenter organization (`#1462 `_). - * Add a GitHub pull request template (`#1516 `_). - * Resolve warnings from autoconf (`#1498 `_). - * Restructure nightly builds (`#1510 `_). + * TC-Gen Tool: -* Documentation: - - * Enhance and update documentation (`#1459 `_ and `#1460 `_). + * **Overhaul the genesis matching logic, add the development and operational scoring algorithms, and add many config file options** (`#1448 `_). + * Add config file options to filter data by initialization time (init_inc and init_exc) and hurricane basin (basin_mask) (`#1626 `_). + * Add the genesis matched pair (GENMPR) output line type (`#1597 `_). + * Add a gridded NetCDF output file with counts for genesis events and track points (`#1430 `_). + * Enhance the matching logic and update several config options to support its S2S application (`#1714 `_). + * Fix lead window filtering option (`#1465 `_). -* Library code: - - * Refine log messages when verifying probabilities (`#1502 `_). - * Enhance NetCDF library code to support additional data types (`#1492 `_ and `#1493 `_). + * IODA2NC Tool: -* Application code: - - * Update point_stat log messages (`#1514 `_). - * Enhance point2grid to support additional NetCDF point observation data sources (`#1345 `_, `#1509 `_, and `#1511 `_). + * **Add the new ioda2nc tool** (`#1355 `_). diff --git a/met/docs/conf.py b/met/docs/conf.py index 7abb9ffef0..5d54deb22a 100644 --- a/met/docs/conf.py +++ b/met/docs/conf.py @@ -19,7 +19,7 @@ project = 'MET' author = 'UCAR/NCAR, NOAA, CSU/CIRA, and CU/CIRES' -author_list = 'Brown, B., Bullock, R., Fowler, T., Halley Gotway, J., Newman, K., Jensen, T.' +author_list = 'Bullock, R., Fowler, T., Halley Gotway, J., Newman, K., Jensen, T., Brown, B.' version = 'develop' verinfo = version release = f'{version}' From 205c4a837b5ed8e68dd7ec32d42766b16929fa5d Mon Sep 17 00:00:00 2001 From: John Halley Gotway Date: Wed, 28 Apr 2021 14:22:41 -0600 Subject: [PATCH 08/40] Committing hotfix to the develop branch to fix a bad merge that caused the MET compilation to fail. --- met/src/basic/vx_util/python_line.cc | 1 - 1 file changed, 1 deletion(-) diff --git a/met/src/basic/vx_util/python_line.cc b/met/src/basic/vx_util/python_line.cc index 8afa48d6d7..75b838427c 100644 --- a/met/src/basic/vx_util/python_line.cc +++ b/met/src/basic/vx_util/python_line.cc @@ -442,7 +442,6 @@ script = new Python3_Script (wrapper.text()); mlog << Debug(4) << "Reading temporary Python line data file: " << tmp_ascii_path << "\n"; - << pickle_path << "\n"; script->import_read_tmp_ascii_py(); From b32edba0e23820cea04f5831f49ba8babfdd08ef Mon Sep 17 00:00:00 2001 From: jprestop Date: Thu, 29 Apr 2021 12:55:10 -0600 Subject: [PATCH 09/40] Update compile_MET_all.sh Added "-L${LIB_LIBPNG}" to rpath to fix problem on WCOSS" --- scripts/installation/compile_MET_all.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/installation/compile_MET_all.sh b/scripts/installation/compile_MET_all.sh index 5ef855cb24..0d11f4f8fd 100755 --- a/scripts/installation/compile_MET_all.sh +++ b/scripts/installation/compile_MET_all.sh @@ -68,7 +68,7 @@ export LD_LIBRARY_PATH=${TEST_BASE}/external_libs/lib:${MET_PYTHON}/lib:${MET_NE echo "LD_LIBRARY_PATH = ${LD_LIBRARY_PATH}" # Constants -if [ [ -z ${MET_GRIB2CLIB} && -z ${MET_GRIB2CINC} ] ]; then +if [[ -z ${MET_GRIB2CLIB} && -z ${MET_GRIB2CINC} ]]; then COMPILE_ZLIB=1 COMPILE_LIBPNG=1 COMPILE_JASPER=1 @@ -750,7 +750,7 @@ if [ $COMPILE_MET -eq 1 ]; then export LDFLAGS="-Wl,--disable-new-dtags" export LDFLAGS="${LDFLAGS} -Wl,-rpath,${LIB_DIR}/lib:${MET_NETCDF}/lib:${MET_HDF5}/lib:${MET_BUFRLIB}:${MET_GRIB2CLIB}:${MET_PYTHON}/lib:${MET_GSL}/lib" export LDFLAGS="${LDFLAGS} -Wl,-rpath,${LIB_JASPER}:${LIB_LIBPNG}:${LIB_Z}" - export LDFLAGS="${LDFLAGS} -L${LIB_JASPER} -L${MET_HDF5}/lib" + export LDFLAGS="${LDFLAGS} -L${LIB_JASPER} -L${LIB_LIBPNG} -L${MET_HDF5}/lib" export LIBS="${LIBS} -lhdf5_hl -lhdf5 -lz" export MET_FONT_DIR=${TEST_BASE}/fonts From 30417be041f85ca9c9f883649d4c8f7e19e69ccd Mon Sep 17 00:00:00 2001 From: jprestop Date: Mon, 3 May 2021 14:40:52 -0600 Subject: [PATCH 10/40] Update pull_request_template.md Added entry for completion date of pull request review. --- .github/pull_request_template.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index a475d51459..3c7ad6b33b 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -11,6 +11,8 @@ - [ ] Will this PR result in changes to the test suite? **[Yes or No]**
If **yes**, describe the new output and/or changes to the existing output:
+- [ ] Please complete this pull request review by **[Fill in date]**.
+ ## Pull Request Checklist ## See the [METplus Workflow](https://dtcenter.github.io/METplus/Contributors_Guide/github_workflow.html) for details. - [ ] Complete the PR definition above. From cfe37eab9b1d453d1790372fadb7dea36b24f0e7 Mon Sep 17 00:00:00 2001 From: John Halley Gotway Date: Mon, 3 May 2021 15:01:55 -0600 Subject: [PATCH 11/40] Per #1731, add ioda2nc documentation. --- met/docs/Users_Guide/data_io.rst | 30 +++-- met/docs/Users_Guide/overview.rst | 2 +- met/docs/Users_Guide/reformat_point.rst | 145 +++++++++++++++++++++++- 3 files changed, 160 insertions(+), 17 deletions(-) diff --git a/met/docs/Users_Guide/data_io.rst b/met/docs/Users_Guide/data_io.rst index 2a97f546c5..3dd4552ab9 100644 --- a/met/docs/Users_Guide/data_io.rst +++ b/met/docs/Users_Guide/data_io.rst @@ -10,13 +10,13 @@ Data must often be preprocessed prior to using it for verification. Several MET Input data formats __________________ -The MET package can handle gridded input data in one of four formats: GRIB version 1, GRIB version 2, NetCDF files following the Climate and Forecast (CF) conventions, and NetCDF files produced by the MET tools themselves. MET supports standard NCEP, USAF, UKMet Office and ECMWF grib tables along with custom, user-defined GRIB tables and the extended PDS including ensemble member metadata. See :numref:`Configuration File Details` for more information. Point observation files may be supplied in either PrepBUFR, ASCII, or MADIS format. Note that MET does not require the Unified Post-Processor to be used, but does require that the input GRIB data be on a standard, de-staggered grid on pressure or regular levels in the vertical. While the Grid-Stat, Wavelet-Stat, MODE, and MTD tools can be run on a gridded field at virtually any level, the Point-Stat tool can only be used to verify forecasts at the surface or on pressure or height levels. MET does not interpolate between native model vertical levels. +The MET package can handle multiple gridded input data formats: GRIB version 1, GRIB version 2, and NetCDF files following the Climate and Forecast (CF) conventions, containing WRF output post-processed using wrf_interp, or produced by the MET tools themselves. MET supports standard NCEP, USAF, UKMet Office and ECMWF GRIB tables along with custom, user-defined GRIB tables and the extended PDS including ensemble member metadata. See :numref:`Configuration File Details` for more information. Point observation files may be supplied in either PrepBUFR, ASCII, or MADIS format. Note that MET does not require the Unified Post-Processor to be used, but does require that the input GRIB data be on a standard, de-staggered grid on pressure or regular levels in the vertical. While the Grid-Stat, Wavelet-Stat, MODE, and MTD tools can be run on a gridded field at virtually any level, the Point-Stat tool can only be used to verify forecasts at the surface or on pressure or height levels. MET does not interpolate between native model vertical levels. When comparing two gridded fields with the Grid-Stat, Wavelet-Stat, Ensemble-Stat, MODE, MTD, or Series-Analysis tools, the input model and observation datasets must be on the same grid. MET will regrid files according to user specified options. Alternatively, outside of MET, the copygb and wgrib2 utilities are recommended for re-gridding GRIB1 and GRIB2 files, respectively. To preserve characteristics of the observations, it is generally preferred to re-grid the model data to the observation grid, rather than vice versa. -Input point observation files in PrepBUFR format are available through NCEP. The PrepBUFR observation files contain a wide variety of point-based observation types in a single file in a standard format. However, some users may wish to use observations not included in the standard PrepBUFR files. For this reason, prior to performing the verification step in the Point-Stat tool, the PrepBUFR file is reformatted with the PB2NC tool. In this step, the user can select various ways of stratifying the observation data spatially, temporally, and by type. The remaining observations are reformatted into an intermediate NetCDF file. The ASCII2NC tool may be used to convert ASCII point observations that are not available in the PrepBUFR files into this NetCDF format for use by the Point-Stat verification tool. Users with METAR or RAOB data from MADIS can convert these observations into NetCDF format with the MADIS2NC tool, then use them with the Point-Stat or Ensemble-Stat verification tools. +Input point observation files in PrepBUFR format are available through NCEP. The PrepBUFR observation files contain a wide variety of point-based observation types in a single file in a standard format. However, some users may wish to use observations not included in the standard PrepBUFR files. For this reason, prior to performing the verification step in the Point-Stat tool, the PrepBUFR file is reformatted with the PB2NC tool. In this step, the user can select various ways of stratifying the observation data spatially, temporally, and by type. The remaining observations are reformatted into an intermediate NetCDF file. The ASCII2NC tool may be used to convert ASCII point observations that are not available in the PrepBUFR files into this common NetCDF point observation format. Several other MET tools, described below, are also provided to reformat point observations into this common NetCDF point observation format prior to passing them as input to the Point-Stat or Ensemble-Stat verification tools. -Tropical cyclone forecasts and observations are typically provided in a specific ASCII format, in A Deck and B Deck files. +Tropical cyclone forecasts and observations are typically provided in a specific ATCF (Automated Tropical Cyclone Forecasting) ASCII format, in A-deck, B-deck, and E-deck files. .. _Intermediate data formats: @@ -55,32 +55,38 @@ The following is a summary of the input and output formats for each of the tools #. **PB2NC Tool** - * **Input**: One PrepBUFR point observation file and one configuration file. + * **Input**: PrepBUFR point observation file(s) and one configuration file. * **Output**: One NetCDF file containing the observations that have been retained. #. **ASCII2NC Tool** - * **Input**: One or more ASCII point observation file(s) that has (have) been formatted as expected, and optional configuration file. + * **Input**: ASCII point observation file(s) that has (have) been formatted as expected, and optional configuration file. * **Output**: One NetCDF file containing the reformatted observations. #. **MADIS2NC Tool** - * **Input**: One MADIS point observation file. + * **Input**: MADIS point observation file(s) in NetCDF format. * **Output**: One NetCDF file containing the reformatted observations. #. **LIDAR2NC Tool** - * **Input**: One CALIPSO satellite HDF file + * **Input**: One CALIPSO satellite HDF file. + + * **Output**: One NetCDF file containing the reformatted observations. + +#. **IODA2NC Tool** + + * **Input**: IODA observation file(s) in NetCDF format. * **Output**: One NetCDF file containing the reformatted observations. #. **Point2Grid Tool** - * **Input**: One NetCDF file containing point observation from the ASCII2NC, PB2NC, MADIS2NC, or LIDAR2NC tool. + * **Input**: One NetCDF file in the common point observation format. * **Output**: One NetCDF file containing a gridded representation of the point observations. @@ -116,7 +122,7 @@ The following is a summary of the input and output formats for each of the tools #. **Point-Stat Tool** - * **Input**: One gridded model file, at least one point observation file in NetCDF format (as the output of the PB2NC, ASCII2NC, MADIS2NC, or LIDAR2NC tool), and one configuration file. + * **Input**: One gridded model file, at least one NetCDF file in the common point observation format, and one configuration file. * **Output**: One STAT file containing all of the requested line types and several ASCII files for each line type requested. @@ -194,9 +200,9 @@ The following is a summary of the input and output formats for each of the tools #. **TC-Pairs Tool** - * **Input**: At least one A-deck and one B-deck ATCF format file containing output from a tropical cyclone tracker and one configuration file. The A-deck files contain forecast tracks while the B-deck files are typically the NHC Best Track Analysis but could also be any ATCF format reference. + * **Input**: At least one A-deck or E-deck file and one B-deck ATCF format file containing output from a tropical cyclone tracker and one configuration file. The A-deck files contain forecast tracks, the E-deck files contain forecast probabilities, and the B-deck files are typically the NHC Best Track Analysis but could also be any ATCF format reference. - * **Output**: ASCII output with the suffix .tcstat. + * **Output**: ASCII output with the suffix .tcst. #. **TC-Stat Tool** @@ -208,7 +214,7 @@ The following is a summary of the input and output formats for each of the tools * **Input**: One or more Tropical Cyclone genesis format files, one or more verifying operational and BEST track files in ATCF format, and one configuration file. - * **Output**: One STAT file containing all of the requested line types and several ASCII files for each line type requested. + * **Output**: One STAT file containing all of the requested line types, several ASCII files for each line type requested, and one gridded NetCDF file containing counts of track points. #. **TC-RMW Tool** diff --git a/met/docs/Users_Guide/overview.rst b/met/docs/Users_Guide/overview.rst index 9450a2e3af..733255d409 100644 --- a/met/docs/Users_Guide/overview.rst +++ b/met/docs/Users_Guide/overview.rst @@ -57,7 +57,7 @@ The MODE (Method for Object-based Diagnostic Evaluation) tool also uses gridded The MODE-TD tool extends object-based analysis from two-dimensional forecasts and observations to include the time dimension. In addition to the two dimensional information provided by MODE, MODE-TD can be used to examine even more features including displacement in time, and duration and speed of moving areas of interest. -The Grid-Diag tools produce multivariate probability density functions (PDFs) that may be used either for exploring the relationship between two fields, or for the computation of percentiles generated from the sample for use with percentile thresholding. The output from this tool requires post-processing by METplus or user-provided utilities. +The Grid-Diag tool produces multivariate probability density functions (PDFs) that may be used either for exploring the relationship between two fields, or for the computation of percentiles generated from the sample for use with percentile thresholding. The output from this tool requires post-processing by METplus or user-provided utilities. The Wavelet-Stat tool decomposes two-dimensional forecasts and observations according to the Intensity-Scale verification technique described by :ref:`Casati et al. (2004) `. There are many types of spatial verification approaches and the Intensity-Scale technique belongs to the scale-decomposition (or scale-separation) verification approaches. The spatial scale components are obtained by applying a wavelet transformation to the forecast and observation fields. The resulting scale-decomposition measures error, bias and skill of the forecast on each spatial scale. Information is provided on the scale dependency of the error and skill, on the no-skill to skill transition scale, and on the ability of the forecast to reproduce the observed scale structure. The Wavelet-Stat tool is primarily used for precipitation fields. However, the tool can be applied to other variables, such as cloud fraction. diff --git a/met/docs/Users_Guide/reformat_point.rst b/met/docs/Users_Guide/reformat_point.rst index 2dfdce4b1c..17a73fec15 100644 --- a/met/docs/Users_Guide/reformat_point.rst +++ b/met/docs/Users_Guide/reformat_point.rst @@ -599,13 +599,13 @@ MADIS2NC tool _____________ -This section describes how to run the MADIS2NC tool. The MADIS2NC tool is used to reformat `Meteorological Assimilation Data Ingest System (MADIS) `_ point observations into the NetCDF format expected by the MET statistics tools. Since the MADIS2NC tool simply performs a reformatting step, no configuration file is needed. The MADIS2NC tool supports many of the MADIS data types, as listed in the usage statement below. Support for additional MADIS data types may be added in the future based on user feedback. +This section describes how to run the MADIS2NC tool. The MADIS2NC tool is used to reformat `Meteorological Assimilation Data Ingest System (MADIS) `_ point observations into the NetCDF format expected by the MET statistics tools. An optional configuration file controls the processing of the point observations. The MADIS2NC tool supports many of the MADIS data types, as listed in the usage statement below. Support for additional MADIS data types may be added in the future based on user feedback. madis2nc usage ~~~~~~~~~~~~~~ -The usage statement for MADIS2NC tool is shown below: +The usage statement for the MADIS2NC tool is shown below: .. code-block:: none @@ -635,7 +635,7 @@ Required arguments for madis2nc 1. The **madis_file** argument is one or more input MADIS point observation files to be processed. -2. The **netcdf_file** argument is the NetCDF output file to be written. +2. The **out_file** argument is the NetCDF output file to be written. 3. The argument **-type str** is a type of MADIS observations (metar, raob, profiler, maritime, mesonet or acarsProfiles). @@ -778,7 +778,6 @@ We will not give a detailed description of each CALIPSO data product that lidar2 **Layer_Base** gives the elevation in meters above ground level of the cloud base for each cloud level at each observation location. Similarly, **Layer_Top** gives the elevation of the top of each cloud layer. Note that if there are multiple cloud layers at a particular location, then there will be more than one base (or top) given for that location. For convenience, **Min_Base** and **Max_Top** give, respectively, the base elevation for the bottom cloud layer, and the top elevation for the top cloud layer. For these data types, there will be only one value per observation location regardless of how many cloud layers there are at that location. - .. _lidar2nc_grib_code_table: .. list-table:: lidar2nc GRIB codes and their meaning, units, and abbreviations @@ -837,7 +836,145 @@ We will not give a detailed description of each CALIPSO data product that lidar2 - Horizontal Averaging - NA - Horizontal_Averaging + + +IODA2NC tool +____________ + + +This section describes the IODA2NC tool which is used to reformat IODA (Interface for Observation Data Access) point observations from the `Joint Center for Satellite Data Assimilation (JCSDA) `_ into the NetCDF format expected by the MET statistics tools. An optional configuration file controls the processing of the point observations. The IODA2NC tool reads NetCDF point observation files created by the `IODA Converters `_. Support for interfacing with data from IODA may be added in the future based on user feedback. + + +ioda2nc usage +~~~~~~~~~~~~~ + +The usage statement for the IODA2NC tool is shown below: + +.. code-block:: none + + Usage: ioda2nc + ioda_file + netcdf_file + [-config config_file] + [-obs_var var] + [-iodafile ioda_file] + [-valid_beg time] + [-valid_end time] + [-nmsg n] + [-log file] + [-v level] + [-compress level] + +ioda2nc has required arguments and can also take optional ones. + +Required arguments for ioda2nc +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +1. The **ioda_file** argument is an input IODA NetCDF point observation file to be processed. + +2. The **netcdf_file** argument is the NetCDF output file to be written. + +Optional arguments for ioda2nc +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +3. The **-config config_file** is a IODA2NCConfig file to filter the point observations and define time summaries. + +4. The **-obs_var var_list** setting is a comma-separated list of variables to be saved from input the input file (by defaults, saves "all"). + +5. The **-iodafile ioda_file** option specifies additional input IODA observation files to be processed. + +6. The **-valid_beg time** and **-valid_end time** options in YYYYMMDD[_HH[MMSS]] format overrides the retention time window from the configuration file. + +7. The **-nmsg n** indicates the number of IODA records to process. + +8. The **-log** file option directs output and errors to the specified log file. All messages will be written to that file as well as standard out and error. Thus, users can save the messages without having to redirect the output on the command line. The default behavior is no log file. + +9. The **-v level** option indicates the desired level of verbosity. The value of “level” will override the default setting of 2. Setting the verbosity to 0 will make the tool run with no log messages, while increasing the verbosity above 1 will increase the amount of logging. + +10. The **-compress level** option indicates the desired level of compression (deflate level) for NetCDF variables. The valid level is between 0 and 9. The value of “level” will override the default setting of 0 from the configuration file or the environment variable MET_NC_COMPRESS. Setting the compression level to 0 will make no compression for the NetCDF output. Lower number is for fast compression and higher number is for better compression. + +An example of the ioda2nc calling sequence is shown below: + +.. code-block:: none + + ioda2nc \ + ioda.NC001007.2020031012.nc ioda2nc.2020031012.nc \ + -config IODA2NCConfig -v 3 -lg run_ioda2nc.log +In this example, the IODA2NC tool will reformat the data in the input ioda.NC001007.2020031012.nc file and write the output to a file named ioda2nc.2020031012.nc. The data to be processed is specified by IODA2NCConfig, log messages will be written to the ioda2nc.log file, and the verbosity level is three. + + +ioda2nc configuration file +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The default configuration file for the IODA2NC tool named **IODA2NcConfig_default** can be found in the installed *share/met/config* directory. It is recommended that users make a copy of this file prior to modifying its contents. + +The IODA2NC configuration file is optional and only necessary when defining filtering the input observations or defining time summaries. The contents of the default IODA2NC configuration file are described below. + +__________________ + +.. code-block:: none + + obs_window = { beg = -5400; end = 5400; } + mask = { grid = ""; poly = ""; } + tmp_dir = "/tmp"; + version = "VN.N"; + +The configuration options listed above are common to many MET tools and are described in :numref:`config_options`. + +_________________ + + +.. code-block:: none + + message_type = []; + message_type_group_map = []; + message_type_map = []; + station_id = []; + elevation_range = { ... }; + level_range = { ... }; + obs_var = []; + quality_mark_thresh = 0; + time_summary = { ... } + +The configuration options listed above are supported by other point observation pre-processing tools and are described in :numref:`pb2nc configuration file`. + +_________________ + +.. code-block:: none + + obs_name_map = []; + +This entry is an array of dictionaries, each containing a **key** string and **val** string which define a mapping of input IODA variable names to output variable names. The default IODA map, obs_var_map, is appended to this map. + +_________________ + +.. code-block:: none + + metadata_map = [ + { key = "message_type"; val = "msg_type"; }, + { key = "station_id"; val = "report_identifier"; }, + { key = "pressure"; val = "air_pressure,pressure"; }, + { key = "height"; val = "height,height_above_mean_sea_level"; }, + { key = "elevation"; val = ""; } + ]; + +This entry is an array of dictionaries, each containing a **key** string and **val** string which define a mapping of metadata for IODA data files. + +_________________ + +.. code-block:: none + + missing_thresh = [ <=-1e9, >=1e9, ==-9999 ]; + +The **missing_thresh** option is an array of thresholds. Any data values which meet any of these thresholds are interpreted as being bad, or missing, data. + + +ioda2nc output +~~~~~~~~~~~~~~ + +The NetCDF output of the IODA2NC tool is structured in the same way as the output of the PB2NC tool described in :numref:`pb2nc output`. + Point2Grid tool _______________ From 5201e14ec352ba55dd44689efd4ca89a2c9832fb Mon Sep 17 00:00:00 2001 From: John Halley Gotway Date: Tue, 4 May 2021 16:11:31 -0600 Subject: [PATCH 12/40] Changes to make the authorship list consistent with METplus. --- met/docs/Users_Guide/index.rst | 7 +++-- met/docs/conf.py | 16 +++++------- met/docs/index.rst | 47 ++++++++++++++++++++++++++++++---- 3 files changed, 51 insertions(+), 19 deletions(-) diff --git a/met/docs/Users_Guide/index.rst b/met/docs/Users_Guide/index.rst index e687d3ac5e..40151728e5 100644 --- a/met/docs/Users_Guide/index.rst +++ b/met/docs/Users_Guide/index.rst @@ -8,8 +8,6 @@ This User's guide is provided as an aid to users of the Model Evaluation Tools ( It is important to note here that MET is an evolving software package. This documentation describes the |release| release dated |release_date|. Previous releases of MET have occurred each year since 2008. Intermediate releases may include bug fixes. MET is also able to accept new modules contributed by the community. If you have code you would like to contribute, we will gladly consider your contribution. Please send an email to: `met_help@ucar.edu `__. We will then determine the maturity of the new verification method and coordinate the inclusion of the new module in a future version. -This User's Guide was prepared by many current and former developers of MET, including David Ahijevych, Lindsay Blank, Barbara Brown, Randy Bullock, Tatiana Burek, David Fillmore, Tressa Fowler, Eric Gilleland, Lisa Goodrich, John Halley Gotway, Tracy Hertneky, Lacey Holland, Anne Holmes, Michelle Harrold, Tara Jensen, George McCabe, Kathryn Newman, Paul Oldenburg, John Opatz, Julie Prestopnik, Paul Prestopnik, Nancy Rehak, Howard Soh, Bonny Strong, and Minna Win-Gildenmeister. - **Model Evaluation Tools (MET) TERMS OF USE - IMPORTANT!** Copyright |copyright| @@ -26,13 +24,14 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. +.. _citations: + **Citations** The citation for this User's Guide should be: |author_list|, |release_year|: The MET Version |version| User's Guide. -Developmental Testbed Center. -Available at: `MET releases `_ +Developmental Testbed Center. Available at: https://github.com/dtcenter/MET/releases **Acknowledgments** diff --git a/met/docs/conf.py b/met/docs/conf.py index 5d54deb22a..eff4dbae1f 100644 --- a/met/docs/conf.py +++ b/met/docs/conf.py @@ -75,13 +75,9 @@ # -- Export variables -------------------------------------------------------- -rst_epilog = """ -.. |copyright| replace:: {copyrightstr} -.. |author_list| replace:: {author_liststr} -.. |release_date| replace:: {release_datestr} -.. |release_year| replace:: {release_yearstr} -""".format(copyrightstr = copyright, - author_liststr = author_list, - release_datestr = release_date, - release_yearstr = release_year) - +rst_epilog = f""" +.. |copyright| replace:: {copyright} +.. |author_list| replace:: {author_list} +.. |release_date| replace:: {release_date} +.. |release_year| replace:: {release_year} +""" diff --git a/met/docs/index.rst b/met/docs/index.rst index a66a482aa1..2897901d29 100644 --- a/met/docs/index.rst +++ b/met/docs/index.rst @@ -90,7 +90,48 @@ Acronyms * **HIWPP** - High Impact Weather Predication Project * **NGGPS** - Next Generation Global Predicatio System * **GSD** - Global Systems Division - + +Authors +------- + +Many authors, listed below in alphabetical order, have contributed to the documentation of MET. +To cite this documentation in publications, please refer to the MET User's Guide :ref:`Citation Instructions`. + +* David Ahijevych [#NCAR]_ +* Lindsay Blank +* Barbara Brown [#NCAR]_ +* Randy Bullock [#NCAR]_ +* Tatiana Burek [#NCAR]_ +* David Fillmore [#NCAR]_ +* Tressa Fowler +* Eric Gilleland [#NCAR]_ +* Lisa Goodrich [#NCAR]_ +* John Halley Gotway [#NCAR]_ +* Tracy Hertneky [#NCAR]_ +* Lacey Holland +* Anne Holmes +* Michelle Harrold [#NCAR]_ +* Tara Jensen [#NCAR]_ +* George McCabe [#NCAR]_ +* Kathryn Newman [#NCAR]_ +* Paul Oldenburg +* John Opatz [#NCAR]_ +* Julie Prestopnik [#NCAR]_ +* Paul Prestopnik [#NCAR]_ +* Nancy Rehak [#NCAR]_ +* Howard Soh [#NCAR]_ +* Bonny Strong [#CIR]_ +* Minna Win-Gildenmeister [#NCAR]_ + +.. rubric:: Organization + +.. [#NCAR] `National Center for Atmospheric Research, Research + Applications Laboratory `_, `Developmental Testbed Center `_ +.. [#CIR] `Cooperative Institute for Research in the Atmosphere at + National Oceanic and Atmospheric Administration (NOAA) Earth + System Research Laboratory `_ + + .. toctree:: :hidden: :caption: Model Evaluation Tools @@ -102,7 +143,3 @@ Index ===== * :ref:`genindex` - - - - From d6618d6b3b9a005d0aa62fad28eb27ff9951e3c1 Mon Sep 17 00:00:00 2001 From: John Halley Gotway Date: Tue, 4 May 2021 16:38:45 -0600 Subject: [PATCH 13/40] Rename CIR to CIRA. --- met/docs/index.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/met/docs/index.rst b/met/docs/index.rst index 2897901d29..dc494fd188 100644 --- a/met/docs/index.rst +++ b/met/docs/index.rst @@ -118,16 +118,16 @@ To cite this documentation in publications, please refer to the MET User's Guide * John Opatz [#NCAR]_ * Julie Prestopnik [#NCAR]_ * Paul Prestopnik [#NCAR]_ -* Nancy Rehak [#NCAR]_ +* Nancy Rehak * Howard Soh [#NCAR]_ -* Bonny Strong [#CIR]_ +* Bonny Strong [#CIRA]_ * Minna Win-Gildenmeister [#NCAR]_ .. rubric:: Organization .. [#NCAR] `National Center for Atmospheric Research, Research Applications Laboratory `_, `Developmental Testbed Center `_ -.. [#CIR] `Cooperative Institute for Research in the Atmosphere at +.. [#CIRA] `Cooperative Institute for Research in the Atmosphere at National Oceanic and Atmospheric Administration (NOAA) Earth System Research Laboratory `_ From bb9f18ebca6cfb7d32583471a43006bc673de985 Mon Sep 17 00:00:00 2001 From: John Halley Gotway Date: Wed, 5 May 2021 10:43:41 -0600 Subject: [PATCH 14/40] Per #1731, fix alignment issued caused by tabs vs spaces. --- met/docs/Users_Guide/reformat_point.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/met/docs/Users_Guide/reformat_point.rst b/met/docs/Users_Guide/reformat_point.rst index 17a73fec15..f872a12b40 100644 --- a/met/docs/Users_Guide/reformat_point.rst +++ b/met/docs/Users_Guide/reformat_point.rst @@ -931,9 +931,9 @@ _________________ message_type_group_map = []; message_type_map = []; station_id = []; - elevation_range = { ... }; - level_range = { ... }; - obs_var = []; + elevation_range = { ... }; + level_range = { ... }; + obs_var = []; quality_mark_thresh = 0; time_summary = { ... } From 01bdecb423c79afdea43a5ec8b8ae783233e762a Mon Sep 17 00:00:00 2001 From: johnhg Date: Wed, 5 May 2021 15:35:00 -0600 Subject: [PATCH 15/40] Per #1777, fixing memory management in DbfHeader::set_subrecords(). It is dynamically allocating a buffer based on the record_legnth (e.g. 5) but then reading 32 characters into it! Deleting the dynamically allocated buf variable causes it to abort. Since we always read 32 bytes here, switch to a static buffer of that size rather than dynamically allocating. (#1779) Co-authored-by: John.H.Gotway@noaa.gov --- met/src/libcode/vx_gis/dbf_file.cc | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/met/src/libcode/vx_gis/dbf_file.cc b/met/src/libcode/vx_gis/dbf_file.cc index 703791d75e..eb0fdc921f 100644 --- a/met/src/libcode/vx_gis/dbf_file.cc +++ b/met/src/libcode/vx_gis/dbf_file.cc @@ -301,13 +301,11 @@ void DbfHeader::set_subrecords(int fd) int j; int bytes, n_read; int pos; -unsigned char * buf = 0; - subrec = new DbfSubRecord [n_subrecs]; -buf = new unsigned char [record_length]; +unsigned char buf[32]; // // seek to the first record @@ -360,8 +358,6 @@ for (j=0; j Date: Wed, 5 May 2021 15:35:30 -0600 Subject: [PATCH 16/40] Feature 1731 authorship (#1776) * Per #1731, add ioda2nc documentation. * Changes to make the authorship list consistent with METplus. * Rename CIR to CIRA. * Per #1731, fix alignment issued caused by tabs vs spaces. --- met/docs/Users_Guide/data_io.rst | 30 +++-- met/docs/Users_Guide/index.rst | 7 +- met/docs/Users_Guide/overview.rst | 2 +- met/docs/Users_Guide/reformat_point.rst | 145 +++++++++++++++++++++++- met/docs/conf.py | 16 +-- met/docs/index.rst | 47 +++++++- 6 files changed, 211 insertions(+), 36 deletions(-) diff --git a/met/docs/Users_Guide/data_io.rst b/met/docs/Users_Guide/data_io.rst index 2a97f546c5..3dd4552ab9 100644 --- a/met/docs/Users_Guide/data_io.rst +++ b/met/docs/Users_Guide/data_io.rst @@ -10,13 +10,13 @@ Data must often be preprocessed prior to using it for verification. Several MET Input data formats __________________ -The MET package can handle gridded input data in one of four formats: GRIB version 1, GRIB version 2, NetCDF files following the Climate and Forecast (CF) conventions, and NetCDF files produced by the MET tools themselves. MET supports standard NCEP, USAF, UKMet Office and ECMWF grib tables along with custom, user-defined GRIB tables and the extended PDS including ensemble member metadata. See :numref:`Configuration File Details` for more information. Point observation files may be supplied in either PrepBUFR, ASCII, or MADIS format. Note that MET does not require the Unified Post-Processor to be used, but does require that the input GRIB data be on a standard, de-staggered grid on pressure or regular levels in the vertical. While the Grid-Stat, Wavelet-Stat, MODE, and MTD tools can be run on a gridded field at virtually any level, the Point-Stat tool can only be used to verify forecasts at the surface or on pressure or height levels. MET does not interpolate between native model vertical levels. +The MET package can handle multiple gridded input data formats: GRIB version 1, GRIB version 2, and NetCDF files following the Climate and Forecast (CF) conventions, containing WRF output post-processed using wrf_interp, or produced by the MET tools themselves. MET supports standard NCEP, USAF, UKMet Office and ECMWF GRIB tables along with custom, user-defined GRIB tables and the extended PDS including ensemble member metadata. See :numref:`Configuration File Details` for more information. Point observation files may be supplied in either PrepBUFR, ASCII, or MADIS format. Note that MET does not require the Unified Post-Processor to be used, but does require that the input GRIB data be on a standard, de-staggered grid on pressure or regular levels in the vertical. While the Grid-Stat, Wavelet-Stat, MODE, and MTD tools can be run on a gridded field at virtually any level, the Point-Stat tool can only be used to verify forecasts at the surface or on pressure or height levels. MET does not interpolate between native model vertical levels. When comparing two gridded fields with the Grid-Stat, Wavelet-Stat, Ensemble-Stat, MODE, MTD, or Series-Analysis tools, the input model and observation datasets must be on the same grid. MET will regrid files according to user specified options. Alternatively, outside of MET, the copygb and wgrib2 utilities are recommended for re-gridding GRIB1 and GRIB2 files, respectively. To preserve characteristics of the observations, it is generally preferred to re-grid the model data to the observation grid, rather than vice versa. -Input point observation files in PrepBUFR format are available through NCEP. The PrepBUFR observation files contain a wide variety of point-based observation types in a single file in a standard format. However, some users may wish to use observations not included in the standard PrepBUFR files. For this reason, prior to performing the verification step in the Point-Stat tool, the PrepBUFR file is reformatted with the PB2NC tool. In this step, the user can select various ways of stratifying the observation data spatially, temporally, and by type. The remaining observations are reformatted into an intermediate NetCDF file. The ASCII2NC tool may be used to convert ASCII point observations that are not available in the PrepBUFR files into this NetCDF format for use by the Point-Stat verification tool. Users with METAR or RAOB data from MADIS can convert these observations into NetCDF format with the MADIS2NC tool, then use them with the Point-Stat or Ensemble-Stat verification tools. +Input point observation files in PrepBUFR format are available through NCEP. The PrepBUFR observation files contain a wide variety of point-based observation types in a single file in a standard format. However, some users may wish to use observations not included in the standard PrepBUFR files. For this reason, prior to performing the verification step in the Point-Stat tool, the PrepBUFR file is reformatted with the PB2NC tool. In this step, the user can select various ways of stratifying the observation data spatially, temporally, and by type. The remaining observations are reformatted into an intermediate NetCDF file. The ASCII2NC tool may be used to convert ASCII point observations that are not available in the PrepBUFR files into this common NetCDF point observation format. Several other MET tools, described below, are also provided to reformat point observations into this common NetCDF point observation format prior to passing them as input to the Point-Stat or Ensemble-Stat verification tools. -Tropical cyclone forecasts and observations are typically provided in a specific ASCII format, in A Deck and B Deck files. +Tropical cyclone forecasts and observations are typically provided in a specific ATCF (Automated Tropical Cyclone Forecasting) ASCII format, in A-deck, B-deck, and E-deck files. .. _Intermediate data formats: @@ -55,32 +55,38 @@ The following is a summary of the input and output formats for each of the tools #. **PB2NC Tool** - * **Input**: One PrepBUFR point observation file and one configuration file. + * **Input**: PrepBUFR point observation file(s) and one configuration file. * **Output**: One NetCDF file containing the observations that have been retained. #. **ASCII2NC Tool** - * **Input**: One or more ASCII point observation file(s) that has (have) been formatted as expected, and optional configuration file. + * **Input**: ASCII point observation file(s) that has (have) been formatted as expected, and optional configuration file. * **Output**: One NetCDF file containing the reformatted observations. #. **MADIS2NC Tool** - * **Input**: One MADIS point observation file. + * **Input**: MADIS point observation file(s) in NetCDF format. * **Output**: One NetCDF file containing the reformatted observations. #. **LIDAR2NC Tool** - * **Input**: One CALIPSO satellite HDF file + * **Input**: One CALIPSO satellite HDF file. + + * **Output**: One NetCDF file containing the reformatted observations. + +#. **IODA2NC Tool** + + * **Input**: IODA observation file(s) in NetCDF format. * **Output**: One NetCDF file containing the reformatted observations. #. **Point2Grid Tool** - * **Input**: One NetCDF file containing point observation from the ASCII2NC, PB2NC, MADIS2NC, or LIDAR2NC tool. + * **Input**: One NetCDF file in the common point observation format. * **Output**: One NetCDF file containing a gridded representation of the point observations. @@ -116,7 +122,7 @@ The following is a summary of the input and output formats for each of the tools #. **Point-Stat Tool** - * **Input**: One gridded model file, at least one point observation file in NetCDF format (as the output of the PB2NC, ASCII2NC, MADIS2NC, or LIDAR2NC tool), and one configuration file. + * **Input**: One gridded model file, at least one NetCDF file in the common point observation format, and one configuration file. * **Output**: One STAT file containing all of the requested line types and several ASCII files for each line type requested. @@ -194,9 +200,9 @@ The following is a summary of the input and output formats for each of the tools #. **TC-Pairs Tool** - * **Input**: At least one A-deck and one B-deck ATCF format file containing output from a tropical cyclone tracker and one configuration file. The A-deck files contain forecast tracks while the B-deck files are typically the NHC Best Track Analysis but could also be any ATCF format reference. + * **Input**: At least one A-deck or E-deck file and one B-deck ATCF format file containing output from a tropical cyclone tracker and one configuration file. The A-deck files contain forecast tracks, the E-deck files contain forecast probabilities, and the B-deck files are typically the NHC Best Track Analysis but could also be any ATCF format reference. - * **Output**: ASCII output with the suffix .tcstat. + * **Output**: ASCII output with the suffix .tcst. #. **TC-Stat Tool** @@ -208,7 +214,7 @@ The following is a summary of the input and output formats for each of the tools * **Input**: One or more Tropical Cyclone genesis format files, one or more verifying operational and BEST track files in ATCF format, and one configuration file. - * **Output**: One STAT file containing all of the requested line types and several ASCII files for each line type requested. + * **Output**: One STAT file containing all of the requested line types, several ASCII files for each line type requested, and one gridded NetCDF file containing counts of track points. #. **TC-RMW Tool** diff --git a/met/docs/Users_Guide/index.rst b/met/docs/Users_Guide/index.rst index e687d3ac5e..40151728e5 100644 --- a/met/docs/Users_Guide/index.rst +++ b/met/docs/Users_Guide/index.rst @@ -8,8 +8,6 @@ This User's guide is provided as an aid to users of the Model Evaluation Tools ( It is important to note here that MET is an evolving software package. This documentation describes the |release| release dated |release_date|. Previous releases of MET have occurred each year since 2008. Intermediate releases may include bug fixes. MET is also able to accept new modules contributed by the community. If you have code you would like to contribute, we will gladly consider your contribution. Please send an email to: `met_help@ucar.edu `__. We will then determine the maturity of the new verification method and coordinate the inclusion of the new module in a future version. -This User's Guide was prepared by many current and former developers of MET, including David Ahijevych, Lindsay Blank, Barbara Brown, Randy Bullock, Tatiana Burek, David Fillmore, Tressa Fowler, Eric Gilleland, Lisa Goodrich, John Halley Gotway, Tracy Hertneky, Lacey Holland, Anne Holmes, Michelle Harrold, Tara Jensen, George McCabe, Kathryn Newman, Paul Oldenburg, John Opatz, Julie Prestopnik, Paul Prestopnik, Nancy Rehak, Howard Soh, Bonny Strong, and Minna Win-Gildenmeister. - **Model Evaluation Tools (MET) TERMS OF USE - IMPORTANT!** Copyright |copyright| @@ -26,13 +24,14 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. +.. _citations: + **Citations** The citation for this User's Guide should be: |author_list|, |release_year|: The MET Version |version| User's Guide. -Developmental Testbed Center. -Available at: `MET releases `_ +Developmental Testbed Center. Available at: https://github.com/dtcenter/MET/releases **Acknowledgments** diff --git a/met/docs/Users_Guide/overview.rst b/met/docs/Users_Guide/overview.rst index 9450a2e3af..733255d409 100644 --- a/met/docs/Users_Guide/overview.rst +++ b/met/docs/Users_Guide/overview.rst @@ -57,7 +57,7 @@ The MODE (Method for Object-based Diagnostic Evaluation) tool also uses gridded The MODE-TD tool extends object-based analysis from two-dimensional forecasts and observations to include the time dimension. In addition to the two dimensional information provided by MODE, MODE-TD can be used to examine even more features including displacement in time, and duration and speed of moving areas of interest. -The Grid-Diag tools produce multivariate probability density functions (PDFs) that may be used either for exploring the relationship between two fields, or for the computation of percentiles generated from the sample for use with percentile thresholding. The output from this tool requires post-processing by METplus or user-provided utilities. +The Grid-Diag tool produces multivariate probability density functions (PDFs) that may be used either for exploring the relationship between two fields, or for the computation of percentiles generated from the sample for use with percentile thresholding. The output from this tool requires post-processing by METplus or user-provided utilities. The Wavelet-Stat tool decomposes two-dimensional forecasts and observations according to the Intensity-Scale verification technique described by :ref:`Casati et al. (2004) `. There are many types of spatial verification approaches and the Intensity-Scale technique belongs to the scale-decomposition (or scale-separation) verification approaches. The spatial scale components are obtained by applying a wavelet transformation to the forecast and observation fields. The resulting scale-decomposition measures error, bias and skill of the forecast on each spatial scale. Information is provided on the scale dependency of the error and skill, on the no-skill to skill transition scale, and on the ability of the forecast to reproduce the observed scale structure. The Wavelet-Stat tool is primarily used for precipitation fields. However, the tool can be applied to other variables, such as cloud fraction. diff --git a/met/docs/Users_Guide/reformat_point.rst b/met/docs/Users_Guide/reformat_point.rst index 2dfdce4b1c..f872a12b40 100644 --- a/met/docs/Users_Guide/reformat_point.rst +++ b/met/docs/Users_Guide/reformat_point.rst @@ -599,13 +599,13 @@ MADIS2NC tool _____________ -This section describes how to run the MADIS2NC tool. The MADIS2NC tool is used to reformat `Meteorological Assimilation Data Ingest System (MADIS) `_ point observations into the NetCDF format expected by the MET statistics tools. Since the MADIS2NC tool simply performs a reformatting step, no configuration file is needed. The MADIS2NC tool supports many of the MADIS data types, as listed in the usage statement below. Support for additional MADIS data types may be added in the future based on user feedback. +This section describes how to run the MADIS2NC tool. The MADIS2NC tool is used to reformat `Meteorological Assimilation Data Ingest System (MADIS) `_ point observations into the NetCDF format expected by the MET statistics tools. An optional configuration file controls the processing of the point observations. The MADIS2NC tool supports many of the MADIS data types, as listed in the usage statement below. Support for additional MADIS data types may be added in the future based on user feedback. madis2nc usage ~~~~~~~~~~~~~~ -The usage statement for MADIS2NC tool is shown below: +The usage statement for the MADIS2NC tool is shown below: .. code-block:: none @@ -635,7 +635,7 @@ Required arguments for madis2nc 1. The **madis_file** argument is one or more input MADIS point observation files to be processed. -2. The **netcdf_file** argument is the NetCDF output file to be written. +2. The **out_file** argument is the NetCDF output file to be written. 3. The argument **-type str** is a type of MADIS observations (metar, raob, profiler, maritime, mesonet or acarsProfiles). @@ -778,7 +778,6 @@ We will not give a detailed description of each CALIPSO data product that lidar2 **Layer_Base** gives the elevation in meters above ground level of the cloud base for each cloud level at each observation location. Similarly, **Layer_Top** gives the elevation of the top of each cloud layer. Note that if there are multiple cloud layers at a particular location, then there will be more than one base (or top) given for that location. For convenience, **Min_Base** and **Max_Top** give, respectively, the base elevation for the bottom cloud layer, and the top elevation for the top cloud layer. For these data types, there will be only one value per observation location regardless of how many cloud layers there are at that location. - .. _lidar2nc_grib_code_table: .. list-table:: lidar2nc GRIB codes and their meaning, units, and abbreviations @@ -837,7 +836,145 @@ We will not give a detailed description of each CALIPSO data product that lidar2 - Horizontal Averaging - NA - Horizontal_Averaging + + +IODA2NC tool +____________ + + +This section describes the IODA2NC tool which is used to reformat IODA (Interface for Observation Data Access) point observations from the `Joint Center for Satellite Data Assimilation (JCSDA) `_ into the NetCDF format expected by the MET statistics tools. An optional configuration file controls the processing of the point observations. The IODA2NC tool reads NetCDF point observation files created by the `IODA Converters `_. Support for interfacing with data from IODA may be added in the future based on user feedback. + + +ioda2nc usage +~~~~~~~~~~~~~ + +The usage statement for the IODA2NC tool is shown below: + +.. code-block:: none + + Usage: ioda2nc + ioda_file + netcdf_file + [-config config_file] + [-obs_var var] + [-iodafile ioda_file] + [-valid_beg time] + [-valid_end time] + [-nmsg n] + [-log file] + [-v level] + [-compress level] + +ioda2nc has required arguments and can also take optional ones. + +Required arguments for ioda2nc +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +1. The **ioda_file** argument is an input IODA NetCDF point observation file to be processed. + +2. The **netcdf_file** argument is the NetCDF output file to be written. + +Optional arguments for ioda2nc +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +3. The **-config config_file** is a IODA2NCConfig file to filter the point observations and define time summaries. + +4. The **-obs_var var_list** setting is a comma-separated list of variables to be saved from input the input file (by defaults, saves "all"). + +5. The **-iodafile ioda_file** option specifies additional input IODA observation files to be processed. + +6. The **-valid_beg time** and **-valid_end time** options in YYYYMMDD[_HH[MMSS]] format overrides the retention time window from the configuration file. + +7. The **-nmsg n** indicates the number of IODA records to process. + +8. The **-log** file option directs output and errors to the specified log file. All messages will be written to that file as well as standard out and error. Thus, users can save the messages without having to redirect the output on the command line. The default behavior is no log file. + +9. The **-v level** option indicates the desired level of verbosity. The value of “level” will override the default setting of 2. Setting the verbosity to 0 will make the tool run with no log messages, while increasing the verbosity above 1 will increase the amount of logging. + +10. The **-compress level** option indicates the desired level of compression (deflate level) for NetCDF variables. The valid level is between 0 and 9. The value of “level” will override the default setting of 0 from the configuration file or the environment variable MET_NC_COMPRESS. Setting the compression level to 0 will make no compression for the NetCDF output. Lower number is for fast compression and higher number is for better compression. + +An example of the ioda2nc calling sequence is shown below: + +.. code-block:: none + + ioda2nc \ + ioda.NC001007.2020031012.nc ioda2nc.2020031012.nc \ + -config IODA2NCConfig -v 3 -lg run_ioda2nc.log +In this example, the IODA2NC tool will reformat the data in the input ioda.NC001007.2020031012.nc file and write the output to a file named ioda2nc.2020031012.nc. The data to be processed is specified by IODA2NCConfig, log messages will be written to the ioda2nc.log file, and the verbosity level is three. + + +ioda2nc configuration file +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The default configuration file for the IODA2NC tool named **IODA2NcConfig_default** can be found in the installed *share/met/config* directory. It is recommended that users make a copy of this file prior to modifying its contents. + +The IODA2NC configuration file is optional and only necessary when defining filtering the input observations or defining time summaries. The contents of the default IODA2NC configuration file are described below. + +__________________ + +.. code-block:: none + + obs_window = { beg = -5400; end = 5400; } + mask = { grid = ""; poly = ""; } + tmp_dir = "/tmp"; + version = "VN.N"; + +The configuration options listed above are common to many MET tools and are described in :numref:`config_options`. + +_________________ + + +.. code-block:: none + + message_type = []; + message_type_group_map = []; + message_type_map = []; + station_id = []; + elevation_range = { ... }; + level_range = { ... }; + obs_var = []; + quality_mark_thresh = 0; + time_summary = { ... } + +The configuration options listed above are supported by other point observation pre-processing tools and are described in :numref:`pb2nc configuration file`. + +_________________ + +.. code-block:: none + + obs_name_map = []; + +This entry is an array of dictionaries, each containing a **key** string and **val** string which define a mapping of input IODA variable names to output variable names. The default IODA map, obs_var_map, is appended to this map. + +_________________ + +.. code-block:: none + + metadata_map = [ + { key = "message_type"; val = "msg_type"; }, + { key = "station_id"; val = "report_identifier"; }, + { key = "pressure"; val = "air_pressure,pressure"; }, + { key = "height"; val = "height,height_above_mean_sea_level"; }, + { key = "elevation"; val = ""; } + ]; + +This entry is an array of dictionaries, each containing a **key** string and **val** string which define a mapping of metadata for IODA data files. + +_________________ + +.. code-block:: none + + missing_thresh = [ <=-1e9, >=1e9, ==-9999 ]; + +The **missing_thresh** option is an array of thresholds. Any data values which meet any of these thresholds are interpreted as being bad, or missing, data. + + +ioda2nc output +~~~~~~~~~~~~~~ + +The NetCDF output of the IODA2NC tool is structured in the same way as the output of the PB2NC tool described in :numref:`pb2nc output`. + Point2Grid tool _______________ diff --git a/met/docs/conf.py b/met/docs/conf.py index 5d54deb22a..eff4dbae1f 100644 --- a/met/docs/conf.py +++ b/met/docs/conf.py @@ -75,13 +75,9 @@ # -- Export variables -------------------------------------------------------- -rst_epilog = """ -.. |copyright| replace:: {copyrightstr} -.. |author_list| replace:: {author_liststr} -.. |release_date| replace:: {release_datestr} -.. |release_year| replace:: {release_yearstr} -""".format(copyrightstr = copyright, - author_liststr = author_list, - release_datestr = release_date, - release_yearstr = release_year) - +rst_epilog = f""" +.. |copyright| replace:: {copyright} +.. |author_list| replace:: {author_list} +.. |release_date| replace:: {release_date} +.. |release_year| replace:: {release_year} +""" diff --git a/met/docs/index.rst b/met/docs/index.rst index a66a482aa1..dc494fd188 100644 --- a/met/docs/index.rst +++ b/met/docs/index.rst @@ -90,7 +90,48 @@ Acronyms * **HIWPP** - High Impact Weather Predication Project * **NGGPS** - Next Generation Global Predicatio System * **GSD** - Global Systems Division - + +Authors +------- + +Many authors, listed below in alphabetical order, have contributed to the documentation of MET. +To cite this documentation in publications, please refer to the MET User's Guide :ref:`Citation Instructions`. + +* David Ahijevych [#NCAR]_ +* Lindsay Blank +* Barbara Brown [#NCAR]_ +* Randy Bullock [#NCAR]_ +* Tatiana Burek [#NCAR]_ +* David Fillmore [#NCAR]_ +* Tressa Fowler +* Eric Gilleland [#NCAR]_ +* Lisa Goodrich [#NCAR]_ +* John Halley Gotway [#NCAR]_ +* Tracy Hertneky [#NCAR]_ +* Lacey Holland +* Anne Holmes +* Michelle Harrold [#NCAR]_ +* Tara Jensen [#NCAR]_ +* George McCabe [#NCAR]_ +* Kathryn Newman [#NCAR]_ +* Paul Oldenburg +* John Opatz [#NCAR]_ +* Julie Prestopnik [#NCAR]_ +* Paul Prestopnik [#NCAR]_ +* Nancy Rehak +* Howard Soh [#NCAR]_ +* Bonny Strong [#CIRA]_ +* Minna Win-Gildenmeister [#NCAR]_ + +.. rubric:: Organization + +.. [#NCAR] `National Center for Atmospheric Research, Research + Applications Laboratory `_, `Developmental Testbed Center `_ +.. [#CIRA] `Cooperative Institute for Research in the Atmosphere at + National Oceanic and Atmospheric Administration (NOAA) Earth + System Research Laboratory `_ + + .. toctree:: :hidden: :caption: Model Evaluation Tools @@ -102,7 +143,3 @@ Index ===== * :ref:`genindex` - - - - From 4427233cee9808a8ecf83795e1b82f378086a296 Mon Sep 17 00:00:00 2001 From: j-opatz <59586397+j-opatz@users.noreply.github.com> Date: Fri, 7 May 2021 11:06:58 -0600 Subject: [PATCH 17/40] Updated input sources to include newly acceptable data formats --- met/docs/Users_Guide/tc-pairs.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/met/docs/Users_Guide/tc-pairs.rst b/met/docs/Users_Guide/tc-pairs.rst index 2df76d0506..57bffcf04e 100644 --- a/met/docs/Users_Guide/tc-pairs.rst +++ b/met/docs/Users_Guide/tc-pairs.rst @@ -35,11 +35,11 @@ tc_pairs has required arguments and can accept several optional arguments. Required arguments for tc_pairs ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -1. The **-adeck source** argument indicates the adeck ATCF format data source containing tropical cyclone model forecast (output from tracker) data to be verified. It specifies the name of an ATCF format file or top-level directory containing ATCF format files ending in “.dat” to be processed. The **-adeck** or **-edeck** option must be used at least once. +1. The **-adeck source** argument indicates the adeck TC-Pairs acceptable format data source containing tropical cyclone model forecast (output from tracker) data to be verified. Acceptable data formats are limited to the standard ATCF format and the one column modified ATCF file, generated from a genesis mode run for extratropical cyclones. It specifies the name of a TC-Pairs acceptable format file or top-level directory containing TC-Pairs acceptable format files ending in “.dat” to be processed. The **-adeck** or **-edeck** option must be used at least once. 2. The **-edeck source** argument indicates the edeck ATCF format data source containing probabilistic track data to be verified. It specifies the name of an ATCF format file or top-level directory containing ATCF format files ending in “.dat” to be processed. The **-adeck** or **-edeck** option must be used at least once. -3. The **-bdeck source** argument indicates the ATCF format data source containing the tropical cyclone reference dataset to be used for verifying the adeck source. It specifies the name of an ATCF format file or top-level directory containing ATCF format files ending in “.dat” to be processed. This source is expected to be the NHC Best Track Analysis, but could also be any ATCF-formatted reference. +3. The **-bdeck source** argument indicates the TC-Pairs acceptable format data source containing the tropical cyclone reference dataset to be used for verifying the adeck source. This source is typically the NHC Best Track Analysis, but could be any TC-Pairs acceptable formatted reference. The acceptable data formats for bdecks are the same as those for adecks. This arguement specifies the name of a TC-Pairs acceptable format file or top-level directory containing TC-Pairs acceptable format files ending in “.dat” to be processed. 4. The **-config file** argument indicates the name of the configuration file to be used. The contents of the configuration file are discussed below. From 278e57bac90f2e937f73af62286da4aee66c9c04 Mon Sep 17 00:00:00 2001 From: John Halley Gotway Date: Fri, 7 May 2021 11:07:48 -0600 Subject: [PATCH 18/40] Per #1731, add more details about the grid-diag bin definition. --- met/docs/Users_Guide/grid-diag.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/met/docs/Users_Guide/grid-diag.rst b/met/docs/Users_Guide/grid-diag.rst index b84f2acab2..fe0753e084 100644 --- a/met/docs/Users_Guide/grid-diag.rst +++ b/met/docs/Users_Guide/grid-diag.rst @@ -93,6 +93,8 @@ _____________________ The **name** and **level** entries in the **data** dictionary define the data to be processed. The **n_bins** parameter specifies the number of histogram bins for that variable, and the **range** parameter the lower and upper bounds of the histogram. The interval length is the upper and lower difference divided by **n_bins**. +Each bin is inclusive on the left side and exclusive on the right, such as [a,b). Grid-Diag prints a warning message if the actual range of data values falls outside the range defined for that variable in the configuration file. Any data values less than or greater than the configured range are counted in the first or last bin, respectively. + grid_diag output file ~~~~~~~~~~~~~~~~~~~~~ From a8d2a99f12a40c90b9dd8f629ea235562b907438 Mon Sep 17 00:00:00 2001 From: John Halley Gotway Date: Fri, 7 May 2021 11:15:14 -0600 Subject: [PATCH 19/40] Per #1731, clarify wording. --- met/docs/Users_Guide/grid-diag.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/met/docs/Users_Guide/grid-diag.rst b/met/docs/Users_Guide/grid-diag.rst index fe0753e084..fb6c14f58c 100644 --- a/met/docs/Users_Guide/grid-diag.rst +++ b/met/docs/Users_Guide/grid-diag.rst @@ -91,9 +91,9 @@ _____________________ ]; } -The **name** and **level** entries in the **data** dictionary define the data to be processed. The **n_bins** parameter specifies the number of histogram bins for that variable, and the **range** parameter the lower and upper bounds of the histogram. The interval length is the upper and lower difference divided by **n_bins**. +The **name** and **level** entries in the **data** dictionary define the data to be processed. The **n_bins** parameter specifies the number of histogram bins for that variable, and the **range** parameter the lower and upper bounds of the histogram. The interval length is the upper and lower difference divided by **n_bins**. Each bin is inclusive on the left side and exclusive on the right, such as [a,b). -Each bin is inclusive on the left side and exclusive on the right, such as [a,b). Grid-Diag prints a warning message if the actual range of data values falls outside the range defined for that variable in the configuration file. Any data values less than or greater than the configured range are counted in the first or last bin, respectively. +Grid-Diag prints a warning message if the actual range of data values falls outside the range defined for that variable in the configuration file. Any data values less than the configured range are counted in the first bin, while values greater than the configured range are counted in the last bin. grid_diag output file ~~~~~~~~~~~~~~~~~~~~~ From 200897e543261c0f6412b17055b82254e095ed39 Mon Sep 17 00:00:00 2001 From: j-opatz <59586397+j-opatz@users.noreply.github.com> Date: Fri, 7 May 2021 12:41:35 -0600 Subject: [PATCH 20/40] Update met/docs/Users_Guide/tc-pairs.rst Co-authored-by: johnhg --- met/docs/Users_Guide/tc-pairs.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/met/docs/Users_Guide/tc-pairs.rst b/met/docs/Users_Guide/tc-pairs.rst index 57bffcf04e..a0f82295d9 100644 --- a/met/docs/Users_Guide/tc-pairs.rst +++ b/met/docs/Users_Guide/tc-pairs.rst @@ -39,7 +39,7 @@ Required arguments for tc_pairs 2. The **-edeck source** argument indicates the edeck ATCF format data source containing probabilistic track data to be verified. It specifies the name of an ATCF format file or top-level directory containing ATCF format files ending in “.dat” to be processed. The **-adeck** or **-edeck** option must be used at least once. -3. The **-bdeck source** argument indicates the TC-Pairs acceptable format data source containing the tropical cyclone reference dataset to be used for verifying the adeck source. This source is typically the NHC Best Track Analysis, but could be any TC-Pairs acceptable formatted reference. The acceptable data formats for bdecks are the same as those for adecks. This arguement specifies the name of a TC-Pairs acceptable format file or top-level directory containing TC-Pairs acceptable format files ending in “.dat” to be processed. +3. The **-bdeck source** argument indicates the TC-Pairs acceptable format data source containing the tropical cyclone reference dataset to be used for verifying the adeck source. This source is typically the NHC Best Track Analysis, but could be any TC-Pairs acceptable formatted reference. The acceptable data formats for bdecks are the same as those for adecks. This argument specifies the name of a TC-Pairs acceptable format file or top-level directory containing TC-Pairs acceptable format files ending in “.dat” to be processed. 4. The **-config file** argument indicates the name of the configuration file to be used. The contents of the configuration file are discussed below. From 3978109b395dcedebc3662963bf4eb07dbacdceb Mon Sep 17 00:00:00 2001 From: Daniel Adriaansen Date: Fri, 7 May 2021 13:39:09 -0600 Subject: [PATCH 21/40] Changes to align Xarray language with that used in Xarray documentation, to clarify only DataArray Xarray structures are supported and not Xarray Dataset structures, and an example of how to quickly create a DataArray for MET from a Dataset. --- met/docs/Users_Guide/appendixF.rst | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/met/docs/Users_Guide/appendixF.rst b/met/docs/Users_Guide/appendixF.rst index ee895a8166..4363e67cc3 100644 --- a/met/docs/Users_Guide/appendixF.rst +++ b/met/docs/Users_Guide/appendixF.rst @@ -46,7 +46,7 @@ With this approach, users should be able to execute Python scripts in their own Python Embedding for 2D data ____________________________ -We now describe how to write Python scripts so that the MET tools may extract 2D gridded data fields from them. Currently, MET offers two ways to interact with Python scripts: by using NumPy arrays or by using Xarray objects. The interface to be used (NumPy or Xarray) is specified on the command line (more on this later). The user's scripts can use any Python libraries that are supported by the local Python installation, or any personal or institutional libraries or code that are desired in order to implement the Python script, so long as the data has been loaded into either a NumPy array or an Xarray object by the end of the script. This offers advantages when using data file formats that MET does not directly support. If there is Python code to read the data format, the user can use those tools to read the data, and then copy the data into a NumPy array or an Xarray object. MET can then ingest the data via the Python script. Note that whether a NumPy array or an Xarray object is used, the data should be stored as double precision floating point numbers. Using different data types, such as integers or single precision floating point numbers, will lead to unexpected results in MET. +We now describe how to write Python scripts so that the MET tools may extract 2D gridded data fields from them. Currently, MET offers two ways to interact with Python scripts: by using NumPy arrays or by using Xarray DataArray's. The interface to be used (NumPy or Xarray) is specified on the command line (more on this later). The user's scripts can use any Python libraries that are supported by the local Python installation, or any personal or institutional libraries or code that are desired in order to implement the Python script, so long as the data has been loaded into either a NumPy array or an Xarray DataArray by the end of the script. This offers advantages when using data file formats that MET does not directly support. If there is Python code to read the data format, the user can use those tools to read the data, and then copy the data into a NumPy array or an Xarray DataArray. MET can then ingest the data via the Python script. Note that whether a NumPy array or an Xarray DataArray is used, the data should be stored as double precision floating point numbers. Using different data types, such as integers or single precision floating point numbers, will lead to unexpected results in MET. **Using NumPy** @@ -87,8 +87,8 @@ The data must be loaded into a 2D NumPy array named **met_data**. In addition th } - -In the dictionary, valid time, initialization time, lead time and accumulation time (if any) must be indicated by strings. Valid and initialization times must be given in YYYYMMDD[_HH[MMSS]] format, and lead and accumulation times must be given in HH[MMSS] format, where the square brackets indicate optional elements. The dictionary must also include strings for the name, long_name, level, and units to describe the data. The rest of the **attrs** dictionary gives the grid size and projection information in the same format that is used in the netCDF files written out by the MET tools. Those entries are also listed below. Note that the **grid** entry in the **attrs** dictionary can either be defined as a string or as a dictionary itself. +.. _attrs-specs-ref: +In the **attrs** dictionary, valid time, initialization time, lead time and accumulation time (if any) must be indicated by strings. Valid and initialization times must be given in YYYYMMDD[_HH[MMSS]] format, and lead and accumulation times must be given in HH[MMSS] format, where the square brackets indicate optional elements. The dictionary must also include strings for the name, long_name, level, and units to describe the data. The rest of the **attrs** dictionary gives the grid size and projection information in the same format that is used in the netCDF files written out by the MET tools. Those entries are also listed below. Note that the **grid** entry in the **attrs** dictionary can either be defined as a string or as a dictionary itself. If specified as a string, **grid** can be defined as follows: @@ -171,9 +171,16 @@ When specified as a dictionary, the contents of the **grid** dictionary vary bas Additional information about supported grids can be found in :ref:`appendixB`. -**Using Xarray Objects** +**Using Xarray DataArray's** + +To use Xarray DataArray's, a similar procedure to the NumPy case is followed. The Xarray DataArray can be represented as a NumPy N-dimensional array (ndarray) via the **values** property of the DataArray, and an **attrs** property that contains a dictionary of attributes. The user must name the Xarray DataArray to be **met_data**. When one of the MET tools runs the Python script, it will look for an Xarray DataArray named **met_data**, and will retrieve the data and metadata from the **values** and **attrs** properties, respectively, of the Xarray DataArray. The Xarray DataArray **attrs** dictionary is populated in the same way as for the NumPy interface (please see :ref:`attrs-specs-ref` for requirements of each entry in the **attrs** dictionary). The **values** NumPy ndarray property of the Xarray DataArray is also populated in the same way as the NumPy case. + +.. note:: + Currently, MET does not support Xarray Dataset structures. If you have a Dataset in Xarray, you can create a DataArray of a single variable using: + met_data = xr.DataArray(ds.varname,attrs=ds.attrs) -To use Xarray objects, a similar procedure to the NumPy case is followed. An Xarray object has a NumpyArray called **values**, and an attributes dictionary called **attrs**. The user must name the Xarray object to be **met_data**. When one of the MET tools runs the Python script, it will look for an Xarray object named **met_data**, and will retrieve the data and metadata from the **values** and **attrs** parts, respectively, of the Xarray object. The Xarray **attrs** dictionary is populated in the same way as for the NumPy interface. The **values** Numpy array part of the Xarray object is also populated in the same way as the NumPy case. + ds = your Dataset name + varname = variable name in the Dataset you'd like to use in MET __________________ From c13bc9e4a8a6af71727c49b6bac5db1465d0f83b Mon Sep 17 00:00:00 2001 From: Daniel Adriaansen Date: Fri, 7 May 2021 13:50:04 -0600 Subject: [PATCH 22/40] Corrects plural of DataArray. --- met/docs/Users_Guide/appendixF.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/met/docs/Users_Guide/appendixF.rst b/met/docs/Users_Guide/appendixF.rst index 4363e67cc3..e1ff711d80 100644 --- a/met/docs/Users_Guide/appendixF.rst +++ b/met/docs/Users_Guide/appendixF.rst @@ -46,7 +46,7 @@ With this approach, users should be able to execute Python scripts in their own Python Embedding for 2D data ____________________________ -We now describe how to write Python scripts so that the MET tools may extract 2D gridded data fields from them. Currently, MET offers two ways to interact with Python scripts: by using NumPy arrays or by using Xarray DataArray's. The interface to be used (NumPy or Xarray) is specified on the command line (more on this later). The user's scripts can use any Python libraries that are supported by the local Python installation, or any personal or institutional libraries or code that are desired in order to implement the Python script, so long as the data has been loaded into either a NumPy array or an Xarray DataArray by the end of the script. This offers advantages when using data file formats that MET does not directly support. If there is Python code to read the data format, the user can use those tools to read the data, and then copy the data into a NumPy array or an Xarray DataArray. MET can then ingest the data via the Python script. Note that whether a NumPy array or an Xarray DataArray is used, the data should be stored as double precision floating point numbers. Using different data types, such as integers or single precision floating point numbers, will lead to unexpected results in MET. +We now describe how to write Python scripts so that the MET tools may extract 2D gridded data fields from them. Currently, MET offers two ways to interact with Python scripts: by using NumPy arrays or by using Xarray DataArrays. The interface to be used (NumPy or Xarray) is specified on the command line (more on this later). The user's scripts can use any Python libraries that are supported by the local Python installation, or any personal or institutional libraries or code that are desired in order to implement the Python script, so long as the data has been loaded into either a NumPy array or an Xarray DataArray by the end of the script. This offers advantages when using data file formats that MET does not directly support. If there is Python code to read the data format, the user can use those tools to read the data, and then copy the data into a NumPy array or an Xarray DataArray. MET can then ingest the data via the Python script. Note that whether a NumPy array or an Xarray DataArray is used, the data should be stored as double precision floating point numbers. Using different data types, such as integers or single precision floating point numbers, will lead to unexpected results in MET. **Using NumPy** @@ -173,7 +173,7 @@ Additional information about supported grids can be found in :ref:`appendixB`. **Using Xarray DataArray's** -To use Xarray DataArray's, a similar procedure to the NumPy case is followed. The Xarray DataArray can be represented as a NumPy N-dimensional array (ndarray) via the **values** property of the DataArray, and an **attrs** property that contains a dictionary of attributes. The user must name the Xarray DataArray to be **met_data**. When one of the MET tools runs the Python script, it will look for an Xarray DataArray named **met_data**, and will retrieve the data and metadata from the **values** and **attrs** properties, respectively, of the Xarray DataArray. The Xarray DataArray **attrs** dictionary is populated in the same way as for the NumPy interface (please see :ref:`attrs-specs-ref` for requirements of each entry in the **attrs** dictionary). The **values** NumPy ndarray property of the Xarray DataArray is also populated in the same way as the NumPy case. +To use Xarray DataArrays, a similar procedure to the NumPy case is followed. The Xarray DataArray can be represented as a NumPy N-dimensional array (ndarray) via the **values** property of the DataArray, and an **attrs** property that contains a dictionary of attributes. The user must name the Xarray DataArray to be **met_data**. When one of the MET tools runs the Python script, it will look for an Xarray DataArray named **met_data**, and will retrieve the data and metadata from the **values** and **attrs** properties, respectively, of the Xarray DataArray. The Xarray DataArray **attrs** dictionary is populated in the same way as for the NumPy interface (please see :ref:`attrs-specs-ref` for requirements of each entry in the **attrs** dictionary). The **values** NumPy ndarray property of the Xarray DataArray is also populated in the same way as the NumPy case. .. note:: Currently, MET does not support Xarray Dataset structures. If you have a Dataset in Xarray, you can create a DataArray of a single variable using: From 4ef85f99968b36e71d160cee0d93ddbf8564a4b3 Mon Sep 17 00:00:00 2001 From: Daniel Adriaansen Date: Fri, 7 May 2021 13:52:44 -0600 Subject: [PATCH 23/40] Aligns references to NumPy arrays with NumPy docs to refer to them as ndarrays. --- met/docs/Users_Guide/appendixF.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/met/docs/Users_Guide/appendixF.rst b/met/docs/Users_Guide/appendixF.rst index e1ff711d80..270b32b48e 100644 --- a/met/docs/Users_Guide/appendixF.rst +++ b/met/docs/Users_Guide/appendixF.rst @@ -46,11 +46,11 @@ With this approach, users should be able to execute Python scripts in their own Python Embedding for 2D data ____________________________ -We now describe how to write Python scripts so that the MET tools may extract 2D gridded data fields from them. Currently, MET offers two ways to interact with Python scripts: by using NumPy arrays or by using Xarray DataArrays. The interface to be used (NumPy or Xarray) is specified on the command line (more on this later). The user's scripts can use any Python libraries that are supported by the local Python installation, or any personal or institutional libraries or code that are desired in order to implement the Python script, so long as the data has been loaded into either a NumPy array or an Xarray DataArray by the end of the script. This offers advantages when using data file formats that MET does not directly support. If there is Python code to read the data format, the user can use those tools to read the data, and then copy the data into a NumPy array or an Xarray DataArray. MET can then ingest the data via the Python script. Note that whether a NumPy array or an Xarray DataArray is used, the data should be stored as double precision floating point numbers. Using different data types, such as integers or single precision floating point numbers, will lead to unexpected results in MET. +We now describe how to write Python scripts so that the MET tools may extract 2D gridded data fields from them. Currently, MET offers two ways to interact with Python scripts: by using NumPy N-dimensional arrays (ndarrays) or by using Xarray DataArrays. The interface to be used (NumPy or Xarray) is specified on the command line (more on this later). The user's scripts can use any Python libraries that are supported by the local Python installation, or any personal or institutional libraries or code that are desired in order to implement the Python script, so long as the data has been loaded into either a NumPy ndarray or an Xarray DataArray by the end of the script. This offers advantages when using data file formats that MET does not directly support. If there is Python code to read the data format, the user can use those tools to read the data, and then copy the data into a NumPy ndarray or an Xarray DataArray. MET can then ingest the data via the Python script. Note that whether a NumPy ndarray or an Xarray DataArray is used, the data should be stored as double precision floating point numbers. Using different data types, such as integers or single precision floating point numbers, will lead to unexpected results in MET. **Using NumPy** -The data must be loaded into a 2D NumPy array named **met_data**. In addition there must be a Python dictionary named **attrs** which contains metadata such as timestamps, grid projection and other information. Here is an example **attrs** dictionary: +The data must be loaded into a 2D NumPy ndarray named **met_data**. In addition there must be a Python dictionary named **attrs** which contains metadata such as timestamps, grid projection and other information. Here is an example **attrs** dictionary: .. code-block:: none From 3a914efd7c1e13ee02d577cb54c97426964c968f Mon Sep 17 00:00:00 2001 From: Daniel Adriaansen Date: Fri, 7 May 2021 13:55:28 -0600 Subject: [PATCH 24/40] Fixes formatting of note for Xarray. --- met/docs/Users_Guide/appendixF.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/met/docs/Users_Guide/appendixF.rst b/met/docs/Users_Guide/appendixF.rst index 270b32b48e..31ae566149 100644 --- a/met/docs/Users_Guide/appendixF.rst +++ b/met/docs/Users_Guide/appendixF.rst @@ -176,7 +176,7 @@ Additional information about supported grids can be found in :ref:`appendixB`. To use Xarray DataArrays, a similar procedure to the NumPy case is followed. The Xarray DataArray can be represented as a NumPy N-dimensional array (ndarray) via the **values** property of the DataArray, and an **attrs** property that contains a dictionary of attributes. The user must name the Xarray DataArray to be **met_data**. When one of the MET tools runs the Python script, it will look for an Xarray DataArray named **met_data**, and will retrieve the data and metadata from the **values** and **attrs** properties, respectively, of the Xarray DataArray. The Xarray DataArray **attrs** dictionary is populated in the same way as for the NumPy interface (please see :ref:`attrs-specs-ref` for requirements of each entry in the **attrs** dictionary). The **values** NumPy ndarray property of the Xarray DataArray is also populated in the same way as the NumPy case. .. note:: - Currently, MET does not support Xarray Dataset structures. If you have a Dataset in Xarray, you can create a DataArray of a single variable using: + Currently, MET does not support Xarray Dataset structures. If you have a Dataset in Xarray, you can create a DataArray of a single variable using:: met_data = xr.DataArray(ds.varname,attrs=ds.attrs) ds = your Dataset name From 82532cbdc377386bebb1b27f2f37822f0a493b9d Mon Sep 17 00:00:00 2001 From: j-opatz <59586397+j-opatz@users.noreply.github.com> Date: Fri, 7 May 2021 13:56:58 -0600 Subject: [PATCH 25/40] Update met/docs/Users_Guide/tc-pairs.rst Co-authored-by: johnhg --- met/docs/Users_Guide/tc-pairs.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/met/docs/Users_Guide/tc-pairs.rst b/met/docs/Users_Guide/tc-pairs.rst index a0f82295d9..24afaf814a 100644 --- a/met/docs/Users_Guide/tc-pairs.rst +++ b/met/docs/Users_Guide/tc-pairs.rst @@ -35,7 +35,7 @@ tc_pairs has required arguments and can accept several optional arguments. Required arguments for tc_pairs ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -1. The **-adeck source** argument indicates the adeck TC-Pairs acceptable format data source containing tropical cyclone model forecast (output from tracker) data to be verified. Acceptable data formats are limited to the standard ATCF format and the one column modified ATCF file, generated from a genesis mode run for extratropical cyclones. It specifies the name of a TC-Pairs acceptable format file or top-level directory containing TC-Pairs acceptable format files ending in “.dat” to be processed. The **-adeck** or **-edeck** option must be used at least once. +1. The **-adeck source** argument indicates the adeck TC-Pairs acceptable format data source containing tropical cyclone model forecast (output from tracker) data to be verified. Acceptable data formats are limited to the standard ATCF format and the one column modified ATCF file, generated by running the tracker in genesis mode. It specifies the name of a TC-Pairs acceptable format file or top-level directory containing TC-Pairs acceptable format files ending in “.dat” to be processed. The **-adeck** or **-edeck** option must be used at least once. 2. The **-edeck source** argument indicates the edeck ATCF format data source containing probabilistic track data to be verified. It specifies the name of an ATCF format file or top-level directory containing ATCF format files ending in “.dat” to be processed. The **-adeck** or **-edeck** option must be used at least once. From 8568cd31323026dbe768e586bd0e308631235a47 Mon Sep 17 00:00:00 2001 From: Daniel Adriaansen Date: Fri, 7 May 2021 13:58:06 -0600 Subject: [PATCH 26/40] Fixes hyperlink reference. --- met/docs/Users_Guide/appendixF.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/met/docs/Users_Guide/appendixF.rst b/met/docs/Users_Guide/appendixF.rst index 31ae566149..f2adc94f49 100644 --- a/met/docs/Users_Guide/appendixF.rst +++ b/met/docs/Users_Guide/appendixF.rst @@ -43,6 +43,7 @@ Setting this environment variable triggers slightly different processing logic i With this approach, users should be able to execute Python scripts in their own custom environments. +.. _pyembed-2d-data: Python Embedding for 2D data ____________________________ @@ -87,7 +88,6 @@ The data must be loaded into a 2D NumPy ndarray named **met_data**. In addition } -.. _attrs-specs-ref: In the **attrs** dictionary, valid time, initialization time, lead time and accumulation time (if any) must be indicated by strings. Valid and initialization times must be given in YYYYMMDD[_HH[MMSS]] format, and lead and accumulation times must be given in HH[MMSS] format, where the square brackets indicate optional elements. The dictionary must also include strings for the name, long_name, level, and units to describe the data. The rest of the **attrs** dictionary gives the grid size and projection information in the same format that is used in the netCDF files written out by the MET tools. Those entries are also listed below. Note that the **grid** entry in the **attrs** dictionary can either be defined as a string or as a dictionary itself. If specified as a string, **grid** can be defined as follows: @@ -173,7 +173,7 @@ Additional information about supported grids can be found in :ref:`appendixB`. **Using Xarray DataArray's** -To use Xarray DataArrays, a similar procedure to the NumPy case is followed. The Xarray DataArray can be represented as a NumPy N-dimensional array (ndarray) via the **values** property of the DataArray, and an **attrs** property that contains a dictionary of attributes. The user must name the Xarray DataArray to be **met_data**. When one of the MET tools runs the Python script, it will look for an Xarray DataArray named **met_data**, and will retrieve the data and metadata from the **values** and **attrs** properties, respectively, of the Xarray DataArray. The Xarray DataArray **attrs** dictionary is populated in the same way as for the NumPy interface (please see :ref:`attrs-specs-ref` for requirements of each entry in the **attrs** dictionary). The **values** NumPy ndarray property of the Xarray DataArray is also populated in the same way as the NumPy case. +To use Xarray DataArrays, a similar procedure to the NumPy case is followed. The Xarray DataArray can be represented as a NumPy N-dimensional array (ndarray) via the **values** property of the DataArray, and an **attrs** property that contains a dictionary of attributes. The user must name the Xarray DataArray to be **met_data**. When one of the MET tools runs the Python script, it will look for an Xarray DataArray named **met_data**, and will retrieve the data and metadata from the **values** and **attrs** properties, respectively, of the Xarray DataArray. The Xarray DataArray **attrs** dictionary is populated in the same way as for the NumPy interface (please see :ref:`pyembed-2d-data` for requirements of each entry in the **attrs** dictionary). The **values** NumPy ndarray property of the Xarray DataArray is also populated in the same way as the NumPy case. .. note:: Currently, MET does not support Xarray Dataset structures. If you have a Dataset in Xarray, you can create a DataArray of a single variable using:: From 4da81e231febed8a653f06b55c7c5a56f1efd3e1 Mon Sep 17 00:00:00 2001 From: Daniel Adriaansen Date: Fri, 7 May 2021 13:59:30 -0600 Subject: [PATCH 27/40] Fixes line spacing in note directive. --- met/docs/Users_Guide/appendixF.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/met/docs/Users_Guide/appendixF.rst b/met/docs/Users_Guide/appendixF.rst index f2adc94f49..763b0577f2 100644 --- a/met/docs/Users_Guide/appendixF.rst +++ b/met/docs/Users_Guide/appendixF.rst @@ -177,6 +177,7 @@ To use Xarray DataArrays, a similar procedure to the NumPy case is followed. The .. note:: Currently, MET does not support Xarray Dataset structures. If you have a Dataset in Xarray, you can create a DataArray of a single variable using:: + met_data = xr.DataArray(ds.varname,attrs=ds.attrs) ds = your Dataset name From d0512c107ad3e2342ca28293d5befc2d2f546d35 Mon Sep 17 00:00:00 2001 From: Daniel Adriaansen Date: Fri, 7 May 2021 14:02:01 -0600 Subject: [PATCH 28/40] Changes to reference again. --- met/docs/Users_Guide/appendixF.rst | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/met/docs/Users_Guide/appendixF.rst b/met/docs/Users_Guide/appendixF.rst index 763b0577f2..4588ea9c15 100644 --- a/met/docs/Users_Guide/appendixF.rst +++ b/met/docs/Users_Guide/appendixF.rst @@ -43,7 +43,6 @@ Setting this environment variable triggers slightly different processing logic i With this approach, users should be able to execute Python scripts in their own custom environments. -.. _pyembed-2d-data: Python Embedding for 2D data ____________________________ @@ -88,6 +87,8 @@ The data must be loaded into a 2D NumPy ndarray named **met_data**. In addition } +.. _pyembed-2d-data: + In the **attrs** dictionary, valid time, initialization time, lead time and accumulation time (if any) must be indicated by strings. Valid and initialization times must be given in YYYYMMDD[_HH[MMSS]] format, and lead and accumulation times must be given in HH[MMSS] format, where the square brackets indicate optional elements. The dictionary must also include strings for the name, long_name, level, and units to describe the data. The rest of the **attrs** dictionary gives the grid size and projection information in the same format that is used in the netCDF files written out by the MET tools. Those entries are also listed below. Note that the **grid** entry in the **attrs** dictionary can either be defined as a string or as a dictionary itself. If specified as a string, **grid** can be defined as follows: From d0bd33677f0e6b748429cd1bcbbefa85ac80b9ab Mon Sep 17 00:00:00 2001 From: Howard Soh Date: Fri, 7 May 2021 14:06:41 -0600 Subject: [PATCH 29/40] #1782 Set the time offset to 0 if the time dimension does not exist at the data variable --- met/src/libcode/vx_data2d_nccf/data2d_nccf.cc | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/met/src/libcode/vx_data2d_nccf/data2d_nccf.cc b/met/src/libcode/vx_data2d_nccf/data2d_nccf.cc index 4b023a32dc..9da4858f33 100644 --- a/met/src/libcode/vx_data2d_nccf/data2d_nccf.cc +++ b/met/src/libcode/vx_data2d_nccf/data2d_nccf.cc @@ -365,16 +365,23 @@ LongArray MetNcCFDataFile::collect_time_offsets(VarInfo &vinfo) { return(time_offsets); } + int time_dim_slot = info->t_slot; + int time_dim_size = _file->ValidTime.n_elements(); + if (0 < time_dim_size && time_dim_slot < 0) { + // The time dimension does not exist at the variable and the time + // variable exists. Stop time slicing and set the time offset to 0. + time_offsets.add(0); + return(time_offsets); + } + double time_lower = bad_data_double; double time_upper = bad_data_double; int error_code = error_code_no_error; - int time_dim_slot = info->t_slot; - int time_dim_size = _file->ValidTime.n_elements(); LevelInfo level = vinfo.level(); LongArray dimension = vinfo_nc->dimension(); bool is_time_range = (level.type() == LevelType_Time); bool time_as_value = !level.is_time_as_offset(); - + long dim_offset = (time_dim_slot >= 0) ? dimension[time_dim_slot] : -1; bool include_all_times = (dim_offset == vx_data2d_star); From e376795d94e7250f10aeceda29fb562cab33b3a6 Mon Sep 17 00:00:00 2001 From: Daniel Adriaansen Date: Fri, 7 May 2021 14:08:53 -0600 Subject: [PATCH 30/40] Updates to link and note directive. --- met/docs/Users_Guide/appendixF.rst | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/met/docs/Users_Guide/appendixF.rst b/met/docs/Users_Guide/appendixF.rst index 4588ea9c15..c6b561cc05 100644 --- a/met/docs/Users_Guide/appendixF.rst +++ b/met/docs/Users_Guide/appendixF.rst @@ -43,6 +43,8 @@ Setting this environment variable triggers slightly different processing logic i With this approach, users should be able to execute Python scripts in their own custom environments. +.. _pyembed-2d-data: + Python Embedding for 2D data ____________________________ @@ -87,8 +89,6 @@ The data must be loaded into a 2D NumPy ndarray named **met_data**. In addition } -.. _pyembed-2d-data: - In the **attrs** dictionary, valid time, initialization time, lead time and accumulation time (if any) must be indicated by strings. Valid and initialization times must be given in YYYYMMDD[_HH[MMSS]] format, and lead and accumulation times must be given in HH[MMSS] format, where the square brackets indicate optional elements. The dictionary must also include strings for the name, long_name, level, and units to describe the data. The rest of the **attrs** dictionary gives the grid size and projection information in the same format that is used in the netCDF files written out by the MET tools. Those entries are also listed below. Note that the **grid** entry in the **attrs** dictionary can either be defined as a string or as a dictionary itself. If specified as a string, **grid** can be defined as follows: @@ -181,8 +181,9 @@ To use Xarray DataArrays, a similar procedure to the NumPy case is followed. The met_data = xr.DataArray(ds.varname,attrs=ds.attrs) - ds = your Dataset name - varname = variable name in the Dataset you'd like to use in MET + | ds = your Dataset name + | varname = variable name in the Dataset you'd like to use in MET + | __________________ From 9d1c71e314334cd6b2e2568620b8fc1160d1f3bb Mon Sep 17 00:00:00 2001 From: Daniel Adriaansen Date: Fri, 7 May 2021 14:12:44 -0600 Subject: [PATCH 31/40] Corrects plural of DataArray once more. --- met/docs/Users_Guide/appendixF.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/met/docs/Users_Guide/appendixF.rst b/met/docs/Users_Guide/appendixF.rst index c6b561cc05..31a3f05d88 100644 --- a/met/docs/Users_Guide/appendixF.rst +++ b/met/docs/Users_Guide/appendixF.rst @@ -172,7 +172,7 @@ When specified as a dictionary, the contents of the **grid** dictionary vary bas Additional information about supported grids can be found in :ref:`appendixB`. -**Using Xarray DataArray's** +**Using Xarray DataArrays** To use Xarray DataArrays, a similar procedure to the NumPy case is followed. The Xarray DataArray can be represented as a NumPy N-dimensional array (ndarray) via the **values** property of the DataArray, and an **attrs** property that contains a dictionary of attributes. The user must name the Xarray DataArray to be **met_data**. When one of the MET tools runs the Python script, it will look for an Xarray DataArray named **met_data**, and will retrieve the data and metadata from the **values** and **attrs** properties, respectively, of the Xarray DataArray. The Xarray DataArray **attrs** dictionary is populated in the same way as for the NumPy interface (please see :ref:`pyembed-2d-data` for requirements of each entry in the **attrs** dictionary). The **values** NumPy ndarray property of the Xarray DataArray is also populated in the same way as the NumPy case. From ee1011993f51ed62a5d7a60a1df16492d3f857db Mon Sep 17 00:00:00 2001 From: Daniel Adriaansen Date: Fri, 7 May 2021 14:16:55 -0600 Subject: [PATCH 32/40] Adds more clarity to NumPy heading. --- met/docs/Users_Guide/appendixF.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/met/docs/Users_Guide/appendixF.rst b/met/docs/Users_Guide/appendixF.rst index 31a3f05d88..2f6d62b6de 100644 --- a/met/docs/Users_Guide/appendixF.rst +++ b/met/docs/Users_Guide/appendixF.rst @@ -50,7 +50,7 @@ ____________________________ We now describe how to write Python scripts so that the MET tools may extract 2D gridded data fields from them. Currently, MET offers two ways to interact with Python scripts: by using NumPy N-dimensional arrays (ndarrays) or by using Xarray DataArrays. The interface to be used (NumPy or Xarray) is specified on the command line (more on this later). The user's scripts can use any Python libraries that are supported by the local Python installation, or any personal or institutional libraries or code that are desired in order to implement the Python script, so long as the data has been loaded into either a NumPy ndarray or an Xarray DataArray by the end of the script. This offers advantages when using data file formats that MET does not directly support. If there is Python code to read the data format, the user can use those tools to read the data, and then copy the data into a NumPy ndarray or an Xarray DataArray. MET can then ingest the data via the Python script. Note that whether a NumPy ndarray or an Xarray DataArray is used, the data should be stored as double precision floating point numbers. Using different data types, such as integers or single precision floating point numbers, will lead to unexpected results in MET. -**Using NumPy** +**Using NumPy N-dimensional Arrays** The data must be loaded into a 2D NumPy ndarray named **met_data**. In addition there must be a Python dictionary named **attrs** which contains metadata such as timestamps, grid projection and other information. Here is an example **attrs** dictionary: From 560995bccee968bb5300293b50b29bbcde7418c5 Mon Sep 17 00:00:00 2001 From: Daniel Adriaansen Date: Fri, 7 May 2021 14:20:10 -0600 Subject: [PATCH 33/40] Adds bold for emphasis. --- met/docs/Users_Guide/appendixF.rst | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/met/docs/Users_Guide/appendixF.rst b/met/docs/Users_Guide/appendixF.rst index 2f6d62b6de..9ea00d32e2 100644 --- a/met/docs/Users_Guide/appendixF.rst +++ b/met/docs/Users_Guide/appendixF.rst @@ -179,11 +179,10 @@ To use Xarray DataArrays, a similar procedure to the NumPy case is followed. The .. note:: Currently, MET does not support Xarray Dataset structures. If you have a Dataset in Xarray, you can create a DataArray of a single variable using:: - met_data = xr.DataArray(ds.varname,attrs=ds.attrs) + **met_data = xr.DataArray(ds.varname,attrs=ds.attrs)** | ds = your Dataset name | varname = variable name in the Dataset you'd like to use in MET - | __________________ From 35bfce73cd9f555b0db85f4595c1728b16fec709 Mon Sep 17 00:00:00 2001 From: Daniel Adriaansen Date: Fri, 7 May 2021 14:25:13 -0600 Subject: [PATCH 34/40] Removes bold in note directive. --- met/docs/Users_Guide/appendixF.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/met/docs/Users_Guide/appendixF.rst b/met/docs/Users_Guide/appendixF.rst index 9ea00d32e2..187d77465d 100644 --- a/met/docs/Users_Guide/appendixF.rst +++ b/met/docs/Users_Guide/appendixF.rst @@ -177,9 +177,9 @@ Additional information about supported grids can be found in :ref:`appendixB`. To use Xarray DataArrays, a similar procedure to the NumPy case is followed. The Xarray DataArray can be represented as a NumPy N-dimensional array (ndarray) via the **values** property of the DataArray, and an **attrs** property that contains a dictionary of attributes. The user must name the Xarray DataArray to be **met_data**. When one of the MET tools runs the Python script, it will look for an Xarray DataArray named **met_data**, and will retrieve the data and metadata from the **values** and **attrs** properties, respectively, of the Xarray DataArray. The Xarray DataArray **attrs** dictionary is populated in the same way as for the NumPy interface (please see :ref:`pyembed-2d-data` for requirements of each entry in the **attrs** dictionary). The **values** NumPy ndarray property of the Xarray DataArray is also populated in the same way as the NumPy case. .. note:: - Currently, MET does not support Xarray Dataset structures. If you have a Dataset in Xarray, you can create a DataArray of a single variable using:: + Currently, MET does not support Xarray Dataset structures. If you have a Dataset in Xarray, you can create a DataArray of a single variable using: - **met_data = xr.DataArray(ds.varname,attrs=ds.attrs)** + met_data = xr.DataArray(ds.varname,attrs=ds.attrs) | ds = your Dataset name | varname = variable name in the Dataset you'd like to use in MET From 50b77c0217a5d9c5e876a28d01b7234662daa295 Mon Sep 17 00:00:00 2001 From: johnhg Date: Fri, 7 May 2021 19:28:04 -0600 Subject: [PATCH 35/40] Feature 1778 debug (#1785) * Per #1778, please see https://github.com/dtcenter/MET/issues/1778#issuecomment-834800531 for details. Basically, when doing development, compile with the -g debug option. Otherwise, remove it by default. * Per #1778, update stale URL's in the README and configure.ac file. Also, change the default MET version from 8.1 to development. --- met/README | 8 ++++---- met/configure.ac | 13 ++++++++----- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/met/README b/met/README index 3b0c6edba8..91965d9cd5 100644 --- a/met/README +++ b/met/README @@ -20,8 +20,8 @@ This is the main directory for the Model Evaluation Tools source code release. ================================================================================ For questions, please: -- Refer to the MET User's Guide in the /doc sub-directory. -- Refer to the MET website: http://www.dtcenter.org/met/users +- Refer to the MET User's Guide: https://met.readthedocs.io/en/latest +- Refer to the MET website: http://dtcenter.org/community-code/model-evaluation-tools-met - Send mail to met_help@ucar.edu. Dependencies @@ -52,7 +52,7 @@ Dependencies - It is suggested that the following tools be used in conjunction with MET: - Unified Post-Processor - - http://www.dtcenter.org/wrf-nmm/users + - http://dtcenter.org/community-code/unified-post-processor-upp NOTE: The required libraries should be compiled with the same set of compilers to be used in compiling MET. @@ -63,7 +63,7 @@ How to compile and run? For more detailed instructions on building MET and for a list of supported platforms and compilers, please refer to the MET User's Guide in the doc/ sub-directory, or the MET Online Tutorial: - http://www.dtcenter.org/met/users/support/online_tutorial + http://dtcenter.org/community-code/model-evaluation-tools-met/online-tutorial - Set the $CXX and $F77 environment variables to specify the C++ and FORTRAN compilers to be used. If not set, configure will search for compilers and the diff --git a/met/configure.ac b/met/configure.ac index 104612c287..dac13bfa64 100644 --- a/met/configure.ac +++ b/met/configure.ac @@ -2,7 +2,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ([2.69]) -AC_INIT([MET], [m4_esyscmd_s(echo ${MET_BUILD_VERSION:-8.1})], [met_help@ucar.edu], [], [http://www.dtcenter.org/met/users]) +AC_INIT([MET], [m4_esyscmd_s(echo ${MET_BUILD_VERSION:-development})], [met_help@ucar.edu], [], [http://dtcenter.org/community-code/model-evaluation-tools-met]) AC_CONFIG_SRCDIR([src/tools/tc_utils/tc_dland/tc_dland.cc]) AC_CONFIG_HEADERS([config.h]) @@ -1041,11 +1041,14 @@ CPPFLAGS=$CPPFLAGS' -DMET_BASE="\"$(pkgdatadir)\""' AC_SUBST(FC_LIBS, [-lgfortran]) -# The CXXFLAGS default to "-O2 -g". The optimization is causing -# problems so just set it to "-g" if the user hasn't overridden it -# themselves. +# For GNU compilers, CFLAGS, CXXFLAGS, and FFLAGS default to "-O2 -g". +# The CXXFLAGS "-O2" optimization has caused problems in the past. +# For Intel compilers, "-g" slows down runtimes considerably (MET #1778). +# For development, retain the "-g" option. Otherwise, discard it. -: ${CXXFLAGS="-g"} +AM_COND_IF([ENABLE_DEVELOPMENT], [: ${CFLAGS="-g -O2"}], [: ${CFLAGS="-O2"}]) +AM_COND_IF([ENABLE_DEVELOPMENT], [: ${CXXFLAGS="-g"} ], [: ${CXXFLAGS=""}] ) +AM_COND_IF([ENABLE_DEVELOPMENT], [: ${FFLAGS="-g -O2"}], [: ${FFLAGS="-O2"}]) # Checks for programs. From d39433e1dbd6067276a8381df04bd56e7fee5173 Mon Sep 17 00:00:00 2001 From: "Julie.Prestopnik" Date: Mon, 10 May 2021 11:58:36 -0600 Subject: [PATCH 36/40] Made suggested changes by Tara Jensen --- met/docs/conf.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/met/docs/conf.py b/met/docs/conf.py index eff4dbae1f..814c69634c 100644 --- a/met/docs/conf.py +++ b/met/docs/conf.py @@ -19,12 +19,12 @@ project = 'MET' author = 'UCAR/NCAR, NOAA, CSU/CIRA, and CU/CIRES' -author_list = 'Bullock, R., Fowler, T., Halley Gotway, J., Newman, K., Jensen, T., Brown, B.' +author_list = 'Halley Gotway, J., K. Newman, H. Soh, J. Opatz, T. Jensen, J. Prestopnik, L. Goodrich, D. Fillmore, B. Brown, R. Bullock, T. Fowler' version = 'develop' verinfo = version release = f'{version}' release_year = '2021' -release_date = f'{release_year}-04-26' +release_date = f'{release_year}-05-10' copyright = f'{release_year}, {author}' # -- General configuration --------------------------------------------------- From 1e50cd2752d2bf6e99ebe7f5a3b211180348bb28 Mon Sep 17 00:00:00 2001 From: John Halley Gotway Date: Mon, 10 May 2021 14:02:11 -0600 Subject: [PATCH 37/40] Update python embedding docs to list required packages for the base python version. --- met/docs/Users_Guide/appendixF.rst | 4 +++- met/docs/Users_Guide/installation.rst | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/met/docs/Users_Guide/appendixF.rst b/met/docs/Users_Guide/appendixF.rst index 187d77465d..aaaa228318 100644 --- a/met/docs/Users_Guide/appendixF.rst +++ b/met/docs/Users_Guide/appendixF.rst @@ -6,13 +6,15 @@ Appendix F Python Embedding Introduction ____________ -MET includes the ability to embed Python to a limited degree. Users may use Python scripts and whatever associated Python packages they wish in order to prepare 2D gridded data fields, point observations, and matched pairs as input to the MET tools. We fully expect that this degree of embedding will increase in the future. In addition, plans are in place to extend Python with MET in upcoming releases, allowing users to invoke MET tools directly from their Python script. While MET version 8.0 was built on Python 2.x, MET version 9.0 is built on Python 3.6+. +MET includes the ability to embed Python to a limited degree. Users may use Python scripts and whatever associated Python packages they wish in order to prepare 2D gridded data fields, point observations, and matched pairs as input to the MET tools. We fully expect that this degree of embedding will increase in the future. In addition, plans are in place to extend Python with MET in upcoming releases, allowing users to invoke MET tools directly from their Python script. While MET version 8.0 was built on Python 2.x, MET versions 9.0 and beyond are built on Python 3.6+. Compiling Python Support ________________________ In order to use Python embedding, the user's local Python installation must have the C-language Python header files and libraries. Sometimes when Python is installed locally, these header files and libraries are deleted at the end of the installation process, leaving only the binary executable and run-time shared object files. But the Python header files and libraries must be present to compile support in MET for Python embedding. Assuming the requisite Python files are present, and that Python embedding is enabled when building MET (which is done by passing the **--enable-python** option to the **configure** command line), the MET C++ code will use these in the compilation process to link directly to the Python libraries. +The local Python installation must also support a minimum set of required packages. The MET build includes some python wrapper scripts to facilitate the passing of data in memory as well as the reading and writing of temporary files. The packages required by those wrapper scripts are **sys, os, argparse, importlib, numpy and netCDF4**. While most of these are standard packages and readily available, numpy and netCDF4 may not be. Users are advised to confirm their availability prior to compiling MET with python embedding support. + In addition to the **configure** option mentioned above, two variables, **MET_PYTHON_CC** and **MET_PYTHON_LD**, must also be set for the configuration process. These may either be set as environment variables or as command line options to **configure**. These constants are passed as compiler command line options when building MET to enable the compiler to find the requisite Python header files and libraries in the user's local filesystem. Fortunately, Python provides a way to set these variables properly. This frees the user from the necessity of having any expert knowledge of the compiling and linking process. Along with the **Python** executable, there should be another executable called **python3-config**, whose output can be used to set these environment variables as follows: • On the command line, run “**python3-config --cflags**”. Set the value of **MET_PYTHON_CC** to the output of that command. diff --git a/met/docs/Users_Guide/installation.rst b/met/docs/Users_Guide/installation.rst index 013cd4d384..ec53e46232 100644 --- a/met/docs/Users_Guide/installation.rst +++ b/met/docs/Users_Guide/installation.rst @@ -177,7 +177,7 @@ The following environment variables should also be set: MET_PYTHON_CC='-I/usr/include/python3.6' MET_PYTHON_LD='-L/usr/lib/python3.6/config-x86_64-linux-gnu -lpython3.6m' - For more information about Python support in MET, please refer to :numref:`Appendix F, Section %s `. + Note that this version of Python must include support for a minimum set of required pacakges. For more information about Python support in MET, including the list of required packages, please refer to :numref:`Appendix F, Section %s `. * If compiling MODIS-Regrid and/or lidar2nc, set $MET_HDF to point to the main HDF4 directory, or set $MET_HDFINC to point to the directory with the HDF4 include files and set $MET_HDFLIB to point to the directory with the HDF4 library files. Also, set $MET_HDFEOS to point to the main HDF EOS directory, or set $MET_HDFEOSINC to point to the directory with the HDF EOS include files and set $MET_HDFEOSLIB to point to the directory with the HDF EOS library files. From 3b7b7fef38f1e792e3387fdc9a6d5405969ab174 Mon Sep 17 00:00:00 2001 From: johnhg Date: Mon, 10 May 2021 15:37:25 -0600 Subject: [PATCH 38/40] Feature 1786 v10.0.0 (#1787) * Per #1786, updates for the v10.0.0 release. Note that no changes were needed in conf.py. It had already been updated. * Added update MET to compile using GNU version 10 compilers and PGI version 20 compilers * Made updates to improve compilation * Per #1768, added a couple more 10.0.0 release notes. * Adding pgi config file from cheyenne Co-authored-by: Julie.Prestopnik --- met/docs/Users_Guide/release-notes.rst | 15 ++++++++-- scripts/installation/compile_MET_all.sh | 27 +++++++++-------- .../config/install_met_env.cheyenne_pgi | 29 +++++++++++++++++++ 3 files changed, 57 insertions(+), 14 deletions(-) create mode 100644 scripts/installation/config/install_met_env.cheyenne_pgi diff --git a/met/docs/Users_Guide/release-notes.rst b/met/docs/Users_Guide/release-notes.rst index 536170ede6..70d1a1a028 100644 --- a/met/docs/Users_Guide/release-notes.rst +++ b/met/docs/Users_Guide/release-notes.rst @@ -20,11 +20,16 @@ MET Version |version| release notes (|release_date|) * Run the nightly build as the shared met_test user (`#1116 `_). * Correct the time offset for tests in unit_plot_data_plane.xml (`#1677 `_). * Enhance the sample plotting R-script to read output from different versions of MET (`#1653 `_). - + * Update the default configuration options to compile the development code with the debug (-g) option and the production code without it (`#1788 `_). + * Update MET to compile using GCC version 10 (`#1552 https://github.com/dtcenter/MET/issues/1552`_). + * Update MET to compile using PGI version 20 (`#1317 https://github.com/dtcenter/MET/issues/1317`_). + * Documentation: * **Migrate the MET documentation to Read the Docs** (`#1649 `_). - * Enhance and update documentation (`#1459 `_ and `#1460 `_). + * Enhance and update documentation (`#1459 `_ and `#1460 `_, and `#1731 `_). + * Enhance the python embedding documentation (`#1468 `_). + * Document the supported grid definition templates (`#1469 `_). * Update comments at the top of each MET config file directing users to the MET User's Guide (`#1598 `_). * Migrate content from README and README_TC in data/config to the MET User's Guide (`#1474 `_). * Add version selector to the Sphinx documentation page (`#1461 `_). @@ -46,6 +51,7 @@ MET Version |version| release notes (|release_date|) * Python embedding enhancements: + * Note that the netCDF4 Python package is now required in place of the pickle package! * **Replace the pickle format for temporary python files with NetCDF for gridded data** (`#1319 `_, `#1697 `_). * **Replace the pickle format for temporary python files with ASCII for point observations in ascii2nc and matched pair data in Stat-Analysis** (`#1319 `_, `#1700 `_). * **Complete support for Python XArray embedding** (`#1534 `_). @@ -108,6 +114,10 @@ MET Version |version| release notes (|release_date|) * Improve the point2grid runtime performance (`#1421 `_). * Process point observations by variable name instead of GRIB code (`#1408 `_). + * GIS Tools: + + * Fix memory corruption bug in the gis_dump_dbf utility which causes it to abort at runtime (`#1777 `_). + * Plot-Point-Obs Tool: * **Overhaul Plot-Point-Obs to make it highly configurable** (`#213 `_, `#1528 `_, and `#1052 `_). @@ -120,6 +130,7 @@ MET Version |version| release notes (|release_date|) * **Add detailed log messages when discarding observations** (`#1588 `_). * Update log messages (`#1514 `_). * Enhance the validation of masking regions to check for non-unique masking region names (`#1439 `_). + * Fix Point-Stat runtime error for some CF-complaint NetCDF files (`#1782 `_). * Grid-Stat Tool: diff --git a/scripts/installation/compile_MET_all.sh b/scripts/installation/compile_MET_all.sh index 0d11f4f8fd..3357e80b73 100755 --- a/scripts/installation/compile_MET_all.sh +++ b/scripts/installation/compile_MET_all.sh @@ -64,11 +64,11 @@ if [ ! -e $TAR_DIR ]; then fi # Update library linker path -export LD_LIBRARY_PATH=${TEST_BASE}/external_libs/lib:${MET_PYTHON}/lib:${MET_NETCDF}/lib:${MET_HDF5}/lib:${MET_BUFRLIB}:${MET_GRIB2CLIB}:${LIB_JASPER}:${LIB_LIBPNG}:${LIB_Z}:${LD_LIBRARY_PATH} +export LD_LIBRARY_PATH=${TEST_BASE}/external_libs/lib${MET_PYTHON:+:$MET_PYTHON/lib}${MET_NETCDF:+:$MET_NETCDF/lib}${MET_HDF5:+:$MET_HDF5/lib}${MET_BUFRLIB:+:$MET_BUFRLIB}${MET_GRIB2CLIB:+:$MET_GRIB2CLIB}${LIB_JASPER:+$LIB_JASPER}${LIB_LIBPNG:+:$LIB_JASPER}${LIB_Z:+$LIB_Z}:${LD_LIBRARY_PATH} echo "LD_LIBRARY_PATH = ${LD_LIBRARY_PATH}" # Constants -if [[ -z ${MET_GRIB2CLIB} && -z ${MET_GRIB2CINC} ]]; then +if [[ -z ${MET_GRIB2CLIB} ]] && [[ -z ${MET_GRIB2C} ]]; then COMPILE_ZLIB=1 COMPILE_LIBPNG=1 COMPILE_JASPER=1 @@ -185,7 +185,7 @@ elif [ ${COMPILER_FAMILY} = "pgi" ]; then export F77=${F90} export FC=${F90} fi -elif [[ ${COMPILER_FAMILY} == "intel" ]] || [[ ${COMPILER_FAMILY} == "ics" ]] || [[ ${COMPILER_FAMILY} == "ips" ]] || [[ ${COMPILER_FAMILY} == "PrgEnv-intel" ]]; then +elif [[ ${COMPILER_FAMILY} == "intel" ]] || [[ ${COMPILER_FAMILY} == "ics" ]] || [[ ${COMPILER_FAMILY} == "ips" ]] || [[ ${COMPILER_FAMILY} == "PrgEnv-intel" ]]; then if [ -z ${CC} ]; then export CC=`which icc` else @@ -353,8 +353,8 @@ if [[ $COMPILE_LIBPNG -eq 1 && $HOST != ys* ]]; then tar -xzf ${TAR_DIR}/libpng*.tar.gz cd libpng* echo "cd `pwd`" - echo "./configure --prefix=${LIB_DIR} LDFLAGS=-L/${LIB_DIR}/lib CPPFLAGS=-I/${LIB_DIR}/include > configure.log 2>&1" - ./configure --prefix=${LIB_DIR} LDFLAGS=-L/${LIB_DIR}/lib CPPFLAGS=-I/${LIB_DIR}/include > configure.log 2>&1 + echo "./configure --prefix=${LIB_DIR} LDFLAGS=-L${LIB_DIR}/lib CPPFLAGS=-I${LIB_DIR}/include > configure.log 2>&1" + ./configure --prefix=${LIB_DIR} LDFLAGS=-L${LIB_DIR}/lib CPPFLAGS=-I${LIB_DIR}/include > configure.log 2>&1 ret=$? if [ $ret != 0 ]; then echo "configure returned with non-zero ($ret) status" @@ -530,8 +530,8 @@ if [ $COMPILE_NETCDF -eq 1 ]; then tar -xzf ${TAR_DIR}/hdf5*.tar.gz cd hdf5* echo "cd `pwd`" - echo "./configure --prefix=${LIB_DIR} --with-zlib=${LIB_DIR}/lib CFLAGS=-fPIC CXXFLAGS=-fPIC LDFLAGS=-L${LIB_DIR}/lib CPPFLAGS=-I${LIB_DIR}/include > configure.log 2>&1" - ./configure --prefix=${LIB_DIR} --with-zlib=${LIB_Z} CFLAGS=-fPIC CXXFLAGS=-fPIC LDFLAGS=-L${LIB_DIR}/lib:{LIB_Z} CPPFLAGS=-I${LIB_DIR}/include > configure.log 2>&1 + echo "./configure --prefix=${LIB_DIR} --with-zlib=${LIB_DIR}/lib CFLAGS=-fPIC CXXFLAGS=-fPIC FFLAGS=-fPIC LDFLAGS=-L${LIB_DIR}/lib CPPFLAGS=-I${LIB_DIR}/include > configure.log 2>&1" + ./configure --prefix=${LIB_DIR} --with-zlib=${LIB_Z} CFLAGS=-fPIC CXXFLAGS=-fPIC FFLAGS=-fPIC LDFLAGS=-L${LIB_DIR}/lib:${LIB_Z} CPPFLAGS=-I${LIB_DIR}/include > configure.log 2>&1 ret=$? if [ $ret != 0 ]; then echo "configure returned with non-zero ($ret) status" @@ -674,8 +674,8 @@ if [ $COMPILE_CAIRO -eq 1 ]; then export PKG_CONFIG_PATH=${LIB_DIR}/lib/pkgconfig/ fi echo "cd `pwd`" - echo "./configure --prefix=${LIB_DIR} ax_cv_c_float_words_bigendian=no LDFLAGS=-L/${LIB_DIR}/lib CPPFLAGS=-I/${LIB_DIR}/include > configure.log 2>&1" - ./configure --prefix=${LIB_DIR} ax_cv_c_float_words_bigendian=no LDFLAGS=-L/${LIB_DIR}/lib CPPFLAGS=-I/${LIB_DIR}/include > configure.log 2>&1 + echo "./configure --prefix=${LIB_DIR} ax_cv_c_float_words_bigendian=no LDFLAGS=-L${LIB_DIR}/lib CPPFLAGS=-I${LIB_DIR}/include > configure.log 2>&1" + ./configure --prefix=${LIB_DIR} ax_cv_c_float_words_bigendian=no LDFLAGS=-L${LIB_DIR}/lib CPPFLAGS=-I${LIB_DIR}/include > configure.log 2>&1 ret=$? if [ $ret != 0 ]; then echo "configure returned with non-zero ($ret) status" @@ -748,9 +748,12 @@ if [ $COMPILE_MET -eq 1 ]; then export MET_PYTHON_LD=${MET_PYTHON_LD} export MET_PYTHON_CC=${MET_PYTHON_CC} export LDFLAGS="-Wl,--disable-new-dtags" - export LDFLAGS="${LDFLAGS} -Wl,-rpath,${LIB_DIR}/lib:${MET_NETCDF}/lib:${MET_HDF5}/lib:${MET_BUFRLIB}:${MET_GRIB2CLIB}:${MET_PYTHON}/lib:${MET_GSL}/lib" - export LDFLAGS="${LDFLAGS} -Wl,-rpath,${LIB_JASPER}:${LIB_LIBPNG}:${LIB_Z}" - export LDFLAGS="${LDFLAGS} -L${LIB_JASPER} -L${LIB_LIBPNG} -L${MET_HDF5}/lib" + # https://www.gnu.org/software/bash/manual/html_node/Shell-Parameter-Expansion.html + # ${parameter:+word} + # If parameter is null or unset, nothing is substituted, otherwise the expansion of word is substituted. + export LDFLAGS="${LDFLAGS} -Wl,-rpath,${LIB_DIR}/lib${MET_NETCDF:+:$MET_NETCDF/lib}${MET_HDF5:+:$MET_HDF5/lib}${MET_BUFRLIB:+:$MET_BUFRLIB}${MET_GRIB2CLIB:+:$MET_GRIB2CLIB}${MET_PYTHON:+:$MET_PYTHON/lib}${MET_GSL:+$MET_GSL/lib}" + export LDFLAGS="${LDFLAGS} -Wl,-rpath,${LIB_JASPER:+$LIB_JASPER}${LIB_LIBPNG:+:$LIB_JASPER}${LIB_Z:+$LIB_Z}" + export LDFLAGS="${LDFLAGS} ${LIB_JASPER:+-L$LIB_JASPER} ${LIB_LIBPNG:+-L$LIB_LIBPNG} ${MET_HDF5:+-L$MET_HDF5/lib}" export LIBS="${LIBS} -lhdf5_hl -lhdf5 -lz" export MET_FONT_DIR=${TEST_BASE}/fonts diff --git a/scripts/installation/config/install_met_env.cheyenne_pgi b/scripts/installation/config/install_met_env.cheyenne_pgi new file mode 100644 index 0000000000..635f93e8f3 --- /dev/null +++ b/scripts/installation/config/install_met_env.cheyenne_pgi @@ -0,0 +1,29 @@ +module load ncarenv/1.3 +module load pgi/20.4 +module load python/3.7.9 +ncar_pylib + +export TEST_BASE=/glade/p/ral/jntp/MET/MET_cross_platform_testing/met-10.0.0-beta4/pgi +export COMPILER=pgi_20.4 +export MET_SUBDIR=${TEST_BASE} +export MET_TARBALL=met-10.0.0-beta4.20210302.tar.gz +export USE_MODULES=TRUE +export MET_PYTHON=/glade/u/apps/ch/opt/python/3.7.9/gnu/9.1.0 +export MET_PYTHON_CC=-I${MET_PYTHON}/include/python3.7m +export MET_PYTHON_LD=-L${MET_PYTHON}/lib\ -lpython3.7m\ -lcrypt\ -lpthread\ -ldl\ -lutil\ -lm +export EXTERNAL_LIBS=/glade/p/ral/jntp/MET/MET_cross_platform_testing/met-10.0.0-beta4/pgi/external_libs/ +export MET_NETCDF=${EXTERNAL_LIBS} +export MET_GSL=${EXTERNAL_LIBS} +export MET_BUFRLIB=${EXTERNAL_LIBS} +export BUFRLIB_NAME=-lbufr +export MET_HDF5=${EXTERNAL_LIBS} +export MET_GRIB2CLIB=${EXTERNAL_LIBS}/lib +export MET_GRIB2CINC=${EXTERNAL_LIBS}/include +export GRIB2CLIB_NAME=-lgrib2c +export LIB_JASPER=${EXTERNAL_LIBS}/lib +export LIB_LIBPNG=${EXTERNAL_LIBS}/lib +export LIB_Z=${EXTERNAL_LIBS}/lib +export SET_D64BIT=FALSE +export CFLAGS="-Wall -g" +export CXXFLAGS="-Wall -g -lcurl" + From 7283fb37991e28cada1935821a8eb722342f86a0 Mon Sep 17 00:00:00 2001 From: johnhg Date: Wed, 12 May 2021 11:28:23 -0600 Subject: [PATCH 39/40] Per #1789, remove duplicate plot_point_obs configuration section. (#1791) --- met/docs/Users_Guide/plotting.rst | 125 ------------------------------ 1 file changed, 125 deletions(-) diff --git a/met/docs/Users_Guide/plotting.rst b/met/docs/Users_Guide/plotting.rst index 31f915068f..04e9ee629a 100644 --- a/met/docs/Users_Guide/plotting.rst +++ b/met/docs/Users_Guide/plotting.rst @@ -201,131 +201,6 @@ Users are encouraged to define as many **point_data** array entries as needed to For each observation, this tool stores the observation latitude, longitude, and value. However, unless the **dotsize(x)** function is not constant or the **fill_plot_info.flag** entry is set to true, the observation value is simply set to a flag value. For each **plot_data** array entry, the tool stores and plots only the unique combination of observation latitude, longitude, and value. Therefore multiple obsevations at the same location will typically be plotted as a single circle. -plot_point_obs configuration file -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The default configuration file for the Plot-Point-Obs tool named **PlotPointObsConfig_default** can be found in the installed *share/met/config* directory. The contents of the configuration file are described in the subsections below. - -Note that environment variables may be used when editing configuration files, as described in :numref:`pb2nc configuration file` for the PB2NC tool. - -______________________ - -.. code-block:: none - - grid_data = { - - field = []; - - grid_plot_info = { - color_table = "MET_BASE/colortables/met_default.ctable"; - plot_min = 0.0; - plot_max = 0.0; - colorbar_flag = TRUE; - } - } - -The **grid_data** dictionary defines a gridded field of data to be plotted as a base image prior to plotting point locations on top of it. The data to be plotted is specified by the **field** array. If **field** is empty, no base image will be plotted. If **field** has length one, the requested data will be read from the input file specified by the **-plot_grid** command line argument. - -The **grid_plot_info** dictionary inside **grid_data** specifies the options for for plotting the gridded data. The options within **grid_plot_info** are described in :numref:`config_options`. - -______________________ - -.. code-block:: none - - point_data = [ - { fill_color = [ 255, 0, 0 ]; } - ]; - -The **point_data** entry is an array of dictionaries. Each dictionary may include a list of filtering, data processing, and plotting options, described below. For each input point observation, the tool checks the **point_data** filtering options in the order specified. The point information is added to the first matching array entry. The default entry simply specifies that all points be plotted red. - -______________________ - -.. code-block:: none - - msg_typ = []; - sid_inc = []; - sid_exc = []; - obs_var = []; - obs_quality = []; - -The options listed above define filtering criteria for the input point observation strings. If empty, no filtering logic is applied. If a comma-separated list of strings is provided, only those observations meeting all of the criteria are included. The **msg_typ** entry specifies the message type. The **sid_inc** and **sid_exc** entries explicitly specify station id's to be included or excluded. The **obs_var** entry specifies the observation variable names, and **obs_quality** specifies quality control strings. - -______________________ - -.. code-block:: none - - obs_gc = []; - -When using older point observation files which have GRIB codes, the **obs_gc** entry specifies a list of integer GRIB codes to be included. - -______________________ - -.. code-block:: none - - valid_beg = ""; - valid_end = ""; - -The **valid_beg** and **valid_end** options are time strings which specify a range of dates to be included. When left to their default empty strings no time filtering is applied. - -______________________ - -.. code-block:: none - - lat_thresh = NA; - lon_thresh = NA; - elv_thresh = NA; - hgt_thresh = NA; - prs_thresh = NA; - obs_thresh = NA; - -The options listed above define filtering thresholds for the input point observation values. The default NA thresholds always evaluate to true and therefore apply no filtering. The **lat_thresh** and **lon_thresh** thresholds filter the latitude and longitude of the point observations, respectively. The **elv_thresh** threshold filters by the station elevation. The **hgt_thresh** and **prs_thresh** thresholds filter by the observation height and pressure level. The **obs_thresh** threshold filters by the observation value. - -______________________ - -.. code-block:: none - - convert(x) = x; - censor_thresh = []; - censor_val = []; - -The **convert(x)** function, **censor_thresh** option, and **censor_val** option may be specified separately for each **point_data** array entry to transform the observation values prior to plotting. These options are further described in :numref:`config_options`. - -______________________ - -.. code-block:: none - - dotsize(x) = 10; - -The **dotsize(x)** function defines the size of the circle to be plotted as a function of the observation value. The default setting shown above defines the dot size as a constant value. - -______________________ - -.. code-block:: none - - line_color = []; - line_width = 1; - -The **line_color** and **line_width** entries define the color and thickness of the outline for each circle plotted. When **line_color** is left as an empty array, no outline is drawn. Otherwise, **line_color** should be specified using 3 intergers between 0 and 255 to define the red, green, and blue components of the color. - -______________________ - -.. code-block:: none - - fill_color = []; - fill_plot_info = { // Overrides fill_color - flag = FALSE; - color_table = "MET_BASE/colortables/met_default.ctable"; - plot_min = 0.0; - plot_max = 0.0; - colorbar_flag = TRUE; - } - -The circles are filled in based on the setting of the **fill_color** and **fill_plot_info** entries. As described above for **line_color**, if **fill_color** is empty, the points are not filled in. Otherwise, **fill_color** must be specified using 3 integers between 0 and 255. If **fill_plot_info.flag** is set to true, then its settings override **fill_color**. The **fill_plot_info** dictionary defines a colortable which is used to determine the color to be used based on the observation value. - -Users are encouraged to define as many **point_data** array entries as needed to filter and plot the input observations in the way they would like. Each point observation is plotted using the options specified in the first matching array entry. Note that the filtering, processing, and plotting options specified inside each **point_data** array entry take precedence over ones specified at the higher level of configuration file context. - -For each observation, this tool stores the observation latitude, longitude, and value. However, unless the **dotsize(x)** function is not constant or the **fill_plot_info.flag** entry is set to true, the observation value is simply set to a flag value. For each **plot_data** array entry, the tool stores and plots only the unique combination of observation latitude, longitude, and value. Therefore multiple obsevations at the same location will typically be plotted as a single circle. - .. _plot_data_plane-usage: plot_data_plane usage From a0dcfd9e806436b15fd9003ff3afcdc6de69eac1 Mon Sep 17 00:00:00 2001 From: MET Tools Test Account Date: Fri, 14 May 2021 10:49:42 -0600 Subject: [PATCH 40/40] Update the version of Fortify on kiowa from 19.2.0 to 20.2.1. --- scripts/environment/development.kiowa | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/environment/development.kiowa b/scripts/environment/development.kiowa index a9192bbe74..00659dd3d4 100644 --- a/scripts/environment/development.kiowa +++ b/scripts/environment/development.kiowa @@ -42,4 +42,4 @@ export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:\ /usr/bin/X11:/opt/bin:${MET_NETCDF}/bin" # Fortify bin directory -export FORTIFY_BIN=/d1/projects/Fortify/19.2.0/Fortify_SCA_and_Apps_19.2.0/bin +export FORTIFY_BIN=/d1/projects/Fortify/20.2.1/Fortify_SCA_and_Apps_20.2.1/bin