tcrm
tcrm copied to clipboard
Blotchy return period wind hazard maps
Hi - like another poster I am looking at Atlantic wind hazard - I've started running the tool (I've included the .ini file below) but I'm finding the return period maps are quite "blotchy" and - as suggested in another "issue" - the hazard is pretty low, however I don't get the smoothness of output that the other person is getting.
Is anyone able to offer any advice as to why this is so "blotchy"? My only guess is that it's a function of running only 1000 years of simulation: however in those 1000 years I would hope that I'm still seeing a return period well above 30 m/s in most places for the 50-year wind hazard. Thanks in advance for any help here.
[Actions] ; TCRM modules to execute DataProcess=True ExecuteStat=True ExecuteTrackGenerator=True ExecuteWindfield=True ExecuteHazard=True CreateDatabase=True PlotHazard=True
PlotData=False
ExecuteEvaluate=False DownloadData=False
[DataProcess] InputFile=ibtracs.NA.list.v04r00.csv Source=IBTRACS StartSeason=1970 FilterSeasons=True
[Region] ; Domain for windfield and hazard calculation gridLimit={'xMin':275.0,'xMax':285.0,'yMin':24.0,'yMax':34.0} gridSpace={'x':1.0,'y':1.0} gridInc={'x':1.0,'y':0.5} LocalityID=250913860 LocalityName=Florida, USA
[StatInterface] kdeType=gau kde2DType=Gaussian kdeStep=0.2
[TrackGenerator] NumSimulations=1000 YearsPerSimulation=1 SeasonSeed=403943 TrackSeed=89333
[WindfieldInterface] ;TrackPath=./output/florida6/tracks Margin=5.0 Resolution=0.02 Source=TCRM profileType=holland windFieldType=kepert
[Hazard] ; Years to calculate return period wind speeds InputPath=./output/florida6/windfield ;Resolution=0.05 Years=2,5,10,50 MinimumRecords=10 CalculateCI=False
[Input] #LocationFile = input/USZipShapefile.shp LocationFile = input/stationlist.shp landmask = input/landmask.nc mslpfile = MSLP/slp.day.ltm.nc datasets = IBTRACS,LTMSLP MSLPGrid=1,2,3,4,12
[Output] Path=./output/florida6
[Logging] LogFile=./output/florida6/log/florida6.log LogLevel=INFO Verbose=False
[Process] ExcludePastProcessed=True DatFile=./output/florida6/process/dat/florida6.dat
[RMW] GetRMWDistFromInputData=False mean=50.0 sigma=0.6
[TCRM] ; Output track files settings Columns=index,age,lon,lat,speed,bearing,pressure,penv,rmax FieldDelimiter=, NumberOfHeadingLines=1 SpeedUnits=kph PressureUnits=hPa
[IBTRACS] ; Input data file settings ; url = ftp://eclipse.ncdc.noaa.gov/pub/ibtracs/v03r10/wmo/csv/Allstorms.ibtracs_wmo.v03r10.csv.gz ;url = https://www.ncei.noaa.gov/data/international-best-track-archive-for-climate-stewardship-ibtracs/v04r00/access/csv/ibtracs.ALL.list.v04r00.csv path = input filename = ibtracs.NA.list.v04r00.csv columns = tcserialno,season,num,skip,skip,skip,date,skip,lat,lon,skip,pressure fielddelimiter = , numberofheadinglines = 2 pressureunits = hPa lengthunits = km dateformat = %Y-%m-%d %H:%M:%S speedunits = mph
[LTMSLP] ; MSLP climatology file settings URL = ftp://ftp.cdc.noaa.gov/Datasets/ncep.reanalysis.derived/surface/slp.day.1981-2010.ltm.nc path = MSLP filename = slp.day.ltm.nc
There is a 1 degree smoothing filter applied to the data before plotting (the underlying data in the hazard/hazard.nc
file is unchanged). The smoothing filter propagates missing values. In the case of the example simulations, the likelihood of a grid point not recording a wind speed is moderate, leading to the blotchiness. We've implemented the filter to avoid
Solutions include increasing the Margin
setting and increasing the number of simulations NumSimulations
. Alternatively, you can comment out the firt three lines in the HazardMap.plot
method in PlotInterface/maps.py
class HazardMap(FilledContourMapFigure):
"""
A map for presenting return level data.
"""
def plot(self, data, xgrid, ygrid, title, lvls, cbarlab, map_kwargs):
#dx = np.mean(np.diff(xgrid))
#dmask = data.mask
#data = ma.array(data, mask=dmask)
self.add(data, xgrid, ygrid, title, lvls, cbarlab, map_kwargs)
self.cmap = sns.light_palette("orange", as_cmap=True)
super(HazardMap, self).plot()