A significant number of implicit conversions are interfering with optimisation of this query. Here's a few recommendations to start with:
Cast @YearFrom and @YearTo to same datatype as BRFCLSeaWeekHis.Year
Cast @QuoteType to same datatype as BRFCLSeaWeekHis.QuoteType
Temp table #TradeLanes: cast PortFrom and PortTo to same datatype as BRFCLSeaWeekHis.PortFrom and BRFCLSeaWeekHis.PortTo
Temp table #Incoterms: cast Code to same datatype as BRFCLSeaWeekHis.IncotermCode
Get these done, run the query again and post the execution plan.
For fast, accurate and documented assistance in answering your questions, please read this article.
Understanding and using APPLY, (I) and (II) Paul White
Hidden RBAR: Triangular Joins / The "Numbers" or "Tally" Table: What it is and how it replaces a loop Jeff Moden