AIVDM.adoc 279 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486
  1. = AIVDM/AIVDO protocol decoding =
  2. :description: The AIVDM Marine AIS protocol demystified, for programmers.
  3. :keywords: AIS, AIVDM, AIVDO, standard, protocol, Automatic Identification System
  4. Eric S. Raymond <esr@thyrsus.com>
  5. v1.54, Nov 2019
  6. This document is mastered in asciidoc format. If you are reading it in HTML,
  7. you can find the original at the GPSD project website
  8. // If you are reading the asciidoc master of this document, the
  9. // occasional comments led with '//!' are hints for GPSD developer tools
  10. // that use the table layouts to generate code.
  11. If you find this document useful - and especially if it helps you make
  12. money - please contribute to maintaining it by supporting the author's
  13. full-time open-source work through <<PATREON>>. Even a few dollars a
  14. week can make a difference.
  15. == Introduction ==
  16. This is a description of how to decode AIVDM/AIVDO sentences. It
  17. collects and integrates information from publicly available sources
  18. and is intended to assist developers of open-source software for
  19. interpreting these messages.
  20. AIVDM/AIVDO sentences are emitted by receivers for AIS, the marine
  21. Automatic Identification System. AIS transmitters are fitted to
  22. vessels, navigation markers, and certain types of shore station. They
  23. periodically squawk their position (and course, when applicable), using
  24. TDMA (Time Division Multiple Access) technology similar to the way
  25. cellphones do to avoid mutual interference. AIS receivers make this data
  26. available for navigation, anti-collision systems, and other uses.
  27. The International Maritime Organization's (IMO) International
  28. Convention for the Safety of Life at Sea (SOLAS) requires operating AIS
  29. transmitters on all international cargo vessels of more than 300 tons
  30. displacement, all cargo vessels of more than 500 tons displacement,
  31. and all passenger vessels; see <<SOLAS>> for details. Individual
  32. maritime nations may have stricter and more detailed rules: for those
  33. obtaining in U.S. waters, see <<US-REQUIREMENTS>>.
  34. AIS receivers report ASCII data packets as a byte stream over serial
  35. or USB lines, using the NMEA 0183 or NMEA 2000 data formats. The RS422
  36. variant of serial specified as a physical layer by NMEA 0183 is common
  37. in marine navigation systems; there may be a "pilot plug"
  38. <<PILOTPLUG>> which converts to USB. Alternatively, newer AIS
  39. receivers may report directly over RS232 or USB.
  40. AIS packets have the introducer "!AIVDM" or "!AIVDO"; AIVDM packets
  41. are reports from other ships and AIVDO packets are reports from your
  42. own ship.
  43. A lengthy description of AIS, focusing on the goals and history of the
  44. system, but not describing the data protocols in any detail, can be
  45. found at <<AIS>>.
  46. == Standards ==
  47. Multiple standards bear on the AIVDM/AIVDO format. This document
  48. exists because assembling them into a complete picture is technically
  49. difficult and was long impeded by legal barriers as well.
  50. ITU Recommendation M.1371, "Technical Characteristics for a Universal
  51. Shipborne Automatic Identification System Using Time Division Multiple
  52. Access" <<ITU1371>>, issued in 2001, first described the bit-level
  53. format of AIS radio messages. This standard was proprietary and
  54. expensive when issued. I did not have access to it or any of its
  55. followup revisions while assembling versions of this document up to
  56. 1.29.
  57. ITU-R M.1371 was expanded and clarified by "IALA Technical
  58. Clarifications on Recommendation ITU-R M.1371-1" <<IALA>>, which
  59. is freely available.
  60. There have been three minor revisions of ITU-R M.1371 since it was
  61. originally issued. These add interpretations to packet bitfields that
  62. were previously marked "spare" and "regional reserved". ITU-R M.1371
  63. revision 4 became available for free download, apparently at some
  64. point in early 2011, well after most of this document was assembled.
  65. The ASCII format for AIVDM/AIVDO representations of AIS radio messages
  66. seems to have been set by IEC-PAS 61162-100, "Maritime navigation and
  67. radiocommunication equipment and systems" <<IEC-PAS>>. It is
  68. proprietary and I have not looked at it. Various public sources
  69. indicate that it has been "harmonized" with some version of NMEA 0183,
  70. which I also have not looked at because it too is proprietary and
  71. expensive, and surrounded by rapacious attack lawyers.
  72. == Information Sources ==
  73. Together, the IALA Technical Clarifications at <<IALA>> and the
  74. Coast Guard's AIS pages at <<NAVCEN>> describe AIS message payloads
  75. type 1-24 almost completely. Certain specialized binary messages of
  76. types 6 and 8 defined by the International Maritime Organization are
  77. described in <<IMO236>> and <<IMO289>>. The detail information on
  78. payload formats in this document is mostly derived from these public
  79. sources.
  80. Kurt Schwehr is a research scientist at the Center for Coastal and
  81. Ocean Mapping at the University of New Hampshire. Much of his research
  82. involves AIS. His work blog at <<Schwehr>> contains sample messages
  83. and descriptions of AIS operation in the wild that shed light on
  84. various obscure corners of the specification. He has explained the
  85. otherwise undocumented Repeat Indicator field and USCG extended AIVDM
  86. to me by email. He also communicated some critical information from
  87. <<IEC-PAS>>, and supplied information about new messages and fields in
  88. ITU-1371-3.
  89. Descriptions of messages 25 and 26 are based on AIS transceiver vendor
  90. documentation was originally forwarded to me by a source wishing to
  91. remain anonymous; I later checked them against ITU1371-4. Message
  92. type 27 was described in ITU1371-4 and added here after that became a
  93. freely available download.
  94. Should you set out to write a decoder using this document, you are
  95. likely to find that one of your challenges is finding enough AIS
  96. packet data to make an effective regression test -- especially if you
  97. live out of line of sight of any ship traffic and would get nothing
  98. from running an AIS receiver. Fortunately, various AIS sites offer
  99. live feeds over the Internet that aggregate AIS streams from all over
  100. the world. Some charge subscriptions; others offer time-delayed access
  101. for free and charge for a real-time feed. Still others are pool sites;
  102. you join by contributing your feed and receive all feeds.
  103. AIS Hub (<<AISHUB>>) is a free, public AIS feed pool. It provides
  104. exchange of AIS data in raw NMEA format; all AISHub members share
  105. their own received AIS data and receive the merged feed from all other
  106. participating parties. It is open-source friendly, offering a Linux
  107. port in source of its software for collecting and forwarding AIS
  108. data. Peter Stoyanov and the other AIS Hub principals have generously
  109. donated a live feed to the GPSD project despite the fact that I live
  110. 60 miles inland and cannot send them anything interesting.
  111. Some of what this document explains about the quirks of real-world
  112. encoders comes from examples provided by Kurt Schwehr. Other such
  113. information, especially for the less common sentences, comes from
  114. inspection of sentences forwarded to me from AIS Hub by various
  115. interested parties, and more recently from AIS Hub itself.
  116. == Improving This Document ==
  117. To avoid copyright difficulties, I rely only on freely redistributable
  118. public documents and paraphrased reports from people who have seen the
  119. relevant proprietary standards. If you are such a person, please help
  120. by reporting the following to be included in future versions of this
  121. document:
  122. * Sample sentences of types 16-17, 22-23, and 25-27.
  123. * Sample sentences of type 6 and 8 conforming to <<IMO236>>,
  124. <<IMO289>>, and <<INLAND>>.
  125. For verification purposes, I need the raw sentences together with
  126. decoded dumps of their field values. Please note that sample
  127. sentences not accompanied by field dumps are *not* useful; I can get
  128. plenty of those.
  129. == Open-Source Implementations ==
  130. The GPSD project ships an AIVDM/AIVDO sentence decoder as part of the
  131. daemon. This document was developed to be the specification for it,
  132. and it will decode all sentence type described herein.
  133. The source-code repository of the GPSD project holds a conforming
  134. standalone Python decoder, ais.py, that is not included in shipped
  135. releases. It may be useful for developers working in that language.
  136. <<Schwehr>> includes links to a collection of Python scripts for
  137. decoding and analyzing AIVDM sentences. Kurt Schwehr warns that this
  138. is research code rather than a production tool.
  139. There is a http://gnuais.sourceforge.net/[GNU AIS] project at
  140. SourceForge. It seems intended primarily to work directly
  141. with AIS radios.
  142. http://www.maritec.co.za/aisvdmvdodecoding.php[The Maritec decoder]
  143. looks to be pretty high-quality and can be exercised through a
  144. public web form. This is a useful resource for anyone qualifying
  145. an AIS decoder.
  146. == AIVDM/AIVDO Sentence Layer ==
  147. AIVDM/AIVDO is a two-layer protocol. The outer layer is a variant of
  148. NMEA 0183, the ancient standard for data interchange in marine
  149. navigation systems; NMEA 0183 is described at <<NMEA>>.
  150. Here is a typical AIVDM data packet:
  151. --------------------------------------------------------------------
  152. !AIVDM,1,1,,B,177KQJ5000G?tO`K>RA1wUbN0TKH,0*5C
  153. --------------------------------------------------------------------
  154. And here is what the fields mean:
  155. Field 1, !AIVDM, identifies this as an AIVDM packet.
  156. Field 2 (1 in this example) is the count of fragments in the currently
  157. accumulating message. The payload size of each sentence is limited by
  158. NMEA 0183's 82-character maximum, so it is sometimes required to split
  159. a payload over several fragment sentences.
  160. Field 3 (1 in this example) is the fragment number of this
  161. sentence. It will be one-based. A sentence with a fragment count of
  162. 1 and a fragment number of 1 is complete in itself.
  163. Field 4 (empty in this example) is a sequential message ID for
  164. multi-sentence messages.
  165. Field 5 (B in this example) is a radio channel code. AIS uses the high
  166. side of the duplex from two VHF radio channels: AIS Channel A is
  167. 161.975Mhz (87B); AIS Channel B is 162.025Mhz (88B). In the wild,
  168. channel codes '1' and '2' may also be encountered; the standards
  169. do not prescribe an interpretation of these but it's obvious enough.
  170. Field 6 (177KQJ5000G?tO`K>RA1wUbN0TKH in this example) is the data
  171. payload. We'll describe how to decode this in later sections.
  172. Field 7 (0) is the number of fill bits requires to pad the data
  173. payload to a 6 bit boundary, ranging from 0 to 5. Equivalently,
  174. subtracting 5 from this tells how many least significant bits of the
  175. last 6-bit nibble in the data payload should be ignored. Note that
  176. this pad byte has a tricky interaction with the <<<ITU-1371>>>
  177. requirement for byte alignment in over-the-air AIS messages; see the
  178. detailed discussion of message lengths and alignment in a later
  179. section.
  180. The \*-separated suffix (\*5C) is the NMEA 0183 data-integrity checksum
  181. for the sentence, preceded by "*". It is computed on the entire
  182. sentence including the AIVDM tag but excluding the leading "!".
  183. For comparison, here is an example of a multifragment sentence with a
  184. nonempty message ID field:
  185. --------------------------------------------------------------------
  186. !AIVDM,2,1,3,B,55P5TL01VIaAL@7WKO@mBplU@<PDhh000000001S;AJ::4A80?4i@E53,0*3E
  187. !AIVDM,2,2,3,B,1@0000000000000,2*55
  188. --------------------------------------------------------------------
  189. Technically, NMEA0183 does not actually require that a !-led sentence
  190. be AIS. This format can be used for any encapsulated data. The
  191. syntax and semantics of fields 1-4 are fixed, and the fill-bit field
  192. and NEA checksum are required, but the payload fields may contain any
  193. encapsulated data.
  194. It is, however, a safe bet that any such sentence containing an A or B
  195. channel code in field 5 is AIVDM/AIVDO.
  196. == Talker IDS ==
  197. The AI prefix commonly found on these sentences is an NMEA talker ID
  198. for a mobile AIS station. Other possible values are as listed:
  199. .AIS talker IDs
  200. [width="25%",frame="topbot"]
  201. |================================================
  202. | !AB | NMEA 4.0 Base AIS station
  203. | !AD | NMEA 4.0 Dependent AIS Base Station
  204. | !AI | Mobile AIS station
  205. | !AN | NMEA 4.0 Aid to Navigation AIS station
  206. | !AR | NMEA 4.0 AIS Receiving Station
  207. | !AS | NMEA 4.0 Limited Base Station
  208. | !AT | NMEA 4.0 AIS Transmitting Station
  209. | !AX | NMEA 4.0 Repeater AIS station
  210. | !BS | Base AIS station (deprecated in NMEA 4.0)
  211. | !SA | NMEA 4.0 Physical Shore AIS Station
  212. |================================================
  213. == AIVDM/AIVDO Payload Armoring ==
  214. The data payload is an ASCII-encoded bit vector. Each character
  215. represents six bits of data. To recover the six bits, subtract 48
  216. from the ASCII character value; if the result is greater than 40
  217. subtract 8. According to <<IEC-PAS>>, the valid ASCII characters for
  218. this encoding begin with "0" (64) and end with "w" (87); however, the
  219. intermediate range "X" (88) to "\_" (95) is not used.
  220. .ASCII payload armoring
  221. [width="25%",frame="topbot",options="header"]
  222. |======================================
  223. | Char |ASCII |Decimal |Bits
  224. |"0" | 48 | 0 |000000
  225. |"1" | 49 | 1 |000001
  226. |"2" | 50 | 2 |000010
  227. |"3" | 51 | 3 |000011
  228. |"4" | 52 | 4 |000100
  229. |"5" | 53 | 5 |000101
  230. |"6" | 54 | 6 |000110
  231. |"7" | 55 | 7 |000111
  232. |"8" | 56 | 8 |001000
  233. |"9" | 57 | 9 |001001
  234. |":" | 58 |10 |001010
  235. |";" | 59 |11 |001011
  236. |"<" | 60 |12 |001100
  237. |"=" | 61 |13 |001101
  238. |">" | 62 |14 |001110
  239. |"?" | 63 |15 |001111
  240. |"@" | 64 |16 |010000
  241. |"A" | 65 |17 |010001
  242. |"B" | 66 |18 |010010
  243. |"C" | 67 |19 |010011
  244. |"D" | 68 |20 |010100
  245. |"E" | 69 |21 |010101
  246. |"F" | 70 |22 |010110
  247. |"G" | 71 |23 |010111
  248. |"H" | 72 |24 |011000
  249. |"I" | 73 |25 |011001
  250. |"J" | 74 |26 |011010
  251. |"K" | 75 |27 |011011
  252. |"L" | 76 |28 |011100
  253. |"M" | 77 |29 |011101
  254. |"N" | 78 |30 |011110
  255. |"O" | 79 |31 |011111
  256. |"P" | 80 |32 |100000
  257. |"Q" | 81 |33 |100001
  258. |"R" | 82 |34 |100010
  259. |"S" | 83 |35 |100011
  260. |"T" | 84 |36 |100100
  261. |"U" | 85 |37 |100101
  262. |"V" | 86 |38 |100110
  263. |"W" | 87 |39 |100111
  264. |"`" | 96 |40 |101000
  265. |"a" | 97 |41 |101001
  266. |"b" | 98 |42 |101010
  267. |"c" | 99 |43 |101011
  268. |"d" |100 |44 |101100
  269. |"e" |101 |45 |101101
  270. |"f" |102 |46 |101110
  271. |"g" |103 |47 |101111
  272. |"h" |104 |48 |110000
  273. |"i" |105 |49 |110001
  274. |"j" |106 |50 |110010
  275. |"k" |107 |51 |110011
  276. |"l" |108 |52 |110100
  277. |"m" |109 |53 |110101
  278. |"n" |110 |54 |110110
  279. |"o" |111 |55 |110111
  280. |"p" |112 |56 |111000
  281. |"q" |113 |57 |111001
  282. |"r" |114 |58 |111010
  283. |"s" |115 |59 |111011
  284. |"t" |116 |60 |111100
  285. |"u" |117 |61 |111101
  286. |"v" |118 |62 |111110
  287. |"w" |119 |63 |111111
  288. |======================================
  289. Concatenate all six-bit quantities found in the payload, MSB first.
  290. This is the binary payload of the sentence.
  291. == AIS Payload Data Types ==
  292. Data in AIS message payloads (what you get after undoing the AIVDM/AIVDO
  293. armoring) is encoded as bitfields in the sentence. Bitfields may be
  294. interpreted in one of the following ways:
  295. - Signed or unsigned integer
  296. - Float (scaled from signed integer)
  297. - Flag or Boolean
  298. - Index into a controlled vocabulary
  299. - Reserved bits
  300. - Spare bits
  301. - Strings
  302. Numeric bitfields are interpreted as big-endian twos-complement
  303. integers; when signed, the sign bit is the highest.
  304. Float fields have an associated divisor which should be applied
  305. to convert to the correct units. In one case, the ROT field in message
  306. types 1-3, the scaling operation involves a more elaborate formula.
  307. Flags are encoded as 1 for true/yes/on, 0 for false/no/off.
  308. Indices into controlled vocabularies are numeric bitfields which
  309. must be interpreted using per-field string lists specified in the
  310. standards.
  311. Spare fields generally seem to have been inserted in order to put
  312. certain field starts on 8-bit boundaries, and should be ignored. Decoders
  313. should not, however, assume that spare fields will be all zeroes.
  314. Reserved fields should not be ignored, as they may be assigned for
  315. extension data in minor revisions of the AIS standard; it is noted in
  316. the message descriptions where this has already occurred. It is good
  317. practice for a decoder to make reserved fields available to client
  318. applications as uninterpreted bitfields.
  319. Character-string fields within AIS messages are encoded in a special
  320. way, referred to as "six-bit" in the tables below. First, chop the
  321. string field into consecutive six-bit nibbles without padding (each
  322. span of three 8-bit bytes includes 4 of these). Each six-bit nibble
  323. maps to an ASCII character. Nibbles 0-31 map to the characters "@" (
  324. ASCII 64) through "\_" (ASCII 95) respectively; nibbles 32-63 map to
  325. characters " " (ASCII 32) though "?" (ASCII 63). Lowercase ASCII
  326. letters, the backtick, right and left curly brackets, pipe bar, tilde
  327. and DEL cannot be encoded.
  328. .Sixbit ASCII
  329. [width="25%",frame="topbot"]
  330. |==========================================================================================
  331. |000000 | 0 |"@" |010000 |16 |"P" |100000 |32 |" " |110000 |48 |"0"
  332. |000001 | 1 |"A" |010001 |17 |"Q" |100001 |33 |"!" |110001 |49 |"1"
  333. |000010 | 2 |"B" |010010 |18 |"R" |100010 |34 |""" |110010 |50 |"2"
  334. |000011 | 3 |"C" |010011 |19 |"S" |100011 |35 |"\#" |110011 |51 |"3"
  335. |000100 | 4 |"D" |010100 |20 |"T" |100100 |36 |"$" |110100 |52 |"4"
  336. |000101 | 5 |"E" |010101 |21 |"U" |100101 |37 |"%" |110101 |53 |"5"
  337. |000110 | 6 |"F" |010110 |22 |"V" |100110 |38 |"&" |110110 |54 |"6"
  338. |000111 | 7 |"G" |010111 |23 |"W" |100111 |39 |"\'" |110111 |55 |"7"
  339. |001000 | 8 |"H" |011000 |24 |"X" |101000 |40 |"(" |111000 |56 |"8"
  340. |001001 | 9 |"I" |011001 |25 |"Y" |101001 |41 |")" |111001 |56 |"9"
  341. |001010 |10 |"J" |011010 |26 |"Z" |101010 |42 |"\*" |111010 |58 |":"
  342. |001011 |11 |"K" |011011 |27 |"[" |101011 |43 |"\+" |111011 |59 |";"
  343. |001100 |12 |"L" |011100 |28 |"{backslash}" |101100 |44 |"," |111100 |60 |"<"
  344. |001101 |13 |"M" |011101 |29 |"]" |101101 |45 |"-" |111101 |61 |"="
  345. |001110 |14 |"N" |011110 |30 |"\^" |101110 |46 |"." |111110 |62 |">"
  346. |001111 |15 |"O" |011111 |31 |"\_" |101111 |47 |"/" |111111 |63 |"?"
  347. |==========================================================================================
  348. According to the standard, trailing unused characters in six-bit
  349. fields will be represented by "@" (six-bit zero); however, real-world
  350. encoders are not careful about this and often have nonzero garbage
  351. after the "@". The terminating "@" should not be considered part of
  352. the text, and any non-"@" characters after it should be discarded. It
  353. is also common to space-fill short fields such as ship and station
  354. name, so a decoder should strip trailing spaces after stripping
  355. at-signs and the garbage after them.
  356. Trailing string fields are often specified as "up to" a certain number of bits.
  357. Decoders should be prepared to handle any field length up to that
  358. number, including zero.
  359. == AIS Payload Interpretation ==
  360. The following table describes message types that are international
  361. standards from <<ITU1371>> and its revisions. There are also local
  362. and regional extensions used on inland waterways such as the Danube
  363. and the Thames and in British and Irish coastal waters; pointers
  364. to some of these are included later in this document.
  365. Note that many sources use 1-origin numbering for the bits. We'll
  366. use 0-origin in this document.
  367. The first 6 bits of the payload (0-5) are the message type. Message
  368. types are as follows:
  369. .Message types
  370. [width="50%",frame="topbot"]
  371. |======================================================
  372. |01 |Position Report Class A
  373. |02 |Position Report Class A (Assigned schedule)
  374. |03 |Position Report Class A (Response to interrogation)
  375. |04 |Base Station Report
  376. |05 |Static and Voyage Related Data
  377. |06 |Binary Addressed Message
  378. |07 |Binary Acknowledge
  379. |08 |Binary Broadcast Message
  380. |09 |Standard SAR Aircraft Position Report
  381. |10 |UTC and Date Inquiry
  382. |11 |UTC and Date Response
  383. |12 |Addressed Safety Related Message
  384. |13 |Safety Related Acknowledgement
  385. |14 |Safety Related Broadcast Message
  386. |15 |Interrogation
  387. |16 |Assignment Mode Command
  388. |17 |DGNSS Binary Broadcast Message
  389. |18 |Standard Class B CS Position Report
  390. |19 |Extended Class B Equipment Position Report
  391. |20 |Data Link Management
  392. |21 |Aid-to-Navigation Report
  393. |22 |Channel Management
  394. |23 |Group Assignment Command
  395. |24 |Static Data Report
  396. |25 |Single Slot Binary Message,
  397. |26 |Multiple Slot Binary Message With Communications State
  398. |27 |Position Report For Long-Range Applications
  399. |======================================================
  400. In normal operation, an AIS transceiver will broadcast a position report
  401. (type 1, 2, or 3) every 2 to 10 seconds depending on the vessel's
  402. speed while underway, and every 3 minutes while the vessel is at
  403. anchor and stationary. It will send a type 5 identification every 6
  404. minutes. (More detail is at <<IALA>>, part 2.3)
  405. Class 6 is used for unencrypted structured extension messages systems
  406. conforming to the Inland AIS standard defined by <<INLAND>>, and by local
  407. authorities such as the St. Lawrence Seaway and the U.S Coast Guard's
  408. PAWSS. This document describes all of the Class 6 special message
  409. formats approved for use in <<IMO236>>, <<IMO289>>, and <<INLAND>>.
  410. Class 8 is in common use for private encrypted messages, such as
  411. location transmission in military exercises. It is also used for
  412. unencrypted structured extension messages by Inland AIS, and by local
  413. authorities such as the St. Lawrence Seaway and PAWSS. This document
  414. describes all of the Class 8 special message formats approved for use
  415. in <<IMO236>>, <<IMO289>>, and <<INLAND>>.
  416. Classes 12 and 14 are used for text messaging, nominally safety-related
  417. but also for traffic control and occasionally chatter.
  418. In practice, message types other than 1, 3, 4, 5, 18, and 24 are
  419. unusual or rare; many AIS transmitters never emit them.
  420. An MMSI is a Mobile Marine Service Identifier, a unique 9-digit ID for
  421. the ship's radio(s). The first three digits convey information about
  422. the country in which the ID was issued <<ITU-MID>>. US vessels
  423. travelling solely in U.S. waters sometimes incorrectly omit the
  424. leading "3", the geography code for North and Central America and
  425. Caribbean, emitting 8-digit MMSIs beginning with the U.S. country code
  426. of 669.
  427. According to <<MMSI>>, different formats of MMSI are used for
  428. different classes of transmitter. In the format descriptions below, a
  429. MID is a three-digit decimal literal ranging from 201 to 775 that
  430. identifies a country or other maritime jurisdiction. See <<ITU-MID>>
  431. for a list of MIDs.
  432. .MID formats
  433. [frame="topbot"]
  434. |==============================================================================
  435. |8MIDXXXXX | Diver's radio (not used in the U.S. in 2013)
  436. |MIDXXXXXX | Ship
  437. |0MIDXXXXX | Group of ships; the U.S. Coast Guard, for example, is 03699999
  438. |00MIDXXXX | Coastal stations
  439. |111MIDXXX | SAR (Search and Rescue) aircraft
  440. |99MIDXXXX | Aids to Navigation
  441. |98MIDXXXX | Auxiliary craft associated with a parent ship
  442. |970MIDXXX | AIS SART (Search and Rescue Transmitter)
  443. |972XXXXXX | MOB (Man Overboard) device
  444. |974XXXXXX | EPIRB (Emergency Position Indicating Radio Beacon) AIS
  445. |==============================================================================
  446. Detailed descriptions of message types 1-24 follow. Message types 1-22
  447. are derived from <<IALA>>. Message type 23 was described to me by Mike
  448. Greene based on <<IEC-62287>>. Message type 24 was described to me by
  449. <<Schwehr>>, whose Python toolkit decodes it. Message types 25-26 are
  450. reported by <<Schwehr>>, who observes they were added in Version 3 of
  451. <<ITU1371>>. Message type 27 is direct from <<ITU1371>> version 4.
  452. The "Member" column in these tables is not derived from any of the ITU
  453. standards or amendments. I have invented it in order to be able to
  454. describe a lossless textual encoding of AIS sentences in JSON. These
  455. names are also chosen for suitability as structure/object member names
  456. in computer languages, so that application programming interfaces
  457. across different languages can have a common and readily intelligible
  458. set to use.
  459. The "T" column declares the data type of the field, and may have
  460. any of the values in the following table. It is intended to be used
  461. for generating bitfield-extraction code directly from the message
  462. type descriptions.
  463. [frame="topbot"]
  464. |==============================================================================
  465. |u| Unsigned integer
  466. |U| Unsigned integer with scale - renders as float, suffix is decimal places
  467. |i| Signed integer
  468. |I| Signed integer with scale - renders as float, suffix is decimal places
  469. |b| Boolean
  470. |e| Enumerated type (controlled vocabulary)
  471. |x| Spare or reserved bit
  472. |t| String (packed six-bit ASCII)
  473. |d| Data (uninterpreted binary)
  474. |a| Array boundary, numeric suffix is maximum array size.
  475. ^ before suffix means preceding fields is the length.
  476. Following fields are repeated to end of message
  477. |==============================================================================
  478. The field breakdowns in this document have been checked against live
  479. decoded data rendered by known-good implementations for message types
  480. 1-15, 18-21, and 24. Described but unchecked are 16-17, 22-23, and
  481. 25-27. Also, the interpretation of IMO extension subtypes of messages
  482. 6 and 8 has yet to be tested.
  483. Bit lengths and length ranges are given because decoders should check
  484. them against the message type. Messages with correct checksums but the
  485. wrong payload length for their type occur with about 0.3% frequency on
  486. AISHub; if you don't reject these, your clients will see spurious
  487. zeros or garbage.
  488. === Types 1, 2 and 3: Position Report Class A ===
  489. Type 1, 2 and 3 messages share a common reporting structure for
  490. navigational information; we'll call it the Common Navigation Block
  491. (CNB). This is the information most likely to be of interest for
  492. decoding software. Total of 168 bits, occupying one AIVDM sentence.
  493. //: Type CNB
  494. .Common Navigation Block
  495. [frame="topbot",options="header"]
  496. |==============================================================================
  497. |Field |Len |Description |Member |T|Units
  498. |0-5 | 6 |Message Type |type |u|Constant: 1-3
  499. |6-7 | 2 |Repeat Indicator |repeat |u|Message repeat count
  500. |8-37 |30 |MMSI |mmsi |u|9 decimal digits
  501. |38-41 | 4 |Navigation Status |status |e|See "Navigation Status"
  502. |42-49 | 8 |Rate of Turn (ROT) |turn |I3|See below
  503. |50-59 |10 |Speed Over Ground (SOG) |speed |U1|See below
  504. |60-60 | 1 |Position Accuracy |accuracy |b|See below
  505. |61-88 |28 |Longitude |lon |I4|Minutes/10000 (see below)
  506. |89-115 |27 |Latitude |lat |I4|Minutes/10000 (see below)
  507. |116-127 |12 |Course Over Ground (COG)|course |U1|Relative to true north,
  508. to 0.1 degree precision
  509. |128-136 | 9 |True Heading (HDG) |heading |u|0 to 359 degrees,
  510. 511 = not available.
  511. |137-142 | 6 |Time Stamp |second |u|Second of UTC timestamp
  512. |143-144 | 2 |Maneuver Indicator |maneuver |e|See "Maneuver Indicator"
  513. |145-147 | 3 |Spare | |x|Not used
  514. |148-148 | 1 |RAIM flag |raim |b|See below
  515. |149-167 |19 |Radio status |radio |u|See below
  516. |==============================================================================
  517. The Repeat Indicator is a directive to an AIS transceiver that this
  518. message should be rebroadcast. This was intended as a way of getting
  519. AIS messages around hills and other obstructions in coastal waters,
  520. but is little used as base station coverage is more effective. It is
  521. intended that the bit be incremented on each retransmission, to a
  522. maximum of three hops. A value of 3 indicates "Do not repeat".
  523. .Navigation Status
  524. [width="50%",frame="topbot"]
  525. |=================================================================
  526. |0 | Under way using engine
  527. |1 | At anchor
  528. |2 | Not under command
  529. |3 | Restricted manoeuverability
  530. |4 | Constrained by her draught
  531. |5 | Moored
  532. |6 | Aground
  533. |7 | Engaged in Fishing
  534. |8 | Under way sailing
  535. |9 | Reserved for future amendment of Navigational Status for HSC
  536. |10| Reserved for future amendment of Navigational Status for WIG
  537. |11| Reserved for future use
  538. |12| Reserved for future use
  539. |13| Reserved for future use
  540. |14| AIS-SART is active
  541. |15| Not defined (default)
  542. |=================================================================
  543. Note, the AIS-SART value was added after <<IALA>> and designates an
  544. AIS transmitter in an survival craft such as a lifeboat. See
  545. <<AIS-SART>> for the field specification and <<SART>> for
  546. background.
  547. Turn rate is encoded as follows:
  548. * 0 = not turning
  549. * 1...126 = turning right at up to 708 degrees per minute or higher
  550. * 1...-126 = turning left at up to 708 degrees per minute or higher
  551. * 127 = turning right at more than 5deg/30s (No TI available)
  552. * -127 = turning left at more than 5deg/30s (No TI available)
  553. * 128 (80 hex) indicates no turn information available (default)
  554. Values between 0 and 708 degrees/min coded by ROT~AIS~=4.733 *
  555. SQRT(ROT~sensor~) degrees/min where ROT~sensor~ is the Rate of Turn as
  556. input by an external Rate of Turn Indicator. ROT~AIS~ is rounded to
  557. the nearest integer value. Thus, to decode the field value, divide by 4.733
  558. and then square it. Sign of the field value should be preserved when
  559. squaring it, otherwise the left/right indication will be lost.
  560. Speed over ground is in 0.1-knot resolution from 0 to 102 knots.
  561. Value 1023 indicates speed is not available, value 1022 indicates
  562. 102.2 knots or higher.
  563. The position accuracy flag indicates the accuracy of the fix. A value of
  564. 1 indicates a DGPS-quality fix with an accuracy of < 10ms. 0, the
  565. default, indicates an unaugmented GNSS fix with accuracy > 10m.
  566. Longitude is given in in 1/10000 min; divide by 600000.0 to obtain
  567. degrees. Values up to plus or minus 180 degrees, East = positive, West
  568. \= negative. A value of 181 degrees (0x6791AC0 hex) indicates that
  569. longitude is not available and is the default.
  570. Latitude is given in in 1/10000 min; divide by 600000.0 to obtain
  571. degrees. Values up to plus or minus 90 degrees, North = positive,
  572. South = negative. A value of 91 degrees (0x3412140 hex) indicates
  573. latitude is not available and is the default.
  574. Course over ground will be 3600 (0xE10) if that data is not available.
  575. Seconds in UTC timestamp should be 0-59, except for these special values:
  576. * 60 if time stamp is not available (default)
  577. * 61 if positioning system is in manual input mode
  578. * 62 if Electronic Position Fixing System operates in estimated (dead
  579. reckoning) mode,
  580. * 63 if the positioning system is inoperative.
  581. The Regional Reserved field is intended for use by local maritime
  582. authorities. It is not known to be in any actual use up to 2009.
  583. The Maneuver Indicator (143-144) may have these values:
  584. .Maneuver Indicator
  585. [width="50%",frame="topbot"]
  586. |===========================================================
  587. |0 | Not available (default)
  588. |1 | No special maneuver
  589. |2 | Special maneuver (such as regional passing arrangement)
  590. |===========================================================
  591. Riverine and inland navigation systems conforming to <<INLAND>>
  592. designate this field "Blue Sign" with the following enumerated
  593. values:
  594. .Blue Sign
  595. [width="50%",frame="topbot"]
  596. |===========================================================
  597. |0 | Not available (default)
  598. |1 | No
  599. |2 | Yes
  600. |===========================================================
  601. The interpretation of bits 143-147 has been a bit unstable. In
  602. <<IALA>> and therefore in the original <<ITU1371>>, they were
  603. described like this:
  604. [width="50%",frame="topbot",options="header"]
  605. |=================================
  606. |Field |Len |Description
  607. |143-145 | 3 |Regional Reserved
  608. |146-147 | 2 |Spare
  609. |=================================
  610. The interpretation of 143-144 as a special maneuver field is new in
  611. revision 3 of <<ITU1371>>.
  612. The RAIM flag indicates whether Receiver Autonomous Integrity
  613. Monitoring is being used to check the performance of the EPFD.
  614. 0 = RAIM not in use (default), 1 = RAIM in use. See <<RAIM>> for
  615. a detailed description of this flag.
  616. Bits 149-167 are diagnostic information for the radio system. Consult
  617. <<IALA>> for detailed description of the latter.
  618. === Type 4: Base Station Report ===
  619. This message is to be used by fixed-location base stations to
  620. periodically report a position and time reference. Total of 168 bits,
  621. occupying one AIVDM sentence.
  622. The standard uses "EPFD" to designate any Electronic Position Fixing Device.
  623. //: Type 4
  624. [frame="topbot",options="header"]
  625. |==============================================================================
  626. |Field |Len |Description |Member |T|Units
  627. |0-5 | 6 |Message Type |type |u|Constant: 4
  628. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  629. |8-37 | 30 |MMSI |mmsi |u|9 decimal digits
  630. |38-51 | 14 |Year (UTC) |year |u|UTC, 1-9999, 0 = N/A (default)
  631. |52-55 | 4 |Month (UTC) |month |u|1-12; 0 = N/A (default)
  632. |56-60 | 5 |Day (UTC) |day |u|1-31; 0 = N/A (default)
  633. |61-65 | 5 |Hour (UTC) |hour |u|0-23; 24 = N/A (default)
  634. |66-71 | 6 |Minute (UTC) |minute |u|0-59; 60 = N/A (default)
  635. |72-77 | 6 |Second (UTC) |second |u|0-59; 60 = N/A (default)
  636. |78-78 | 1 |Fix quality |accuracy |b|As in Common Navigation Block
  637. |79-106 | 28 |Longitude |lon |I4|As in Common Navigation Block
  638. |107-133 | 27 |Latitude |lat |I4|As in Common Navigation Block
  639. |134-137 | 4 |Type of EPFD |epfd |e|See "EPFD Fix Types"
  640. |138-147 | 10 |Spare | |x|Not used
  641. |148-148 | 1 |RAIM flag |raim |b|As for common navigation block
  642. |149-167 | 19 |SOTDMA state |radio |u|As in same bits for Type 1
  643. |==============================================================================
  644. .EPFD Fix Types
  645. [width="50%",frame="topbot",options="header"]
  646. |===================================
  647. |Code |Position Fix Type
  648. |0 |Undefined (default)
  649. |1 |GPS
  650. |2 |GLONASS
  651. |3 |Combined GPS/GLONASS
  652. |4 |Loran-C
  653. |5 |Chayka
  654. |6 |Integrated navigation system
  655. |7 |Surveyed
  656. |8 |Galileo
  657. |===================================
  658. Note: though values 9-15 are marked "not used" in <<IALA>>, the EPFD
  659. type value 15 (all field bits 1) is not uncommon in the wild; it
  660. appears some receivers emit it as the undefined value. Decoders should
  661. be prepared to accept this.
  662. === Type 5: Static and Voyage Related Data ===
  663. Message has a total of 424 bits, occupying two AIVDM sentences.
  664. In practice, the information in these fields (especially ETA and
  665. destination) is not reliable, as it has to be hand-updated by
  666. humans rather than gathered automatically from sensors.
  667. Also note that it is fairly common in the wild for this message to
  668. have a wrong bit length (420 or 422). Robust decoders should ignore
  669. trailing garbage and deal gracefully with a slightly truncated
  670. destination field.
  671. //: Type 5
  672. [frame="topbot",options="header"]
  673. |==============================================================================
  674. |Field |Len |Description |Member/Type |T|Encoding
  675. |0-5 | 6 |Message Type |type |u|Constant: 5
  676. |6-7 | 2 |Repeat Indicator |repeat |u|Message repeat count
  677. |8-37 | 30 |MMSI |mmsi |u|9 digits
  678. |38-39 | 2 |AIS Version |ais_version |u|0=<<ITU1371>>,
  679. 1-3 = future editions
  680. |40-69 | 30 |IMO Number |imo |u|IMO ship ID number
  681. |70-111 | 42 |Call Sign |callsign |t|7 six-bit characters
  682. |112-231 |120 |Vessel Name |shipname |t|20 six-bit characters
  683. |232-239 | 8 |Ship Type |shiptype |e|See "Codes for Ship Type"
  684. |240-248 | 9 |Dimension to Bow |to_bow |u|Meters
  685. |249-257 | 9 |Dimension to Stern |to_stern |u|Meters
  686. |258-263 | 6 |Dimension to Port |to_port |u|Meters
  687. |264-269 | 6 |Dimension to Starboard |to_starboard |u|Meters
  688. |270-273 | 4 |Position Fix Type |epfd |e|See "EPFD Fix Types"
  689. |274-277 | 4 |ETA month (UTC) |month |u|1-12, 0=N/A (default)
  690. |278-282 | 5 |ETA day (UTC) |day |u|1-31, 0=N/A (default)
  691. |283-287 | 5 |ETA hour (UTC) |hour |u|0-23, 24=N/A (default)
  692. |288-293 | 6 |ETA minute (UTC) |minute |u|0-59, 60=N/A (default)
  693. |294-301 | 8 |Draught |draught |U1|Meters/10
  694. |302-421 |120 |Destination |destination |t|20 6-bit characters
  695. |422-422 | 1 |DTE |dte |b|0=Data terminal ready,
  696. 1=Not ready (default).
  697. |423-423 | 1 |Spare | |x|Not used
  698. |==============================================================================
  699. <<INLAND>> specifies the following:
  700. * the IMO Number field should be zeroed for inland vessels.
  701. * ATIS code should be used for inland vessels
  702. * ship dimensions should be set to the maximum rectangle size of the convoy
  703. * draught information should be rounded up to nearest decimeter
  704. * For the destination, UN/LOCODE and ERI terminal codes should be used
  705. Ship dimensions will be 0 if not available. For the dimensions to bow
  706. and stern, the special value 511 indicates 511 meters or greater; for
  707. the dimensions to port and starboard, the special value 63 indicates
  708. 63 meters or greater.
  709. .Codes for Ship Type
  710. [width="50%",frame="topbot",options="header"]
  711. |==============================================================
  712. |Code |Ship & Cargo Classification
  713. |0 |Not available (default)
  714. |1-19 |Reserved for future use
  715. |20 |Wing in ground (WIG), all ships of this type
  716. |21 |Wing in ground (WIG), Hazardous category A
  717. |22 |Wing in ground (WIG), Hazardous category B
  718. |23 |Wing in ground (WIG), Hazardous category C
  719. |24 |Wing in ground (WIG), Hazardous category D
  720. |25 |Wing in ground (WIG), Reserved for future use
  721. |26 |Wing in ground (WIG), Reserved for future use
  722. |27 |Wing in ground (WIG), Reserved for future use
  723. |28 |Wing in ground (WIG), Reserved for future use
  724. |29 |Wing in ground (WIG), Reserved for future use
  725. |30 |Fishing
  726. |31 |Towing
  727. |32 |Towing: length exceeds 200m or breadth exceeds 25m
  728. |33 |Dredging or underwater ops
  729. |34 |Diving ops
  730. |35 |Military ops
  731. |36 |Sailing
  732. |37 |Pleasure Craft
  733. |38 |Reserved
  734. |39 |Reserved
  735. |40 |High speed craft (HSC), all ships of this type
  736. |41 |High speed craft (HSC), Hazardous category A
  737. |42 |High speed craft (HSC), Hazardous category B
  738. |43 |High speed craft (HSC), Hazardous category C
  739. |44 |High speed craft (HSC), Hazardous category D
  740. |45 |High speed craft (HSC), Reserved for future use
  741. |46 |High speed craft (HSC), Reserved for future use
  742. |47 |High speed craft (HSC), Reserved for future use
  743. |48 |High speed craft (HSC), Reserved for future use
  744. |49 |High speed craft (HSC), No additional information
  745. |50 |Pilot Vessel
  746. |51 |Search and Rescue vessel
  747. |52 |Tug
  748. |53 |Port Tender
  749. |54 |Anti-pollution equipment
  750. |55 |Law Enforcement
  751. |56 |Spare - Local Vessel
  752. |57 |Spare - Local Vessel
  753. |58 |Medical Transport
  754. |59 |Noncombatant ship according to RR Resolution No. 18
  755. |60 |Passenger, all ships of this type
  756. |61 |Passenger, Hazardous category A
  757. |62 |Passenger, Hazardous category B
  758. |63 |Passenger, Hazardous category C
  759. |64 |Passenger, Hazardous category D
  760. |65 |Passenger, Reserved for future use
  761. |66 |Passenger, Reserved for future use
  762. |67 |Passenger, Reserved for future use
  763. |68 |Passenger, Reserved for future use
  764. |69 |Passenger, No additional information
  765. |70 |Cargo, all ships of this type
  766. |71 |Cargo, Hazardous category A
  767. |72 |Cargo, Hazardous category B
  768. |73 |Cargo, Hazardous category C
  769. |74 |Cargo, Hazardous category D
  770. |75 |Cargo, Reserved for future use
  771. |76 |Cargo, Reserved for future use
  772. |77 |Cargo, Reserved for future use
  773. |78 |Cargo, Reserved for future use
  774. |79 |Cargo, No additional information
  775. |80 |Tanker, all ships of this type
  776. |81 |Tanker, Hazardous category A
  777. |82 |Tanker, Hazardous category B
  778. |83 |Tanker, Hazardous category C
  779. |84 |Tanker, Hazardous category D
  780. |85 |Tanker, Reserved for future use
  781. |86 |Tanker, Reserved for future use
  782. |87 |Tanker, Reserved for future use
  783. |88 |Tanker, Reserved for future use
  784. |89 |Tanker, No additional information
  785. |90 |Other Type, all ships of this type
  786. |91 |Other Type, Hazardous category A
  787. |92 |Other Type, Hazardous category B
  788. |93 |Other Type, Hazardous category C
  789. |94 |Other Type, Hazardous category D
  790. |95 |Other Type, Reserved for future use
  791. |96 |Other Type, Reserved for future use
  792. |97 |Other Type, Reserved for future use
  793. |98 |Other Type, Reserved for future use
  794. |99 |Other Type, no additional information
  795. |==============================================================
  796. Note that garbage values greater than 99 are supposed to be unused,
  797. but are not uncommon in the wild; AIS transmitters seem prone to put
  798. junk in this field when it's not explicitly set. Decoders should
  799. treat these like value 0 rather than throwing an exception until and
  800. unless the controlled vocabulary is extended to include the unknown
  801. values.
  802. === Type 6: Binary Addressed Message ===
  803. Message type 6 is an addressed point-to-point message with unspecified
  804. binary payload. The St. Lawrence Seaway AIS system, the USG PAWSS
  805. system, and the Port Authority of London use this payload for local
  806. extension messages. <<IMO236>> and <<IMO289>> describe payload use as
  807. international extension messages. This type is variable in length up
  808. to a maximum of 1008 bits (up to 5 AIVDM sentence payloads).
  809. //: Type 6
  810. [frame="topbot",options="header"]
  811. |==============================================================================
  812. |Field |Len |Description |Member |T|Units
  813. |0-5 | 6 |Message Type |type |u|Constant: 6
  814. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  815. |8-37 | 30 |Source MMSI |mmsi |u|9 decimal digits
  816. |38-39 | 2 |Sequence Number |seqno |u|Unsigned integer 0-3
  817. |40-69 | 30 |Destination MMSI |dest_mmsi |u|9 decimal digits
  818. |70 | 1 |Retransmit flag |retransmit|b|0 = no retransmit (default)
  819. 1 = retransmitted
  820. |71 | 1 |Spare | |x|Not used
  821. |72-81 | 10 |Designated Area Code |dac |u|Unsigned integer
  822. |82-87 | 6 |Functional ID |fid |u|Unsigned integer
  823. |88 |920 |Data |data |d|Binary data
  824. May be shorter than 920 bits.
  825. |==============================================================================
  826. Interpretation of the binary payload is controlled by:
  827. * The Designated Area Code, which is a jurisdiction code: 366 for the
  828. United States. It uses the same encoding as the area designator in
  829. MMMSIs; see <<ITU-MID>>. 1 designates international (ITU) messages.
  830. * The FID, which is the Functional ID for a message subtype. In some
  831. sources this is abbreviated FI.
  832. The following is a non-exhaustive list of standardized DAC-FID pairs
  833. in use for type 6. For an up-to-date list of registered application-specific messages,
  834. see <<IALA-ASM>>.
  835. |==============================================================================
  836. | DAC |FID | Source | Status | Description
  837. | 1 | 12 | <<IMO236>> | Deprecated | Dangerous cargo indication
  838. | 1 | 14 | <<IMO236>> | Deprecated | Tidal window
  839. | 1 | 16 | <<IMO236>> | Deprecated/In Use| Number of persons on board
  840. | 1 | 16 | <<IMO289>> | Standard | Number of persons on board
  841. | 1 | 18 | <<IMO289>> | Standard | Clearance time to enter port
  842. | 1 | 20 | <<IMO289>> | Standard | Berthing data (addressed)
  843. | 1 | 23 | <<IMO289>> | In use | Area notice (addressed)
  844. | 1 | 25 | <<IMO289>> | Standard | Dangerous Cargo indication
  845. | 1 | 28 | <<IMO289>> | Standard | Route info addressed
  846. | 1 | 30 | <<IMO289>> | Standard | Text description addressed
  847. | 1 | 32 | <<IMO289>> | Standard | Tidal Window
  848. | 200 | 21 | <<INLAND>> | Standard | ETA at lock/bridge/terminal
  849. | 200 | 22 | <<INLAND>> | Standard | RTA at lock/bridge/terminal
  850. | 200 | 55 | <<INLAND>> | Standard | Number of persons on board
  851. | 235 | 10 | <<IALA-A126>> | In use | AtoN monitoring data (UK)
  852. | 250 | 10 | <<IALA-A126>> | In use | AtoN monitoring data (ROI)
  853. |==============================================================================
  854. DAC/FID pairs are assigned separately per message type.
  855. Note that the apparent presence of one of these DAC/FID pairs does
  856. not guarantee that the message is structured. Decoders should
  857. perform range validation on the structured fields and interpret the
  858. message as unstructured if any check fails. (As of Aug 2014 no such
  859. collisions have been in the wild; but see the parallel note for Type 8.)
  860. A list of binary layouts for selected subtypes of message 6 follows.
  861. ==== IMO236 Dangerous Cargo Indication ====
  862. This message should be used as a response to a request for Dangerous
  863. Cargo Indication from a competent authority. The message content is
  864. used to identify the port where the documents for the dangerous goods
  865. cargo can be found, e. g. last and next port of call, and to allow
  866. the requesting authority to form a danger estimate.
  867. A message 6 subtype. DAC = 001 FID = 12. Fixed length: 360 bits.
  868. This is the <<IMO236>> version, now deprecated; there is a later
  869. <<IMO289>> version.
  870. //: Type 6(1/12)
  871. [frame="topbot",options="header"]
  872. |==============================================================================
  873. |Field |Len |Description |Member |T|Units
  874. |0-5 | 6 |Message Type |type |u|Constant: 6
  875. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  876. |8-37 | 30 |Source MMSI |mmsi |u|9 decimal digits
  877. |38-39 | 2 |Sequence Number |seqno |u|Unsigned integer 0-3
  878. |40-69 | 30 |Destination MMSI |dest_mmsi |u|9 decimal digits
  879. |70-70 | 1 |Retransmit flag |retransmit|u|0 = no retransmit (default),
  880. 1 = retransmitted
  881. |71-71 | 1 |Spare | |x|Not used
  882. |72-81 | 10 |DAC |dac |u|DAC = 001
  883. |82-87 | 6 |FID |fid |u|FID = 12
  884. |88-117 | 30 |Last Port Of Call |lastport |t|5 6-bit characters, UN locode
  885. |118-121 | 4 |ETA month (UTC) |lmonth |u|1-12, 0=N/A (default)
  886. |122-126 | 5 |ETA day (UTC) |lday |u|1-31, 0=N/A (default)
  887. |127-131 | 5 |ETA hour (UTC) |lhour |u|0-23, 24=N/A (default)
  888. |132-137 | 6 |ETA minute (UTC) |lminute |u|0-59, 60=N/A (default)
  889. |138-167 | 30 |Next Port Of Call |nextport |t|5 6-bit characters, UN locode
  890. |168-171 | 4 |ETA month (UTC) |nmonth |u|1-12, 0=N/A (default)
  891. |172-176 | 5 |ETA day (UTC) |nday |u|1-31, 0=N/A (default)
  892. |177-181 | 5 |ETA hour (UTC) |nhour |u|0-23, 24=N/A (default)
  893. |182-187 | 6 |ETA minute (UTC) |nminute |u|0-59, 60=N/A (default)
  894. |188-307 |120 |Main Dangerous Good |dangerous |t|20 6-bit characters
  895. |308-331 | 24 |IMD Category |imdcat |t|4 6-bit characters
  896. |332-344 | 13 |UN Number |unid |u|1-3363 UN Number
  897. |345-354 | 10 |Amount of Cargo |amount |u|Unsigned integer
  898. |355-356 | 2 |Unit of Quantity |unit |e|See "Cargo Unit Codes"
  899. |357-359 | 3 |Spare | |x|Not used
  900. |==============================================================================
  901. .Cargo Unit Codes
  902. [width="50%",frame="topbot",options="header"]
  903. |===================================
  904. |Code |Unit
  905. |0 |Not available (default)
  906. |1 |kg
  907. |2 |metric tons
  908. |3 |metric kilotons
  909. |===================================
  910. ==== IMO236 Tidal Window ====
  911. This message should be used by shore stations to inform vessels about
  912. tidal windows which allow a vessel the safe passage of a fairway. The
  913. message includes 1-3 predictions of current speed and current direction.
  914. Acknowledgment is required.
  915. A message 6 subtype. DAC = 001 FID = 14. Variable length: 190-376 bits
  916. This is the <<IMO236>> version; there is an <<IMO289>> version with
  917. different widths for the latitude, longitude, and current-speed fields
  918. (also the order of lat/lon is swapped).
  919. //: Type 6(1/14)
  920. [frame="topbot",options="header"]
  921. |==============================================================================
  922. |Field |Len |Description |Member |T|Units
  923. |0-5 | 6 |Message Type |type |u|Constant: 6
  924. |6-7 | 2 |Repeat Indicator |repeat |u|See Common Navigation Block
  925. |8-37 | 30 |Source MMSI |mmsi |u|9 decimal digits
  926. |38-39 | 2 |Sequence Number |seqno |u|Unsigned integer 0-3
  927. |40-69 | 30 |Destination MMSI |dest_mmsi |u|9 decimal digits
  928. |70-70 | 1 |Retransmit flag |retransmit|b|0 = no retransmit (default),
  929. 1 = retransmitted
  930. |71-71 | 1 |Spare | |x|Not used
  931. |72-81 | 10 |DAC |dac |u|DAC = 001
  932. |82-87 | 6 |FID |fid |u|FID = 14
  933. |88-91 | 4 |Month |month |u|1-12; 0 = N/A (default)
  934. |92-96 | 5 |Day |day |u|1-31; 0 = N/A (default)
  935. |97 | | |tidals |a3|Tidal information array
  936. |0-26 | 27 |Latitude |lat |I4|Unit = minutes * 0.0001,
  937. 91000 = N/A (default),
  938. N positive, S negative.
  939. |27-54 | 28 |Longitude |lon |I4|Unit = minutes * 0.0001,
  940. 181000 = N/A (default),
  941. E positive, W negative.
  942. |55-59 | 5 |From UTC Hour |from_hour |u|0-23, 24 = N/A (default)
  943. |60-65 | 6 |From UTC Minute |from_min |u|0-59, 60 = N/A (default)
  944. |66-70 | 5 |To UTC Hour |to_hour |u|0-23, 24 = N/A (default)
  945. |71-76 | 6 |To UTC Minute |to_min |u|0-59, 60 = N/A (default)
  946. |77-85 | 9 |Current Dir. Predicted |cdir |u|0-359 deg, 360-N/A (default)
  947. |86-92 | 7 |Current Speed Predicted|cspeed |U1|0-126, units of 0.1 knots,
  948. 127 = N/A (default).
  949. |=============================================================================
  950. The group of fields from longitude on may repeat twice more to convey up to
  951. three points of tidal information.
  952. ==== IMO236 Number of persons on board ====
  953. This message should be used by a ship to report the number of persons
  954. on board, e.g. on request by a competent authority. Acknowledgement
  955. required.
  956. A message 6 subtype. DAC = 001 FID = 16.
  957. <<IMO236>> describes a fixed-length, 72-bit message with this layout:
  958. [frame="topbot",options="header"]
  959. |==============================================================================
  960. |Field |Len |Description |Member |T|Units
  961. |0-5 | 6 |Message Type |type |u|Constant: 6
  962. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  963. |8-37 | 30 |Source MMSI |mmsi |u|9 decimal digits
  964. |38-39 | 2 |Spare | |x|Not used
  965. |40-49 | 10 |DAC |dac |u|DAC = 001
  966. |50-55 | 6 |FID |fid |u|FID = 16
  967. |55-68 | 14 |# persons on board |persons |u|Unsigned integer
  968. 0 = N/A (default)
  969. 8191 = >= 8191 persons.
  970. |69-71 | 3 |Spare | |x|Not used
  971. |==============================================================================
  972. OPEN-QUESTION: Note that though this is a message 6 subtype and
  973. described in <<IMO236>> with the attribute "addressed", there is no
  974. destination address. A strikeout in <<IMO236>> suggests that this was
  975. originally a subtype of 8. It would be good defensive implementation
  976. for a decoder to accept either. Bit length may be used to distinguish
  977. them.
  978. <<IMO289>> describes a fixed-length, 136-bit message with this layout:
  979. //: Type 6(1/16)
  980. [frame="topbot",options="header"]
  981. |==============================================================================
  982. |Field |Len |Description |Member |T|Units
  983. |0-5 | 6 |Message Type |type |u|Constant: 6
  984. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  985. |8-37 | 30 |Source MMSI |mmsi |u|9 decimal digits
  986. |38-39 | 2 |Sequence Number |seqno |u|Unsigned integer 0-3
  987. |40-69 | 30 |Destination MMSI |dest_mmsi |u|9 decimal digits
  988. |70-70 | 1 |Retransmit flag |retransmit|b|0 = no retransmit (default),
  989. 1 = retransmitted.
  990. |71-71 | 1 |Spare | |x|Not used
  991. |72-81 | 10 |DAC |dac |u|DAC = 001
  992. |82-87 | 6 |FID |fid |u|FID = 16
  993. |88-100 | 13 |# persons on board |persons |u|Unsigned integer,
  994. 0 = N/A (default),
  995. 8191 = >= 8191 persons.
  996. |101-135 | 35 |Spare | |x|Not used
  997. |==============================================================================
  998. ==== IMO289 Clearance Time To Enter Port ====
  999. This message provides specific ships with information on the port to call and
  1000. time to enter. It should be transmitted by an authority competent to grant
  1001. use of the port.
  1002. A message 6 subtype. DAC = 001 FID = 18. Fixed length: 360 bits.
  1003. //: Type 6(1/18)
  1004. [frame="topbot",options="header"]
  1005. |==============================================================================
  1006. |Field |Len |Description |Member |T|Units
  1007. |0-5 | 6 |Message Type |type |u|Constant: 6
  1008. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  1009. |8-37 | 30 |Source MMSI |mmsi |u|9 decimal digits
  1010. |38-39 | 2 |Sequence Number |seqno |u|Unsigned integer 0-3
  1011. |40-69 | 30 |Destination MMSI |dest_mmsi |u|9 decimal digits
  1012. |70-70 | 1 |Retransmit flag |retransmit |b|0 = no retransmit (default),
  1013. 1 = retransmitted.
  1014. |71-71 | 1 |Spare | |x|Not used
  1015. |72-81 | 10 |DAC |dac |u|DAC = 001
  1016. |82-87 | 6 |FID |fid |u|FID = 18
  1017. |88-97 | 10 |Message Linkage ID |linkage |u|Unsigned integer
  1018. |98-101 | 4 |Month (UTC) |month |u|1-12; 0 = N/A (default)
  1019. |102-106 | 5 |Day (UTC) |day |u|1-31; 0 = N/A (default)
  1020. |107-111 | 5 |Hour (UTC) |hour |u|0-23; 24 = N/A (default)
  1021. |112-117 | 6 |Minute (UTC) |minute |u|0-59; 60 = N/A (default)
  1022. |118-237 |120 |Name of Port & Berth |portname |t|20 6-bit characters
  1023. |238-267 | 30 |Destination |destination|t|5 6-bit characters
  1024. |268-292 | 25 |Longitude |lon |I3|Unit = minutes * 0.001,
  1025. 181000 = N/A (default).
  1026. |293-316 | 24 |Latitude |lat |I3|Unit = minutes * 0.001,
  1027. 91000 = N/A (default).
  1028. |317-359 | 43 |Spare | |x|Not used
  1029. |==============================================================================
  1030. ==== IMO 289 Berthing Data (addressed) ====
  1031. This message provides information on the ship's berth. If sent from a
  1032. ship it is a berthing request; if it is transmitted by a competent
  1033. authority it is a berthing assignment.
  1034. A message 6 subtype. DAC = 001 FID = 20. Fixed Length: 360 bits.
  1035. The 2-bit fields after "availability" describe services which may be
  1036. available at the berth. They are valid only if this master availability
  1037. bit is on.
  1038. //: Type 6(1/20)
  1039. [frame="topbot",options="header"]
  1040. |==============================================================================
  1041. |Field |Len |Description |Member/Type |T|Units
  1042. |0-5 | 6 |Message Type |type |u|Constant: 6
  1043. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  1044. |8-37 | 30 |Source MMSI |mmsi |u|9 decimal digits
  1045. |38-39 | 2 |Sequence Number |seqno |u|Unsigned integer 0-3
  1046. |40-69 | 30 |Destination MMSI |dest_mmsi |u|9 decimal digits
  1047. |70-70 | 1 |Retransmit flag |retransmit |b|0 = no retransmit (default)
  1048. 1 = retransmitted
  1049. |71-71 | 1 |Spare | |x|Not used
  1050. |72-81 | 10 |DAC |dac |u|AC = 001
  1051. |82-87 | 6 |FID |fid |u|ID = 20
  1052. |88-97 | 10 |Message Linkage ID |linkage |u|Unsigned integer
  1053. |98-106 | 9 |Berth length |berth_length|u|In 1m steps, 1-510m,
  1054. 511 = >= 511m
  1055. 0 = N/A (default).
  1056. |107-114 | 8 |Berth Water Depth |berth_depth |U1|0.1-25.4m in 0.1 steps
  1057. 255 = >= 25.5m
  1058. 0 = N/A (default)
  1059. |115-117 | 3 |Mooring Position |position |e|See "Mooring Position"
  1060. |118-121 | 4 |Month (UTC) |month |u|1-12; 0 = N/A (default)
  1061. |122-126 | 5 |Day (UTC) |day |u|1-31; 0 = N/A (default)
  1062. |127-131 | 5 |Hour (UTC) |hour |u|0-23; 24 = N/A (default)
  1063. |132-137 | 6 |Minute (UTC) |minute |u|0-59; 60 = N/A (default)
  1064. |138-138 | 1 |Services Availability|availability|b|0 = services unknown (default)
  1065. 1 = services known
  1066. |139-140 | 2 |Agent |agent |e|See "Service Status"
  1067. |141-142 | 2 |Bunker/fuel |fuel |e|See "Service Status"
  1068. |143-144 | 2 |Chandler |chandler |e|See "Service Status"
  1069. |145-146 | 2 |Stevedore |stevedore |e|See "Service Status"
  1070. |147-148 | 2 |Electrical |electrical |e|See "Service Status"
  1071. |149-150 | 2 |Potable water |water |e|See "Service Status"
  1072. |151-152 | 2 |Customs house |customs |e|See "Service Status"
  1073. |153-154 | 2 |Cartage |cartage |e|See "Service Status"
  1074. |155-156 | 2 |Crane(s) |crane |e|See "Service Status"
  1075. |157-158 | 2 |Lift(s) |lift |e|See "Service Status"
  1076. |159-160 | 2 |Medical facilities |medical |e|See "Service Status"
  1077. |161-162 | 2 |Navigation repair |navrepair |e|See "Service Status"
  1078. |163-164 | 2 |Provisions |provisions |e|See "Service Status"
  1079. |165-166 | 2 |Ship repair |shiprepair |e|See "Service Status"
  1080. |167-168 | 2 |Surveyor |surveyor |e|See "Service Status"
  1081. |169-170 | 2 |Steam |steam |e|See "Service Status"
  1082. |171-172 | 2 |Tugs |tugs |e|See "Service Status"
  1083. |173-174 | 2 |Waste disposal (solid) |solidwaste |e|See "Service Status"
  1084. |175-176 | 2 |Waste disposal (liquid) |liquidwaste |e|See "Service Status"
  1085. |177-178 | 2 |Waste disposal (hazardous)|hazardouswaste|e|See "Service Status"
  1086. |179-180 | 2 |Reserved ballast exchange |ballast |e|See "Service Status"
  1087. |181-182 | 2 |Additional services|additional |e|See "Service Status"
  1088. |183-184 | 2 |Regional reserved 1|regional1 |e|See "Service Status"
  1089. |185-186 | 2 |Regional reserved 2|regional2 |e|See "Service Status"
  1090. |187-188 | 2 |Reserved for future|future1 |e|See "Service Status"
  1091. |189-190 | 2 |Reserved for future|future2 |e|See "Service Status"
  1092. |191-310 |120 |Name of Berth |berth_name |t|20 6-bit characters
  1093. |311-335 | 25 |Longitude |berth_lon |I3|Minutes * 0.001,
  1094. 181000 = N/A (default)
  1095. |336-359 | 24 |Latitude |berth_lat |I3|Minutes * 0.001,
  1096. 91000 = N/A (default)
  1097. |==============================================================================
  1098. The UTC timestamp refers to the time requested or granted for berthing.
  1099. The longitude and latitude refer to the center of the berth.
  1100. .Mooring Position
  1101. [width="50%",frame="topbot",options="header"]
  1102. |===================================
  1103. |Code |Position
  1104. |0 |Not available (default)
  1105. |1 |Port-side to
  1106. |2 |Starboard-side to
  1107. |3 |Mediterranean (end-on) mooring
  1108. |4 |Mooring buoy
  1109. |5 |Anchorage
  1110. |6-7 |Reserved for future use
  1111. |===================================
  1112. .Service Status
  1113. [width="50%",frame="topbot",options="header"]
  1114. |=============================================================================
  1115. |Code |Meaning
  1116. |0 |Not available or requested (default)
  1117. |1 |Service available
  1118. |2 |No data or unknown
  1119. |3 |Not to be used
  1120. |=============================================================================
  1121. ==== IMO289 Area Notice (addressed) ====
  1122. This should be used to convey time- and location-dependent information about
  1123. hazards to navigation. For information-lifetime restrictions and usage
  1124. guidance, refer to <<ITU1371>>.
  1125. A message 6 subtype. DAC = 001 FID = 23. 230 to 1013 bits. There is a
  1126. related Message 8 subtype for broadcast use.
  1127. The message consists of a fixed-length header of 143 bits, followed by 1 to
  1128. 10 sub-area indications which are fixed-length records 87 bits long. Here
  1129. is the message header format:
  1130. //: Type 6(1/23)
  1131. .Area Notice (addressed) message header
  1132. [frame="topbot",options="header"]
  1133. |==============================================================================
  1134. |Field |Len |Description |Member |T|Units
  1135. |0-5 | 6 |Message Type |type |u|Constant: 6
  1136. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  1137. |8-37 | 30 |Source MMSI |mmsi |u|9 decimal digits
  1138. |38-39 | 2 |Sequence Number |seqno |u|Unsigned integer 0-3
  1139. |40-69 | 30 |Destination MMSI |dest_mmsi |u|9 decimal digits
  1140. |70-70 | 1 |Retransmit flag |retransmit |b|0 = no retransmit (default),
  1141. 1 = retransmitted.
  1142. |71-71 | 1 |Spare | |x|Not used
  1143. |72-81 | 10 |DAC |dac |u|DAC = 001
  1144. |82-87 | 6 |FID |fid |u|FID = 23
  1145. |88-97 | 10 |Message Linkage ID |linkage |u|Unsigned integer
  1146. |98-104 | 7 |Notice Description |notice |e|See "Area Notice Description"
  1147. |105-108 | 4 |Month (UTC) |month |u|1-12; 0 = N/A (default)
  1148. |109-113 | 5 |Day (UTC) |day |u|1-31; 0 = N/A (default)
  1149. |114-118 | 5 |Hour (UTC) |hour |u|0-23; 24 = N/A (default)
  1150. |119-124 | 6 |Minute (UTC) |minute |u|0-59; 60 = N/A (default)
  1151. |125-142 | 18 |Duration |duration |u|In minutes,
  1152. 262143 = N/A (default),
  1153. 0 = cancel this notice.
  1154. |143-145 | 3 |Subarea shape #1 |subarea type |u|0-5 (see "Subarea Types")
  1155. |146-229 | 84 |Subarea payload #1 |shape data |array|See "Subarea Payloads"
  1156. |230-232 | 3 |Subarea shape #2 |subarea type |u|0-5 (see "Subarea Types")
  1157. |233-316 | 84 |Subarea payload #2 |shape data |array|See "Subarea Payloads"
  1158. |317-319 | 3 |Subarea shape #3 |subarea type |u|0-5 (see "Subarea Types")
  1159. |320-403 | 84 |Subarea payload #3 |shape data |array|See "Subarea Payloads"
  1160. |404-406 | 3 |Subarea shape #4 |subarea type |u|0-5 (see "Subarea Types")
  1161. |407-490 | 84 |Subarea payload #4 |shape data |array|See "Subarea Payloads"
  1162. |491-493 | 3 |Subarea shape #5 |subarea type |u|0-5 (see "Subarea Types")
  1163. |494-577 | 84 |Subarea payload #5 |shape data |array|See "Subarea Payloads"
  1164. |578-580 | 3 |Subarea shape #6 |subarea type |u|0-5 (see "Subarea Types")
  1165. |581-664 | 84 |Subarea payload #6 |shape data |array|See "Subarea Payloads"
  1166. |665-667 | 3 |Subarea shape #7 |subarea type |u|0-5 (see "Subarea Types")
  1167. |668-751 | 84 |Subarea payload #7 |shape data |array|See "Subarea Payloads"
  1168. |752-754 | 3 |Subarea shape #8 |subarea type |u|0-5 (see "Subarea Types")
  1169. |755-838 | 84 |Subarea payload #8 |shape data |array|See "Subarea Payloads"
  1170. |839-841 | 3 |Subarea shape #9 |subarea type |u|0-5 (see "Subarea Types")
  1171. |842-925 | 84 |Subarea payload #9 |shape data |array|See "Subarea Payloads"
  1172. |926-928 | 3 |Subarea shape #10 |subarea type |u|0-5 (see "Subarea Types")
  1173. |929-1012| 84 |Subarea payload #10 |shape data |array|See "Subarea Payloads"
  1174. |==============================================================================
  1175. The Message Linkage field is, as usual, for linking to a textual explanatory
  1176. message sent with the same linkage ID. The standard says that in this context
  1177. it has the semantics of being an identifier of or reference to an area.
  1178. Notice description types are as follows:
  1179. .Area Notice Description
  1180. [frame="topbot"]
  1181. |==============================================================================
  1182. | 0| Caution Area: Marine mammals habitat
  1183. | 1| Caution Area: Marine mammals in area - reduce speed
  1184. | 2| Caution Area: Marine mammals in area - stay clear
  1185. | 3| Caution Area: Marine mammals in area - report sightings
  1186. | 4| Caution Area: Protected habitat - reduce speed
  1187. | 5| Caution Area: Protected habitat - stay clear
  1188. | 6| Caution Area: Protected habitat - no fishing or anchoring
  1189. | 7| Caution Area: Derelicts (drifting objects)
  1190. | 8| Caution Area: Traffic congestion
  1191. | 9| Caution Area: Marine event
  1192. | 10| Caution Area: Divers down
  1193. | 11| Caution Area: Swim area
  1194. | 12| Caution Area: Dredge operations
  1195. | 13| Caution Area: Survey operations
  1196. | 14| Caution Area: Underwater operation
  1197. | 15| Caution Area: Seaplane operations
  1198. | 16| Caution Area: Fishery – nets in water
  1199. | 17| Caution Area: Cluster of fishing vessels
  1200. | 18| Caution Area: Fairway closed
  1201. | 19| Caution Area: Harbor closed
  1202. | 20| Caution Area: Risk (define in associated text field)
  1203. | 21| Caution Area: Underwater vehicle operation
  1204. | 22| (reserved for future use)
  1205. | 23| Environmental Caution Area: Storm front (line squall)
  1206. | 24| Environmental Caution Area: Hazardous sea ice
  1207. | 25| Environmental Caution Area: Storm warning (storm cell or line of storms)
  1208. | 26| Environmental Caution Area: High wind
  1209. | 27| Environmental Caution Area: High waves
  1210. | 28| Environmental Caution Area: Restricted visibility (fog, rain, etc.)
  1211. | 29| Environmental Caution Area: Strong currents
  1212. | 30| Environmental Caution Area: Heavy icing
  1213. | 31| (reserved for future use)
  1214. | 32| Restricted Area: Fishing prohibited
  1215. | 33| Restricted Area: No anchoring.
  1216. | 34| Restricted Area: Entry approval required prior to transit
  1217. | 35| Restricted Area: Entry prohibited
  1218. | 36| Restricted Area: Active military OPAREA
  1219. | 37| Restricted Area: Firing – danger area.
  1220. | 38| Restricted Area: Drifting Mines
  1221. | 39| (reserved for future use)
  1222. | 40| Anchorage Area: Anchorage open
  1223. | 41| Anchorage Area: Anchorage closed
  1224. | 42| Anchorage Area: Anchorage prohibited
  1225. | 43| Anchorage Area: Deep draft anchorage
  1226. | 44| Anchorage Area: Shallow draft anchorage
  1227. | 45| Anchorage Area: Vessel transfer operations
  1228. | 46| (reserved for future use)
  1229. | 47| (reserved for future use)
  1230. | 48| (reserved for future use)
  1231. | 49| (reserved for future use)
  1232. | 50| (reserved for future use)
  1233. | 51| (reserved for future use)
  1234. | 52| (reserved for future use)
  1235. | 53| (reserved for future use)
  1236. | 54| (reserved for future use)
  1237. | 55| (reserved for future use)
  1238. | 56| Security Alert - Level 1
  1239. | 57| Security Alert - Level 2
  1240. | 57| Security Alert - Level 3
  1241. | 59| (reserved for future use)
  1242. | 60| (reserved for future use)
  1243. | 61| (reserved for future use)
  1244. | 62| (reserved for future use)
  1245. | 63| (reserved for future use)
  1246. | 64| Distress Area: Vessel disabled and adrift
  1247. | 65| Distress Area: Vessel sinking
  1248. | 66| Distress Area: Vessel abandoning ship
  1249. | 67| Distress Area: Vessel requests medical assistance
  1250. | 68| Distress Area: Vessel flooding
  1251. | 69| Distress Area: Vessel fire/explosion
  1252. | 70| Distress Area: Vessel grounding
  1253. | 71| Distress Area: Vessel collision
  1254. | 72| Distress Area: Vessel listing/capsizing
  1255. | 73| Distress Area: Vessel under assault
  1256. | 74| Distress Area: Person overboard
  1257. | 75| Distress Area: SAR area
  1258. | 76| Distress Area: Pollution response area
  1259. | 77| (reserved for future use)
  1260. | 78| (reserved for future use)
  1261. | 79| (reserved for future use)
  1262. | 80| Instruction: Contact VTS at this point/juncture
  1263. | 81| Instruction: Contact Port Administration at this point/juncture
  1264. | 82| Instruction: Do not proceed beyond this point/juncture
  1265. | 83| Instruction: Await instructions prior to proceeding beyond this point/juncture
  1266. | 84| Proceed to this location – await instructions
  1267. | 85| Clearance granted – proceed to berth
  1268. | 86| (reserved for future use)
  1269. | 87| (reserved for future use)
  1270. | 88| Information: Pilot boarding position
  1271. | 89| Information: Icebreaker waiting area
  1272. | 90| Information: Places of refuge
  1273. | 91| Information: Position of icebreakers
  1274. | 92| Information: Location of response units
  1275. | 93| VTS active target
  1276. | 94| Rogue or suspicious vessel
  1277. | 95| Vessel requesting non-distress assistance
  1278. | 96| Chart Feature: Sunken vessel
  1279. | 97| Chart Feature: Submerged object
  1280. | 98| Chart Feature: Semi-submerged object
  1281. | 99| Chart Feature: Shoal area
  1282. |100| Chart Feature: Shoal area due north
  1283. |101| Chart Feature: Shoal area due east
  1284. |102| Chart Feature: Shoal area due south
  1285. |103| Chart Feature: Shoal area due west
  1286. |104| Chart Feature: Channel obstruction
  1287. |105| Chart Feature: Reduced vertical clearance
  1288. |106| Chart Feature: Bridge closed
  1289. |107| Chart Feature: Bridge partially open
  1290. |108| Chart Feature: Bridge fully open
  1291. |109| (reserved for future use)
  1292. |110| (reserved for future use)
  1293. |111| (reserved for future use)
  1294. |112| Report from ship: Icing info
  1295. |113| (reserved for future use)
  1296. |114| Report from ship: Miscellaneous information – define in associated text field
  1297. |115| (reserved for future use)
  1298. |116| (reserved for future use)
  1299. |117| (reserved for future use)
  1300. |118| (reserved for future use)
  1301. |119| (reserved for future use)
  1302. |120| Route: Recommended route
  1303. |121| Route: Alternative route
  1304. |122| Route: Recommended route through ice
  1305. |123| (reserved for future use)
  1306. |124| (reserved for future use)
  1307. |125| Other – Define in associated text field
  1308. |126| Cancellation – cancel area as identified by Message Linkage ID
  1309. |127| Undefined (default)
  1310. |==============================================================================
  1311. Subarea types are as follows:
  1312. [frame="topbot"]
  1313. |==============================================================================
  1314. | 0 | Circle or point
  1315. | 1 | Rectangle
  1316. | 2 | Sector
  1317. | 3 | Polyline
  1318. | 4 | Polygon
  1319. | 5 | Associated text
  1320. | 6-7 | Reserved
  1321. |==============================================================================
  1322. Subarea payload layouts are as follows:
  1323. .Circle or Point
  1324. [frame="topbot",options="header"]
  1325. |==============================================================================
  1326. |Field |Len |Description |Member/Type |T|Units
  1327. |0-2 | 3 |Shape of area |shape |e|Constant: 0
  1328. |3-4 | 2 |Scale factor |scale |u|Power of 10 for area dimensions;
  1329. 10^0 = scale factor 1 (default)
  1330. |5-29 | 25 |Longitude |lon |I3|Longitude of center point,
  1331. Unit = minutes * 0.001,
  1332. 181000 = N/A (default).
  1333. |30-53 | 24 |Latitude |lat |I3|Latitude of center point,
  1334. Unit = minutes * 0.001,
  1335. 91000 = N/A (default).
  1336. |54-56 | 3 |Precision |precision |u|Decimal places of precision
  1337. (defaults to 4)
  1338. |57-68 | 12 |Radius |radius |u|Radius of area
  1339. 0 = point (default),
  1340. else 1-4095 * 10^scale m
  1341. |69-86 | 18 |Spare | |x|Not used
  1342. |==============================================================================
  1343. .Rectangle
  1344. [frame="topbot",options="header"]
  1345. |==============================================================================
  1346. |Field |Len |Description |Member/Type |T|Units
  1347. |0-2 | 3 |Shape of area |shape |e|Constant: 1
  1348. |3-4 | 2 |Scale factor |scale |u|Power of 10 for area dimensions;
  1349. 10^0 = scale factor 1 (default)
  1350. |5-29 | 25 |Longitude |lon |I3|Longitude of SW corner
  1351. Unit = minutes * 0.001,
  1352. 181000 = N/A (default).
  1353. |30-53 | 24 |Latitude |lat |I3|Latitude of SW corner
  1354. Unit = minutes * 0.001,
  1355. 91000 = N/A (default).
  1356. |54-56 | 3 |Precision |precision |u|Decimal places of precision
  1357. (defaults to 4)
  1358. |57-64 | 8 |E dimension |east |u|Box dimension east
  1359. 0 = N/S line (default),
  1360. else 1-255 * 10^scale m
  1361. |65-72 | 8 |N dimension |north |u|Box dimension north
  1362. 0 = E/W line (default),
  1363. else 1-255 * 10^scale m
  1364. |73-81 | 9 |Orientation |orientation |u|Degrees clockwise from true N,
  1365. 0 = no rotation (default),
  1366. else 1-359,
  1367. 360-511 reserved.
  1368. |82-86 | 5 |Spare | |x|Not used
  1369. |==============================================================================
  1370. .Sector
  1371. [frame="topbot",options="header"]
  1372. |==============================================================================
  1373. |Field |Len |Description |Member/Type |T|Units
  1374. |0-2 | 3 |Shape of area |shape |e|Constant: 2
  1375. |3-4 | 2 |Scale factor |scale |u|Power of 10 for area dimensions;
  1376. 10^0 = scale factor 1 (default)
  1377. |5-29 | 25 |Longitude |lon |I3|Longitude of center point,
  1378. Unit = minutes * 0.001,
  1379. 181000 = N/A (default).
  1380. |30-53 | 24 |Latitude |lat |I3|Latitude of center point,
  1381. Unit = minutes * 0.001,
  1382. 91000 = N/A (default).
  1383. |54-56 | 3 |Precision |precision |u|Decimal places of precision
  1384. (defaults to 4)
  1385. |57-68 | 12 |Radius |radius |u|Radius of area
  1386. 0 = point (default),
  1387. else 1-4095 * 10^scale m
  1388. |69-77 | 9 |Left boundary |left |u|Degrees clockwise from true N,
  1389. 0 = no rotation (default),
  1390. else 1-359,
  1391. 360-511 reserved.
  1392. |78-86 | 9 |Right boundary |right |u|Degrees clockwise from true N,
  1393. 0 = no rotation (default),
  1394. else 1-359,
  1395. 360-511 reserved.
  1396. |==============================================================================
  1397. .Polyline
  1398. [frame="topbot",options="header"]
  1399. |==============================================================================
  1400. |Field |Len |Description |Member/Type |T|Units
  1401. |0-2 | 3 |Shape of area |shape |e|Constant: 3
  1402. |3-4 | 2 |Scale factor |scale |u|Power of 10 for area dimensions;
  1403. 10^0 = scale factor 1 (default)
  1404. |5 | | |waypoints |a4|Waypoints array
  1405. |0-9 |10 |Bearing |bearing |u|True bearing in half-degree
  1406. steps from previous waypoint;
  1407. 720 = N/A (default).
  1408. |10-19 |10 |Distance |distance |u|Distance from prev. waypoint,
  1409. 0 = no point (default),
  1410. else 1-1023 * 10^scale m
  1411. |==============================================================================
  1412. The last two fields are repeated 4 times; the final 2 bits of 87 are
  1413. unused. A polyline must be preceded by either (a) a circle, in which
  1414. case the first bearing is from the center, or (b) a polyline, in which
  1415. case the first bearing is from the implied last point.
  1416. .Polygon
  1417. [frame="topbot",options="header"]
  1418. |==============================================================================
  1419. |Field |Len |Description |Member/Type |T|Units
  1420. |0-2 | 3 |Shape of area |shape |e|Constant: 4
  1421. |3-4 | 2 |Scale factor |scale |u|Power of 10 for area dimensions;
  1422. 10^0 = scale factor 1 (default)
  1423. |5 | | |vertices |a4|Vertices array
  1424. |0-9 |10 |Bearing |bearing |u|True bearing in half-degree
  1425. steps from previous vertex;
  1426. 720 = N/A (default).
  1427. |10-19 |10 |Distance |distance |u|Distance from prev. vertex,
  1428. |==============================================================================
  1429. The last two fields are repeated 4 times; the final 2 bits of 87 are
  1430. unused. A polygon must be preceded by a circle; the first bearing is
  1431. from the circle center, which is treated as the zero vertex. There is
  1432. an implied boundary from the last polygon vertex to the zero vertex.
  1433. .Associated text
  1434. [frame="topbot",options="header"]
  1435. |==============================================================================
  1436. |Field |Len |Description |Member/Type |T|Units
  1437. |0-2 | 3 |Shape of area |shape |e|Constant: 5
  1438. |3-86 |84 |Text |text |t|14 chars of packed 6-bit.
  1439. |==============================================================================
  1440. ==== IMO289 Dangerous Cargo Indication ====
  1441. See the IMO236 variant for the meaning of this message.
  1442. A message 6 subtype. DAC = 001 FID = 25. Variable length: 117-576 bits.
  1443. This is the <<IMO289>> version; there is an earlier <<IMO236>> version
  1444. with a different layout, deprecated in <<IMO289>>.
  1445. //: Type 6(1/25)
  1446. [frame="topbot",options="header"]
  1447. |==============================================================================
  1448. |Field |Len |Description |Member |T|Units
  1449. |0-5 | 6 |Message Type |type |u|Constant: 6
  1450. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  1451. |8-37 | 30 |Source MMSI |mmsi |u|9 decimal digits
  1452. |38-39 | 2 |Sequence Number |seqno |u|Unsigned integer 0-3
  1453. |40-69 | 30 |Destination MMSI |dest_mmsi |u|9 decimal digits
  1454. |70-70 | 1 |Retransmit flag |retransmit|b|0 = no retransmit (default)
  1455. 1 = retransmitted
  1456. |71-71 | 1 |Spare | |x|Not used
  1457. |72-81 | 10 |DAC |dac |u|DAC = 001
  1458. |82-87 | 6 |FID |fid |u|FID = 25
  1459. |88-89 | 2 |Unit of Quantity |unit |e|See "Cargo Unit Codes"
  1460. |90-99 | 10 |Amount of Cargo |amount |u|Unsigned integer
  1461. 0 = N/A (default)
  1462. 0 = N/A (default)
  1463. |100 | | |cargos |a28|Cargo types array
  1464. |0-3 | 4 |Cargo code |code |e|See "Cargo Codes"
  1465. |4-16 | 13 |Cargo subtype |subtype |u|Unsigned integer
  1466. 0 = N/A (default)
  1467. |==============================================================================
  1468. The last two fields may repeat to describe up to 28 subcargos. The count
  1469. of repetitions must be computed from the message payload length.
  1470. For cargo unit codes, see the description of the IMO236 variant of
  1471. this message.
  1472. .Cargo Codes
  1473. [width="50%",frame="topbot",options="header"]
  1474. |===================================
  1475. |Code |Code under which cargo is carried
  1476. |0 |Not available (default)
  1477. |1 |IMDG Code (in packed form)
  1478. |2 |IGC code
  1479. |3 |BC Code (from 1.1.2011 IMSBC)
  1480. |4 |MARPOL Annex I List of oils (Appendix 1)
  1481. |5 |MARPOL Annex II IBC Code
  1482. |6 |Regional use
  1483. |7-15 |Reserved for future use
  1484. |===================================
  1485. The subtype field may be interpreted as an IMDG class or division code
  1486. (if the cargotype is 1 = IMDG code) or as a UN number (if the
  1487. cargotype is 2 = IGC code) or as a pair of BC class and IMDG class (if
  1488. the cargotype is 3 = BC code) or as a MARPOL Annex I code (if
  1489. the cargotype is 4 = MARPOL Annex I) or as a MARPOL Annex II code (if
  1490. the cargotype is 5 = MARPOL Annex II).
  1491. .Dangerous Cargo Indication: MARPOL Annex I list of oils
  1492. [width="50%",frame="topbot"]
  1493. |===================================
  1494. |0 | N/A (default)
  1495. |1 | asphalt solutions
  1496. |2 | oils
  1497. |3 | distillates
  1498. |4 | gas oil
  1499. |5 | gasoline blending stocks
  1500. |6 | gasoline
  1501. |7 | jet fuels
  1502. |8 | naphtha
  1503. |9-15 | reserved for future use
  1504. |===================================
  1505. .Dangerous Cargo Indication: MARPOL Annex II list of oils
  1506. [width="50%",frame="topbot"]
  1507. |===================================
  1508. |0 | N/A (default)
  1509. |1 | Category X
  1510. |2 | Category Y
  1511. |3 | Category Z
  1512. |4 | Other substances
  1513. |5-7 | reserved for future use
  1514. |===================================
  1515. ==== IMO289 Route Information (addressed) ====
  1516. The content of this message is a time and a list of waypoints describing a
  1517. course. It has a broadcast equivalent that is a message 8 subtype.
  1518. A message 6 subtype. DAC = 001 FID = 28. Variable length: 204-1029 bits.
  1519. //: Type 6(1/28)
  1520. [frame="topbot",options="header"]
  1521. |==============================================================================
  1522. |Field |Len |Description |Member |T|Units
  1523. |0-5 | 6 |Message Type |type |u|Constant: 6
  1524. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  1525. |8-37 | 30 |Source MMSI |mmsi |u|9 decimal digits
  1526. |38-39 | 2 |Sequence Number |seqno |u|Unsigned integer 0-3
  1527. |40-69 | 30 |Destination MMSI |dest_mmsi |u|9 decimal digits
  1528. |70-70 | 1 |Retransmit flag |retransmit|b|0 = no retransmission (default),
  1529. 1 = retransmitted.
  1530. |71-71 | 1 |Spare | |x|Not used
  1531. |72-81 | 10 |DAC |dac |u|DAC = 001
  1532. |82-87 | 6 |FID |fid |u|FID = 28
  1533. |88-97 | 10 |Message Linkage ID|linkage |u|Unsigned integer
  1534. |98-100 | 3 |Sender Class |sender |u|0 = ship (default),
  1535. 1 = authority,
  1536. 27 = reserved for future use
  1537. |101-105 | 5 |Route Type |rtype |e|See "Route Type Codes"
  1538. |106-109 | 4 |Start month (UTC) |month |u|1-12, 0=N/A (default)
  1539. |110-114 | 5 |Start day (UTC) |day |u|1-31, 0=N/A (default)
  1540. |115-119 | 5 |Start hour (UTC) |hour |u|0-23, 24=N/A (default)
  1541. |120-125 | 6 |Start minute (UTC)|minute |u|0-59, 60=N/A (default)
  1542. |126-143 | 18 |Duration |duration |u|Minutes from start time,
  1543. 0 = cancel route,
  1544. 262,143 = N/A (default),
  1545. |144-148 | 5 | |waycount |u|Waypoint count (1-16),
  1546. Values 17-31 are not used.
  1547. |149 | | |waypoints |a^16|Waypoint array
  1548. |0-27 | 28 |Longitude |lon |I4|Minutes * 0.0001,
  1549. 181000 = N/A (default),
  1550. E positive, W negative.
  1551. |28-54 | 27 |Latitude |lat |I4|Minutes * 0.0001,
  1552. 91000 = N/A (default),
  1553. N positive, S negative.
  1554. |==============================================================================
  1555. The final pair of fields in the table above is a waypoint. The message may
  1556. end with 1 to 16 waypoints.
  1557. .Route Type Codes
  1558. [width="50%",frame="topbot"]
  1559. |===================================
  1560. |0 |Undefined (default)
  1561. |1 |Mandatory
  1562. |2 |Recommended
  1563. |3 |Alternative
  1564. |4 |Recommended route through ice
  1565. |5 |Ship route plan
  1566. |6-30 |Reserved for future usage
  1567. |31 |Cancel route identified by message linkage
  1568. |===================================
  1569. ==== IMO289 Text description (addressed) ====
  1570. This message may be used to attach a text description to another message with
  1571. a Message Linkage ID matching this one. It is intended that the combination
  1572. of MMSI and Message Linkage ID should be unique.
  1573. A message 6 subtype. DAC = 001 FID = 30. Variable length: 104-1028 bits.
  1574. Intended to be used to associate a text annotation with another message
  1575. via the Message Linkage ID field.
  1576. //: Type 6(1/30)
  1577. [frame="topbot",options="header"]
  1578. |==============================================================================
  1579. |Field |Len |Description |Member |T|Units
  1580. |0-5 | 6 |Message Type |type |u|Constant: 6
  1581. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  1582. |8-37 | 30 |Source MMSI |mmsi |u|9 decimal digits
  1583. |38-39 | 2 |Sequence Number |seqno |u|Unsigned integer 0-3
  1584. |40-69 | 30 |Destination MMSI |dest_mmsi |u|9 decimal digits
  1585. |70-70 | 1 |Retransmit flag |retransmit |u|0 = no retransmit (default),
  1586. 1 = retransmitted
  1587. |71-71 | 1 |Spare | |x|Not used
  1588. |72-81 | 10 |DAC |dac |u|DAC = 001
  1589. |82-87 | 6 |FID |fid |u|FID = 30
  1590. |88-97 | 10 |Message Linkage ID|linkage |u|Unsigned integer
  1591. |98-? | 6-930 |Description |description|t|String
  1592. |==============================================================================
  1593. There is an equivalent subtype of message 8 that is a broadcast description.
  1594. ==== Tidal Window (IMO289) ====
  1595. See the <<IMO239>> version of this message for intended meaning.
  1596. A message 6 subtype. DAC = 001 FID = 32. Variable length: 186-362 bits.
  1597. This is the <<IMO289>> version; there is an <<IMO289>> version with
  1598. different bit widths for the latitude and longitude fields.
  1599. //: Type 6(1/32)
  1600. [frame="topbot",options="header"]
  1601. |==============================================================================
  1602. |Field |Len |Description |Member |T|Units
  1603. |0-5 | 6 |Message Type |type |u|Constant: 6
  1604. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  1605. |8-37 | 30 |Source MMSI |mmsi |u|9 decimal digits
  1606. |38-39 | 2 |Sequence Number |seqno |u|Unsigned integer 0-3
  1607. |40-69 | 30 |Destination MMSI |dest_mmsi |u|9 decimal digits
  1608. |70-70 | 1 |Retransmit flag |retransmit|b|0 = no retransmit (default),
  1609. 1 = retransmitted
  1610. |71-71 | 1 |Spare | |x|Not used
  1611. |72-81 | 10 |DAC |dac |u|DAC = 001
  1612. |82-87 | 6 |FID |fid |u|FID = 32
  1613. |88-91 | 4 |Month |month |u|1-12; 0 = N/A (default)
  1614. |92-96 | 5 |Day |day |u|1-31; 0 = N/A (default)
  1615. |97 | | |tidals |a3|Tidal information array
  1616. |0-24 | 25 |Longitude |lon |I3|Unit = minutes * 0.001,
  1617. 181000 = N/A (default),
  1618. E positive, W negative.
  1619. |25-48 | 24 |Latitude |lat |I3|Unit = minutes * 0.001.
  1620. 91000 = N/A (default),
  1621. N positive, S negative.
  1622. |49-53 | 5 |From UTC Hour |from_hour |u|0-23, 24 = N/A (default)
  1623. |54-59 | 6 |From UTC Minute |from_min |u|0-59, 60 = N/A (default)
  1624. |60-64 | 5 |To UTC Hour |to_hour |u|0-23, 24 = N/A (default)
  1625. |65-70 | 6 |To UTC Minute |to_min |u|0-59, 60 = N/A (default)
  1626. |71-79 | 9 |Current Dir. Predicted |cdir |u|0-359 true bearing,
  1627. 360 = N/A (default).
  1628. |80-87 | 8 |Current Speed Predicted|cspeed |U1|0-250, units of 0.1 knots,
  1629. 251 = speed >= 25.1 knots,
  1630. 255 = N/A (default).
  1631. |=============================================================================
  1632. The group of fields from longitude on may repeat twice more to convey up to
  1633. three points of tidal information.
  1634. ==== ETA at lock/bridge/terminal (Inland AIS) ====
  1635. A message 6 subtype. DAC = 200 FID = 21. Fixed length, 248 bits.
  1636. Should be used by inland vessels only, to send an ETA report to a
  1637. lock, bridge or terminal in order to apply for a time slot in resource
  1638. planning.
  1639. An acknowledgement by Inland AIS message 22 should be received within
  1640. 15 minutes. Otherwise, the Inland AIS message 21 should be repeated
  1641. once.
  1642. //: Type 6(200/21)
  1643. [frame="topbot",options="header"]
  1644. |==============================================================================
  1645. |Field |Len |Description |Member |T|Units
  1646. |0-5 | 6 |Message Type |type |u|Constant: 6
  1647. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  1648. |8-37 | 30 |Source MMSI |mmsi |u|9 decimal digits
  1649. |38-39 | 2 |Sequence Number |seqno |u|Unsigned integer 0-3
  1650. |40-69 | 30 |Destination MMSI |dest_mmsi |u|9 decimal digits
  1651. |70 | 1 |Retransmit flag |retransmit|u|0 = no retransmit (default),
  1652. 1 = retransmitted
  1653. |71 | 1 |Spare | |x|Not used
  1654. |72-81 | 10 |DAC |dac |u|DAC = 200
  1655. |82-87 | 6 |FID |fid |u|FID = 21
  1656. |88-99 | 12 |UN Country Code |country |t|2 six-bit characters
  1657. |100-117 | 18 |UN/LOCODE |locode |t|3 six-bit characters
  1658. |118-147 | 30 |Fairway section |section |t|5 six-bit characters
  1659. |148-177 | 30 |Terminal code |terminal |t|5 six-bit characters
  1660. |178-207 | 30 |Fairway hectometre |hectometre|t|5 six-bit characters
  1661. |208-211 | 4 |ETA month |month |u|1-12, 0=N/A (default)
  1662. |212-216 | 5 |ETA day |day |u|1-31, 0=N/A (default)
  1663. |217-221 | 5 |ETA hour |hour |u|0-23, 24=N/A (default)
  1664. |222-227 | 6 |ETA minute |minute |u|0-59, 60=N/A (default)
  1665. |228-230 | 3 |Assisting Tugs |tugs |u|0-6, 7 = unknown (default)
  1666. |231-242 | 12 |Air Draught |airdraught|u|0-4000 * 0.01m,
  1667. 0 = Unknown (default)
  1668. |243-247 | 5 |Spare | |x|Not used
  1669. |==============================================================================
  1670. <<INLAND>> says of the Destination MMSI field "a virtual MMSI number
  1671. should be used for each country, each national AIS network should
  1672. route messages addressed to other countries using this virtual MMSI
  1673. number".
  1674. OPEN-QUESTION: <<INLAND>> does not specify whether ETA time is UTC
  1675. or local.
  1676. ==== RTA at lock/bridge/terminal (Inland AIS) ====
  1677. A message 6 subtype. DAC = 200 FID = 22. Fixed length, 232 bits.
  1678. This message should be sent by base stations only, to assign a RTA at
  1679. a lock, bridge or terminal to a certain vessel in response to the
  1680. preceding ETA request.
  1681. [frame="topbot",options="header"]
  1682. |==============================================================================
  1683. |Field |Len |Description |Member |T|Units
  1684. |0-5 | 6 |Message Type |type |u|Constant: 6
  1685. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  1686. |8-37 | 30 |Source MMSI |mmsi |u|9 decimal digits
  1687. |38-39 | 2 |Sequence Number |seqno |u|Unsigned integer 0-3
  1688. |40-69 | 30 |Destination MMSI |dest_mmsi |u|9 decimal digits
  1689. |70-70 | 1 |Retransmit flag |retransmit|u|0 = no retransmit (default),
  1690. 1 = retransmitted
  1691. |71-71 | 1 |Spare | |x|Not used
  1692. |72-81 | 10 |DAC |dac |u|DAC = 200
  1693. |82-87 | 6 |FID |fid |u|FID = 21
  1694. |88-99 | 12 |UN Country Code |country |t|2 six-bit characters
  1695. |100-117 | 18 |UN/LOCODE |locode |t|3 six-bit characters
  1696. |118-147 | 30 |Fairway section |section |t|5 six-bit characters
  1697. |148-177 | 30 |Terminal code |terminal |t|5 six-bit characters
  1698. |178-207 | 30 |Fairway hectometre |hectometre|t|5 six-bit characters
  1699. |208-211 | 4 |RTA month |month |u|1-12, 0=N/A (default)
  1700. |212-216 | 5 |RTA day |day |u|1-31, 0=N/A (default)
  1701. |217-221 | 5 |RTA hour |hour |u|0-23, 24=N/A (default)
  1702. |222-227 | 6 |RTA minute |minute |u|0-59, 60=N/A (default)
  1703. |228-229 | 2 |Status |status |e|See "Status Codes" below
  1704. |230-231 | 2 |Spare | |x|Not used
  1705. |==============================================================================
  1706. OPEN-QUESTION: <<INLAND>> does not specify whether ETA time is UTC
  1707. or local.
  1708. OPEN-QUESTION: No default is specified for the Status field.
  1709. .Lock/Bridge/Terminal status codes
  1710. [frame="topbot"]
  1711. |==============================================================================
  1712. | 0 | Operational
  1713. | 1 | Limited operation
  1714. | 2 | Out of order
  1715. | 3 | N/A
  1716. |==============================================================================
  1717. ==== Number of persons on board (Inland AIS) ====
  1718. This message should be sent by inland vessels only, to inform about
  1719. the number of persons (passengers, crew, and shipboard personnel) on
  1720. board.
  1721. A message 6 subtype. DAC = 200 FID = 55. Fixed length, 168 bits.
  1722. //: Type 6(200/55)
  1723. [frame="topbot",options="header"]
  1724. |==============================================================================
  1725. |Field |Len |Description |Member |T|Units
  1726. |0-5 | 6 |Message Type |type |u|Constant: 6
  1727. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  1728. |8-37 | 30 |Source MMSI |mmsi |u|9 decimal digits
  1729. |38-39 | 2 |Sequence Number |seqno |u|Unsigned integer 0-3
  1730. |40-69 | 30 |Destination MMSI |dest_mmsi |u|9 decimal digits
  1731. |70-70 | 1 |Retransmit flag |retransmit|u|0 = no retransmit (default),
  1732. 1 = retransmitted
  1733. |71-71 | 1 |Spare | |x|Not used
  1734. |72-81 | 10 |DAC |dac |u|DAC = 200
  1735. |82-87 | 6 |FID |fid |u|FID = 55
  1736. |88-95 | 8 |# crew on board |crew |u|Unsigned integer
  1737. 0-254,
  1738. 255 = Unknown (default)
  1739. |96-108 | 13 |# passengers on board|passengers|u|Unsigned integer
  1740. 0-8190,
  1741. 8191 = Unknown (default)
  1742. |109-116 | 8 |# personnel on board |personnel |u|Unsigned integer
  1743. 0-254,
  1744. 255 = Unknown (default)
  1745. |117-167 | 51 |Spare | |x|Not used
  1746. |==============================================================================
  1747. ==== AtoN monitoring data (GLA) ====
  1748. This message provides AtoN (Aid to navigation) monitoring data for the General
  1749. Lighthouse Authorities (GLA), which consists of Trinity House (England &
  1750. Wales), Northern Lighthouse Board (Scotland) and the Commissioners of Irish
  1751. Lights (Ireland). It is described in <<IALA-A126>>.
  1752. A message 6 subtype. DAC = 235 or 250 FID = 10. Fixed length: 136 bits.
  1753. DAC and FI are user configurable, DAC=235/FI=10 is used in UK, DAC=250/FI=10
  1754. in the Republic Of Ireland.
  1755. The interval between the transmissions of these messages will be synchronized
  1756. with message 21, although not necessarily at the same reporting rate. If
  1757. Message 21 is not used at a particular site, then the reporting interval
  1758. should be selected to minimize the power requirement of the transponder,
  1759. whilst still providing enough data to enable meaningful diagnostic analysis.
  1760. OPEN-QUESTION: <<INLAND>> lists a broadcast (type 8) variant of this
  1761. message, but without indicating how the Destination MMSI field is to
  1762. be set or interpreted. Robust implementations should accept and
  1763. process this variant.
  1764. //: Type 6(235-250:10)
  1765. [frame="topbot",options="header"]
  1766. |==============================================================================
  1767. |Field |Len |Description |Member |T|Units
  1768. |0-5 | 6 |Message Type |type |u|Constant: 6
  1769. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  1770. |8-37 | 30 |Source MMSI |mmsi |u|9 decimal digits
  1771. |38-39 | 2 |Sequence Number |seqno |u|Unsigned integer 0-3
  1772. |40-69 | 30 |Destination MMSI |dest_mmsi |u|9 decimal digits
  1773. |70-70 | 1 |Retransmit flag |retransmit |u|0 = no retransmit (default),
  1774. 1 = retransmitted
  1775. |71-71 | 1 |Spare | |x|Not used
  1776. |72-81 | 10 |DAC |dac |u|DAC = 235 or 250
  1777. |82-87 | 6 |FID |fid |u|FID = 10
  1778. |88-97 | 10 |Analogue |ana_int |u|0.05-36V, 0.05V step
  1779. Supply voltage to AIS Unit
  1780. 0 = Not Used
  1781. |98-107 | 10 |Analogue (ext. #1)|ana_ext1 |u|0.05-36V, 0.05V step
  1782. 0 = Not Used
  1783. |108-117 | 10 |Analogue (ext. #2)|ana_ext2 |u|0.05-36V, 0.05V step
  1784. 0 = Not Used
  1785. |118-119 | 2 |RACON status |racon |u|00 = no RACON installed
  1786. 01 = RACON not monitored
  1787. 10 = RACON operational
  1788. 11 = RACON ERROR
  1789. |120-121 | 2 |Light status |light |u|00 = no light or no monitoring
  1790. 01 = Light ON
  1791. 10 = Light OFF
  1792. 11 = Light ERROR
  1793. |122 | 1 |Health |health |b|0 = Good Health, 1 = Alarm
  1794. |123-130 | 8 |Status (external) |stat_ext |u|7 Digital Input 0=Off, 1=On
  1795. :
  1796. :
  1797. 0 Digital Input 0=Off, 1=On
  1798. |131-131 | 1 |Position status |off_pos |b|0=On position, 1=Off position
  1799. |132-135 | 4 |Spare | |x|Not used
  1800. |==============================================================================
  1801. === Type 7: Binary Acknowledge ===
  1802. Message type 7 is a receipt acknowledgement to the senders of a
  1803. previous messages of type 6. Total length varies between 72 and 168
  1804. bits by 32-bit increments, depending on the number of destination
  1805. MMSIs included.
  1806. //: Type 7
  1807. [frame="topbot",options="header"]
  1808. |==============================================================================
  1809. |Field |Len |Description |Member |T|Units
  1810. |0-5 | 6 |Message Type |type |u|Constant: 7
  1811. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  1812. |8-37 | 30 |Source MMSI |mmsi |u|9 decimal digits
  1813. |38-39 | 2 |Spare | |x|Not used
  1814. |40-69 | 30 |MMSI number 1 |mmsi1 |u|9 decimal digits
  1815. |70-71 | 2 |Sequence for MMSI 1 |mmsiseq1 |u|Not used
  1816. |72-101 | 30 |MMSI number 2 |mmsi2 |u|9 decimal digits
  1817. |102-103 | 2 |Sequence for MMSI 2 |mmsiseq2 |u|Not used
  1818. |104-133 | 30 |MMSI number 3 |mmsi3 |u|9 decimal digits
  1819. |134-135 | 2 |Sequence for MMSI 3 |mmsiseq3 |u|Not used
  1820. |136-165 | 30 |MMSI number 4 |mmsi4 |u|9 decimal digits
  1821. |166-167 | 2 |Sequence for MMSI 4 |mmsiseq4 |u|Not used
  1822. |==============================================================================
  1823. Use of the MMSI sequence fields was introduced in ITU-1371-5 to
  1824. indicate the sequence number of the Type 6 to which this responds.
  1825. In earlier versions these were spare fields.
  1826. === Type 8: Binary Broadcast Message ===
  1827. Message type 8 is a broadcast message with unspecified binary payload.
  1828. The St. Lawrence Seaway AIS system, the USG PAWSS system, and the Port
  1829. Authority of London use this payload for local extension
  1830. messages. <<IMO236>> and <<IMO289>> describe payload use as
  1831. international extension messages. This type is variable in length up
  1832. to a maximum of 1008 bits (up to 5 AIVDM sentence payloads).
  1833. //: Type 8
  1834. [frame="topbot",options="header"]
  1835. |==============================================================================
  1836. |Field |Len |Description |Member |T|Units
  1837. |0-5 | 6 |Message Type |type |u|Constant: 8
  1838. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  1839. |8-37 | 30 |Source MMSI |mmsi |u|9 decimal digits
  1840. |38-39 | 2 |Spare | |x|Not used
  1841. |40-49 | 10 |Designated Area Code |dac |u|Unsigned integer
  1842. |50-55 | 6 |Functional ID |fid |u|Unsigned integer
  1843. |56 |952 |Data |data |d|Binary data,
  1844. May be shorter than 952 bits.
  1845. |==============================================================================
  1846. Interpretation of the binary payload is controlled by DAC/FID as in
  1847. message type 6. The following is a non-exhaustive list of standardized
  1848. DAC-FID pairs in use for type 8; for an up-to-date list of registered application-specific
  1849. messages, see <<IALA-ASM>>:
  1850. [frame="topbot",options="header"]
  1851. |==============================================================================
  1852. | DAC |FID | Sub | Source | Status | Description
  1853. | 1 | 11 | | <<IMO236>> | Deprecated/In Use | Meteorological/Hydrological Data
  1854. | 1 | 13 | | <<IMO236>> | Deprecated | Fairway closed
  1855. | 1 | 15 | | <<IMO236>> | Deprecated | Extended ship and voyage
  1856. | 1 | 17 | | <<IMO89>> | In use | VTS-Generated/Synthetic targets
  1857. | 1 | 19 | | <<IMO289>> | Standard | Marine traffic signals
  1858. | 1 | 21 | | <<IMO289>> | Standard | Weather observation from ship
  1859. | 1 | 22 | | <<IMO289>> | In use | Area notice (broadcast)
  1860. | 1 | 24 | | <<IMO289>> | Standard | Extended ship and voyage
  1861. | 1 | 26 | | <<IMO289>> | Standard | Environmental
  1862. | 1 | 27 | | <<IMO289>> | Standard | Route info broadcast
  1863. | 1 | 29 | | <<IMO289>> | Standard | Text description broadcast
  1864. | 1 | 31 | | <<IMO289>> | In use | Meteorological and Hydrological
  1865. | 200 | 10 | | <<INLAND>> | Standard | Ship static and voyage related data
  1866. | 200 | 23 | | <<INLAND>> | Standard | EMMA warning report
  1867. | 200 | 24 | | <<INLAND>> | Standard | Water levels
  1868. | 200 | 40 | | <<INLAND>> | Standard | Signal status
  1869. | 316/366 | 1 | 2 | <<SEAWAY>> | In use | Wind
  1870. | 316/366 | 1 | 1 | <<SEAWAY>> | In use | Weather station
  1871. | 316/366 | 1 | 3 | <<SEAWAY>> | In use | Water level
  1872. | 316/366 | 1 | 6 | <<SEAWAY>> | In use | Water flow
  1873. | 316/366 | 2 | 1 | <<SEAWAY>> | In use | Lockage Order
  1874. | 316/366 | 2 | 2 | <<SEAWAY>> | In use | Estimated Lock Times
  1875. | 316/366 | 32 | 1 | <<SEAWAY>> | In use | Seaway Version Message
  1876. | 366 | 1 | 4 | <<SEAWAY>> | In use | PAWS Hydro / Current
  1877. | 366 | 1 | 6 | <<SEAWAY>> | In use | PAWS Hydro / Salinity Temp
  1878. | 366 | 1 | 3 | <<SEAWAY>> | In use | PAWS Vessel Procession Order
  1879. |==============================================================================
  1880. DAC/FID pairs are assigned separately per message type. For St. Lawrence
  1881. Seaway messages, the DAC may be 316 (Canada) or 366 (U.S.) depending
  1882. on the transmitter location.
  1883. Note that the apparent presence of one of these DAC/FID pairs does
  1884. not guarantee that the message is structured. Decoders should
  1885. perform range validation on the structured fields and interpret the
  1886. message as unstructured if any check fails. Actual false matches with
  1887. DAC/FID = 200/10 have been observed in the wild.
  1888. DAC/FID pairs 1/23, 1/28, and 1/30 have addressed versions described
  1889. under type 6.
  1890. FID types 11-15 are being phased out and are not to be used after 1
  1891. Jan 2013. The deprecated IMO236 1/11 has a different binary layout from
  1892. the IMO289 1/31. FID type 17 is in use; there is a proposed
  1893. update for it in <<IMO289>>.
  1894. Breakdowns of Message 8 subtypes from <<IMO289>> follow.
  1895. ==== Meteorological and Hydrological Data (IMO236) ====
  1896. A message 8 subtype. DAC = 001 FID = 11. Fixed length, 352 bits.
  1897. This is in use and described in <<IMO236>>, but has been deprecated by
  1898. <<289>> in favor of a message with the same title but FID = 31 and a
  1899. different binary layout. <<IMO236>> specifies a maximum interval between
  1900. broadcast of this message of 12 minutes.
  1901. //: Type 8(1/11)
  1902. [frame="topbot",options="header"]
  1903. |==============================================================================
  1904. |Field |Len |Description |Member |T|Units
  1905. |0-5 | 6 |Message Type |type |u|Constant: 8
  1906. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  1907. |8-37 | 30 |Source MMSI |mmsi |u|9 decimal digits
  1908. |38-39 | 2 |Spare | |x|Not used
  1909. |40-49 | 10 |DAC |dac |u|DAC = 001
  1910. |50-55 | 6 |FID |fid |u|FID = 11
  1911. |56-79 | 24 |Latitude |lat |I3|Unit = minutes * 0.001,
  1912. 0x7FFFFF = N/A (default),
  1913. E positive, W negative.
  1914. |80-104 | 25 |Longitude |lon |I3|Unit = minutes * 0.001,
  1915. 0xFFFFFF = N/A (default),
  1916. N positive, S negative.
  1917. |105-109 | 5 |Day (UTC) |day |u|1-31, 31=N/A (default)
  1918. |110-114 | 5 |Hour (UTC) |hour |u|0-23, 31=N/A (default)
  1919. |115-120 | 6 |Minute (UTC) |minute |u|0-59, 63=N/A (default)
  1920. |121-127 | 7 |Average Wind Speed |wspeed |u|10-min avg wind speed, knots,
  1921. 127 = N/A (default).
  1922. |128-134 | 7 |Gust Speed |wgust |u|10-min max wind speed, knots,
  1923. 127 = N/A (default).
  1924. |135-143 | 9 |Wind Direction |wdir |u|0-359, degrees from true north
  1925. 511 = N/A (default)
  1926. |144-152 | 9 |Wind Gust Direction|wgustdir |u|0-359, degrees fom true north
  1927. 511 = N/A (default)
  1928. |153-163 | 11 |Air Temperature |temperature |u|Dry bulb temp: 0.1 deg C
  1929. -60.0 to +60.0,
  1930. 2047 = N/A (default),
  1931. |164-170 | 7 |Relative Humidity |humidity |u|0-100%, units of 1%,
  1932. 127 = N/A (default).
  1933. |171-180 | 10 |Dew Point |dewpoint |u|-20.0 to +50.0: 0.1 deg C,
  1934. 1023 = N/A (default),
  1935. |181-189 | 9 |Air Pressure |pressure |u|800-1200hPa: units 1hPa,
  1936. 511 = N/A (default).
  1937. |190-191 | 2 |Pressure Tendency |pressuretend|e|0 = steady,
  1938. 1 = decreasing,
  1939. 2 = increasing,
  1940. 3 - N/A (default).
  1941. |192-199 | 8 |Horiz. Visibility |visibility |U1|0-25.0, units of 0.1nm
  1942. 255 = N/A (default)
  1943. |200-208 | 9 |Water Level |waterlevel |I1|-10.0 to +30.0 in 0.1m,
  1944. 511 = N/A (default).
  1945. |209-210 | 2 |Water Level Trend |leveltrend |e|0 = steady,
  1946. 1 = decreasing,
  1947. 2 = increasing,
  1948. 3 - N/A (default).
  1949. |211-218 | 8 |Surface Current Speed |cspeed |U1|0.0-25.0 knots: units 0.1 knot
  1950. |219-227 | 9 |Surface Current Direction |cdir |u|0-359: deg from true north,
  1951. 511 = N/A (default)
  1952. |228-235 | 8 |Current Speed #2 |cspeed2 |U1|0.0-25.0 in units of 0.1 knot,
  1953. 255 = N/A (default).
  1954. |236-244 | 9 |Current Direction #2 |cdir2 |u|0-359: deg. fom true north,
  1955. 511 = N/A (default)
  1956. |245-249 | 5 |Measurement Depth #2 |cdepth2 |U1|0-30m down: units 0.1m,
  1957. 31 = N/A (default).
  1958. |250-257 | 8 |Current Speed #3 |cspeed3 |U1|0.0-25.0: units of 0.1 knot,
  1959. 255 = N/A (default).
  1960. |258-266 | 9 |Current Direction #3 |cdir3 |u|0-359: degrees fom true north,
  1961. 511 = N/A (default).
  1962. |267-271 | 5 |Measurement Depth #3 |cdepth3 |U1|0-30m down: units 0.1m,
  1963. 31 = N/A (default).
  1964. |272-279 | 8 |Wave height |waveheight|U1|0-25m: units of 0.1m,
  1965. 255 = N/A (default).
  1966. |280-285 | 6 |Wave period |waveperiod|u|Seconds 0-60:
  1967. 63 = N/A (default).
  1968. |286-294 | 9 |Wave direction |wavedir |u|0-359: deg. fom true north,
  1969. 511 = N/A (default).
  1970. |295-302 | 8 |Swell height |swellheight|U1|0-25m: units of 0.1m
  1971. 255 = N/A (default).
  1972. |303-308 | 6 |Swell period |swellperiod|u|Seconds 0-60:
  1973. 63 = N/A (default).
  1974. |309-317 | 9 |Swell direction |swelldir |u|0-359: deg. fom true north,
  1975. 511 = N/A (default).
  1976. |318-321 | 4 |Sea state |seastate |e|See "Beaufort Scale"
  1977. |322-331 | 10 |Water Temperature |watertemp |U1|-10.0 to 50.0: units 0.1 C,
  1978. 1023 = N/A (default).
  1979. |332-334 | 3 |Precipitation |preciptype |e|See "Precipitation Types"
  1980. |335-343 | 9 |Salinity |salinity |U1|0.0-50.0%: units 0.1%,
  1981. 511 = N/A (default)
  1982. |344-345 | 2 |Ice |ice |e| 0 = No
  1983. 1 = Yes
  1984. 2 = (reserved for future use)
  1985. 3 = not available = default
  1986. |346-351 | 6 |Spare | |x|Not used
  1987. |==============================================================================
  1988. <<IMO236>> says "If there is no data available, default value to be
  1989. transmitted is the highest available binary value for that particular
  1990. data field.", the above table reflects that. The day, hour and minute
  1991. have to be considered not available when all three are set to their
  1992. individual "N/A" value. For the latitude and the longitude, the
  1993. highest positive value is used, as the highest available binary value
  1994. for a signed integer is -1, which would forbid the -0.001/-0.001
  1995. position. The replacement FID=31 message has different default values
  1996. that remove any ambiguities.
  1997. <<IMO236>> gives the length of this message as 352, but lists only 336
  1998. payload bits.
  1999. Water level is deviation from local chart datum and includes tide.
  2000. The waveheight field is labeled as "Significant" in <<IMO236>>,
  2001. for whatever that means.
  2002. The seastate field has a note in <<IMO236>> reading "(manual input?)"?
  2003. WMO 306 Code table 4.201 specifies the following precipitation type values:
  2004. .Precipitation Types
  2005. [width="50%",frame="topbot",options="header"]
  2006. |===================================
  2007. |Code |Precipitation Type
  2008. |0 |Reserved
  2009. |1 |Rain
  2010. |2 |Thunderstorm
  2011. |3 |Freezing rain
  2012. |4 |Mixed/ice
  2013. |5 |Snow
  2014. |6 |Reserved
  2015. |7 |N/A (default)
  2016. |===================================
  2017. .Beaufort Scale
  2018. [width="50%",frame="topbot",options="header"]
  2019. |===========================================================================
  2020. |Scale|Description | Sea Conditions
  2021. |0 |Calm |Flat.
  2022. |1 |Light air |Ripples without crests.
  2023. |2 |Light breeze |Small wavelets.
  2024. Crests of glassy appearance, not breaking.
  2025. |3 |Gentle breeze |Large wavelets.
  2026. Crests begin to break; scattered whitecaps.
  2027. |4 |Moderate breeze|Small waves.
  2028. |5 |Fresh breeze |Moderate (1.2 m) longer waves. Some foam and spray.
  2029. |6 |Strong breeze |Large waves with foam crests and some spray.
  2030. |7 |High wind |Sea heaps up and foam begins to streak.
  2031. |8 |Gale |Moderately high waves with breaking crests
  2032. forming spindrift. Streaks of foam.
  2033. |9 |Strong gale |High waves (6-7 m) with dense foam.
  2034. Wave crests start to roll over. Considerable spray.
  2035. |10 |Storm |Very high waves. The sea surface is white and there
  2036. is considerable tumbling. Visibility is reduced.
  2037. |11 |Violent storm |Exceptionally high waves.
  2038. |12 |Hurricane force|Huge waves. Air filled with foam and spray. Sea
  2039. completely white with driving spray. Visibility
  2040. greatly reduced.
  2041. |13 | |N/A (default)
  2042. |14-15| |Reserved
  2043. |===========================================================================
  2044. ==== Fairway Closed ====
  2045. This message should be broadcast from shore stations to inform ships,
  2046. in particular to give guidance to large vessels about temporary closed
  2047. fairways or sections in ports.
  2048. A message 8 subtype. DAC = 001 FID = 13. Fixed length, 472 bits.
  2049. Described in <<IMO236>> but deprecated by <<IMO289>>.
  2050. //: Type 8(1/13)
  2051. [frame="topbot",options="header"]
  2052. |==============================================================================
  2053. |Field |Len |Description |Member |T|Units
  2054. |0-5 | 6 |Message Type |type |u|Constant: 8
  2055. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  2056. |8-37 | 30 |Source MMSI |mmsi |u|9 decimal digits
  2057. |38-39 | 2 |Spare | |x|Not used
  2058. |40-49 | 10 |DAC |dac |u|DAC = 001
  2059. |50-55 | 6 |FID |fid |u|FID = 13
  2060. |56-175 |120 |Reason For Closing |reason |t|20 6-bit characters
  2061. |176-295 |120 |Location Of Closing From|closefrom|t|20 6-bit characters
  2062. |296-415 |120 |Location of Closing To |closeto |t|20 6-bit characters
  2063. |416-425 | 10 |Radius extension |radius |u|0-1000, 10001 = N/A (default)
  2064. |426-427 | 2 |Unit of extension |extunit |u|0=m, 1=km, 2=nm, 3=cables
  2065. |428-432 | 5 |From day (UTC) |fday |u|1-31, 0=N/A (default)
  2066. |433-436 | 4 |From month (UTC) |fmonth |u|1-12, 0=N/A (default)
  2067. |437-441 | 5 |From hour (UTC) |fhour |u|0-23, 24=N/A (default)
  2068. |442-447 | 6 |From minute (UTC) |fminute |u|0-59, 60=N/A (default)
  2069. |448-452 | 5 |To day (UTC) |tday |u|1-31, 0=N/A (default)
  2070. |453-456 | 4 |To month (UTC) |tmonth |u|1-12, 0=N/A (default)
  2071. |457-461 | 5 |To hour (UTC) |thour |u|0-23, 24=N/A (default)
  2072. |462-467 | 6 |To minute (UTC) |tminute |u|0-59, 60=N/A (default)
  2073. |468-471 | 4 |Spare | |x|Not used
  2074. |==============================================================================
  2075. No default is specified for the radius field in the standard.
  2076. ==== IMO236 Extended Ship Static and Voyage Related Data ====
  2077. This message should be used by a ship to report the height over keel.
  2078. A message 8 subtype. DAC = 001 FID = 15 in <<IMO236>>. Fixed length, 72 bits.
  2079. Deprecated in <<IMO289>>.
  2080. //: Type 8(1/15)
  2081. [frame="topbot",options="header"]
  2082. |==============================================================================
  2083. |Field |Len |Description |Member |T|Units
  2084. |0-5 | 6 |Message Type |type |u|Constant: 8
  2085. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  2086. |8-37 | 30 |Source MMSI |mmsi |u|9 decimal digits
  2087. |38-39 | 2 |Spare | |x|Not used
  2088. |40-49 | 10 |DAC |dac |u|DAC = 001
  2089. |50-55 | 6 |FID |fid |u|FID = 15
  2090. |55-66 | 11 |Air Draught |airdraught|u|Height in meters,
  2091. 0 = N/A (default),
  2092. 2047 = >= 2047 m,
  2093. |67-71 | 5 |Spare | |x|Not used
  2094. |==============================================================================
  2095. ==== VTS-Generated/Synthetic targets ====
  2096. A message 8 subtype. DAC = 001 FID = 17. Variable length: 176-536
  2097. bits. This message is laid out identically in <<IMO236>> and
  2098. <<IMO289>>. In <<IMO236>> it is titled "Pseudo-AIS Targets".
  2099. //: Type 8(1/17)
  2100. [frame="topbot",options="header"]
  2101. |==============================================================================
  2102. |Field |Len |Description |Member |T|Units
  2103. |0-5 | 6 |Message Type |type |u|Constant: 8
  2104. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  2105. |8-37 | 30 |Source MMSI |mmsi |u|9 decimal digits
  2106. |38-39 | 2 |Spare | |x|Not used
  2107. |40-49 | 10 |DAC |dac |u|DAC = 001
  2108. |50-55 | 6 |FID |fid |u|FID = 17
  2109. |56 | | |targets |a4|Synthetic targets array
  2110. |0-1 | 2 |Identifier type |idtype |e|0 = id is the MMSI number,
  2111. 1 = id is the IMO number,
  2112. 2 = id is the call sign,
  2113. 3 = Other (default).
  2114. |2-43 | 42 |Target identifier |id |u|Target ID data.
  2115. |44-47 | 4 |Spare | |x|Not used
  2116. |48-71 | 24 |Latitude |lat |I3|Minutes * 0.001,
  2117. 91000 = N/A (default),
  2118. N positive, S negative.
  2119. |72-96 | 25 |Longitude |lon |I3|Minutes * 0.001,
  2120. 181000 = N/A (default),
  2121. E positive, W negative.
  2122. |97-105 | 9 |Course Over Ground |course |u|0-359 deg from true north,
  2123. 360 = N/A (default).
  2124. |106-111 | 6 |Time Stamp |second |u|Second of UTC timestamp.
  2125. |112-121 | 10 |Speed Over Ground |speed |u|0-254 in knots, 255 = N/A.
  2126. |==============================================================================
  2127. The interpretation of the target identifier field depends on the
  2128. preceding type key. For 0 and 1 it is a big-endian unsigned binary
  2129. integer (as shown above). For type 2 and 3 it is 6-bit ASCII text. An
  2130. unknown target is expressed by type 3 and the string "@@@@@@@".
  2131. OPEN-QUESTION: <<IMO289>> says: "When MMSI or IMO number is used, the
  2132. least significant bit should equal bit zero of the Target Identifier."
  2133. It is unclear how "bit zero" is to be interpreted, but it is not
  2134. possible to reconcile interpreting it as the leading bit of the field
  2135. with AIS big-endian encoding. Settling this awaits live testing.
  2136. The trailing eight fields may be repeated up to 3 times (for a total of 1 to 4
  2137. field groups) to represent up to 4 targets.
  2138. ==== IMO289 Marine Traffic Signal ====
  2139. This message provides information on a signal station and status of
  2140. the control signal at the entrance of a harbour or channel where the
  2141. shipping direction controlled so that the traffic flow be kept in
  2142. order.
  2143. A message 8 subtype described in <<IMO289>>. DAC = 001 FID = 19. Fixed
  2144. length: 360 bits.
  2145. //: Type 8(1/19)
  2146. [frame="topbot",options="header"]
  2147. |==============================================================================
  2148. |Field |Len |Description |Member |T|Units
  2149. |0-5 | 6 |Message Type |type |u|Constant: 8
  2150. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  2151. |8-37 | 30 |Source MMSI |mmsi |u|9 decimal digits
  2152. |38-39 | 2 |Spare | |x|Not used
  2153. |40-49 | 10 |DAC |dac |u|DAC = 001
  2154. |50-55 | 6 |FID |fid |u|FID = 19
  2155. |56-65 | 10 |Message Linkage ID |linkage |u|Unsigned integer
  2156. |66-185 | 120 |Name of Signal Station|station |t|20 6-bit chars
  2157. |186-210 | 25 |Longitude |lon |I3|Unit = minutes * 0.001
  2158. 181000 = N/A (default)
  2159. E positive, W negative.
  2160. |211-234 | 24 |Latitude |lat |I3|Unit = minutes * 0.001
  2161. 91000 = N/A (default)
  2162. N positive, S negative.
  2163. |235-236 | 2 |Status of Signal |status |u|0=N/A (default
  2164. 1 = In regular service
  2165. 2 = Irregular service
  2166. 3 = Reserved for future use
  2167. |237-241 | 5 |Signal In Service |signal |e|See "Marine Traffic Signals"
  2168. |242-246 | 5 |UTC hour |hour |u|0-23, 24=N/A (default)
  2169. |247-252 | 6 |UTC minute |minute |u|0-59, 60=N/A (default)
  2170. |253-257 | 5 |Expected Next Signal |nextsignal|e|See "Marine Traffic Signals"
  2171. |258-359 | 102 |Spare | |x|Not used
  2172. |==============================================================================
  2173. .Marine Traffic Signals
  2174. [width="50%",frame="topbot",options="header"]
  2175. |===========================================================================
  2176. |Code |Position Fix Type
  2177. | 0 |N/A (default)
  2178. | 1 |IALA port traffic signal 1: Serious emergency – all vessels to stop
  2179. or divert according to instructions.
  2180. | 2 |IALA port traffic signal 2: Vessels shall not proceed.
  2181. | 3 |IALA port traffic signal 3: Vessels may proceed. One way traffic.
  2182. | 4 |IALA port traffic signal 4: Vessels may proceed. Two way traffic.
  2183. | 5 |IALA port traffic signal 5: A vessel may proceed only when it has
  2184. received specific orders to do so.
  2185. | 6 |IALA port traffic signal 2a: Vessels shall not proceed, except that
  2186. vessels which navigate outside the main channel need not comply with
  2187. the main message.
  2188. | 7 |IALA port traffic signal 5a: A vessel may proceed only when it has
  2189. received specific orders to do so; except that vessels which navigate
  2190. outside the main channel need not comply with the main message.
  2191. | 8 |Japan Traffic Signal - I = "in-bound" only acceptable.
  2192. | 9 |Japan Traffic Signal - O = "out-bound" only acceptable.
  2193. | 10 |Japan Traffic Signal - F = both "in- and out-bound" acceptable.
  2194. | 11 |Japan Traffic Signal - XI = Code will shift to "I" in due time.
  2195. | 12 |Japan Traffic Signal - XO = Code will shift to "O" in due time.
  2196. | 13 |Japan Traffic Signal - X = Vessels shall not proceed, except a vessel
  2197. which receives the direction from the competent authority.
  2198. |14-31|Reserved
  2199. |===========================================================================
  2200. ==== IMO289 Weather observation report from ship ====
  2201. There are two variants of this message. They are distinguished by bit 56,
  2202. the WMO bit. Field layouts after that bit vary depending on it.
  2203. A message 8 subtype described in <<IMO289>>. DAC = 001 FID = 21. Fixed
  2204. length: 360 bits.
  2205. //: Type 8(1/21)
  2206. .Weather observation report from ship: Non-WMO variant
  2207. [frame="topbot",options="header"]
  2208. |==============================================================================
  2209. |Field |Len |Description |Member |T|Units
  2210. |0-5 | 6 |Message Type |type |u|Constant: 8
  2211. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  2212. |8-37 | 30 |Source MMSI |mmsi |u|9 decimal digits
  2213. |38-39 | 2 |Spare | |x|Not used
  2214. |40-49 | 10 |DAC |dac |u|DAC = 001
  2215. |50-55 | 6 |FID |fid |u|FID = 21
  2216. |56-56 | 1 |Variant |wmo |b|Constant: 0 in this variant
  2217. |57-176 | 120 |Location |location |t|20 6-bit characters
  2218. |177-201 | 25 |Longitude |lon |I3|Unit = minutes * 0.001,
  2219. 181000 = N/A (default),
  2220. E positive, W negative.
  2221. |202-225 | 24 |Latitude |lat |I3|Unit = minutes * 0.001,
  2222. 91000 = N/A (default),
  2223. N positive, S negative.
  2224. |226-230 | 5 |UTC Day |day |u|1-31, 0=N/A (default)
  2225. |231-235 | 5 |UTC hour |hour |u|0-23, 24=N/A (default)
  2226. |236-241 | 6 |UTC minute |minute |u|0-59, 60=N/A (default)
  2227. |242-245 | 4 |Present Weather |weather |u|wmocode: 0-15
  2228. |246-246 | 1 |Visibility Limit |vislimit |b|See below
  2229. |247-253 | 7 |Horiz. Visibility |visibility |U1|0.0-12.6nm, units = nm*0.1,
  2230. 127 = N/A (default).
  2231. |254-260 | 7 |Relative Humidity |humidity |u|0-100%: units of 1%,
  2232. 127 = N/A (default).
  2233. |261-267 | 7 |Average Wind Speed |wspeed |u|10-min avg wind speed knots,
  2234. 127 = N/A (default).
  2235. |268-276 | 9 |Wind Direction |wdir |u|0-359, deg. fom true north,
  2236. 360 = N/A (default).
  2237. |277-285 | 9 |Air Pressure |pressure |u|800-1200hPa: units 1hPa,
  2238. 402 = pressure >= 1201 hPa,
  2239. 403 - N/A (default),
  2240. else add 400 to value,
  2241. |286-289 | 4 |Pressure Tendency |pressuretend|u|WMO FM13 code
  2242. |290-300 | 11 |Air Temperature |airtemp |I1|Dry bulb temp: units 0.1C,
  2243. -60.0 to +60.0,
  2244. -1024 = N/A (default).
  2245. |301-310 | 10 |Water Temperature |watertemp |I1|-10.0 to 50.0 in 0.1 C,
  2246. 601 = N/A (default),
  2247. else -10C after scaling.
  2248. |311-316 | 6 |Wave period |waveperiod |u|Seconds: 0-60,
  2249. 63 = N/A (default).
  2250. |317-324 | 8 |Wave height |waveheight |U1|0-25m in units of 0.1m,
  2251. 255 = N/A (default).
  2252. |325-333 | 9 |Wave direction |wavedir |u|0-359: deg. fom true north,
  2253. 360 = N/A (default).
  2254. |334-341 | 8 |Swell height |swellheight |U1|0-25m: units 0.1m,
  2255. 255 = N/A (default)
  2256. |342-350 | 9 |Swell direction |swelldir |u|0-359: deg, fom true north,
  2257. 360 = N/A (default).
  2258. |351-356 | 6 |Swell period |swellperiod |u|Seconds: 0-60,
  2259. 63 = N/A (default).
  2260. |357-359 | 3 |Spare | |x|Not used
  2261. |==============================================================================
  2262. The vislimit bit, when on, indicates that the maximum range of the
  2263. visibility equipment was reached and the visibility reading shall be
  2264. regarded as > x.x NM.
  2265. The standard (<<IMO289>>) does not list the WMO FM13 codes.
  2266. The following table applies:
  2267. .Weather observation report from ship: WMO Code 45501
  2268. [width="50%",frame="topbot",options="header"]
  2269. |===========================================================================
  2270. |Code |Precipitation Type
  2271. | 0 |Clear (no clouds at any level)
  2272. | 1 |Cloudy
  2273. | 2 |Rain
  2274. | 3 |Fog
  2275. | 4 |Snow
  2276. | 5 |Typhoon/hurricane
  2277. | 6 |Monsoon
  2278. | 7 |Thunderstorm
  2279. | 8 |N/A (default)
  2280. | 9-15|Reserved for future use
  2281. |===========================================================================
  2282. .Weather observation report from ship: WMO variant
  2283. [frame="topbot",options="header"]
  2284. |==============================================================================
  2285. |Field |Len |Description |Member |T|Units
  2286. |0-5 | 6 |Message Type |type |u|Constant: 8
  2287. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  2288. |8-37 | 30 |Source MMSI |mmsi |u|9 decimal digits
  2289. |38-39 | 2 |Spare | |x|Not used
  2290. |40-49 | 10 |DAC |dac |u|DAC = 001
  2291. |50-55 | 6 |FID |fid |u|FID = 21
  2292. |56-56 | 1 |Variant |wmo |u|Constant: 1 in this variant
  2293. |57-72 | 16 |Longitude |lon |I3|Unsigned: minutes * 0.01,
  2294. E positive, W negative,
  2295. Lon = (value / 100) – 180,
  2296. 65536 = N/A (default).
  2297. |73-87 | 15 |Latitude |lat |I3|Unsigned: minutes * 0.01,
  2298. N positive, S negative,
  2299. Lat = (value / 100) – 90,
  2300. 32767 = N/A (default).
  2301. |88-91 | 4 |UTC Month |month |u|1-12, 15=N/A (default)
  2302. |92-97 | 6 |UTC Day |day |u|1-31, 63=N/A (default)
  2303. |98-102 | 5 |UTC hour |hour |u|0-23, 31=N/A (default)
  2304. |103-105 | 3 |UTC minute |minute |u|0-50, 7=N/A (default),
  2305. Minute = (value * 10).
  2306. |106-112 | 7 |Course Over Ground |course |u|0-359, unit = 1 degree,
  2307. average over last 10 minutes.
  2308. |113-117 | 5 |Speed Over Ground |speed |U1|0-14.5m/s:
  2309. SOG = (value * 0.5) for 0-29,
  2310. 30 = 15 m/s and more,
  2311. average over last 10 minutes.
  2312. 31 = N/A (default)
  2313. |118-124 | 7 |Heading of the ship |heading |u|5-360: units of 5 degrees,
  2314. HDT = (value * 5) for 1-72,
  2315. average over last 10 minutes.
  2316. 127 = N/A (default)
  2317. |125-135 | 11 |Pressure at sea level |pressure|U1|90-1100 hPa:
  2318. P = (value/10)+900 for 0-2000
  2319. |136-145 | 10 |Pressure Change |pdelta |U1|-50-+50hPa: units of 0.1hPa,
  2320. d = (value/10)-50 for 0-100,
  2321. averaged over last 3 hours.
  2322. 1023 = N/A (default)
  2323. |146-149 | 4 |Pressure Tendency |ptend |u|WMO BUFR table 010063:
  2324. Averaged over last 3 hours,
  2325. 0-8, 15 = N/A.
  2326. |150-156 | 7 |True Wind Direction |twinddir|u|005-360: deg:
  2327. average over last 10 minutes,
  2328. dir = (value*5), value 1-72,
  2329. 0 = calm,
  2330. 127 = N/A (default).
  2331. |157-164 | 8 |True Wind Speed |twindspeed|u|0-127 m/s:
  2332. average over last 10 mins,
  2333. speed = value * 0.5,
  2334. 255 = N/A (default).
  2335. |165-171 | 7 |Relative Wind Direction|rwinddir |u|005-360 deg:
  2336. average over last 10 mins,
  2337. dir = (value*5) for 1-72,
  2338. 0 = calm,
  2339. 127 = N/A (default).
  2340. |172-179 | 8 |Relative Wind Speed |rwindspeed|U1|0-127 m/s:
  2341. average over last 10 mins,
  2342. speed = val*0.5 for 0-254,
  2343. 255 = N/A (default).
  2344. |180-187 | 8 |Maximum Gust Speed |mgustspeed|U1|0-127 m/s:
  2345. speed = val*0.5 for 0-254,
  2346. 255 = N/A (default),
  2347. |188-194 | 7 |Maximum Gust Direction |mgustdir |u|05-360 deg:
  2348. dir = (value*5) for 1-72,
  2349. 0 = calm,
  2350. 127 = N/A (default).
  2351. |195-204 | 10 |Air Temperature |airtemp |U1|Dry bulb temp: units 0.1C,
  2352. 223-323K (c.-50C - +50C).
  2353. T = (val/10)+223 for 0-1000,
  2354. 1023 = N/A (default).
  2355. |205-211 | 7 |Relative Humidity |humidity |u|0-100%: units of 1%,
  2356. 127 = N/A (default).
  2357. |212-220 | 9 |Sea Surface Temperature|surftemp |U1|268-318K (c.-5C - +45C):
  2358. T = (val/10)+268 for 0-500,
  2359. 511 = N/A (default).
  2360. |221-226 | 6 |Horiz. Visibility |visibility|U2|0-50000m,
  2361. Vis = (val**2)*13.073 for 0-62,
  2362. 63 = N/A (default).
  2363. |227-235 | 9 |Present Weather |weather |u|BUFR table 020003:
  2364. Codes 0-510,
  2365. 511 = N/A (default).
  2366. |236-240 | 5 |Past Weather 1 |pweather1 |u|BUFR table 020005:
  2367. Codes 0-30,
  2368. 31 = N/A (default).
  2369. |241-245 | 5 |Past Weather 2 |pweather2 |u|BUFR table 020004:
  2370. Codes 0-30,
  2371. 31 = N/A (default).
  2372. |246-249 | 4 |Total Cloud Cover |totalcloud|u|0-100%:
  2373. Cover = val * 10% for 0-10,
  2374. 15 = N/A (default.)
  2375. |250-253 | 4 |Cloud amount (low) |lowclouda |u|0-14: BUFR table 020011:
  2376. 15 = N/A (default).
  2377. |254-259 | 6 |Cloud type (low) |lowcloudt |u|0-62: BUFR table 020012:
  2378. 63 = N/A (default).
  2379. |260-265 | 6 |Cloud type (middle) |midcloudt |u|0-62: BUFR table 020012:
  2380. 63 = N/A (default).
  2381. |266-271 | 6 |Cloud type (high) |highcloudt|u|0-62: BUFR table 020012:
  2382. 63 = N/A (default).
  2383. |272-278 | 7 |Height of cloud base |cloudbase |U2|0-2500m:
  2384. h = (value**2)*.0.16 for 0-125,
  2385. 126 = more than 2500m,
  2386. 127 = N/A (default).
  2387. |279-283 | 5 |Period of Wind Waves |wwperiod |u|0-30s:
  2388. 31 = N/A (default).
  2389. |284-289 | 6 |Height of Wind Waves |wwheight |u|Height in meters: 0-30,
  2390. h = (value * 0.5) for 0-60,
  2391. 63 = N/A (default).
  2392. |290-295 | 6 |First Swell Direction |swelldir1 |u|10-360 deg:
  2393. dir = (value*10) for 1-36,
  2394. 0 = calm,
  2395. 63 = N/A (default).
  2396. |296-300 | 5 |First Swell Period |swperiod1 |u|Period in seconds: 0-30,
  2397. 31 = N/A (default).
  2398. |301-306 | 6 |First Swell Height |swheight1 |U1|Height in meters: 0-30,
  2399. h = (value * 0.5) for 0-60,
  2400. 63 = N/A (default).
  2401. |307-312 | 6 |Second Swell Direction |swelldir2 |u|10-360 deg:
  2402. dir = (value*10) for 1-36,
  2403. 0 = calm,
  2404. 63 = N/A (default).
  2405. |313-317 | 5 |Second Swell Period |swperiod2 |u|Period in seconds: 0-30,
  2406. 31 = N/A (default).
  2407. |318-323 | 6 |Second Swell Height |swheight2 |U1|Height in meters: 0-30,
  2408. h = (value * 0.5) for 0-60,
  2409. 63 = N/A (default).
  2410. |324-330 | 7 |Ice deposit (thickness)|icedeposit|u|Thickness: 0-126cm,
  2411. 127 = N/A (default).
  2412. |331-333 | 3 |Rate of Ice Accretion |icerate |u|0-6: BUFR table 020032:
  2413. 7 = N/A (default).
  2414. |334-336 | 3 |Cause of Ice Accretion |icecause |u|0-6: BUFR table 020033:
  2415. 7 = N/A (default).
  2416. |337-341 | 5 |Sea Ice Concentration |seaice |u|0-30: BUFR table 020034:
  2417. 31 = N/A (default).
  2418. |342-345 | 4 |Amount and Type of Ice |icetype |u|0-14: BUFR table 020035:
  2419. 15 = N/A (default).
  2420. |346-350 | 5 |Ice Situation |icestate |u|0-30: BUFR table 020036:
  2421. 31 = N/A (default).
  2422. |351-355 | 5 |Ice Development |icedevel |u|0-30: BUFR table 020037:
  2423. 31 = N/A (default).
  2424. |356-359 | 4 |Bearing of Ice Edge |icebearing|u|Bearing: 45-360 deg,
  2425. dir = (value*45) for 1-8,
  2426. 15 = N/A (default).
  2427. |==============================================================================
  2428. The "minute" entry actually only identifies the end of a 10-minute interval.
  2429. In <<IMO289>>, the Latitude formula is given as "Lat = (value / 100) – 9000".
  2430. This is incorrect; the decrement needs to be 90 for the range to be -90..+90.
  2431. Swell directions are arrival directions.
  2432. ==== IMO289 Area Notice (broadcast) ====
  2433. This should be used to broadcast time- and location-dependent information about
  2434. hazards to navigation. For information-lifetime restrictions and usage
  2435. guidance, refer to <<ITU1371>>.
  2436. A message 8 subtype. DAC = 001 FID = 22. 196 to 981 bits. There is a
  2437. related Message 6 subtype for addressed use.
  2438. The message consists of a fixed-length header of 111 bits, followed by 1 to
  2439. 10 sub-area indications which are fixed-length records 87 bits long. Here
  2440. is the message header format:
  2441. //: Type 8(1/22)
  2442. .Area Notice (addressed) message header
  2443. [frame="topbot",options="header"]
  2444. |==============================================================================
  2445. |Field |Len |Description |Member |T|Units
  2446. |0-5 | 6 |Message Type |type |u|Constant: 6
  2447. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  2448. |8-37 | 30 |Source MMSI |mmsi |u|9 decimal digits
  2449. |38-39 | 2 |Spare | |x|Not used
  2450. |40-49 | 10 |DAC |dac |u|DAC = 001
  2451. |50-55 | 6 |FID |fid |u|FID = 22
  2452. |56-65 | 10 |Message Linkage ID |linkage |u|Unsigned integer
  2453. |66-72 | 7 |Notice Description |notice |u|See table below
  2454. |73-76 | 4 |Month (UTC) |month |u|1-12; 0 = N/A (default)
  2455. |77-81 | 5 |Day (UTC) |day |u|1-31; 0 = N/A (default)
  2456. |82-86 | 5 |Hour (UTC) |hour |u|0-23; 24 = N/A (default)
  2457. |87-92 | 6 |Minute (UTC) |minute |u|0-59; 60 = N/A (default)
  2458. |93-110 | 18 |Duration |duration |u|In minutes,
  2459. 262143 = N/A (default),
  2460. 0 = cancel this notice.
  2461. |111-113 | 3 |Subarea shape #1 |subarea type |u|0-5 (see "Subarea Types")
  2462. |114-197 | 84 |Subarea payload #1 |shape data |array|See "Subarea Payloads"
  2463. |198-200 | 3 |Subarea shape #2 |subarea type |u|0-5 (see "Subarea Types")
  2464. |201-284 | 84 |Subarea payload #2 |shape data |array|See "Subarea Payloads"
  2465. |285-287 | 3 |Subarea shape #3 |subarea type |u|0-5 (see "Subarea Types")
  2466. |288-371 | 84 |Subarea payload #3 |shape data |array|See "Subarea Payloads"
  2467. |372-374 | 3 |Subarea shape #4 |subarea type |u|0-5 (see "Subarea Types")
  2468. |375-458 | 84 |Subarea payload #4 |shape data |array|See "Subarea Payloads"
  2469. |459-461 | 3 |Subarea shape #5 |subarea type |u|0-5 (see "Subarea Types")
  2470. |462-545 | 84 |Subarea payload #5 |shape data |array|See "Subarea Payloads"
  2471. |546-548 | 3 |Subarea shape #6 |subarea type |u|0-5 (see "Subarea Types")
  2472. |549-632 | 84 |Subarea payload #6 |shape data |array|See "Subarea Payloads"
  2473. |633-635 | 3 |Subarea shape #7 |subarea type |u|0-5 (see "Subarea Types")
  2474. |636-719 | 84 |Subarea payload #7 |shape data |array|See "Subarea Payloads"
  2475. |720-722 | 3 |Subarea shape #8 |subarea type |u|0-5 (see "Subarea Types")
  2476. |723-806 | 84 |Subarea payload #8 |shape data |array|See "Subarea Payloads"
  2477. |807-809 | 3 |Subarea shape #9 |subarea type |u|0-5 (see "Subarea Types")
  2478. |810-893 | 84 |Subarea payload #9 |shape data |array|See "Subarea Payloads"
  2479. |894-896 | 3 |Subarea shape #10 |subarea type |u|0-5 (see "Subarea Types")
  2480. |897-980 | 84 |Subarea payload #10 |shape data |array|See "Subarea Payloads"
  2481. |==============================================================================
  2482. The sub-area indications are as described under the addressed form,
  2483. message type 6 with DAC = 1 and FID = 23.
  2484. ==== IMO289 Extended Ship Static and Voyage Related Data ====
  2485. This message should be used by a ship to report the height over keel.
  2486. A message 8 subtype. DAC = 001 FID = 24 in <<IMO289>>. Fixed length, 360 bits.
  2487. Replaces a deprecated trial message from <<IMO236>>.
  2488. //: Type 8(1/24)
  2489. [frame="topbot",options="header"]
  2490. |==============================================================================
  2491. |Field |Len |Description |Member |T|Units
  2492. |0-5 | 6 |Message Type |type |u|Constant: 8
  2493. |6-7 | 2 |Repeat Indicator |repeat |u|As in CNB
  2494. |8-37 | 30 |Source MMSI |mmsi |u|9 digits
  2495. |38-39 | 2 |Spare | |x|Not used
  2496. |40-49 | 10 |DAC |dac |u|DAC = 001
  2497. |50-55 | 6 |FID |fid |u|FID = 24
  2498. |56-65 | 10 |Message Linkage ID |linkage |u|Unsigned integer
  2499. |66-78 | 13 |Air Draught |airdraught |u|Unsigned int, in 0.1m
  2500. 1-81.9 m.
  2501. 0 = N/A (default)
  2502. 81.91 = >= 81.91 m
  2503. |79-108 | 30 |Last Port Of Call |lastport |t|5 6-bit chars, UN locode
  2504. |109-138 | 30 |Next Port Of Call |nextport |t|5 6-bit chars, UN locode
  2505. |139-168 | 30 |Second Port Of Call |secondport |t|5 6-bit chars, UN locode
  2506. |169-170 | 2 |AIS Class A |ais_state |e|See "SOLAS Status"
  2507. |171-172 | 2 |Automatic Tracking Aid |ata_state |e|See "SOLAS Status"
  2508. |173-174 | 2 |BNWAS |bnwas_state |e|See "SOLAS Status"
  2509. |175-176 | 2 |ECDIS Back-up |ecdisb_state |e|See "SOLAS Status"
  2510. |177-178 | 2 |Paper Nautical Chart |chart_state |e|See "SOLAS Status"
  2511. |179-180 | 2 |Echo sounder |sounder_state |e|See "SOLAS Status"
  2512. |181-182 | 2 |Electronic plotting aid|epaid_state |e|See "SOLAS Status"
  2513. |183-184 | 2 |Emergency steering gear|steer_state |e|See "SOLAS Status"
  2514. |185-186 | 2 |GNSS |gnss_state |e|See "SOLAS Status"
  2515. |187-188 | 2 |Gyro compass |gyro_state |e|See "SOLAS Status"
  2516. |189-190 | 2 |LRIT |lrit_state |e|See "SOLAS Status"
  2517. |191-192 | 2 |Magnetic compass |magcomp_state |e|See "SOLAS Status"
  2518. |193-194 | 2 |NAVTEX |navtex_state |e|See "SOLAS Status"
  2519. |195-196 | 2 |Radar (ARPA) |arpa_state |e|See "SOLAS Status"
  2520. |197-198 | 2 |Radar (S-band) |sband_state |e|See "SOLAS Status"
  2521. |199-200 | 2 |Radar (X-band) |xband_state |e|See "SOLAS Status"
  2522. |201-202 | 2 |Radio HF |hfradio_state |e|See "SOLAS Status"
  2523. |203-204 | 2 |Radio INMARSAT |inmarsat_state|e|See "SOLAS Status"
  2524. |205-206 | 2 |Radio MF |mfradio_state |e|See "SOLAS Status"
  2525. |207-208 | 2 |Radio VHF |vhfradio_state|e|See "SOLAS Status"
  2526. |209-210 | 2 |Speed Log over ground |grndlog_state |e|See "SOLAS Status"
  2527. |211-212 | 2 |Speed Log through water|waterlog_state|e|See "SOLAS Status"
  2528. |213-214 | 2 |THD |thd_state |e|See "SOLAS Status"
  2529. |215-216 | 2 |Track control system |tcs_state |e|See "SOLAS Status"
  2530. |217-218 | 2 |VDR/S-VDR |vdr_state |e|See "SOLAS Status"
  2531. |219-220 | 2 |Reserved | |x|Not used
  2532. |221-224 | 4 |Ice Class |iceclass |e|See "Ice Class"
  2533. |225-242 | 18 |Shaft Horsepower |horsepower |u|Total ship HP: 1hp units,
  2534. 262,142 = >= 262,142hp,
  2535. 262,143 = N/A (default).
  2536. |243-254 | 12 |VHF Working Channel |vhfchan |u|Channel number,
  2537. 0 = N/A (default).
  2538. |255-296 | 42 |Lloyd's Ship Type |lshiptype |t|7 six-bit characters
  2539. |297-314 | 18 |Gross Tonnage |tonnage |u|0-262,141,
  2540. 262,142 = >= 262,142hp,
  2541. 262,143 = N/A (default).
  2542. |315-316 | 2 |Laden or Ballast |lading |e|0 = N/A (default),
  2543. 1 = Laden,
  2544. 2 = Ballast,
  2545. 3 = Not in use.
  2546. |317-318 | 2 |Heavy Fuel Oil Bunkered|heavyoil |e|0 = N/A (default),
  2547. 1 = No,
  2548. 2 = Yes,
  2549. 3 = Not in use.
  2550. |319-320 | 2 |Light Fuel Oil Bunkered|lightoil |e|0 = N/A (default),
  2551. 1 = No,
  2552. 2 = Yes,
  2553. 3 = Not in use.
  2554. |321-322 | 2 |Diesel Oil Bunkered |dieseloil |e|0 = N/A (default),
  2555. 1 = No,
  2556. 2 = Yes,
  2557. 3 = Not in use.
  2558. |323-336 | 14 |Total Bunker Oil |totaloil |u|0-16381 in tonnes,
  2559. 16382 = >= 16382 tonnes,
  2560. 16382 = N/A (default).
  2561. |337-349 | 13 |Number of persons |persons |u|0 = N/A (default),
  2562. 1-8190,
  2563. 8191 = >= 8191.
  2564. |350-359 | 10 |Spare | |x|Not used
  2565. |==============================================================================
  2566. The special value of 81.91 for air draught is probably a drafting
  2567. error in <<IMO289>>, as the scaled field does not have the precision
  2568. required to represent it. The actual special value is unknown.
  2569. The 2-bit _state fields describe the operational state of various sorts of
  2570. SOLAS-required navigational equipment. GNSS systems may include GPS, Loran-C, or GLONASS. BNWAS is the Bridge Navigational Watch Alarm System. THD is a
  2571. Transmitting Heading Device. Paper Nautical Chart state is officially
  2572. "ECDIS/Paper Nautical Chart" state in <<IMO289>>. Status codes should be
  2573. interpreted according to the following table:
  2574. .SOLAS Status
  2575. [width="50%",frame="topbot",options="header"]
  2576. |=============================================================================
  2577. |Code |Meaning
  2578. |0 |Not available or requested (default)
  2579. |1 |Equipment operational
  2580. |2 |Equipment not operational
  2581. |3 |No data (equipment may or may not be on board/or its status is unknown)
  2582. |=============================================================================
  2583. .Ice Class
  2584. [width="50%",frame="topbot",options="header"]
  2585. |=============================================================================
  2586. |Code |Meaning
  2587. |0 |Not classified
  2588. |1 |IACS PC 1
  2589. |2 |IACS PC 2
  2590. |3 |IACS PC 3
  2591. |4 |IACS PC 4
  2592. |5 |IACS PC 5
  2593. |6 |IACS PC 6 / FSICR IA Super / RS Arc5
  2594. |7 |IACS PC 7 / FSICR IA / RS Arc4
  2595. |8 |FSICR IB / RS Ice3
  2596. |9 |FSICR IC / RS Ice2
  2597. |10 |RS Ice1
  2598. |11-14|Reserved for future use
  2599. |15 |Not available = default
  2600. |=============================================================================
  2601. ACS = International Association of Classification Societies
  2602. PC = Polar Class. For further details, see IACS Req. 2007 Requirements
  2603. concerning POLAR CLASS and MSC/Circ.1056 and MEPC/Circ.399 on
  2604. Guidelines for ships operating in Arctic ice-covered waters.
  2605. FSICR = Finnish-Swedish Ice Class Rules. For further details, see
  2606. Finnish Maritime Administration's Bulletin No.10/10.12.2008 Ice class
  2607. regulations 2008 (Finnish-Swedish ice class rules). Note: Authorized
  2608. classification society equivalents for the Finnish-Swedish Ice Class
  2609. Rules should also be recognized, as issued in the Finnish Maritime
  2610. Administration's Bulletin No.4/2.4.2007 (as amended). Both bulletins
  2611. can be found at www.fma.fi.
  2612. RS = Russian Maritime Register of Shipping. For further details see
  2613. Rules for the classification and construction of seagoing ships,
  2614. Edition 2008.
  2615. VHF channel number is encoded according to Recommendation ITU-R M.1084.
  2616. The lshiptype field uses Lloyd's Register STATCODE 5 encoding.
  2617. ==== IMO289 Environmental ====
  2618. A message 8 subtype. DAC = 001 FID = 26. Variable length: 168-1008 bits.
  2619. //: Type 8(1/26)
  2620. .Environmental message header
  2621. [frame="topbot",options="header"]
  2622. |==============================================================================
  2623. |Field |Len |Description |Member |T|Units
  2624. |0-5 | 6 |Message Type |type |u|Constant: 6
  2625. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  2626. |8-37 | 30 |Source MMSI |mmsi |u|9 decimal digits
  2627. |38-39 | 2 |Spare | |x|Not used
  2628. |40-49 | 10 |DAC |dac |u|DAC = 001
  2629. |50-55 | 6 |FID |fid |u|FID = 26
  2630. |56 | | |reports |a5|Sensor records array
  2631. |0-3 | 4 |Sensor Report Type |sensor |u|See table below
  2632. |4-8 | 5 |Day (UTC) |day |u|1-31; 0 = N/A (default)
  2633. |9-13 | 5 |Hour (UTC) |hour |u|0-23; 24 = N/A (default)
  2634. |14-19 | 6 |Minute (UTC) |minute |u|0-59; 60 = N/A (default)
  2635. |20-26 | 7 |Site ID |site |u|Binary ID of sensor site
  2636. |27-111 | 85 |Sensor payload |payload |d|Sensor payload data
  2637. |==============================================================================
  2638. The fixed header is followed by 1-5 sensor records, each 112 bits
  2639. long. The Sensor Report Type is interpreted as follows, and controls
  2640. the interpretation of the sensor payload data.
  2641. .Sensor report types
  2642. [frame="topbot"]
  2643. |==============================================================================
  2644. | 0 | Site location
  2645. | 1 | Station ID
  2646. | 2 | Wind
  2647. | 3 | Water level
  2648. | 4 | Current flow (2D)
  2649. | 5 | Current flow (3D)
  2650. | 6 | Horizontal current flow
  2651. | 7 | Sea state
  2652. | 8 | Salinity
  2653. | 9 | Weather
  2654. | 10| Air gap/Air draft
  2655. | 11| (reserved for future use)
  2656. |==============================================================================
  2657. Here are the payload types for each variant:
  2658. .Site location payload
  2659. [frame="topbot",options="header"]
  2660. |==============================================================================
  2661. |Field |Len |Description |Member |T|Units
  2662. |0-27 | 28 |Longitude |lon |I4|As in Common Navigation Block
  2663. |28-54 | 27 |Latitude |lat |I4|As in Common Navigation Block
  2664. |55-65 | 11 |Altitude |alt |u|Sensor altitude above MSL,
  2665. 0-200 in units of 0.1m,
  2666. 2001 = 200.1 m or higher,
  2667. 2002 = N/A (default),
  2668. 2003-2046 reserved.
  2669. |66-69 | 4 |Sensor owner |owner |e|See "Sensor Owner Codes"
  2670. |70-72 | 3 |Data timeout |timeout |e|See "Data Timeout Codes"
  2671. |73-84 | 12 |Spare | |x|Not used
  2672. |==============================================================================
  2673. .Sensor Owner Codes
  2674. [frame="topbot"]
  2675. |==============================================================================
  2676. | 0 | Unknown (default)
  2677. | 1 | Hydrographic office
  2678. | 2 | Inland waterway authority
  2679. | 3 | Coastal directorate
  2680. | 4 | Meteorological service
  2681. | 5 | Port Authority
  2682. | 6 | Coast guard
  2683. | 7-13 | (reserved for future use)
  2684. | 14 | (reserved for regional use)
  2685. |==============================================================================
  2686. .Data Timeout Codes
  2687. [frame="topbot"]
  2688. |==============================================================================
  2689. | 0 | No time period (default)
  2690. | 1 | 10 minutes
  2691. | 2 | 1 hour
  2692. | 3 | 6 hours
  2693. | 4 | 12 hours
  2694. | 5 | 24 hours
  2695. | 6-7 | (reserved for future use)
  2696. |==============================================================================
  2697. .Station ID payload
  2698. [frame="topbot",options="header"]
  2699. |==============================================================================
  2700. |Field |Len |Description |Member |T|Units
  2701. | 0 | 84 |Name |name |t|14 chars of six-bit ASCII.
  2702. | 84 | 1 |Spare | |x|Not used
  2703. |==============================================================================
  2704. .Wind report payload
  2705. [frame="topbot",options="header"]
  2706. |==============================================================================
  2707. |Field |Len |Description |Member |T|Units
  2708. |0-6 | 7 |Average Wind Speed |wspeed |u|10-min avg wind speed,
  2709. 0-120 in 1-knot units,
  2710. 121 = 121 knots or greater,
  2711. 122 = N/A (default),
  2712. 123-126 = reserved.
  2713. |7-13 | 7 |Wind Gust |wgust |u|10-min max wind speed,
  2714. 0-120 in 1-knot units,
  2715. 121 = 121 knots or greater,
  2716. 122 = N/A (default),
  2717. 123-126 = reserved.
  2718. |14-22 | 9 |Wind Direction |wdir |u|0-359, degrees fom true north
  2719. >=360 = N/A (default)
  2720. |23-31 | 9 |Wind Gust Direction|wgustdir |u|0-359, degrees fom true north
  2721. >=360 = N/A (default)
  2722. |32-34 | 3 |Sensor Description |sensortype |e|See "Sensor Types"
  2723. |35-41 | 7 |Forecast Wind Speed|fwspeed |u|Predicted average wind speed,
  2724. 0-120 in 1-knot units,
  2725. 121 = 121 knots or greater,
  2726. 122 = N/A (default),
  2727. 123-126 = reserved.
  2728. |42-48 | 7 |Forecast Wind Gust |fwgust |u|Predicted max wind speed,
  2729. 0-120 in 1-knot units,
  2730. 121 = 121 knots or greater,
  2731. 122 = N/A (default),
  2732. 123-126 = reserved.
  2733. |49-57 | 9 |Forecast Wind Direction|fwdir |u|0-359, degrees fom true north
  2734. >=360 = N/A (default)
  2735. |58-62 | 5 |Day (UTC) |day |u|1-31; 0 = N/A (default)
  2736. |63-67 | 5 |Hour (UTC) |hour |u|0-23; 24 = N/A (default)
  2737. |68-73 | 6 |Minute (UTC) |minute |u|0-59; 60 = N/A (default)
  2738. |74-81 | 8 |Duration |duration |u|Forecast duration in minutes,
  2739. 255 = N/A (default),
  2740. 0 = cancel forecast.
  2741. |82-84 | 3 |Spare | |x|Not used
  2742. |==============================================================================
  2743. The timestamp group is intended as a valid time of forecast.
  2744. .Sensor Types
  2745. [frame="topbot"]
  2746. |==============================================================================
  2747. | 0 | No data (default)
  2748. | 1 | Raw real time
  2749. | 2 | Real time with quality control
  2750. | 3 | Predicted (based on historical statistics)
  2751. | 4 | Forecast (predicted, refined with real-time information)
  2752. | 5 | Nowcast (a continuous forecast)
  2753. | 6 | (reserved for future use)
  2754. | 7 | Sensor not available
  2755. |==============================================================================
  2756. .Water level report payload
  2757. [frame="topbot",options="header"]
  2758. |==============================================================================
  2759. |Field |Len |Description |Member |T|Units
  2760. |0-0 | 1 |Water Level Type |absolute |b|False if relative to
  2761. reference datum.
  2762. |1-16 | 16 |Water Level |level |i|In 0.001 meter steps,
  2763. -327.67 to 327.67,
  2764. -32767 = -327.67m or less,
  2765. 32767 = 327.67m or more,
  2766. -32768 = N/A (default).
  2767. |17-18 | 2 |Water Level Trend |leveltrend |u| 0 = increasing,
  2768. 1 = decreasing,
  2769. 2 = steady,
  2770. 3 = N/A (default).
  2771. |19-23 | 5 |Vertical Reference Datum |datum |u|See table below
  2772. |24-26 | 3 |Sensor Description |sensortype |e|See "Sensor Types"
  2773. |27-27 | 1 |Forecast Water Level Type|absolute |b|False if relative to
  2774. reference datum.
  2775. |28-43 | 16 |Forecast Water Level |level |i|In 0.001 meter steps,
  2776. -327.67 to 327.67,
  2777. -32767 = -327.67m or less,
  2778. 32767 = 327.67m or more,
  2779. -32768 = N/A (default).
  2780. |44-48 | 5 |Day (UTC) |day |u|1-31; 0 = N/A (default)
  2781. |49-53 | 5 |Hour (UTC) |hour |u|0-23; 24 = N/A (default)
  2782. |54-59 | 6 |Minute (UTC) |minute |u|0-59; 60 = N/A (default)
  2783. |60-67 | 8 |Duration |duration |u|Forecast duration in minutes,
  2784. 255 = N/A (default),
  2785. 0 = cancel forecast.
  2786. |68-84 | 17 |Spare | |x|Not used
  2787. |==============================================================================
  2788. IMO289 says water level is in 0.1m steps, but this is incompatible with the
  2789. two digits of precision in the range.
  2790. The timestamp group is intended as a valid time of forecast.
  2791. .Vertical Reference Datum
  2792. [frame="topbot"]
  2793. |==============================================================================
  2794. | 0 | Mean Lower Low Water (MLLW)
  2795. | 1 | International Great Lakes Datum (IGLD-85)
  2796. | 2 | Local river datum
  2797. | 3 | Station Datum (STND)
  2798. | 4 | Mean Higher High Water (MHHW)
  2799. | 5 | Mean High Water (MHW)
  2800. | 6 | Mean Sea Level (MSL)
  2801. | 7 | Mean Low Water (MLW)
  2802. | 8 | National Geodetic Vertical Datum (NGVD-29)
  2803. | 9 | North American Vertical Datum (NAVD-88)
  2804. | 10 | World Geodetic System (WGS-84)
  2805. | 11 | Lowest Astronomical Tide (LAT)
  2806. | 12 | pool
  2807. | 13 | gauge
  2808. | 14 | Unknown/not available (default)
  2809. | 15-30| Reserved for future use
  2810. |==============================================================================
  2811. .Current flow (2D) report payload
  2812. [frame="topbot",options="header"]
  2813. |==============================================================================
  2814. |Field |Len |Description |Member |T|Units
  2815. |0-7 | 8 |Current Speed #1 |cspeed1 |U1|0.0-24.5 knots:
  2816. units 0.1 knots,
  2817. 246 = speed >= 24.6 knots,
  2818. 247 = N/A (default),
  2819. 248-255 (reserved).
  2820. |8-16 | 9 |Current Direction #1 |cdir1 |u|0-359: deg from true north,
  2821. >=360 = N/A (default).
  2822. |17-25 | 9 |Measurement Depth #1 |cdepth1 |u|0-360m down: units 1m,
  2823. 361 = 361m or greater,
  2824. 362 = N/A (default),
  2825. 363-511 (reserved).
  2826. |26-33 | 8 |Current Speed #2 |cspeed2 |U1|0.0-24.5 knots,
  2827. units 0.1 knots,
  2828. 246 = speed >= 24.6 knots,
  2829. 247 = N/A (default),
  2830. 248-255 (reserved).
  2831. |34-42 | 9 |Current Direction #2 |cdir2 |u|0-359: deg. fom true north,
  2832. >=360 = N/A (default)
  2833. |43-51 | 9 |Measurement Depth #2 |cdepth2 |u|0-360m down: units 1m,
  2834. 361 = 361m or greater,
  2835. 362 = N/A (default),
  2836. 363-511 (reserved).
  2837. |52-59 | 8 |Current Speed #3 |cspeed3 |U1|0.0-24.5 knots:
  2838. units 0.1 knots,
  2839. 246 = speed >= 24.6 knots,
  2840. 247 = N/A (default),
  2841. 248-255 (reserved).
  2842. |60-68 | 9 |Current Direction #3 |cdir3 |u|0-359: degrees fom true north,
  2843. >=360 = N/A (default).
  2844. |69-77 | 9 |Measurement Depth #3 |cdepth3 |u|0-360m down: units 1m,
  2845. 361 = 361m or greater,
  2846. 362 = N/A (default),
  2847. 363-511 (reserved).
  2848. |78-80 | 3 |Sensor Description |sensortype|e|See "Sensor Types"
  2849. |81-84 | 4 |Spare | |x|Not used
  2850. |==============================================================================
  2851. .Current flow (3D) payload
  2852. [frame="topbot",options="header"]
  2853. |==============================================================================
  2854. |Field |Len |Description |Member |T|Units
  2855. |0-7 | 8 |Current Vector component North (u) #1|cnorth1 |U1|0.0-24.5 knots:
  2856. units 0.1 knots,
  2857. 246 = speed >= 24.6 knots,
  2858. 247 = N/A (default),
  2859. 248-255 (reserved).
  2860. |8-15 | 8 |Current Vector component East (v) #1|ceast1 |U1|0.0-24.5 knots:
  2861. units 0.1 knots,
  2862. 246 = speed >= 24.6 knots,
  2863. 247 = N/A (default),
  2864. 248-255 (reserved).
  2865. |16-23 | 8 |Current Vector component Up (z) #1 |cup1 |U1|0.0-24.5 knots:
  2866. units 0.1 knots,
  2867. 246 = speed >= 24.6 knots,
  2868. 247 = N/A (default),
  2869. 248-255 (reserved).
  2870. |24-32 | 9 |Measurement Depth #1 |cdepth1 |u|0-360m down:
  2871. units 1m,
  2872. 361 = 361m or greater,
  2873. 362 = N/A (default),
  2874. 363-511 (reserved).
  2875. |33-40 | 8 |Current Vector component North (u) #2|cnorth2 |U1|0.0-24.5 knots:
  2876. units 0.1 knots,
  2877. 246 = speed >= 24.6 knots,
  2878. 247 = N/A (default),
  2879. 248-255 (reserved).
  2880. |41-48 | 8 |Current Vector component East (v) #2|ceast2 |U1|0.0-24.5 knots:
  2881. units 0.1 knots,
  2882. 246 = speed >= 24.6 knots,
  2883. 247 = N/A (default),
  2884. 248-255 (reserved).
  2885. |49-56 | 8 |Current Vector component Up (z) #2 |cup2 |U1|0.0-24.5 knots:
  2886. units 0.1 knots,
  2887. 246 = speed >= 24.6 knots,
  2888. 247 = N/A (default),
  2889. 248-255 (reserved).
  2890. |57-65 | 9 |Measurement Depth #2 |cdepth2 |u|0-360m down:
  2891. units 1m,
  2892. 361 = 361m or greater,
  2893. 362 = N/A (default),
  2894. 363-511 (reserved).
  2895. |66-68 | 3 |Sensor Description |sensortype|e|See "Sensor Types"
  2896. |69-84 | 16 |Spare | |x|Not used
  2897. |==============================================================================
  2898. .Horizontal current report payload
  2899. [frame="topbot",options="header"]
  2900. |==============================================================================
  2901. |Field |Len |Description |Member |T|Units
  2902. |0-8 | 9 |Current Bearing #1 |bearing1 |u|0-359: deg from true north,
  2903. >=360 = N/A (default).
  2904. |9-15 | 7 |Current Distance #1 |distance1 |u|0-120m:
  2905. 121 = 121m or greater,
  2906. 122 = N/A (default),
  2907. 123-127 (reserved).
  2908. |16-23 | 8 |Current Speed #1 |speed1 |U1|0.0-24.5 knots:
  2909. units 0.1 knots,
  2910. 246 = speed >= 24.6 knots,
  2911. 247 = N/A (default),
  2912. 248-255 (reserved).
  2913. |24-32 | 9 |Current Direction #1 |direction1|u|0-359: deg from true north,
  2914. >=360 = N/A (default).
  2915. |33-41 | 9 |Measurement Depth #1 |depth1 |u|0-360m down: units 1m,
  2916. 361 = 361m or greater,
  2917. 362 = N/A (default),
  2918. 363-511 (reserved).
  2919. |42-50 | 9 |Current Bearing #2 |bearing1 |u|0-359: deg from true north,
  2920. >=360 = N/A (default).
  2921. |51-57 | 7 |Current Distance #2 |distance1 |u|0-120m:
  2922. 121 = 121m or greater,
  2923. 122 = N/A (default),
  2924. 123-127 (reserved).
  2925. |58-65 | 8 |Current Speed #2 |speed1 |U1|0.0-24.5 knots:
  2926. units 0.1 knots,
  2927. 246 = speed >= 24.6 knots,
  2928. 247 = N/A (default),
  2929. 248-255 (reserved).
  2930. |66-74 | 9 |Current Direction #2 |direction1|u|0-359: deg from true north,
  2931. >=360 = N/A (default).
  2932. |75-83 | 9 |Measurement Depth #2 |depth1 |u|0-360m down: units 1m,
  2933. 361 = 361m or greater,
  2934. 362 = N/A (default),
  2935. 363-511 (reserved).
  2936. |84-84 | 1 |Spare | |x|Not used
  2937. |==============================================================================
  2938. .Sea state report payload
  2939. [frame="topbot",options="header"]
  2940. |==============================================================================
  2941. |Field |Len |Description |Member |T|Units
  2942. |0-7 | 8 |Swell Height |swheight |U1|Units 0.1m: 0.0-24.5m,
  2943. 246 = height >= 24,6m,
  2944. 247 = N/A (default),
  2945. 248-255 reserved,
  2946. else h = (value * 0.5).
  2947. |8-13 | 6 |Swell Period |swperiod |u|Period in seconds:
  2948. 0-60,
  2949. 61 = N/A (default),
  2950. 62-63 (reserved).
  2951. |14-22 | 9 |Swell Direction |swelldir |u|0-359 deg:
  2952. 0-359 true bearing,
  2953. 360 = N/A (default),
  2954. 361-511 reserved,
  2955. |23-26 | 4 |Sea State |seastate |u|Beaufort scale: 0-12
  2956. >= 13 = N/A (default)
  2957. |27-29 | 3 |Swell Sensor Description |swelltype |e|See "Sensor Types"
  2958. |30-39 | 10 |Water Temperature |watertemp |U1|-10.0 to 50.0:
  2959. units 0.1 C,
  2960. >=601 = N/A (default).
  2961. 602-1023 reserved,
  2962. else -10.0m after scaling.
  2963. |40-46 | 7 |Water Temperature Depth |distance1 |U1|0.0-12.0m: 0.1m units,
  2964. 121 = 12.1m or greater,
  2965. 122 = N/A (default),
  2966. 123-126 (reserved).
  2967. |47-49 | 3 |Depth Sensor Description |depthtype |e|See "Sensor Types"
  2968. |50-57 | 8 |Wave Height |waveheight|U1|Height 0.0-24.5m:
  2969. units 0.1m,
  2970. 246 = height >= 24.6m,
  2971. 247 N/A (default),
  2972. 248-255 reserved.
  2973. |58-63 | 6 |Wave Period |waveperiod|u|0-60: units of seconds,
  2974. 61 = N/A (default),
  2975. 62-63 reserved.
  2976. |64-72 | 9 |Wave Direction |wavedir |u|0-359: true bearing,
  2977. 360 = N/A (default),
  2978. 361-511 reserved.
  2979. |73-75 | 3 |Wave Sensor Description |wavetype |e|See "Sensor Types"
  2980. |76-84 | 9 |Salinity |salinity |U1|0.0-50.0%:
  2981. units of 0.1%
  2982. 501 = salinity >= 50.1%
  2983. 502 = data N/A (default)
  2984. 503 - sensor N/A,
  2985. 504-511 reserved.
  2986. |==============================================================================
  2987. The standard does not fix the meaning of a water temperature depth of 127.
  2988. .Salinity report payload
  2989. [frame="topbot",options="header"]
  2990. |==============================================================================
  2991. |Field |Len |Description |Member |T|Units
  2992. |0-9 | 10 |Water Temperature |watertemp |U1|-10.0 to 50.0:
  2993. units 0.1 C,
  2994. >=601 = N/A (default).
  2995. 602-1023 reserved,
  2996. else -10.0m after scaling.
  2997. |10-19 | 10 |Conductivity |conductivity |U1|In Siemens/m, 0.0-7.0,
  2998. 0.1 S/m steps,
  2999. 701 = not less than 7.01,
  3000. 702 = data N/A,
  3001. 703 = sensor N/A (default),
  3002. 704-1023 (reserved).
  3003. |20-35 | 16 |Water Pressure |pressure |U1|Water pressure: 0.0-6000.0,
  3004. 0.1 decibar steps,
  3005. 60001 = pressure >= 6000.1,
  3006. 60002 = data N/A,
  3007. 60003 = sensor N/A (default),
  3008. 60004-65536 reserved.
  3009. |36-44 | 9 |Salinity |salinity |U1|0.0-50.0%:
  3010. units of 0.1%
  3011. 501 = salinity >= 50.1%
  3012. 502 = data N/A (default)
  3013. 503 - sensor N/A,
  3014. 504-511 reserved.
  3015. |45-46 | 2 |Salinity Type |salinitytype|e|0 = measured,
  3016. 1 = calculated using PSS-78,
  3017. 2 = calculated using other method,
  3018. 3 = reserved.
  3019. |47-49 | 3 |Sensor Description |sensortype |e|See "Sensor Types"
  3020. |50-84 | 35 |Spare | |x|Not used
  3021. |==============================================================================
  3022. No default is specified for salinity type.
  3023. .Weather report payload
  3024. [frame="topbot",options="header"]
  3025. |==============================================================================
  3026. |Field |Len |Description |Member |T|Units
  3027. |0-10 | 11 |Air Temperature |temperature|i|Dry bulb temp: 0.1 deg C
  3028. -60.0 to +60.0,
  3029. -1024 = data N/A (default),
  3030. 601-1023 reserved.
  3031. |11-13 | 3 |Temp. Sensor Type |sensortype |e|See "Sensor Types"
  3032. |14-15 | 2 |Precipitation Type |preciptype |e|0 = rain,
  3033. 1 = rain and snow,
  3034. 2 = rain and snow,
  3035. 3 = other.
  3036. |16-23 | 8 |Horiz. Visibility |visibility |U1|Units of 0.1 nautical miles,
  3037. 0.0-24.0,
  3038. 241 = visibility >= 24.1nm,
  3039. 242 = data N/A,
  3040. 243 = sensor N/A (default),
  3041. 244-255 reserved.
  3042. |24-33 | 10 |Dew Point |dewpoint |i|-20.0 to +50.0: 0.1 deg C,
  3043. 501 = N/A (default),
  3044. 502-511 reserved,
  3045. -511--201 reserved.
  3046. |34-36 | 3 |Dewpoint Sensor Type|dewtype |e|See "Sensor Types".
  3047. |37-45 | 9 |Air Pressure |pressure |u|0 = pressure <= 800hpA,
  3048. 1-401 = 800-1200hPa,
  3049. 402 = pressure >= 1201 hPa,
  3050. 403 - data N/A (default),
  3051. 404-511 reserved.
  3052. |46-47 | 2 |Pressure Tendency |pressuretend |e|0 = steady,
  3053. 1 = decreasing,
  3054. 2 = increasing,
  3055. 3 - N/A (default).
  3056. |48-50 | 3 |Pressure Sensor Type|pressuretype|e|See "Sensor Types"
  3057. |51-59 | 9 |Salinity |salinity |U1|0.0-50.0%:
  3058. units of 0.1%
  3059. 501 = salinity >= 50.1%
  3060. 502 = data N/A (default)
  3061. 503 - sensor N/A,
  3062. 504-511 reserved.
  3063. |60-84 | 25 |Spare | |x|Not used
  3064. |==============================================================================
  3065. The standard does not specify how to code 'Precipitation Type' when
  3066. there is none.
  3067. .Air Gap/Air Draft report payload
  3068. [frame="topbot",options="header"]
  3069. |==============================================================================
  3070. |Field |Len |Description |Member |T|Units
  3071. |0-12 | 13 |Air Draught |airdraught |U1|1-81.9m in 0.1m steps,
  3072. 8191 = distance >= 81.91m,
  3073. 0 = N/A (default).
  3074. |13-25 | 13 |Air Gap |airgap |U1|1-81.9m in 0.1m steps,
  3075. 8191 = distance >= 81.91m,
  3076. 0 = N/A (default).
  3077. |26-27 | 2 |Air Gap Trend |gaptrend |e|0 = steady,
  3078. 1 = rising,
  3079. 2 = falling,
  3080. 3 = N/A (default).
  3081. |28-40 | 13 |Forecast Air Gap |fairgap |U1|1-81.9m in 0.1m steps,
  3082. 8191 = distance >= 81.91m,
  3083. 0 = N/A (default).
  3084. |41-45 | 5 |Day (UTC) |day |u|1-31; 0 = N/A (default)
  3085. |46-50 | 5 |Hour (UTC) |hour |u|0-23; 24 = N/A (default)
  3086. |51-56 | 6 |Minute (UTC) |minute |u|0-59; 60 = N/A (default)
  3087. |57-84 | 28 |Spare | |x|Not used
  3088. |==============================================================================
  3089. Air draught is the vertical distance measured from the ship's
  3090. waterline to the highest point on the ship. Air gap is the vertical
  3091. distance measured from the surface of the water to the sensor.
  3092. The timestamp is for the forecast air gap.
  3093. ==== IMO289 Route Information (broadcast) ====
  3094. The content of this message is a time and a list of waypoints describing a
  3095. course. It has an addressed equivalent that is a message 6 subtype.
  3096. A message 8 subtype. DAC = 001 FID = 27. Variable length: 172-997 bits.
  3097. //: Type 8(1/27)
  3098. [frame="topbot",options="header"]
  3099. |==============================================================================
  3100. |Field |Len |Description |Member |T|Units
  3101. |0-5 | 6 |Message Type |type |u|Constant: 8
  3102. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  3103. |8-37 | 30 |Source MMSI |mmsi |u|9 decimal digits
  3104. |38-39 | 2 |Spare | |x|Not used
  3105. |40-49 | 10 |DAC |dac |u|DAC = 001
  3106. |50-55 | 6 |FID |fid |u|FID = 27
  3107. |56-65 | 10 |Message Linkage ID|linkage |u|Unsigned integer
  3108. |66-68 | 3 |Sender Class |sender |u|0 = ship (default), 1 = authority,
  3109. 27 = reserved for future use.
  3110. |69-73 | 5 |Route Type |rtype |e|See below
  3111. |74-77 | 4 |Start month |month |u|1-12, 0=N/A (default)
  3112. |78-82 | 5 |Start day |day |u|1-31, 0=N/A (default)
  3113. |83-87 | 5 |Start hour |hour |u|0-23, 24=N/A (default)
  3114. |88-93 | 6 |Start minute |minute |u|0-59, 60=N/A (default)
  3115. |94-111 | 18 |Duration |duration |u|Minutes from start time,
  3116. 0 = cancel route,
  3117. 262,143 = not available (default).
  3118. |112-116 | 5 |Waypoint count |waycount |u|1-16, values 17-31 are not used.
  3119. |117 | | |waypoints|a^16|Waypoint array
  3120. |0-27 | 28 |Longitude |lon |I4|Unit = minutes * 0.0001,
  3121. 181000 = N/A (default),
  3122. E positive, W negative.
  3123. |28-54 | 27 |Latitude |lat |I4|Unit = minutes * 0.001,
  3124. 91000 = N/A (default),
  3125. N positive, S negative.
  3126. |==============================================================================
  3127. The final pair of fields in the table above is a waypoint. The message may
  3128. end with 1 to 16 waypoints.
  3129. For interpretation of the Route Type field, see the table under the "Route
  3130. Information (addressed)" message (DAC=1, FID=28).
  3131. ==== IMO289 Text description (broadcast) ====
  3132. A message 8 subtype. DAC = 001 FID = 29. Variable length: 72-1032 bits.
  3133. Intended to be used to associate a text annotation with another message
  3134. via the Message Linkage ID field.
  3135. //: Type 8(1/29)
  3136. [frame="topbot",options="header"]
  3137. |=============================================================================
  3138. |Field |Len |Description |Member |T|Units
  3139. |0-5 | 6 |Message Type |type |u|Constant: 8
  3140. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  3141. |8-37 | 30 |Source MMSI |mmsi |u|9 decimal digits
  3142. |38-39 | 2 |Spare | |x|Not used
  3143. |40-49 | 10 |DAC |dac |u|DAC = 001
  3144. |50-55 | 6 |FID |fid |u|FID = 29
  3145. |56-65 | 10 |Message Linkage ID|linkage |u|Unsigned integer
  3146. |66-? | 6-966 |Description |description|t|String
  3147. |==============================================================================
  3148. There is an equivalent subtype of message 6 that is an addressed description.
  3149. ==== Meteorological and Hydrological Data (IMO289) ===
  3150. A message 8 subtype. DAC = 001 FID = 31. Fixed length, 360 bits.
  3151. Supersedes an <<IMO236>> message with the same title but FID = 11 and
  3152. a different binary layout. The exact differences are: (a) The
  3153. addition of the Position Accuracy field, (b) water level has 12 bits
  3154. of precision rather than 9 (units of centimeters rather than
  3155. decimeters), and (c) end padding changes from 6 to 10 bits.
  3156. //: Type 8(1/31)
  3157. [frame="topbot",options="header"]
  3158. |==============================================================================
  3159. |Field |Len |Description |Member |T|Units
  3160. |0-5 | 6 |Message Type |type |u|Constant: 8
  3161. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  3162. |8-37 | 30 |Source MMSI |mmsi |u|9 decimal digits
  3163. |38-39 | 2 |Spare | |x|Not used
  3164. |40-49 | 10 |DAC |dac |u|DAC = 001
  3165. |50-55 | 6 |FID |fid |u|FID = 31
  3166. |56-80 | 25 |Longitude |lon |I3|Unit = minutes * 0.001,
  3167. E positive, We negative,
  3168. 181000 = N/A (default).
  3169. |81-104 | 24 |Latitude |lat |I3|Unit = minutes * 0.001,
  3170. N positive, S negative,
  3171. 91000 = N/A (default).
  3172. |105-105 | 1 |Fix quality |accuracy |b|As in Common Navigation Block
  3173. |106-110 | 5 |Day |day |u|1-31, 0=N/A (default)
  3174. |111-115 | 5 |Hour |hour |u|0-23, 24=N/A (default)
  3175. |116-121 | 6 |Minute |minute |u|0-59, 60=N/A (default)
  3176. |122-128 | 7 |Average Wind Speed |wspeed |u|10-min avg wind speed: knots,
  3177. 126 = wind >= 126 knots,
  3178. 127 = N/A (default).
  3179. |129-135 | 7 |Gust Speed |wgust |u|10-min max wind speed: knots,
  3180. 126 = wind >= 126 knots,
  3181. 127 = N/A (default).
  3182. |136-144 | 9 |Wind Direction |wdir |u|0-359, true bearing,
  3183. 360 = N/A (default).
  3184. |145-153 | 9 |Wind Gust Direction|wgustdir |u|0-359, true bearing,
  3185. 360 = N/A (default).
  3186. |154-164 | 11 |Air Temperature |airtemp |I1|Dry bulb temp: units 0.1C,
  3187. -60.0 to +60.0,
  3188. -1024 = N/A (default).
  3189. |165-171 | 7 |Relative Humidity |humidity |u|0-100%: units of 1%,
  3190. 101 = N/A (default).
  3191. |172-181 | 10 |Dew Point |dewpoint |I1|-20.0 to +50.0: units 0.1C,
  3192. 501 = N/A (default).
  3193. |182-190 | 9 |Air Pressure |pressure |u|800-1200hPa, 1hPa,
  3194. 0 = pressure <= 799hPa,
  3195. 402 = pressure >= 1201 hPa,
  3196. 511 = N/A (default).
  3197. |191-192 | 2 |Pressure Tendency |pressuretend|e|0 = steady,
  3198. 1 = decreasing,
  3199. 2 = increasing,
  3200. 3 = N/A (default).
  3201. |193-193 | 7 |Max. visibility |visgreater |b|Visibility greater than.
  3202. |194-200 | 8 |Horiz. Visibility |visibility |U1|Units are 0.1 nautical miles,
  3203. 127 = N/A (default).
  3204. |201-212 | 12 |Water Level |waterlevel |I2|-10.0 to +30.0 in 0.01m,
  3205. -10.0m after scaling,
  3206. 4001 = N/A (default).
  3207. |213-214 | 2 |Water Level Trend |leveltrend |e|0 = steady,
  3208. 1 = decreasing,
  3209. 2 = increasing,
  3210. 3 = N/A (default).
  3211. |215-222 | 8 |Surface Current Speed |cspeed |U1|0.0-25.0: units 0.1 knot,
  3212. 251 = speed >= 25.1 knots,
  3213. 255 = N/A (default).
  3214. |223-231 | 9 |Surface Current Direction |cdir |u|0-359: deg. fom true north,
  3215. 360 = N/A (default).
  3216. |232-239 | 8 |Current Speed #2 |cspeed2 |U1|0.0-25.0 knots:
  3217. units 0.1 knot,
  3218. 251 = speed >= 25.1 knots,
  3219. 255 = N/A (default).
  3220. |240-248 | 9 |Current Direction #2 |cdir2 |u|0-359: true bearing,
  3221. 360 = N/A (default).
  3222. |249-253 | 5 |Measurement Depth #2 |cdepth2 |U1|0-30m down: units 0.1m,
  3223. 31 = N/A (default).
  3224. |254-261 | 8 |Current Speed #3 |cspeed3 |U1|0.0-25.0 knots: units 0.1 knot,
  3225. 251 = speed >= 25.1 knots,
  3226. 255 = N/A (default).
  3227. |262-270 | 9 |Current Direction #3 |cdir3 |u|0-359: true bearing,
  3228. 360 = N/A (default).
  3229. |271-275 | 5 |Measurement Depth #3 |cdepth3 |u|0-30m down: units 0.1m,
  3230. 31 = N/A (default).
  3231. |276-283 | 8 |Wave Height |waveheight|U1|Height 0-25m: units 0.1m,
  3232. 251 = height >= 25.1m,
  3233. 255 = N/A (default).
  3234. |284-289 | 6 |Wave Period |waveperiod|u|Seconds, 0-60, units 1s,
  3235. 63 = N/A (default).
  3236. |290-298 | 9 |Wave Direction |wavedir |u|0-359: true bearing,
  3237. 360 = N/A (default).
  3238. |299-306 | 8 |Swell Height |swellheight|U1|0-25m: units 0.1m,
  3239. 251 = height >= 25.1m,
  3240. 255 = N/A (default).
  3241. |307-312 | 6 |Swell Period |swellperiod|u|0-60, units 1s
  3242. 360 = N/A (default)
  3243. |313-321 | 9 |Swell Direction |swelldir |u|0-359: true bearing,
  3244. 360 = N/A (default)
  3245. |322-325 | 4 |Sea State |seastate |e|See "Beaufort scale"
  3246. |326-335 | 10 |Water Temperature |watertemp |I1|-10.0 to 50.0 C:
  3247. units 0.1 deg,
  3248. 501 = N/A (default)
  3249. |336-338 | 3 |Precipitation |preciptype |e|See "Precipitation type"
  3250. |339-347 | 9 |Salinity |salinity |U1|0.0-50.0%: units of 0.1%
  3251. 501 = salinity >= 50.1%
  3252. 510 = N/A (default)
  3253. 511 = sensor not available
  3254. |348-349 | 2 |Ice |ice |u| 0 = No
  3255. 1 = Yes
  3256. 2 = (reserved for future use)
  3257. 3 = not available = default
  3258. |350-359 | 10 |Spare | |x|Not used
  3259. |==============================================================================
  3260. Precipitation types and Beaufort scale are as for the <<IMO236>> version.
  3261. ==== Inland ship static and voyage related data (Inland AIS) ====
  3262. A message 8 subtype. DAC = 200 FID = 10. Fixed length, 168 bits.
  3263. This message should be used by inland vessels only to broadcast ship
  3264. static and voyage related data in addition to message 5. The message
  3265. should be sent as soon as possible (from the AIS point of view) after
  3266. message 5.
  3267. //: Type 8(200/10)
  3268. [frame="topbot",options="header"]
  3269. |===============================================================================
  3270. |Field |Len |Description |Member |T|Units
  3271. |0-5 | 6 |Message Type |type |u|Constant: 8
  3272. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  3273. |8-37 | 30 |Source MMSI |mmsi |u|9 decimal digits
  3274. |38-39 | 2 |Spare | |x|Not used
  3275. |40-49 | 10 |Designated Area Code |dac |u|Constant: 200
  3276. |50-55 | 6 |Functional ID |fid |u|Constant: 10
  3277. |56-103 | 48 |European Vessel ID |vin |t|8 six-bit characters
  3278. |104-116 | 13 |Length of ship |length |u|1-8000 * 0.1m, default 0
  3279. |117-126 | 10 |Beam of ship |beam |u|1-1000 * 0.1m, default 0
  3280. |127-140 | 14 |Ship/combination type |shiptype |e|ERI Classification
  3281. |141-143 | 3 |Hazardous cargo |hazard |e|See "Hazard Codes" below
  3282. |144-154 | 11 |Draught |draught |u|1-200 * 0.01m, default 0
  3283. |155-156 | 2 |Loaded/Unloaded |loaded |e|See "Load Status" below
  3284. |157-157 | 1 |Speed inf. quality |speed_q |b|0 = low/GNSS (default)
  3285. 1 = high
  3286. |158-158 | 1 |Course inf. quality |course_q |b|0 = low/GNSS (default)
  3287. 1 = high
  3288. |159-159 | 1 |Heading inf. quality |heading_q|b|0 = low/GNSS (default)
  3289. 1 = high
  3290. |160-167 | 8 |Spare | |x|Not used
  3291. |==============================================================================
  3292. OPEN-QUESTION: <<INLAND>> is not explicit whether the
  3293. "Ship/combination type" field is to contain full ERI codes with range
  3294. 8000-8370 or ERI SOLAS codes in the range 1-99. The tables below
  3295. expand both. Full ERI codes have been observed in the wild.
  3296. .ERI Classification
  3297. [frame="topbot",options="header"]
  3298. |==============================================================================
  3299. |Code | SOLAS | Description
  3300. |8000 | 99 | Vessel, type unknown
  3301. |8010 | 79 | Motor freighter
  3302. |8020 | 89 | Motor tanker
  3303. |8021 | 80 | Motor tanker, liquid cargo, type N
  3304. |8022 | 80 | Motor tanker, liquid cargo, type C
  3305. |8023 | 89 | Motor tanker, dry cargo as if liquid (e.g. cement)
  3306. |8030 | 79 | Container vessel
  3307. |8040 | 80 | Gas tanker
  3308. |8050 | 79 | Motor freighter, tug
  3309. |8060 | 89 | Motor tanker, tug
  3310. |8070 | 79 | Motor freighter with one or more ships alongside
  3311. |8080 | 89 | Motor freighter with tanker
  3312. |8090 | 79 | Motor freighter pushing one or more freighters
  3313. |8100 | 89 | Motor freighter pushing at least one tank-ship
  3314. |8110 | 79 | Tug, freighter
  3315. |8120 | 89 | Tug, tanker
  3316. |8130 | 31 | Tug freighter, coupled
  3317. |8140 | 31 | Tug, freighter/tanker, coupled
  3318. |8150 | 99 | Freightbarge
  3319. |8160 | 99 | Tankbarge
  3320. |8161 | 90 | Tankbarge, liquid cargo, type N
  3321. |8162 | 90 | Tankbarge, liquid cargo, type C
  3322. |8163 | 99 | Tankbarge, dry cargo as if liquid (e.g. cement)
  3323. |8170 | 99 | Freightbarge with containers
  3324. |8180 | 90 | Tankbarge, gas
  3325. |8210 | 79 | Pushtow, one cargo barge
  3326. |8220 | 79 | Pushtow, two cargo barges
  3327. |8230 | 79 | Pushtow, three cargo barges
  3328. |8240 | 79 | Pushtow, four cargo barges
  3329. |8250 | 79 | Pushtow, five cargo barges
  3330. |8260 | 79 | Pushtow, six cargo barges
  3331. |8270 | 79 | Pushtow, seven cargo barges
  3332. |8280 | 79 | Pushtow, eight cargo barges
  3333. |8290 | 79 | Pushtow, nine or more barges
  3334. |8310 | 80 | Pushtow, one tank/gas barge
  3335. |8320 | 80 | Pushtow, two barges at least one tanker or gas barge
  3336. |8330 | 80 | Pushtow, three barges at least one tanker or gas barge
  3337. |8340 | 80 | Pushtow, four barges at least one tanker or gas barge
  3338. |8350 | 80 | Pushtow, five barges at least one tanker or gas barge
  3339. |8360 | 80 | Pushtow, six barges at least one tanker or gas barge
  3340. |8370 | 80 | Pushtow, seven barges at least one tanker or gas barge
  3341. |=============================================================================
  3342. .SOLAS ship type, first digit
  3343. [frame="topbot"]
  3344. |=============================================================================
  3345. | 3 | Vessel
  3346. | 7 | Cargo ship
  3347. | 8 | Tanker
  3348. | 9 | Other types of ship
  3349. |=============================================================================
  3350. .SOLAS ship type, second digit
  3351. [frame="topbot"]
  3352. |=============================================================================
  3353. | 0 | All ships of this type
  3354. | 1 | Towing
  3355. | 8 | Tanker
  3356. | 9 | No additional information
  3357. |=============================================================================
  3358. .Hazard code
  3359. [frame="topbot"]
  3360. |==============================================================================
  3361. | 0 | 0 blue cones/lights
  3362. | 1 | 1 blue cone/light
  3363. | 2 | 2 blue cones/lights
  3364. | 3 | 3 blue cones/lights
  3365. | 4 | 4 B-Flag
  3366. | 5 | Unknown (default)
  3367. |==============================================================================
  3368. .Load status
  3369. [frame="topbot"]
  3370. |==============================================================================
  3371. | 0 | N/A (default)
  3372. | 1 | Unloaded
  3373. | 2 | Loaded
  3374. |==============================================================================
  3375. ==== EMMA Warning Report (Inland AIS) ====
  3376. A message 8 subtype. DAC = 200 FID = 23. Fixed length, 256 bits.
  3377. The EMMA warning is sent by base stations to drive shipboard ECDIS
  3378. displays of heavy weather conditions. The following message is capable
  3379. of transmitting the EMMA data using the AIS channel. It does not
  3380. replace the Notices to Skippers warnings.
  3381. //: Type 8(200/23)
  3382. [frame="topbot",options="header"]
  3383. |===============================================================================
  3384. |Field |Len |Description |Member |T|Units
  3385. |0-5 | 6 |Message Type |type |u|Constant: 8
  3386. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  3387. |8-37 | 30 |Source MMSI |mmsi |u|9 decimal digits
  3388. |38-39 | 2 |Spare | |x|Not used
  3389. |40-49 | 10 |Designated Area Code|dac |u|Constant: 200
  3390. |50-55 | 6 |Functional ID |fid |u|Constant: 23
  3391. |56-63 | 8 |Start Year |start_year |u|1-55, year since 2000
  3392. 0 = N/A (default)
  3393. |64-67 | 4 |Start Month |start_month |u|1-12; 0 = N/A (default)
  3394. |68-72 | 5 |Start Day |start_day |u|1-31; 0 = N/A (default)
  3395. |73-80 | 8 |End Year |end_year |u|1-55, year since 2000
  3396. 0 = N/A (default)
  3397. |81-84 | 4 |End Month |end_month |u|1-12; 0 = N/A (default)
  3398. |85-89 | 5 |End Day |end_day |u|1-31; 0 = N/A (default)
  3399. |90-94 | 5 |Start Hour |start_hour |u|0-23; 24 = N/A (default)
  3400. |95-100 | 6 |Start Minute |start_minute|u|0-59; 60 = N/A (default)
  3401. |101-105 | 5 |End Hour |end_hour |u|0-23; 24 = N/A (default)
  3402. |106-111 | 6 |End Minute |end_minute |u|0-59; 60 = N/A (default)
  3403. |112-139 | 28 |Start Longitude |start_lon |I4|Minutes/10000 (as in CNB)
  3404. |140-166 | 27 |Start Latitude |start_lat |I4|Minutes/10000 (as in CNB)
  3405. |167-194 | 28 |End Longitude |end_lon |I4|Minutes/10000 (as in CNB)
  3406. |195-221 | 27 |End Latitude |end_lat |I4|Minutes/10000 (as in CNB)
  3407. |222-225 | 4 |Type |type |e|See "EMMA Type Codes" below
  3408. |226-234 | 9 |Min value |min |i|Signed Integer, see below
  3409. |235-243 | 9 |Max value |max |i|Signed Integer, see below
  3410. |244-245 | 2 |Classification |intensity |e|1 = Slight,
  3411. 2 = Medium,
  3412. 3 = Strong
  3413. |246-249 | 4 |Wind Direction |wind |e|See "EMMA Winds" below
  3414. |250-255 | 6 |Spare | |x|Not used
  3415. |===============================================================================
  3416. OPEN-QUESTION: <<INLAND>> is not explicit about the interpretation of
  3417. the longitude and latitude fields; these semantics are assumed here
  3418. from 28 and 27-bit fields in other messages.
  3419. <<INLAND>> specifies an 8-bit format with 9th leading sign bit for the
  3420. min and max fields. Values 0-253 are interpreted as integer data,
  3421. modified by the leading sign bit. The values +254 and -254 are
  3422. interpreted as "greater that +253" and "less than -253" respectively.
  3423. Both values +255 and -255 are interpreted as "unknown" (default).
  3424. OPEN-QUESTION: What are the semantics of the min and max values? To
  3425. what parameters do they apply?
  3426. OPEN-QUESTION: <<INLAND>> does not specify whether start and end times
  3427. are UTC or local.
  3428. .EMMA Type Codes
  3429. [frame="topbot"]
  3430. |==============================
  3431. | 0 | NA | Not Available
  3432. | 1 | WI | Wind
  3433. | 2 | RA | Rain
  3434. | 3 | SN | Snow and ice
  3435. | 4 | TH | Thunderstorm
  3436. | 5 | FO | Fog
  3437. | 6 | LT | Low temperature
  3438. | 7 | HT | High temperature
  3439. | 8 | FL | Flood
  3440. | 9 | FI | Forest Fire
  3441. |==============================
  3442. .EMMA Winds
  3443. [frame="topbot"]
  3444. |==============================
  3445. | 1 | N | North
  3446. | 2 | NE | North East
  3447. | 3 | E | East
  3448. | 4 | SE | South East
  3449. | 5 | S | South
  3450. | 6 | SW | South West
  3451. | 7 | W | West
  3452. | 8 | NW | North West
  3453. |==============================
  3454. ==== Water Levels (Inland AIS) ====
  3455. A message 6 subtype. DAC = 200 FID = 24. Fixed length, 168 bits.
  3456. This message should be used to inform skippers about actual water
  3457. levels in their area. It is additional short-term information to the
  3458. water levels distributed via Notices to Skippers. It is possible to
  3459. transmit the water levels of more than 4 gauges using multiple
  3460. messages.
  3461. //: Type 8(200/24)
  3462. [frame="topbot",options="header"]
  3463. |===============================================================================
  3464. |Field |Len |Description |Member |T|Units
  3465. |0-5 | 6 |Message Type |type |u|Constant: 6
  3466. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  3467. |8-37 | 30 |Source MMSI |mmsi |u|9 decimal digits
  3468. |38-39 | 2 |Spare | |x|Not used
  3469. |40-49 | 10 |Designated Area Code|dac |u|Constant: 200
  3470. |50-55 | 6 |Functional ID |fid |u|Constant: 24
  3471. |56-67 | 12 |UN Country Code |country |t|2 six-bit characters
  3472. |68 | | |gauges |a4|Gauge measurement array
  3473. |0-10 | 11 |Gauge ID |id |u|0=unknown (default)
  3474. |11-24 | 14 |Water Level |level |i|cm, 0=unknown (default)
  3475. |===============================================================================
  3476. Water levels are relative to the local standard, e.g. GIW in Germany
  3477. and RNW on the Danube.
  3478. ==== Signal Strength (Inland AIS) ====
  3479. A message 8 subtype. DAC = 200 FID = 40. Fixed length, 168 bits.
  3480. This message should be sent by base stations only, to inform about the
  3481. status of different light signals to all vessels in a certain
  3482. area. The information should be displayed on an external Inland ECDIS
  3483. display as dynamic symbols. The message should be sent with binary
  3484. message 8 at regular intervals.
  3485. //: Type 8(200/40)
  3486. [frame="topbot",options="header"]
  3487. |===============================================================================
  3488. |Field |Len |Description |Member |T|Units
  3489. |0-5 | 6 |Message Type |type |u|Constant: 8
  3490. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  3491. |8-37 | 30 |Source MMSI |mmsi |u|9 decimal digits
  3492. |38-39 | 2 |Spare | |x|Not used
  3493. |40-49 | 10 |Designated Area Code|dac |u|Constant: 200
  3494. |50-55 | 6 |Functional ID |fid |u|Constant: 40
  3495. |56-83 | 28 |Signal Longitude |lon |I4|Minutes/10000 (as in CNB)
  3496. |84-110 | 27 |Signal Latitude |lat |I4|Minutes/10000 (as in CNB)
  3497. |111-114 | 4 |Signal form |form |u|Consult <<INLAND>> Annex C
  3498. |115-123 | 9 |Signal orientation |facing |u|0-39 deg, 511= N/A (default)
  3499. |124-126 | 3 |Direction of impact |direction |e|See "Signal Impact" below
  3500. |127-156 | 30 |Light Status |status |e|See "Signal Status" below
  3501. |157-167 | 11 |Spare | |x|Not used
  3502. |===============================================================================
  3503. OPEN-QUESTION: <<INLAND>> is not explicit about the interpretation of
  3504. the longitude and latitude fields; these semantics are assumed here
  3505. from 28 and 27-bit fields in other messages.
  3506. The Signal Form field describes the physical arrangement of the
  3507. signal lights. Values 0 and 15 indicate the shape is unknown or
  3508. unspecified.
  3509. //: direction vocabulary
  3510. .Direction of Signal Impact
  3511. [frame="topbot"]
  3512. |===============================================================================
  3513. | 0 | Unknown (default)
  3514. | 1 | Upstream
  3515. | 2 | Downstream
  3516. | 3 | To left bank
  3517. | 4 | To right bank
  3518. |===============================================================================
  3519. The Signal Status field is interpreted as 9 decimal digits describing
  3520. the lights as numbered in their Signal Form diagram - typically left
  3521. to right and then top to bottom - with each digit interpreted in the
  3522. following way:
  3523. //: status vocabulary
  3524. .Signal Status
  3525. [frame="topbot"]
  3526. |===============================================================================
  3527. | 0 | Unknown (default)
  3528. | 1 | No light
  3529. | 2 | White
  3530. | 3 | Yellow
  3531. | 4 | Green
  3532. | 5 | Red
  3533. | 6 | White flashing
  3534. | 7 | Yellow flashing.
  3535. |===============================================================================
  3536. === Type 9: Standard SAR Aircraft Position Report ===
  3537. Tracking information for search-and-rescue aircraft. Total number of
  3538. bits is 168.
  3539. //: Type 9
  3540. [frame="topbot",options="header"]
  3541. |==============================================================================
  3542. |Field |Len |Description |Member |T|Encoding
  3543. |0-5 | 6 |Message Type |type |u|Constant: 9
  3544. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  3545. |8-37 |30 |MMSI |mmsi |u|9 decimal digits
  3546. |38-49 |12 |Altitude |alt |u|See below
  3547. |50-59 |10 |SOG |speed |u|See below
  3548. |60-60 | 1 |Position Accuracy |accuracy |u|See below
  3549. |61-88 |28 |Longitude |lon |I4|Minutes/10000 (as in CNB)
  3550. |89-115 |27 |Latitude |lat |I4|Minutes/10000 (as in CNB)
  3551. |116-127 |12 |Course Over Ground |course |U1|True bearing, 0.1 degree units
  3552. |128-133 | 6 |Time Stamp |second |u|UTC second.
  3553. |134-141 | 8 |Regional reserved |regional |x|Reserved
  3554. |142-142 | 1 |DTE |dte |b|0=Data terminal ready,
  3555. 1=Data terminal not ready (default)
  3556. |143-145 | 3 |Spare | |x|Not used
  3557. |146-146 | 1 |Assigned |assigned |b|Assigned-mode flag
  3558. |147-147 | 1 |RAIM flag |raim |b|As for common navigation block
  3559. |148-167 |20 |Radio status |radio |u|See <<IALA>> for details.
  3560. |==============================================================================
  3561. Altitude is in meters. The special value 4095 indicates altitude is
  3562. not available; 4094 indicates 4094 meters or higher.
  3563. Speed over ground is in knots, not deciknots as in the common
  3564. navigation block; planes go faster. The special value 1023 indicates
  3565. speed not available, 1022 indicates 1022 knots or higher.
  3566. Position Accuracy, Longitude, Latitude, and Course over Ground
  3567. are encoded identically as in the common navigation block and
  3568. are even at the same bit offsets. Time stamp has the same special
  3569. values as in the common navigation block, but is at a different offset.
  3570. === Type 10: UTC/Date Inquiry ===
  3571. Request for UTC/Date information from an AIS base station. Total
  3572. number of bits is 72.
  3573. //: Type 10
  3574. [frame="topbot",options="header"]
  3575. |==============================================================================
  3576. |Field |Len |Description |Member |T|Encoding
  3577. |0-5 | 6 |Message Type |type |u|Constant: 10
  3578. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  3579. |8-37 |30 |Source MMSI |mmsi |u|9 decimal digits
  3580. |38-39 | 2 |Spare | |x|Not used
  3581. |40-69 |30 |Destination MMSI |dest_mmsi |u|9 decimal digits
  3582. |70-71 | 2 |Spare | |x|Not used
  3583. |==============================================================================
  3584. === Type 11: UTC/Date Response ===
  3585. Identical to message 4, with the semantics of a response to inquiry.
  3586. === Type 12: Addressed Safety-Related Message ===
  3587. This is a point-to-point text message. The payload is interpreted as
  3588. six-bit text. This message is variable in length up to a maximum of
  3589. 1008 bits (up to 5 AIVDM sentence payloads).
  3590. //: Type 12
  3591. [frame="topbot",options="header"]
  3592. |==============================================================================
  3593. |Field |Len |Description |Member |T|Units
  3594. |0-5 | 6 |Message Type |type |u|Constant: 12
  3595. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  3596. |8-37 | 30 |Source MMSI |mmsi |u|9 decimal digits
  3597. |38-39 | 2 |Sequence Number |seqno |u|Unsigned integer 0-3
  3598. |40-69 | 30 |Destination MMSI |dest_mmsi |u|9 decimal digits
  3599. |70 | 1 |Retransmit flag |retransmit |b|0 = no retransmit (default),
  3600. 1 = retransmitted
  3601. |71 | 1 |Spare | |x|Not used
  3602. |72 |936 |Text |text |t|1-156 chars of six-bit text.
  3603. May be shorter than 936 bits.
  3604. |==============================================================================
  3605. Pragmatic note: On <<<AISHUB>>> the actual content of these messages is
  3606. highly variable, ranging from fairly plain English ("PLEASE REPORT TO
  3607. JOBOURG TRAFFIC CHANNEL 13") through snippets of tabular data ("PAX
  3608. 589 FG 36 IX 74 MOTO 10 CREW 108+1" through what look like opaque
  3609. commercial codes ("EP285 IX46 FG3 DK8 PL56") to empty strings and
  3610. content that looks like line noise ("]XFD5D/\7`>PA!Q DX0??K?8?>D").
  3611. Such apparently garbled content does *not* mean there is an error in
  3612. your decoder. It may indicate faulty encoders, operator error, or even
  3613. the use of private encodings for non-ASCII character sets.
  3614. === Type 13: Safety-Related Acknowledgement ===
  3615. Message type 13 is a receipt acknowledgement to senders of
  3616. previous messages of type 12. The message layout is identical to
  3617. a type 7 Binary Acknowledge.
  3618. === Type 14: Safety-Related Broadcast Message ===
  3619. This is a broadcast text message. The payload is interpreted as
  3620. six-bit text. This message is variable in length up to a maximum of
  3621. 1008 bits (up to 5 AIVDM sentence payloads).
  3622. //: Type 14
  3623. [frame="topbot",options="header"]
  3624. |==============================================================================
  3625. |Field |Len |Description |Member |T|Units
  3626. |0-5 | 6 |Message Type |type |u|Constant: 14
  3627. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  3628. |8-37 | 30 |Source MMSI |mmsi |u|9 decimal digits
  3629. |38-39 | 2 |Spare | |x|Not used
  3630. |40 |968 |Text |text |t|1-161 chars of six-bit text.
  3631. May be shorter than 968 bits.
  3632. |==============================================================================
  3633. Note: 161 * 6 = 966. <<IALA>> specifies 968 because over-the-air
  3634. messages are required to be padded to an 8-bit byte boundary by
  3635. <<<ITU1371>>>.
  3636. Also see the pragmatic note on message content attached to type 12; it
  3637. applies to type 14 messages as well.
  3638. === Type 15: Interrogation ===
  3639. Message type 15 is used by a base station to query one or two other AIS
  3640. transceivers for status messages of specified types. "Source MMSI" is
  3641. the interrogating station. 88-160 bits depending on the number of queries.
  3642. This message is probably not interesting unless you are doing traffic
  3643. analysis of information flow in an AIS station network. The "slot offset"
  3644. members are a request for the response to interrogation to occupy
  3645. a particular time division in the TDMA packet layer.
  3646. //: Type 15
  3647. [frame="topbot",options="header"]
  3648. |==============================================================================
  3649. |Field |Len |Description |Member |T|Units
  3650. |0-5 | 6 |Message Type |type |u|Constant: 15
  3651. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  3652. |8-37 | 30 |Source MMSI |mmsi |u|9 decimal digits
  3653. |38-39 | 2 |Spare | |x|Not used
  3654. |40-69 | 30 |Interrogated MMSI |mmsi1 |u|9 decimal digits
  3655. |70-75 | 6 |First message type |type1_1 |u|Unsigned integer
  3656. |76-87 | 12 |First slot offset |offset1_1 |u|Unsigned integer
  3657. |88-89 | 2 |Spare | |x|Not used
  3658. |90-95 | 6 |Second message type |type1_2 |u|Unsigned integer
  3659. |96-107 | 12 |Second slot offset |offset1_2 |u|Unsigned integer
  3660. |108-109 | 2 |Spare | |x|Not used
  3661. |110-139 | 30 |Interrogated MMSI |mmsi2 |u|9 decimal digits
  3662. |140-145 | 6 |First message type |type2_1 |u|Unsigned integer
  3663. |146-157 | 12 |First slot offset |offset2_1 |u|Unsigned integer
  3664. |158-159 | 2 |Spare | |x|Not used
  3665. |==============================================================================
  3666. There are four use cases for this message. A decoder must dispatch on
  3667. the length of the data packet to determine which it is seeing:
  3668. 1. One station is interrogated for one message type. Length is 88 bits.
  3669. 2. One station is interrogated for two message types, Length is 110
  3670. bits. There is a design error in the standard here; according to the
  3671. <<<ITU1371>>> requirement for padding to 8 bits, this should have been
  3672. 112 with a 4-bit trailing spare field, and decoders should be prepared
  3673. to handle that length as well. See the discussion of byte alignment
  3674. elsewhere in this document for context.
  3675. 3. Two stations are interrogated for one message type each. Length is
  3676. 160 bits. The second message type and second slot offset associated
  3677. with the first queried MMSI should be zeroed.
  3678. 4. One station is interrogated for two message types, and a second for
  3679. one message type. Length is 160 bits.
  3680. === Type 16: Assignment Mode Command ===
  3681. Message type 16 is used by a base station with control authority to
  3682. configure the scheduling of AIS informational messages from
  3683. subordinate stations, either as a frequency per 10-minute interval or
  3684. by specifying the TDMA slot(s) offset on which those messages should
  3685. be transmitted. It is probably not of interest unless you are
  3686. studying the internal operation of an AIS base station network.
  3687. Length may be 96 or 144 bits.
  3688. //: Type 16
  3689. [frame="topbot",options="header"]
  3690. |============================================================================
  3691. |Field |Len |Description |Member |T|Units
  3692. |0-5 | 6 |Message Type |type |u|Constant: 16
  3693. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  3694. |8-37 | 30 |Source MMSI |mmsi |u|9 decimal digits
  3695. |38-39 | 2 |Spare | |x|Not used
  3696. |40-69 | 30 |Destination A MMSI |mmsi1 |u|9 decimal digits
  3697. |70-81 | 12 |Offset A |offset1 |u|See <<IALA>>
  3698. |82-91 | 10 |Increment A |increment1 |u|See <<IALA>>
  3699. |92-121 | 30 |Destination B MMSI |mmsi2 |u|9 decimal digits
  3700. |122-133 | 12 |Offset B |offset2 |u|See <<IALA>>
  3701. |134-143 | 10 |Increment B |increment2 |u|See <<IALA>>
  3702. |=============================================================================
  3703. If the message is 96 bits long, it should be interpreted as an
  3704. assignment for a single station (92 bits) followed by 4 bits of
  3705. padding reserved for future use. If the message is 144 bits long it
  3706. should be interpreted as a channel assignment for two stations; no
  3707. padding follows.
  3708. When increment is zero, the offset field is interpreted as the
  3709. frequency with which the subordinate station should report per
  3710. 10-minute interval. When increment is nonzero, reporting interval
  3711. is specified at the level of TDMA slot numbers; see <<IALA>> for the
  3712. detailed specification.
  3713. Note: While the 96-bit form of Type 16 is not uncommon, the 144-bit
  3714. form is extremely rare. As of March 2010 it has not been observed even
  3715. in long-duration samples from AISHub.
  3716. === Type 17: DGNSS Broadcast Binary Message ===
  3717. Message type 17 is used to broadcast differential corrections for GPS.
  3718. The data in the payload is intended to be passed directly to GPS
  3719. receivers capable of accepting such corrections. 80 to 816 bits
  3720. depending on payload size.
  3721. //: Type 17
  3722. [frame="topbot",options="header"]
  3723. |==============================================================================
  3724. |Field |Len |Description |Member |T|Units
  3725. |0-5 | 6 |Message Type |type |u|Constant: 17
  3726. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  3727. |8-37 | 30 |Source MMSI |mmsi |u|9 decimal digits
  3728. |38-39 | 2 |Spare | |x|Not used
  3729. |40-57 | 18 |Longitude |lon |I1|Signed: minutes/10
  3730. |58-74 | 17 |Latitude |lat |I1|Signed: minutes/10
  3731. |75-79 | 5 |Spare | |x|Not used - reserved
  3732. |80-815 |736 |Payload |data |d|DGNSS correction data
  3733. |==============================================================================
  3734. Note that latitude and longitude are in units of a tenth of a minute;
  3735. sign interpretation and out-of-band values are as in the Common
  3736. Navigation Clock. (Note, however, that the hex representation of
  3737. the out-of-band values differs; it is 181 \* 60 \* 10 = 0x1a838 for
  3738. longitude, 91 \* 60 \* 10 = 0xd548 for latitude.)
  3739. The <<IALA>> description of the payload portion subfields has been
  3740. omitted, as it appears to be tied to the now obsolete RTCM2 protocol.
  3741. === Type 18: Standard Class B CS Position Report ===
  3742. A less detailed report than types 1-3 for vessels using Class B
  3743. transmitters. Omits navigational status and rate of turn. Fields are
  3744. encoded as in the common navigation block. 168 bits total.
  3745. In <<IALA>> (and <<ITU1371>>) bits 141-145 were designated "Spare"; the
  3746. bit-flag semantics given here are from ITU-1371-3 and were
  3747. communicated by Kurt Schwehr. Kurt warns that "the spec does not do a
  3748. good job of explaining these fields... I don't think that I totally
  3749. understand these fields."
  3750. //: Type 18
  3751. [frame="topbot",options="header"]
  3752. |==============================================================================
  3753. |Field |Len |Description |Member |T|Units
  3754. |0-5 | 6 |Message Type |type |u|Constant: 18
  3755. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  3756. |8-37 |30 |MMSI |mmsi |u|9 decimal digits
  3757. |38-45 | 8 |Regional Reserved |reserved |x|Not used
  3758. |46-55 |10 |Speed Over Ground |speed |U1|As in common navigation block
  3759. |56-56 | 1 |Position Accuracy |accuracy |b|See below
  3760. |57-84 |28 |Longitude |lon |I4|Minutes/10000 (as in CNB)
  3761. |85-111 |27 |Latitude |lat |I4|Minutes/10000 (as in CNB)
  3762. |112-123 |12 |Course Over Ground |course |U1|0.1 degrees from true north
  3763. |124-132 | 9 |True Heading |heading |u|0 to 359 degrees, 511 = N/A
  3764. |133-138 | 6 |Time Stamp |second |u|Second of UTC timestamp.
  3765. |139-140 | 2 |Regional reserved |regional |u|Uninterpreted
  3766. |141-141 | 1 |CS Unit |cs |b|0=Class B SOTDMA unit
  3767. 1=Class B CS (Carrier Sense) unit
  3768. |142-142 | 1 |Display flag |display |b|0=No visual display,
  3769. 1=Has display,
  3770. (Probably not reliable).
  3771. |143-143 | 1 |DSC Flag |dsc |b|If 1, unit is attached to a VHF
  3772. voice radio with DSC capability.
  3773. |144-144 | 1 |Band flag |band |b|Base stations can command units
  3774. to switch frequency. If this flag
  3775. is 1, the unit can use any part
  3776. of the marine channel.
  3777. |145-145 | 1 |Message 22 flag |msg22 |b|If 1, unit can accept a channel
  3778. assignment via Message Type 22.
  3779. |146-146 | 1 |Assigned |assigned |b|Assigned-mode flag:
  3780. 0 = autonomous mode (default),
  3781. 1 = assigned mode.
  3782. |147-147 | 1 |RAIM flag |raim |b|As for common navigation block
  3783. |148-167 |20 |Radio status |radio |u|See <<IALA>> for details.
  3784. |==============================================================================
  3785. The radio status is 20 bits rather than 19 because an extra first bit
  3786. selects whether it should be interpreted as a SOTDMA or ITDMA state.
  3787. === Type 19: Extended Class B CS Position Report ===
  3788. A slightly more detailed report than type 18 for vessels using Class B
  3789. transmitters. Omits navigational status and rate of turn. Fields are
  3790. encoded as in the common navigation block and the Type 5 message.
  3791. Note that until just before the reserved field at bit 139 this is
  3792. identical to message 18. 312 bits total.
  3793. In practice, the information in the ship name and dimension fields is
  3794. not reliable, as it has to be hand-entered by humans rather than
  3795. gathered automatically from sensors.
  3796. //: Type 19
  3797. [frame="topbot",options="header"]
  3798. |==============================================================================
  3799. |Field |Len |Description |Member |T|Units
  3800. |0-5 | 6 |Message Type |type |u|Constant: 19
  3801. |6-7 | 2 |Repeat Indicator |repeat |u|As in CNN
  3802. |8-37 | 30 |MMSI |mmsi |u|9 digits
  3803. |38-45 | 8 |Regional Reserved |reserved |u|
  3804. |46-55 | 10 |Speed Over Ground |speed |U1|As in CNB.
  3805. |56-56 | 1 |Position Accuracy |accuracy |b|As in CNB.
  3806. |57-84 | 28 |Longitude |lon |I4|Minutes/10000 (as in CNB)
  3807. |85-111 | 27 |Latitude |lat |I4|Minutes/10000 (as in CNB)
  3808. |112-123 | 12 |Course Over Ground |course |U1|Relative to true north,
  3809. units of 0.1 degrees
  3810. |124-132 | 9 |True Heading |heading |u|0 to 359 degrees,
  3811. 511 = N/A
  3812. |133-138 | 6 |Time Stamp |second |u|Second of UTC timestamp.
  3813. |139-142 | 4 |Regional reserved |regional |u|Uninterpreted
  3814. |143-262 |120 |Name |shipname |s|20 6-bit characters
  3815. |263-270 | 8 |Type of ship and cargo |shiptype |u|As in Message 5
  3816. |271-279 | 9 |Dimension to Bow |to_bow |u|Meters
  3817. |280-288 | 9 |Dimension to Stern |to_stern |u|Meters
  3818. |289-294 | 6 |Dimension to Port |to_port |u|Meters
  3819. |295-300 | 6 |Dimension to Starboard |to_starboard |u|Meters
  3820. |301-304 | 4 |Position Fix Type |epfd |e|See "EPFD Fix Types"
  3821. |305-305 | 1 |RAIM flag |raim |b|As in CNB.
  3822. |306-306 | 1 |DTE |dte |b|0=Data terminal ready,
  3823. 1=Not ready (default).
  3824. |307-307 | 1 |Assigned mode flag |assigned |u|See <<IALA>> for details
  3825. |308-311 | 4 |Spare | |x|Unused, should be zero
  3826. |==============================================================================
  3827. === Type 20 Data Link Management Message ===
  3828. This message is used to pre-allocate TDMA slots within an AIS base
  3829. station network. It contains no navigational information, and is
  3830. unlikely to be of interest unless you are implementing or studying
  3831. an AIS base station network. Length varies from 72-160 depending on
  3832. the number of slot reservations (1 to 4) in the message.
  3833. //: Type 20
  3834. [frame="topbot",options="header"]
  3835. |===============================================================================
  3836. |Field |Len |Description |Member |T|Units
  3837. |0-5 | 6 |Message Type |type |u|Constant: 20
  3838. |6-7 | 2 |Repeat Indicator |repeat |u|As in CNB
  3839. |8-37 |30 |MMSI |mmsi |u|9 decimal digits
  3840. |38-39 | 2 |Spare | |x|Not used
  3841. |40-51 |12 |Offset number 1 |offset1 |u|Reserved offset number
  3842. |52-55 | 4 |Reserved slots |number1 |u|Consecutive slots
  3843. |56-58 | 3 |Time-out |timeout1 |u|Allocation timeout in minutes
  3844. |59-69 |11 |Increment |increment1 |u|Repeat increment
  3845. |70-81 |12 |Offset number 2 |offset2 |u|Reserved offset number
  3846. |82-85 | 4 |Reserved slots |number2 |u|Consecutive slots
  3847. |86-88 | 3 |Time-out |timeout2 |u|Allocation timeout in minutes
  3848. |89-99 |11 |Increment |increment2 |u|Repeat increment
  3849. |100-111 |12 |Offset number 3 |offset3 |u|Reserved offset number
  3850. |112-115 | 4 |Reserved slots |number3 |u|Consecutive slots
  3851. |116-118 | 3 |Time-out |timeout3 |u|Allocation timeout in minutes
  3852. |119-129 |11 |Increment |increment3 |u|Repeat increment
  3853. |130-141 |12 |Offset number 4 |offset4 |u|Reserved offset number
  3854. |142-145 | 4 |Reserved slots |number4 |u|Consecutive slots
  3855. |146-148 | 3 |Time-out |timeout4 |u|Allocation timeout in minutes
  3856. |149-159 |11 |Increment |increment4 |u|Repeat increment
  3857. |===============================================================================
  3858. See <<IALA>> for details on the meaning of these fields.
  3859. === Type 21: Aid-to-Navigation Report ===
  3860. Identification and location message to be emitted by aids to
  3861. navigation such as buoys and lighthouses.
  3862. This message is unusual in that it varies in length depending on the
  3863. presence and size of the Name Extension field. May vary between 272
  3864. and 360 bits.
  3865. //: Type 21
  3866. [frame="topbot",options="header"]
  3867. |==============================================================================
  3868. |Field |Len |Description |Member |T|Units
  3869. |0-5 | 6 |Message Type |type |u|Constant: 21
  3870. |6-7 | 2 |Repeat Indicator |repeat |u|As in CNB
  3871. |8-37 |30 |MMSI |mmsi |u|9 digits
  3872. |38-42 | 5 |Aid type |aid_type |e|See "Navaid Types"
  3873. |43-162 1|120 |Name |name |t|Name in sixbit chars
  3874. |163-163 | 1 |Position Accuracy |accuracy |b|As in CNB
  3875. |164-191 |28 |Longitude |lon |I4|Minutes/10000 (as in CNB)
  3876. |192-218 |27 |Latitude |lat |I4|Minutes/10000 (as in CNB)
  3877. |219-227 | 9 |Dimension to Bow |to_bow |u|Meters
  3878. |228-236 | 9 |Dimension to Stern |to_stern |u|Meters
  3879. |237-242 | 6 |Dimension to Port |to_port |u|Meters
  3880. |243-248 | 6 |Dimension to Starboard |to_starboard|u|Meters
  3881. |249-252 | 4 |Type of EPFD |epfd |e|As in Message Type 4
  3882. |253-258 | 6 |UTC second |second |u|As in Message Types 1-3
  3883. |259-259 | 1 |Off-Position Indicator |off_position|b|See Below
  3884. |260-267 | 8 |Regional reserved |regional |u|Uninterpreted
  3885. |268-268 | 1 |RAIM flag |raim |b|As in CNB
  3886. |269-269 | 1 |Virtual-aid flag |virtual_aid |b|See Below
  3887. |270-270 | 1 |Assigned-mode flag |assigned |b|See <<IALA>> for details
  3888. |271-271 | 1 |Spare | |x|Not used
  3889. |272-360 |88 |Name Extension | |t|See Below
  3890. |==============================================================================
  3891. According to <<IALA>>, the aid type field has values 1-15 for fixed
  3892. and 16-31 for floating aids to navigation. The detailed list is as follows:
  3893. .Navaid Types
  3894. [frame="topbot",options="header"]
  3895. |====================================================================
  3896. |Code |Definition
  3897. |0 |Default, Type of Aid to Navigation not specified
  3898. |1 |Reference point
  3899. |2 |RACON (radar transponder marking a navigation hazard)
  3900. |3 |Fixed structure off shore, such as oil platforms, wind farms,
  3901. rigs. (Note: This code should identify an obstruction that is
  3902. fitted with an Aid-to-Navigation AIS station.)
  3903. |4 |Spare, Reserved for future use.
  3904. |5 |Light, without sectors
  3905. |6 |Light, with sectors
  3906. |7 |Leading Light Front
  3907. |8 |Leading Light Rear
  3908. |9 |Beacon, Cardinal N
  3909. |10 |Beacon, Cardinal E
  3910. |11 |Beacon, Cardinal S
  3911. |12 |Beacon, Cardinal W
  3912. |13 |Beacon, Port hand
  3913. |14 |Beacon, Starboard hand
  3914. |15 |Beacon, Preferred Channel port hand
  3915. |16 |Beacon, Preferred Channel starboard hand
  3916. |17 |Beacon, Isolated danger
  3917. |18 |Beacon, Safe water
  3918. |19 |Beacon, Special mark
  3919. |20 |Cardinal Mark N
  3920. |21 |Cardinal Mark E
  3921. |22 |Cardinal Mark S
  3922. |23 |Cardinal Mark W
  3923. |24 |Port hand Mark
  3924. |25 |Starboard hand Mark
  3925. |26 |Preferred Channel Port hand
  3926. |27 |Preferred Channel Starboard hand
  3927. |28 |Isolated danger
  3928. |29 |Safe Water
  3929. |30 |Special Mark
  3930. |31 |Light Vessel / LANBY / Rigs
  3931. |====================================================================
  3932. The name field is up to 20 characters of 6-bit ASCII. If this field
  3933. is full (has no trailing @ characters) the decoder should interpret
  3934. the Name Extension field later in the message (no more than 14 6-bit
  3935. characters) and concatenate it to this one to obtain the full name.
  3936. <<IALA>> describes bits 219-248 As "Dimension/Reference for Position",
  3937. implying that it is vessel dimensions as in message type 5.
  3938. The Off-Position Indicator is for floating Aids-to-Navigation only: 0
  3939. means on position; 1 means off position. Only valid if UTC second is equal to
  3940. or below 59.
  3941. The Virtual Aid flag is interpreted as follows: 0 = default = real Aid
  3942. to Navigation at indicated position; 1 = virtual Aid to
  3943. Navigation simulated by nearby AIS station.
  3944. If present, the Name Extension consists of packed six-bit ASCII
  3945. characters followed by 0-6 bits of padding to an 8-bit boundary. The
  3946. <<IALA>> description says "This parameter should be omitted when no
  3947. more than 20 characters for the name of the A-to-N are needed in
  3948. total. Only the required number of characters should be transmitted,
  3949. i.e. no @-character should be used." A decoder can deduce the bit length
  3950. of the name extension field by subtracting 272 from the total message
  3951. bit length.
  3952. === Type 22: Channel Management ===
  3953. This message is broadcast by a competent authority (an AIS network
  3954. control base station) to set VHF parameters for an AIS coverage
  3955. region. Length is 168 bits.
  3956. This message contains no navigational information, and is unlikely to be of
  3957. interest unless you are implementing or studying an AIS base station
  3958. network.
  3959. //: Type 22
  3960. [frame="topbot",options="header"]
  3961. |==============================================================================
  3962. |Field |Len |Description |Member |T|Units
  3963. |0-5 | 6 |Message Type |type |u|Constant: 22
  3964. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  3965. |8-37 |30 |MMSI |mmsi |u|9 decimal digits
  3966. |38-39 | 2 |Spare | |x|Not used
  3967. |40-51 |12 |Channel A |channel_a |u|Channel number
  3968. |52-63 |12 |Channel B |channel_b |u|Channel number
  3969. |64-67 | 4 |Tx/Rx mode |txrx |u|Transmit/receive mode
  3970. |68-68 | 1 |Power |power |b|Low=0, high=1
  3971. |69-86 |18 |NE Longitude |ne_lon |I1|NE longitude to 0.1 minutes
  3972. |87-103 |17 |NE Latitude |ne_lat |I1|NE latitude to 0.1 minutes
  3973. |104-121 |18 |SW Longitude |sw_lon |I1|SW longitude to 0.1 minutes
  3974. |122-138 |17 |SW Latitude |sw_lat |I1|SW latitude to 0.1 minutes
  3975. |69-98 |30 |MMSI1 |dest1 |u|MMSI of destination 1
  3976. |104-133 |30 |MMSI2 |dest2 |u|MMSI of destination 2
  3977. |139-139 | 1 |Addressed |addressed |b|0=Broadcast, 1=Addressed
  3978. |140-140 | 1 |Channel A Band |band_a |b|0=Default, 1=12.5kHz
  3979. |141-141 | 1 |Channel B Band |band_b |b|0=Default, 1=12.5kHz
  3980. |142-144 | 3 |Zone size |zonesize |u|Size of transitional zone
  3981. |145-167 |23 |Spare | |x|Reserved for future use
  3982. |==============================================================================
  3983. The values of the channel_a and channel_b fields are ITU frequency
  3984. designators for channels A and B. Normally these will be 2087 and
  3985. 2088, the AIS 1 and AIS 2 frequencies of 87B (161.975 MHz) and 88B
  3986. (162.025 MHz) respectively. Regional authorities may set different
  3987. frequencies.
  3988. The txrx field encodes the same information as the 2-bit field txrx
  3989. field in message type 23; only the two low bits are used.
  3990. The power bit instructs designated receivers which power level to use.
  3991. If the message is broadcast (addressed field is 0), the ne_lon,
  3992. ne_lat, sw_lon, and sw_lat fields are the corners of a rectangular
  3993. jurisdiction area over which control parameters are to be set. If it
  3994. is addressed (addressed field is 1), the same span of data is
  3995. interpreted as two 30-bit MMSIs beginning at at bit offsets 69 and 104
  3996. respectively.
  3997. Yes, the addressed bit is *after* the fields it controls the
  3998. interpretation of.
  3999. Note that the 'not available' values for longitude and latitudes
  4000. match the short ones used in message 17, not the long ones used in the
  4001. common navigation block and elsewhere.
  4002. The band fields control channel bandwidth for channels A and B, and
  4003. the zonesize field describes the size of the transition zone around the
  4004. control jurisdiction. The semantics of these fields are complicated,
  4005. controlling transmitter behavior as it moves between jurisdictions;
  4006. see <<IALA>> for full details.
  4007. === Type 23: Group Assignment Command ===
  4008. This message is intended to be broadcast by a competent authority (an
  4009. AIS network-control base station) to set operational parameters for
  4010. all mobile stations in an AIS coverage region. Length is 160 bits.
  4011. This message contains no navigational information, and is unlikely to
  4012. be of interest unless you are implementing or studying an AIS base
  4013. station network.
  4014. //: Type 23
  4015. [frame="topbot",options="header"]
  4016. |==============================================================================
  4017. |Field |Len |Description |Member |T|Units
  4018. |0-5 | 6 |Message Type |type |u|Unsigned Integer: 23
  4019. |6-7 | 2 |Repeat Indicator |repeat |u|As in Common Navigation Block
  4020. |8-37 |30 |MMSI |mmsi |u|Unsigned Integer: 9 digits
  4021. |38-39 | 2 |Spare | |x|Not used
  4022. |40-57 |18 |NE Longitude |ne_lon |u|Same as broadcast type 22
  4023. |58-74 |17 |NE Latitude |ne_lat |u|Same as broadcast type 22
  4024. |75-92 |18 |SW Longitude |sw_lon |u|Same as broadcast type 22
  4025. |93-109 |17 |SW Latitude |sw_lat |u|Same as broadcast type 22
  4026. |110-113 | 4 |Station Type |station_type |e|See "Station Types"
  4027. |114-121 | 8 |Ship Type |ship_type |e|See "Ship Types"
  4028. |122-143 |22 |Spare | |x|Not used
  4029. |144-145 | 2 |Tx/Rx Mode |txrx |u|See "Tranmit/Recieve Modes"
  4030. |146-149 | 4 |Report Interval |interval |e|See "Station Intervals"
  4031. |150-153 | 4 |Quiet Time |quiet |u|0 = none, 1-15 quiet time in minutes
  4032. |154-159 | 6 |Spare | |x|Not used
  4033. |==============================================================================
  4034. The target set of mobile stations is specified by the station-type and
  4035. ship-type fields. An addressed (non-broadcast) message 22 overrides a
  4036. message 23, but a message 23 overrides a broadcast message 22.
  4037. Note that the 'not available' values for longitude and latitudes
  4038. match the short ones used in messages 17 and 22, not the long ones
  4039. used in the common navigation block and elsewhere.
  4040. The txrx field tells the affected stations which channel or
  4041. channels they may transmit on. The options refer to the same A and B
  4042. VHF channels as in Message Type 22. The field is interpreted as follows:
  4043. .Transmit Modes
  4044. [width="25%",frame="topbot"]
  4045. |===================================
  4046. |0 |TxA/TxB, RxA/RxB (default)
  4047. |1 |TxA, RxA/RxB
  4048. |2 |TxB, RxA/RxB
  4049. |3 |Reserved for Future Use
  4050. |===================================
  4051. .Station Types
  4052. [width="50%",frame="topbot"]
  4053. |======================================================
  4054. |0 |All types of mobiles (default)
  4055. |1 |Reserved for future use
  4056. |2 |All types of Class B mobile stations
  4057. |3 |SAR airborne mobile station
  4058. |4 |Aid to Navigation station
  4059. |5 |Class B shipborne mobile station (IEC62287 only)
  4060. |6-9 |Regional use and inland waterways
  4061. |10-15 |Reserved for future use
  4062. |======================================================
  4063. <<INLAND>> specifies 6 (only) as the station type value for inland
  4064. waterways, reserving 7-9 for (other) regional uses.
  4065. Reporting Interval is a 4 bit unsigned integer, how often to report
  4066. while within the area specified by this message. When the dual-channel
  4067. operation is suspended by Tx/Rx mode command 1 or 2, the reporting
  4068. interval is twice the interval given in the table.
  4069. .Station Intervals
  4070. [width="50%",frame="topbot"]
  4071. |======================================================
  4072. |0 |As given by the autonomous mode
  4073. |1 |10 Minutes
  4074. |2 |6 Minutes
  4075. |3 |3 Minutes
  4076. |4 |1 Minute
  4077. |5 |30 Seconds
  4078. |6 |15 Seconds
  4079. |7 |10 Seconds
  4080. |8 |5 Seconds
  4081. |9 |Next Shorter Reporting Interval
  4082. |10 |Next Longer Reporting Interval
  4083. |11-15 |Reserved for future use
  4084. |======================================================
  4085. Quiet Time is a 4 bit unsigned integer specifying how many minutes
  4086. affected stations are to remain silent. If a class B station receives
  4087. a quiet time command, it will continue to schedule nominal
  4088. transmission time periods, but is not to transmit message 18 or 24
  4089. during the quiet period.
  4090. === Type 24: Static Data Report ===
  4091. Equivalent of a Type 5 message for ships using Class B equipment. Also
  4092. used to associate an MMSI with a name on either class A or class B equipment.
  4093. A "Type 24" may be in part A or part B format; According to the
  4094. standard, parts A and B are expected to be broadcast in adjacent
  4095. pairs; in the real world they may (due to quirks in various
  4096. aggregation methods) be separated by other sentences or even
  4097. interleaved with different Type 24 pairs; decoders must cope with
  4098. this. The interpretation of some fields in Type B format changes
  4099. depending on the range of the Type B MMSI field. 160 bits for part A,
  4100. 168 bits for part B.
  4101. According to the standard, both the A and B parts are supposed to
  4102. be 168 bits. However, in the wild, A parts are often transmitted
  4103. with only 160 bits, omitting the 'spare' 7 bits at the end.
  4104. Implementers should be permissive about this.
  4105. <<IALA>> does not describe this message type; format information
  4106. is thanks to Kurt Schwehr.
  4107. //: Type 24
  4108. [frame="topbot",options="header"]
  4109. |==============================================================================
  4110. |Field |Len |Description | Member |T|Units
  4111. |0-5 | 6 | Message Type | type |u|Constant: 24
  4112. |6-7 | 2 | Repeat Indicator | repeat |u|As in CNB
  4113. |8-37 | 30 | MMSI | mmsi |u|9 digits
  4114. |38-39 | 2 | Part Number | partno |u|0-1
  4115. |40-159 |120 | Vessel Name | shipname |t|(Part A) 20 sixbit chars
  4116. |160-167 | 8 | Spare | |x|(Part A) Not used
  4117. |40-47 | 8 | Ship Type | shiptype |e|(Part B) See "Ship Types"
  4118. |48-65 | 18 | Vendor ID | vendorid |t|(Part B) 3 six-bit chars
  4119. |66-69 | 4 | Unit Model Code | model |u|(Part B)
  4120. |70-89 | 20 | Serial Number | serial |u|(Part B)
  4121. |90-131 | 42 | Call Sign | callsign |t|(Part B) As in Message Type 5
  4122. |132-140 | 9 | Dimension to Bow | to_bow |u|(Part B) Meters
  4123. |141-149 | 9 | Dimension to Stern | to_stern |u|(Part B) Meters
  4124. |150-155 | 6 | Dimension to Port | to_port |u|(Part B) Meters
  4125. |156-161 | 6 | Dimension to Starboard| to_starboard |u|(Part B) Meters
  4126. |132-161 | 30 | Mothership MMSI | mothership_mmsi|u|(Part B) See below
  4127. |162-167 | 6 | Spare | |x|(Part B) Not used
  4128. |===============================================================================
  4129. If the Part Number field is 0, the rest of the message is interpreted
  4130. as a Part A; if it is 1, the rest of the message is interpreted
  4131. as a Part B; values 2 and 3 are not allowed.
  4132. Bits 48-89 are as described in ITU-R 1371-4. In earlier versions to
  4133. 1371-3 this was one sixbit-encoded 42-bit (7-character) string field,
  4134. the name of the AIS equipment vendor. The last 4 characters of
  4135. the string are reinterpreted as a model/serial numeric pair. It is not
  4136. clear that field practice has caught up with this incompatible change.
  4137. Implementations would be wise to decode that but span in both ways and
  4138. trust human eyes to detect when the final 4 characters of the string
  4139. or the model and serial fields are garbage.
  4140. Interpretation of the 30 bits 132-162 in Part B is variable. If the
  4141. MMSI at 8-37 is that of an auxiliary craft, the entry is taken to
  4142. refer to a small attached auxiliary vessel and these 30 bits are read
  4143. as the MMSI of the mother ship. Otherwise the 30 bits describe vessel
  4144. dimensions as in Message Type 5.
  4145. According to <<MMSI>>, an MMSI is associated with an auxiliary craft
  4146. when it is of the form 98XXXYYYY, where (1) the '98' in positions 1
  4147. and 2 is required to designate an auxiliary craft, (2) the digits XXX
  4148. in the 3, 4 and 5 positions are the MID (the three-digit country code
  4149. as described in <<ITU-MID>>) and (3) YYYY is any decimal literal from
  4150. 0000 to 9999.
  4151. === Type 25: Single Slot Binary Message ===
  4152. Maximum of 168 bits (a single slot). Fields after the Destination
  4153. MMSI are at variable offsets depending on that flag and the Destination
  4154. Indicator; they always occur in the same order but some may be omitted.
  4155. //: Type 25
  4156. [frame="topbot",options="header"]
  4157. |==============================================================================
  4158. |Field |Len |Description | Member |T|Units
  4159. |0-5 | 6 | Message Type | type |u|Constant: 25
  4160. |6-7 | 2 | Repeat Indicator | repeat |u|As in CNB
  4161. |8-37 | 30 | MMSI | mmsi |u|9 digits
  4162. |38 | 1 | Destination indicator | addressed |b|0=broadcast,
  4163. 1=addressed.
  4164. |39 | 1 | Binary data flag | structured |b|See below
  4165. |40 |0/30 | Destination MMSI | dest_mmsi |u|Message destination
  4166. |? |0/16 | Application ID | app_id |u|Unsigned integer
  4167. |? |0-128 | Data | data |d|Binary data
  4168. |===============================================================================
  4169. If the 'addressed' flag is on, 30 bits of data at offset 40 are
  4170. interpreted as a destination MMSI. Otherwise that field span becomes
  4171. part of the message payload, with the first 16 bits used as an
  4172. Application ID if the 'structured' flag is on.
  4173. If the 'structured' flag is on, a 16-bit application identifier is
  4174. extracted; this field is to be interpreted as a 10 bit DAC and 6-bit
  4175. FID as in message types 6 and 8. Otherwise that field span becomes
  4176. part of the message payload.
  4177. The data fields are not, in contrast to message type 26, followed by a
  4178. radio status block.
  4179. Note: Type 25 is extremely rare. As of April 2011 it has not been
  4180. observed even in long-duration samples from AISHub.
  4181. === Type 26: Multiple Slot Binary Message ===
  4182. Takes up 60-1064 bits (up to 5 slots).
  4183. //: Type 26
  4184. [frame="topbot",options="header"]
  4185. |==============================================================================
  4186. |Field |Len |Description | Member |T|Units
  4187. |0-5 | 6 | Message Type | type |u|Constant: 26
  4188. |6-7 | 2 | Repeat Indicator | repeat |u|As in CNB
  4189. |8-37 | 30 | MMSI | mmsi |u|9 digits
  4190. |38 | 1 | Destination indicator| addressed |b|0=broadcast,
  4191. 1=addressed.
  4192. |39 | 1 | Binary data flag | structured |b|See below
  4193. |40 |0/30 | Destination MMSI | dest_mmsi |u|Message destination
  4194. |? |0/16 | Application ID | app_id |u|Unsigned integer
  4195. |? |0-1004| Data | data |d|Binary data
  4196. |? |20 | Radio status | radio |u|See <<IALA>> for details.
  4197. |===============================================================================
  4198. The data field may span up to 5 256-bit slots in addition to the tail
  4199. end of the base slot. The application_ID field, if present, is to be
  4200. interpreted as a 10 bit DAC and 6-bit FID as in message types 6 and 8.
  4201. Documentation says the data length of each slot is 224 and adds the
  4202. note "Allows for 32 bits of bit-stuffing."
  4203. The 20 radio status bits are always present after end-of-data in the
  4204. last slot and are in the format specified by <<IALA>>. The radio
  4205. status is 20 bits rather than 19 because an extra first bit selects
  4206. whether it should be interpreted as a SOTDMA or ITDMA state.
  4207. Note: Type 26 is extremely rare. As of April 2011 it has not been
  4208. observed even in long-duration samples from AISHub.
  4209. === Type 27: Long Range AIS Broadcast message ===
  4210. ITU-1371-4 says this message is primarily intended for long-range
  4211. detection of AIS Class A equipped vessels (typically by
  4212. satellite). This message has a similar content to Messages 1, 2 and 3,
  4213. but the total number of bits has been compressed to allow for
  4214. increased propagation delays associated with long-range detection
  4215. Length according to ITU-1374 is 96 bits. However, in the wild these
  4216. are sometimes transmitted with 168 bits (a full slot). Robust decoders
  4217. should warn when this occurs but decode the first 96 bits.
  4218. //: Type 27
  4219. [frame="topbot",options="header"]
  4220. |==============================================================================
  4221. |Field |Len |Description |Member |T|Units
  4222. |0-5 | 6 |Message Type |type |u|Constant: 27
  4223. |6-7 | 2 |Repeat Indicator |repeat |u|As in CNB
  4224. |8-37 | 30 |MMSI |mmsi |u|9 decimal digits
  4225. |38-38 | 1 |Position Accuracy |accuracy |u|See Common Navigation Block
  4226. |39-39 | 1 |RAIM flag |raim |u|See Common Navigation Block
  4227. |40-43 | 4 |Navigation Status |status |u|See Common Navigation Block
  4228. |44-61 | 18 |Longitude |lon |I4|minutes/10
  4229. East positive, West negative
  4230. 181000 = N/A (default)
  4231. |62-78 | 17 |Latitude |lat |I4|minutes/10
  4232. North positive, South negative
  4233. 91000 = N/A (default)
  4234. |79-84 | 6 |Speed Over Ground |speed |u|Knots (0-62);
  4235. 63 = N/A (default)
  4236. |85-93 | 9 |Course Over Ground |course |u|0 to 359 degrees,
  4237. 511 = not available.
  4238. |94-94 | 1 |GNSS Position status|gnss |u|0 = current GNSS position
  4239. 1 = not GNSS position (default)
  4240. |95-95 | 1 |Spare | |x|Not used
  4241. |==============================================================================
  4242. == Local extensions ==
  4243. Some regional authorities extend the AIS message set.
  4244. The St. Lawrence Seaway broadcasts hydrological and lock-scheduling
  4245. messages using special encodings of the binary data of message types 6
  4246. and 8 (described in <<SEAWAY>>, freely available), and safety
  4247. information using types 12 and 14. These message types are listed
  4248. under the description of type 8.
  4249. The U.S. Coast Guard has a system called PAWSS (Port and Water Safety
  4250. System) which uses extended AIS binary formats. <<SEAWAY>> says it's
  4251. intercompatible with the St. Lawrence Seaway system and describes three
  4252. PAWSS-specific messages in its Appendix A.
  4253. Since 2007 the Port Authority of London has operated a Thames AIS
  4254. system covering the Thames River; it uses extensions of message types
  4255. 6 and 8. It is describes in <<THAMES>>.
  4256. Since 2006 there has been some effort to standardize inland-waterway
  4257. extensions, described in <<INLAND>>. It uses different message formats
  4258. and identifiers than the PAWS/St. Lawrence systems, which do not conform.
  4259. There is an AIS extension called "RIS" (River Information System) that
  4260. covers portions of the Danube River and Black Sea which does conform.
  4261. <<IMO289>> standardizes some subtypes of messages 6 and 8 similar to
  4262. PAWSS messages for DAC 1, the international jurisdiction code. However,
  4263. in some cases identically named subtypes are assigned different FIDs.
  4264. === U.S. Coast Guard Extended AIVDM ===
  4265. You may occasionally see AIVDM packets with additional comma-separated
  4266. fields following the checksum. This is a semi-obsolescent
  4267. logging format used by the USCG, which has never documented it well
  4268. and plans to replace it with a new one based on NMEA 4.0.
  4269. Here's a sample sentence and field breakdown:
  4270. -------------------------------------------------------------------------------
  4271. !AIVDM,1,1,,B,15Cjtd0Oj;Jp7ilG7=UkKBoB0<06,0*63,s1234,d-119,T12.34567123,r003669958,1085889680
  4272. -------------------------------------------------------------------------------
  4273. Following the "*63" checksum are additional fields delimited by commas.
  4274. These fields provide additional metadata about the reception of each AIS
  4275. broadcast.
  4276. The field beginning with the lower case "s" is a Relative Signal
  4277. Strength Indicator (RSSI) measurement from the receiver. This
  4278. measurement has a range of 0-65535. This is one of the parameters used
  4279. internally by the AIS receiver to determine the signal strength value as
  4280. reported in the field beginning with the lower case "d". This field only
  4281. exists when the AIS receiver provides this data.
  4282. The field beginning with a lower case "d" is the signal strength
  4283. measurement for this broadcast in dBm. This field only exists when the
  4284. AIS receiver provides this data.
  4285. The field beginning with the upper case "T" is the Time of Arrival
  4286. of the received broadcast in seconds from UTC 0. This field only exists
  4287. when the AIS receiver provides this data.
  4288. Another optional field not shown is one that begins with an upper
  4289. case "S" and represents the slot number in which the reception occurred.
  4290. The field would appear after the checksum and before the station
  4291. identifier field. This field only exists when the AIS receiver provides
  4292. this data. Example: S0042
  4293. The field beginning with the lower case "r" is a station identifier
  4294. field. This field is always provided, regardless of the type of AIS
  4295. equipment. (Occasionally a base station identifier will be prefixed with
  4296. "b" instead.)
  4297. The last field is a time tag based on the standard C programming
  4298. language time function. Both date and time to the nearest second can be
  4299. derived from this field. This field is always provided, regardless of
  4300. the type of AIS equipment.
  4301. == NMEA Tag Blocks ==
  4302. Beginning with NMEA 4.10, the standard describes a way to intersperse
  4303. "tag blocks" with AIS sentences in order to supply additional
  4304. metadata, usually a Unix timestamp to be associated with a sentence
  4305. (or contiguous group of sentences such as an armored AIS Type 5).
  4306. The tag block facility is complex, in some respects poorly specified,
  4307. and there has been yet much public discussion of it. This section
  4308. should be considered provisional and in need of improvement.
  4309. The general format of a tag block is: an opening backslash, followed
  4310. by multiple comma-separated fields none of which may contain
  4311. backslashes, followed by an asterisk and NMEA checksum, followed by a
  4312. closing backslash.
  4313. The following is an example of an AIS Type 1 sentence preceded by a
  4314. tag block:
  4315. -------------------------------------------------------------------------------------------------
  4316. \g:1-2-73874,n:157036,s:r003669945,c:1241544035*4A\!AIVDM,1,1,,B,15N4cJ`005Jrek0H@9n`DW5608EP,0*13
  4317. -------------------------------------------------------------------------------------------------
  4318. Each comma-separated field is expected to be a type key, followed by a
  4319. colon, followed by content. The semantics of the type keys are as
  4320. follows (table from <<NMEA-ADVANCE>>):
  4321. Confusingly, there is a different standard introduced with NMEA 4.00,
  4322. IEC 62320-1, that uses the same tag block format but a slightly
  4323. different (overlapping) set of field keys
  4324. .NMEA 4.00 Field Types
  4325. [frame="topbot",options="header"]
  4326. |===========================================================================
  4327. | IEC | NMEA | Type | Description
  4328. | c | c | int>0 | UNIX time in seconds or milliseconds
  4329. | d | d | string | Destination (at most 15 chars)
  4330. | xGy | g | int-int-int | Sentence grouping
  4331. | x | n | int>0 | line count
  4332. | | r | int>0 | relative time
  4333. | s | s | string | Source / station
  4334. | i | t | string | Text string (at most 15 chars)
  4335. |===========================================================================
  4336. The IEC 62320-1 and NMEA 4.10 c field is an emission time for the
  4337. sentence it precedes. We're not yet sure what the time unit is.
  4338. The NMEA 4.10 g value describes a sentence or sentence group to
  4339. associate the tag block to. It is a triple of ints separated by
  4340. dashes. The first number is the sentence number, the second is total
  4341. number of sentences to make up one group. The third number is an
  4342. identifier for that particular group. If there is no g value, the tag
  4343. block simply applies to the following sentence.
  4344. As of May 2014 no NMEA 4.10 relative time fields have been observed in the
  4345. wild. It is unknown whether the unit is seconds or milliseconds.
  4346. The d, i/t, and s fields are intended to be used for filtering by
  4347. station IDs included in them.
  4348. Part of the NMEA 4.10 standard describes a configuration message facility by
  4349. which AIS message receivers can send queries to AIS senders, and under
  4350. some circumstances change the semantics if tag blocks (in particular,
  4351. by specifying time units and epoch).
  4352. We do not yet have more definite information on the meaning of these
  4353. fields or how they are related to nearby AIVDM/AIVDO sentences. We
  4354. hope to add this in a future revision.
  4355. == AIS Payload Byte Alignment, Padding, and Bit Stuffing ==
  4356. Warning: Here there be dragons. Read with care. Once you get through
  4357. it, you will at least not encounter anything more confusing in the
  4358. rest of this document.
  4359. === Byte Alignment ===
  4360. AIS is a bit-sync protocol. While some fields within AIS payloads are
  4361. 8-bit-byte-aligned with preceding padding, most are not. Furthermore,
  4362. while most message variants have bit lengths that are a multiple of 8,
  4363. some do not.
  4364. <<ITU1371>> includes a single sentence, easy to miss, requiring
  4365. over-the-air messages to have trailing padding to a 8-bit boundary.
  4366. In most cases message lengths are a multiple of 8 with trailing spare
  4367. fields added to ensure this; thus, the requirement will not change the
  4368. transmitted bitlength of the message from what's described in the
  4369. standard. There are, however, two exceptions to this rule.
  4370. One is an apparent error in the format design. The type 15 message
  4371. has a variant with 108 data bits and a trailing 2-bit spare field, for
  4372. 110. This spare should have been 4 bits to guarantee a byte boundary
  4373. at 112 bits. Decoders need to be prepared to encounter this length
  4374. in case the transmitter has implemented the padding requirement
  4375. properly.
  4376. The other is messages containing variable-length text packed into
  4377. 6-bit nibbles: types 6, 12, and 14. They may have trailing padding
  4378. after the last nibble to get to an 8-bit boundary. Decoders should
  4379. be prepared to encounter and ignore this.
  4380. The variable-length binary message types 8, 17, 25, and 26 are
  4381. constrained to have data payloads of a size such that the payload ends
  4382. on a byte boundary, but should not require special handling on this
  4383. account. The binary data in message types 8 and 17 is also guaranteed
  4384. to *begin* on a byte boundary, but this is not true of the addressed
  4385. variants of type 25 and 26.
  4386. === Interaction with AIVDM padding ===
  4387. AIVDM armoring introduces a second layer of padding, with confusing
  4388. consequences. The real payload, already padded to a bit length that
  4389. is a multiple of 8 by the AIS radio layer, gets armored as a sequence
  4390. of ASCII characters encoding 6-bit nibbles. To capture all of it, the
  4391. payload must in effect be padded to the next multiple of 6.
  4392. Consider a type 12 message with 5 sixbit characters in it. These will
  4393. become bits 72-102 in the over-the-air message. The AIS radio layer will
  4394. pad that to 104 bits at transmission to get to an 8-bit boundary. The
  4395. receiver, reporting the data in AIVDM armoring, will pad that to 108
  4396. bits to get to a 6-bit boundary, encode the result, and issue a pad
  4397. character of '4' to indicate that the low 4 bits of the last 6-bit
  4398. nibble should be ignored.
  4399. Because these requirements are tricky and poorly documented in the
  4400. official standards, receivers not uncommonly get them wrong. The most
  4401. common way to get them wrong seems to be by computing the pad
  4402. character incorrectly.
  4403. The most common error observed in the wild on AISHub is reporting a
  4404. pad 2 bits too small, making the message look like it is 2 bits longer
  4405. than it actually is. This seems for some reason to be most common
  4406. on Type 5 messages, which then decode as 426 bits rather than 424.
  4407. Accordingly, we recommend that when validating fixed-size messages by
  4408. type and bit-length, decoders should accept messages that are up to 5
  4409. bits over their theoretically correct length.
  4410. For messages with a variable-length trailing payload (6, 8, 12, 14,
  4411. 17, 25, 26) there is no way to detect that the pad character might
  4412. be wrong. If it is, this will manifest as truncation of the last
  4413. nibble or extra trailing zero data.
  4414. === Bit Stuffing ===
  4415. The following probably will not affect decoders. Nevertheless we
  4416. document it here because it is just the sort of thing that is (a)
  4417. likely to confuse implementors reading the public portions of the
  4418. standards, and (b) all too likely to become visible if there are
  4419. firmware or software errors in the transmission chain.
  4420. There are references to "bit-stuffing" in the <<IALA>> clarifications
  4421. describing certain payload fields. <<C2>> reveals the following in
  4422. 3.2.2.1: "The bitstream is subject to bit stuffing. This means that if
  4423. more than 5 consecutive 1s are found in the output bit stream, a zero
  4424. is inserted. This applies to all bits except the databits of HDLC
  4425. flags." <<IALA>> clarifies as follows: "On the transmitting side,
  4426. this means that if five (5) consecutive ones (1s) are found in the
  4427. output bit stream, a zero should be inserted after the five (5)
  4428. consecutive ones (1s). This applies to all bits between the HDLC flags
  4429. [...] On the receiving side, the first zero after five (5) consecutive
  4430. ones (1s) should be removed."
  4431. It appears that this bit stuffing is meant to be performed by the AIS
  4432. radio link layer at transmission time and undone at reception time,
  4433. and should not be visible in AIVDM payloads reported by the
  4434. receiver.
  4435. == AIS feed sites ==
  4436. Most sites that advertise "live" AIS feeds actually give you a map
  4437. display through a browser. Here are a few from which you can get raw
  4438. sentence data over a TCP/IP port for testing. Coverage on these is
  4439. not yet very comprehensive; these sites tend to have good coverage in
  4440. Europe, the U.S. and a few ports in Asia but to be spotty elsewhere.
  4441. See their siting maps for details.
  4442. - http://aishub.net[AIS Hub]:
  4443. Share alike. You contribute a feed, you get back all feeds.
  4444. - http://maritime.ihs.com[AIS Live]:
  4445. Subscription access to real-time data. No longer has free access even
  4446. to delayed data.
  4447. - http://hd-sf.com:9009
  4448. Free San Francisco Bay Area AIS feed. For non-commercial use only.
  4449. == JSON-AIS encoding ==
  4450. Here is an application of the JSON metaformat to present AIS data in a
  4451. form more convenient for application use than AIVDM/AIVDO sentences.
  4452. This encoding is implemented by GPSD and its client libraries. It is
  4453. described here because (a) the specification is closely tied to the
  4454. field encodings, and (b) the author wishes to offer it as an
  4455. interoperability standard for other applications.
  4456. One previous effort, <<HAM-JSON-AIS>>, has been made to define a
  4457. JSON-based standard for exchange of unpacked, human-readable AIS
  4458. data. The latest version at time of writing, from December 2008,covers
  4459. only a small subset of the most common AIS messages, and many data
  4460. fields in the messages it does dump are omitted. The member names
  4461. given in the bit-field tables match the attributes used in HAM-JSON-AIS
  4462. when HAM-JSON-AIS includes that field.
  4463. The general ground rules for JSON-AIS encoding are as follows:
  4464. . Each sentence decodes to a JSON object.
  4465. . When multiple kinds of JSON objects may occur in a data stream, AIS
  4466. objects have the attribute "class":"AIS".
  4467. . Some collections of fields aggregating to a timestamp are dumped in
  4468. ISO8601 format.
  4469. .Timestamp fields
  4470. [frame="topbot",options="header"]
  4471. |===========================================================================
  4472. |Message| ITU/IMO fields | JSON ISO8601 | Format
  4473. | 4 | year,month,day,hour,minute,second| timestamp | %4u-%02u-%02uT%02u:%02u:%02uZ
  4474. | 5 | month,day,hour,minute | eta | %02u-%02uT%02u:%02uZ
  4475. |6(1/12)| lmonth,lday,lhour,lminute | departure | %02u-%02uT%02u:%02uZ
  4476. | | nmonth,nday,nhour,nminute | eta | %02u-%02uT%02u:%02uZ
  4477. |6(1/18)| month,day,hour,minute | arrival | %02u-%02uT%02u:%02uZ
  4478. |6(1/20)| month,day,hour,minute | arrival | %02u-%02uT%02u:%02uZ
  4479. |6(1/23)| month,day,hour,minute | timestamp | %02u-%02uT%02u:%02uZ
  4480. |6(1/28)| month,day,hour,minute | start | %02u-%02uT%02u:%02uZ
  4481. |8(1/11)| day,hour,minute | timestamp | %02uT%02u:%02uZ
  4482. |8(1/11)| day,hour,minute | timestamp | %02uT%02u:%02uZ
  4483. |8(1/13)| fmonth,fday,fhour,fminute | from | %02u-%02uT%02u:%02uZ
  4484. |8(1/13)| tmonth,tday,thour,tminute | to | %02u-%02uT%02u:%02uZ
  4485. |8(1/22)| month,day,hour,minute | timestamp | %02u-%02uT%02u:%02uZ
  4486. |8(1/27)| month,day,hour,minute | start | %02u-%02uT%02u:%02uZ
  4487. |8(200/23)| year,month,day,hour,minute | start |%4u-%02u-%02uT%02u:%02u
  4488. |8(200/23)| year,month,day,hour,minute | end |%4u-%02u-%02uT%02u:%02u
  4489. |===========================================================================
  4490. . There are two variants of the encoding, one scaled and one
  4491. unscaled, which differ in the treatment of float and
  4492. controlled-vocabulary fields. An AIS-JSON object may have the optional
  4493. attribute "scaled":true to signify that the rest of its fields are
  4494. scaled; if this attribute has the value 'false' or is omitted, no
  4495. scaling has been performed. Message types for which the unscaled and
  4496. scaled dumps will differ are 1-5, 9, 11, 17-19, 21-24, and 27.
  4497. . In unscaled mode, float-valued fields are dumped in their unscaled
  4498. integer form. In scaled mode, division or other specified scaling is
  4499. applied and the value dumped as a float, *except* that certain extreme
  4500. or data-unavailable value as may be dumped as fixed strings; see the
  4501. table below.
  4502. . Each field in the Controlled Vocabularies list in the following
  4503. table is dumped twice: once with its base name as an integer, once
  4504. with "_text" appended to the name and the vocabulary item as value.
  4505. (This behavior is new in GPSD protocol version 3.9; older versions
  4506. made integer or string display dependent on the "scaled" flag.)
  4507. .Special fields
  4508. [frame="topbot",options="header"]
  4509. |===========================================================================
  4510. |Message | Float Fields | Controlled Vocabularies
  4511. | 1-3 | turn, speed, lon, lat | status
  4512. | 4, 11 | lon, lat | epfd
  4513. | 5 | draught | shiptype, epfd
  4514. | 6(1/14)| lon, lat, cspeed | -
  4515. | 6(1/18)| lon, lat | -
  4516. | 6(1/20)| berth_lon, berth_lat, berth_depth | position
  4517. | 6(1/22)| lon, lat | -
  4518. | 6(1/25)| code | code*
  4519. | 6(1/28)| lon, lat | rtype
  4520. | 6(1/32)| lon, lat, cspeed | -
  4521. | 6(235/100) | - | racon, light
  4522. | 8(1/11)| lon, lat, airtemp, dewpoint, | preciptype, ice
  4523. | | visibility, waterlevel, cspeed, |
  4524. | | cspeed2, cspeed3, waveheight, |
  4525. | | swellheight, watertemp salinity |
  4526. | 8(1/17)| lon, lat | idtype*
  4527. | 8(1/18)| lon, lat | -
  4528. | 8(1/19)| - | signal, nextsignal
  4529. | 8(1/21)| lon, lat, visibility, airtemp, | -
  4530. | | watertemp, waveheight, |
  4531. | | swellheight, speed, pressure, pdelta,|
  4532. | | rwindspeed, mgustspeed, airtemp, |
  4533. | | surftemp, cloudbase, |
  4534. | | swheight1, swheight2 |
  4535. | 8(1/22)| lon, lat | -
  4536. | 8(1/25)| - | iceclass*
  4537. | 8(1/27)| lon, lat | rtype
  4538. | 8(1/31)| lon, lat, airtemp, dewpoint, | preciptype
  4539. | | visibility, waterlevel, cspeed, |
  4540. | | cspeed2, cdepth2, cspeed3, |
  4541. | | cdepth3, waveheight, |
  4542. | | swellheight, watertemp, salinity |
  4543. | 9 | lon, lat, course | -
  4544. | 17 | lon, lat | -
  4545. | 18 | lon, lat, course | -
  4546. | 19 | lon, lat, course | shiptype, epfd
  4547. | 21 | lon, lat | aid_type, epfd
  4548. | 22-23 | ne_lon,ne_lat, sw_lon, sw_lat | shiptype,stationtype
  4549. | 24 | - | shiptype
  4550. | 27 | lon, lat | -
  4551. |===========================================================================
  4552. This table does not include fields that are scaled by multipliers to integers.
  4553. These are reported in the multiplied form in both scaled and unscaled modes.
  4554. Asterisked fields are not yet decoded by GPSD, but probably will be in
  4555. a future release.
  4556. As the Beaufort scale is usually quoted numerically, conforming implementations
  4557. should do so rather than expanding to its controlled vocabulary.
  4558. .String special values in scaled mode
  4559. [frame="topbot",options="header"]
  4560. |===========================================================================
  4561. |Message | Fieldname | Special values
  4562. | 1-3 | turn |
  4563. "nan" = not available, "fastright" = fast right turn (above 5deg/30sec degrees),
  4564. "fastleft" = fast left turn (above 5deg/30sec degrees).
  4565. | 1-3 | speed | "nan" = not available, "fast" = speed >= 102.2 knots
  4566. | 9 | alt | "nan" = not available, "high" = alt >= 4094 meters
  4567. | 9 | speed | "nan" = not available, "fast" = speed >= 1023.0 knots
  4568. |===========================================================================
  4569. . Trailing arrays are dumped as JSON subobject arrays. The name of the
  4570. array item is the name given in the 'a' table entry. Explicit array count
  4571. fields (presently "waycount" in Route Info messages") are not dumped.
  4572. . In the VTS-Generated/Synthetic Targets message, the id field is
  4573. dumped as the value of an attribute the name of which is specified by
  4574. the idtype field.
  4575. == Open Questions ==
  4576. The AIS standards are not marvels of clear and unambiguous drafting.
  4577. We list here some open questions which could usefully be addressed
  4578. by governing authorities.
  4579. Some of these duplicate material in paragraphs tagged with OPEN-QUESTION.
  4580. They are collected here for convenience.
  4581. The message type summary table in <<INLAND>> indicates the existence
  4582. of a broadcast (unaddressed) variant of Inland Number of Persons On
  4583. Board. But no field breakdown is given for this variant. If it
  4584. supposed to be identical to the Type 6 layout, what is to be done
  4585. with the Destination MMSI field?
  4586. Are <<INLAND>> time-of-day fields UTC or local?
  4587. In <<INLAND>> RTA at lock/bridge/terminal message, no default is
  4588. specified for the Status field.
  4589. In Inland Ship Static and Voyage Related Data, which of two possible
  4590. ERI numeric codesets are used for the Type field - the 4-digit codes
  4591. in the 8000-8073 range, or the AIS codes in the 1-99 range? Full ERI
  4592. codes have been observed in the wild.
  4593. In the <<INLAND>> description of Message 5 extensions, footnote 6 is
  4594. incomprehensible and not actually referenced in the table.
  4595. In the <<INLAND>> EMMA Warning and Signal Strength messages, the
  4596. description is not explicit about the interpretation of the longitude
  4597. and latitude fields; these semantics are assumed here from 28 and
  4598. 27-bit fields in other messages.
  4599. In the <<INLAND>> EMMA Warning, what are the semantics of the min and
  4600. max values? To what parameters do they apply?
  4601. Is the <<IMO236>> versions of Persons On Board, which is supposed to
  4602. be Type 6 and thus addressed, erroneous? There is no destination
  4603. address field in the layout.
  4604. <<IMO289>> says of the "VTS Generated/Synthetic Targets" message:
  4605. "When MMSI or IMO number is used, the least significant bit should
  4606. equal bit zero of the Target Identifier." It is unclear how "bit
  4607. zero" is to be interpreted, but it is not possible to reconcile
  4608. interpreting it as the leading bit of the field with AIS big-endian
  4609. encoding. Settling this awaits live testing.
  4610. == References ==
  4611. [bibliography]
  4612. - [[[AIS]]] https://en.wikipedia.org/wiki/Automatic_Identification_System[Automatic
  4613. Identification System]
  4614. - [[[SOLAS]]]
  4615. http://www.navcen.uscg.gov/enav/ais/AIS_Regs_SOLAS_MTSA_FR.pdf[SOLAS
  4616. AIS Regulations]
  4617. - [[[US-REQUIREMENTS]]]
  4618. http://www.navcen.uscg.gov/enav/AIS/AIS_carriage_reqmts.htm[AIS
  4619. Carriage Requirements]
  4620. - [[[ITU1371]]]
  4621. http://www.itu.int/rec/R-REC-M.1371/en
  4622. ITU Recommendation on the Technical Characteristics for a Universal
  4623. Shipborne Automatic Identification System (AIS) using Time Division
  4624. Multiple Access in the Maritime Mobile Band]. All versions are
  4625. available here.
  4626. - [[[IALA]]] http://www.ialathree.org/iala/pages/AIS/IALATech1.5.pdf[IALA
  4627. Technical Clarifications on Recommendation ITU-R M.1371-1]
  4628. - [[[IALA-ASM]]] https://www.iala-aism.org/asm/[Collection of regional applications for AIS Application Specific Messages of regional applications for AIS Binary Messages]
  4629. - [[[NAVCEN]]] http://www.navcen.uscg.gov/enav/ais/[NAVCEN AIS pages]
  4630. - [[[NMEA]]] "NMEA Revealed" This document collects information from
  4631. public sources on the proprietary NMEA 0183 standard. It is widely
  4632. distributed, but due to its hosting site having folded in late 2011,
  4633. its home location is unstable. It is probably best found by typing
  4634. the title into a search engine.
  4635. - [[[INLAND]]] http://www.unece.org/fileadmin/DAM/trans/doc/finaldocs/sc3/ECE-TRANS-SC3-176e.pdf[International Standard for tracking and tracing on Inland Waterways]
  4636. - [[[SEAWAY]]] http://www.greatlakes-seaway.com/en/pdf/aisdata.pdf[St. Lawrence
  4637. Seaway AIS Data Messaging Formats and Specifications]
  4638. - [[[THAMES]]] http://www.pla.co.uk/pdfs/maritime/APPENDIX_I__II_amendment_for_2012_byelaws_FINAL.pdf[Thames AIS - Technical Requirements Specification]
  4639. - [[[IMO236]]] http://www.imo.org/includes/blastData.asp/doc_id=4503&filename=236.pdf[IMO
  4640. Circular 236: Guidance on the Application of AIS Binary Messages (May 2004)]
  4641. - [[[IMO289]]]
  4642. http://vislab-ccom.unh.edu/~schwehr/papers/2010-IMO-SN.1-Circ.289.pdf[IMO
  4643. 289: Guidance on the Use of AIS Application-Specific Messages
  4644. (June 2010)]
  4645. - [[IALA-A126]]
  4646. http://www.ialathree.org/chapo/publications/documentspdf/doc_235_eng.pdf[IALA
  4647. Recommendation A-126 On The Use of the Automatic Identification System (AIS)
  4648. in Marine Aids to Navigation Services
  4649. - [[[Schwehr]]] http://schwehr.org/blog/[Kurt Schwehr's weblog]
  4650. - [[[IEC-PAS]]] IEC-PAS 61162-100, "Maritime navigation and
  4651. radiocommunication equipment and systems" The ASCII armoring
  4652. is described on page 26 of Annex C, Table C-1. Communicated by
  4653. Kurt Schwehr; I have not looked at it.
  4654. - [[[IEC-62287]]] "Maritime Navigation and Radiocommunication
  4655. Equipment and Systems – Class B Shipborne Equipment of the
  4656. Automatic Identification System (AIS)" Communicated by Mike Greene;
  4657. I have not looked at it.
  4658. - [[[ITU-MID]]] http://www.itu.int/cgi-bin/htsh/glad/cga_mids.sh?lng=E[Table
  4659. of Maritime Identification Digits]
  4660. - [[[RAIM]]] https://en.wikipedia.org/wiki/RAIM[Receiver Autonomous
  4661. Integrity Monitoring]
  4662. - [[[C2]]] http://www.uais.org/AISspecificationCorrigendum2.pdf[AIS
  4663. Specification Corrigendum 2]
  4664. - [[[MMSI]]] http://www.navcen.uscg.gov/marcomms/gmdss/mmsi.htm#format[MMSI
  4665. Format]
  4666. - [[[HAM-JSON-AIS]]] http://wiki.ham.fi/JSON_AIS.en[JSON AIS transmission protocol]
  4667. - [[[AISHUB]]] http://www.aishub.net/[AIS Hub, the AIS data sharing center]
  4668. - [[[PILOTPLUG]]] http://www.pilotplug.com/
  4669. - [[[IALA-A126]]] http://www.iala-aism.org/iala/publications/documentspdf/doc_299_eng.pdf[]
  4670. - [[[AIS-SART]]] http://www.navcen.uscg.gov/?pageName=AISMessagesA
  4671. - [[[SART]]] https://en.wikipedia.org/wiki/AIS-SART
  4672. - [[[PATREON]]] https://www.patreon.com/esr
  4673. - [[NMEA-ADVANCE]] http://www.nmea.org/Assets/0183_advancements_nmea_oct_1_2010%20(2).pdf
  4674. == Change history ==
  4675. Version 1.0 was the initial release covering messages 1-3, 4, and 5.
  4676. Version 1.1 adds message breakdowns for 9 and 18, explanation of the
  4677. Repeat Indicator feld, and the explanation of USCG extended AIVDM.
  4678. Version 1.2 adds information on the ITU1371 edition 3 maneuver field,
  4679. and the RAIM flag. It also adds an important clarification about
  4680. six-bit decoding.
  4681. Version 1.3 adds information on message types 6, 7, 12, and 13, and
  4682. attempts to demystify bit-stuffing.
  4683. Version 1.4 adds explicit decoding tables for ASCII armoring and
  4684. six-bit ASCII.
  4685. Version 1.5 corrects the interpretation of field 7 in AIVDM
  4686. ASCII-armored sentences.
  4687. Version 1.6 corrects some minor errors in the interpretation of Type
  4688. 5 messages.
  4689. Version 1.7 adds descriptions for Type 10, 11, 19, 21, and 24
  4690. messages, information about ITU-1371-3 flags in message type 18,
  4691. and the new section on Improving This Document.
  4692. Version 1.8 fixes some broken markup and adds information about JSON-AIS.
  4693. Version 1.9 adds more information on JSON and the member names.
  4694. Version 1.10 fixes a typo in the formula for undoing 6-bit armoring.
  4695. Version 1.11 describes message types 15, 16, and 17.
  4696. Version 1.12 describes messages 20 and 22, and adds navigation aid
  4697. type codes.
  4698. Version 1.13 documents more out-of-band values and treats radio status
  4699. blocks more uniformly.
  4700. Version 1.14 documents message 23.
  4701. Version 1.15 corrects an incorrect member name in message 5. It didn't
  4702. match my C code, but had no effect on conformance with the standard. I
  4703. corrected it because it confused someone working on a Python decoder.
  4704. Version 1.16 incorporated various minor fixes and corrections from
  4705. Neal Arundale. One 'standard' fieldname changed, in message type 21:
  4706. type -> aid_type.
  4707. Version 1.17 clarifies the role of @ as a terminator in 6-bit text.
  4708. Version 1.18 notes a possible off-by-two error in the standards'
  4709. description of type 14, and noted that type 25 and 26 have not
  4710. been observed in the wild. It also adds a more complete description
  4711. of AIS data types and some pragmatics about spare and reserved fields.
  4712. Version 1.19 adds a description of AIS Hub.
  4713. Version 1.20 adds a list of AIS feed sites - just two, so far.
  4714. Version 1.21 describes JSON-AIS more completely. It adds descriptions
  4715. for AIS messages type 25 and 26, not yet observed in the wild.
  4716. Version 1.22 describes the problem with message length checks.
  4717. Notes on EPFD value 15 and shiptype values > 99 are added. Added
  4718. another AIS feed. Corrections and more details on message 22.
  4719. Version 1.23 corrects some typos and numbering errors in the
  4720. description of message 19 (field widths were correct, though).
  4721. Also, AISLive no longer offers free delayed access.
  4722. Version 1.24 breaks the Type 6 and 8 application_id field into
  4723. DAC and FID and adds tables for known DAC/FID pairs and their sources.
  4724. Unspecified fields are now omitted in JSON dumps. A new section
  4725. "AIS byte alignment, bit stuffing, and padding", reveals some
  4726. particularly black magic.
  4727. Version 1.25 adds clarifications and more message subtypes for
  4728. U.S. Coast Guard PAWSS messages.
  4729. Version 1.26 corrects an error in describing rate-of-turn decoding in
  4730. AIS Type 1, 2, and 3 messages,
  4731. Version 1.27 describes the sometime U.S. practice of omitting the leading
  4732. '3' region code from MMSIs.
  4733. Version 1.28 merges updates from IMO 289, communicated by Kurt Schwehr.
  4734. Version 1.29 added much information on WMO special message formats in
  4735. types 6 and 8.
  4736. Version 1.30 was revised because M.1371-4 is now a free download.
  4737. Also, we describe "pilot plugs" and AIS message type 27. We get
  4738. much more explicit about defaults in IMO236 and IMO289 messages.
  4739. Version 1.31 shortened some C names in the Meteorological/Hydrological
  4740. messages and fixed typos.
  4741. Version 1.32 adds descriptions of IMO Area Notice and Environmental
  4742. messages. It adds explicit type information to the tables.
  4743. Version 1.33 notes that the home location of "NMEA Revealed" became
  4744. unstable in late 2011.
  4745. Version 1.34 fixes a typo in the MMSI 2 field offset of message 7.
  4746. Version 1.35 notes that 24A and 24B messages don't necessarily come
  4747. in neat adjacent pairs and that decoders need to handle this.
  4748. Version 1.36 corrects erroneous scale factors in the IMO 289 Area
  4749. Notice and Time to Enter Port descriptions.
  4750. Version 1.36 adds breakdowns of Aid to Navigation monitoring messages
  4751. used in the UK and the Republic of Ireland.
  4752. Version 1.37 corrects a field signedness error in the IMO236 and
  4753. IMO289 Met/Hydro messages.
  4754. Version 1.38 corrects a minor bug in the description of the Navigation
  4755. Message ROT field. Adds information on AIS-SART.
  4756. Version 1.39 corrects signedness errors in the description of the Air
  4757. Temperature and Water Temperature fields in the IMO289 Weather Report
  4758. From Ship message.
  4759. Version 1.40 notes that AIS channel codes '1' and '2' may be
  4760. encountered in the wild.
  4761. Version 1.41 has been slightly amended because type 27s have started
  4762. showing up on satellite feeds.
  4763. Version 1.42 fixes a typo in the Type 4 message description.
  4764. Version 1.43 describes the ITU-R 1371-4 breakdown of the Type 24
  4765. Vendor ID field and adds information on AIS standards for inland
  4766. waterways. Also Inland AIS standard messages are now covered.
  4767. Version 1.44 adds substantial new information on MMSIs and updates
  4768. the <<MMSI link>>, which was stale.
  4769. Version 1.45 adds a description of variant AIS talker IDs and NMEA
  4770. 4.10 tag blocks.
  4771. Version 1.46 corrects an error in the specification on Inland AIS Type
  4772. 10s. It also adds a bit more information on AIS tag blocks.
  4773. Version 1.47 corrects some minor field type errors in Type 18 and Type
  4774. 19 speed fields. Also corrected Type 9 radio field length.
  4775. Version 1.48 corrects two typos in the WMO289 Area Notice and Weather
  4776. Report From Ship definitions.
  4777. Version 1.49 adds a technical detail about non-AIS encapsulated
  4778. sentences.
  4779. Version 1.50 fixes a couple of typos in the ISO289 Berthing Data and
  4780. Tidal Window message descriptions.
  4781. Version 1.51 fixes an incorrect bit length in the IMO289 Hydrological
  4782. Data message.
  4783. Version 1.52 fixes many small typos. Change Gratipay to Patreon.
  4784. Version 1.53 fixes several small typos and formatting errors, adds detail
  4785. to the Types 6 and 8 Area Notice message, and adds reference to the IALA
  4786. Application-Specific Message (ASM) registry.
  4787. Version 1.54 adds information on subarea fields in IMO289 Area Notice
  4788. messages.
  4789. // end