#################################################################
This is a README file for the gettrk update given to Zhan on 
March 16, 2017.

- Written by Tim Marchok
#################################################################

-----------------------------------------------
1. What's included in the directories on Luna?
-----------------------------------------------

  a. Location of new source and WCOSS-Cray makefile:
     Luna: /gpfs/hps/emc/hwrf/noscrub/Timothy.Marchok/save/trak/para/for_zhan_20170316/sorc/

  b. Location of new input namelist file:
     Luna: /gpfs/hps/emc/hwrf/noscrub/Timothy.Marchok/save/trak/para/for_zhan_20170316/namelist_examples
     Note that in this directory are two input namelist files.  The first one, 
     input.hw01.2016082712, is what you would use for your current, operational 
     version of hwrf_unified_tracker.  The second one, input.hw02.2016082712, is
     an example of what you will need to use with the new tracker.

  c. Location of verification output files for HWRF FY17 testing:
     Luna: /gpfs/hps/emc/hwrf/noscrub/Timothy.Marchok/save/trak/para/for_zhan_20170316/verif
     Verifications are included for track (tcard*out) and intensity (icard*out) 
     for all non-invest cases that Bin Liu had on HPSS in his H217B and C217B 
     directories on HPSS.  If your version of the model changed in between 
     H217B and C217B, it makes no difference for these results, as we are only
     concerned about analyzing differences among different versions of the 
     tracker within the same cases.  Note that "HW01" is current version of the
     hwrf_unified_tracker that I pulled out of the /nwprod directory on 
     WCOSS/Cray, and "HW02" is the new version of the tracker with all new 
     variables included.

  d. Location of this README file:
     Luna: /gpfs/hps/emc/hwrf/noscrub/Timothy.Marchok/save/trak/para/for_zhan_20170316/README.20170316

-----------------------------------------------
2. Major changes in new (20170316) tracker
-----------------------------------------------

  a. Replaced the routine which tracks the wind minimum at the center of 
     a storm, as that routine proved troublesome with very hi-res grids 
     (0.02-deg) from HWRF for very small storms.  This has been replaced 
     with a routine that looks for "wind circulation difference", 
     whereby the center for this parm is located at the spot where the 
     tangential wind circulation minus the wind magnitude at the 
     candidate center position is maximized.  

  b. Added the ability to read in NetCDF files.  As with GRIB1 or GRIB2
     data, the NetCDF data must be on a lat/lon grid.

  c. Added the tracking of thickness (200-850 mb and 500-850 mb) as 
     additional tracked parms.

  d. Added backup (secondary) checks for mslp gradient and v850 wind
     thresholds.  If a fix can't be made for either mslp or v850 wind
     circulation, then these checks aren't performed... but they are 
     really needed for tracking continuity decisions.  So we've changed
     this so that the checks are still done, but centered around the 
     mean fixlat and fixlon positions.

  e. The user can much more easily decide which parameters to track,
     as there are now flags for these which are individually set in 
     the input namelist file.  Note also that for models which 
     output both PRMSL and MSLET (2 different mslp variables, 
     differing by sea-level reduction methods), the user can also 
     specify in the namelist which one to use.

  f. The tcvitals file is no longer soft-linked.  It *MUST* be 
     either renamed to a file called, specifically, 
     "tcvit_rsmc_storms.txt" (or you can link your tcvitals file
     to that specific name).  This was done to avoid some unit
     number conflicts and also to ensure more continuous running 
     of the tracker in genesis cases.  Similarly, the genesis
     vitals file is no longer just soft-linked... it must be 
     renamed to a file called "tcvit_genesis_storms.txt".  

  g. Beta: For genesis cases, we've added in an option (declared
     in the input namelist file) whereby the user can indicate 
     whether or not to use a land-sea mask so that a new low for
     tcgen cases cannot be identified over land.  Obviously, to 
     use this, the input data file must have a land-sea mask that
     is on the same grid as the other input data variables.

-----------------------------------------------
3. Minor changes in new (20170316) tracker
-----------------------------------------------

  a. A check is done for the mslp values to determine their scale.
     Most operational centers use Pa, however the NetCDF files from
     FV3 use hPa, and if that different scale is not accounted for,
     it makes the closed-contour check fail and also messes up the
     output of mslp in the atcf file.

  b. A change was made to fix a hole in the logic for genesis runs.
     Previously, if a fix was not made for mslp, then the isastorm(1) 
     flag would not be 'Y', and so the call to check_closed_contour in
     the following IF statement would not be made, and that would 
     prevent the search mask from getting updated for this particular 
     storm, allowing the same storm to be detected when the scan for new
     storms takes place at this lead time (i.e., after all previously-
     known storms from the last lead time have been tracked).  As a fix, 
     if that isastorm(1) flag is not 'Y', then we call a new subroutine 
     (mask_based_on_wind_circ) which updates the mask based on the 
     circulation at 850 mb.

  c. Changed the algorithms that compute various near-surface wind 
     diagnostics such that they are not computed just along 45-degree
     azimuths, but rather are computed using quadrant average winds.
     NOTE: This has nothing to do with the standard diagnostics for
     computing 34-, 50- and 64-kt wind radii... instead, it refers to
     the computation of other wind diagnostics.

  d. Added a routine, advect_tcvitals_from_hour0, that will 
     calculate a guess position for the next time for the case of 
     NetCDF in which the hour0 data are not included (this is 
     currently the case with FV3 NetCDF data).  This allows us to 
     effectively start tracking at the first forecast hour, in the
     absence of hour0 data.

  e. Cleaned up the allocation and deallocation of various 
     allocatable arrays so that none are left allocated when they
     shouldn't be.

  f. The center fixes for v850, v700 and vsfc are now used in 
     computing the standard deviation of the center positions, since
     we are using wind circulation.  Previously they were not since
     the old version just used the minimum in the wind speed, where
     the search was confined to a very short radius surrounding the 
     guess position.

-----------------------------------------------
4. Input changes needed for new (20170316) tracker
-----------------------------------------------

  a. 200 mb GP Height needs to be added to the list of variables 
     included in the hwrftrk files.

  b. The cut-out domain for the hwrftrk files needs to be expanded
     from 20x20 to 25x25 degrees to take advantage of the recent 
     updates to the wind radii determination routines.

  c. The input namelist file for gettrk has been updated.  Please see
     1(b) above regarding the differences in the new input namelist 
     files.
