XIOS_reference_guide.lyx 128 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037
  1. #LyX 2.1 created this file. For more info see http://www.lyx.org/
  2. \lyxformat 474
  3. \begin_document
  4. \begin_header
  5. \textclass book
  6. \use_default_options true
  7. \begin_modules
  8. logicalmkup
  9. \end_modules
  10. \maintain_unincluded_children false
  11. \language english
  12. \language_package default
  13. \inputencoding auto
  14. \fontencoding global
  15. \font_roman default
  16. \font_sans default
  17. \font_typewriter default
  18. \font_math auto
  19. \font_default_family default
  20. \use_non_tex_fonts false
  21. \font_sc false
  22. \font_osf false
  23. \font_sf_scale 100
  24. \font_tt_scale 100
  25. \graphics default
  26. \default_output_format default
  27. \output_sync 0
  28. \bibtex_command default
  29. \index_command default
  30. \paperfontsize default
  31. \spacing single
  32. \use_hyperref false
  33. \papersize a4paper
  34. \use_geometry false
  35. \use_package amsmath 1
  36. \use_package amssymb 1
  37. \use_package cancel 1
  38. \use_package esint 1
  39. \use_package mathdots 1
  40. \use_package mathtools 1
  41. \use_package mhchem 1
  42. \use_package stackrel 1
  43. \use_package stmaryrd 1
  44. \use_package undertilde 1
  45. \cite_engine basic
  46. \cite_engine_type default
  47. \biblio_style plain
  48. \use_bibtopic false
  49. \use_indices false
  50. \paperorientation portrait
  51. \suppress_date false
  52. \justification true
  53. \use_refstyle 0
  54. \index Index
  55. \shortcut idx
  56. \color #008000
  57. \end_index
  58. \secnumdepth 3
  59. \tocdepth 3
  60. \paragraph_separation indent
  61. \paragraph_indentation default
  62. \quotes_language english
  63. \papercolumns 1
  64. \papersides 1
  65. \paperpagestyle default
  66. \tracking_changes false
  67. \output_changes false
  68. \html_math_output 0
  69. \html_css_as_file 0
  70. \html_be_strict false
  71. \end_header
  72. \begin_body
  73. \begin_layout Title
  74. XIOS Fortran Reference Guide
  75. \end_layout
  76. \begin_layout Author
  77. Yann Meurdesoif
  78. \end_layout
  79. \begin_layout Chapter
  80. Attribute reference
  81. \end_layout
  82. \begin_layout Section
  83. Context attribute reference
  84. \end_layout
  85. \begin_layout Section
  86. Calendar attribute reference
  87. \end_layout
  88. \begin_layout Subsection*
  89. type:
  90. \begin_inset Flex Emph
  91. status collapsed
  92. \begin_layout Plain Layout
  93. enumeration { Gregorian, Julian, D360, AllLeap, NoLeap, user_defined }
  94. \end_layout
  95. \end_inset
  96. \end_layout
  97. \begin_layout Standard
  98. Fortran:
  99. \end_layout
  100. \begin_layout LyX-Code
  101. CHARACTER(LEN=*) :: type
  102. \end_layout
  103. \begin_layout Standard
  104. Define the calendar used for the current context.
  105. This attribute is mandatory and cannot be modified once it has been set.
  106. \begin_inset Newline newline
  107. \end_inset
  108. \begin_inset Newline newline
  109. \end_inset
  110. When using the Fortran interface, this attribute must be defined using the
  111. following subroutine:
  112. \end_layout
  113. \begin_layout LyX-Code
  114. SUBROUTINE xios_define_calendar(type, timestep, start_date, time_origin,
  115. \begin_inset Newline newline
  116. \end_inset
  117. day_length, month_lengths, year_length,
  118. \begin_inset Newline newline
  119. \end_inset
  120. leap_year_month, leap_year_drift,
  121. \begin_inset Newline newline
  122. \end_inset
  123. leap_year_drift_offset)
  124. \end_layout
  125. \begin_layout Subsection*
  126. start_date:
  127. \begin_inset Flex Emph
  128. status collapsed
  129. \begin_layout Plain Layout
  130. date
  131. \end_layout
  132. \end_inset
  133. \end_layout
  134. \begin_layout Standard
  135. Fortran:
  136. \end_layout
  137. \begin_layout LyX-Code
  138. TYPE(xios_date) :: start_date
  139. \end_layout
  140. \begin_layout Standard
  141. Define the start date of the simulation for the current context.
  142. This attribute is optional, the default value is
  143. \begin_inset Flex Emph
  144. status collapsed
  145. \begin_layout Plain Layout
  146. \series bold
  147. 0000-01-01 00:00:00
  148. \end_layout
  149. \end_inset
  150. .
  151. The
  152. \begin_inset Flex Strong
  153. status collapsed
  154. \begin_layout Plain Layout
  155. type
  156. \end_layout
  157. \end_inset
  158. attribute must always be set at the same time or before this attribute
  159. is defined.
  160. \begin_inset Newline newline
  161. \end_inset
  162. \begin_inset Newline newline
  163. \end_inset
  164. A partial date is allowed in the configuration file as long as the omitted
  165. parts are at the end, in which case they are initialized as in the default
  166. value.
  167. Optionally an offset can be added to the date using the notation "
  168. \emph on
  169. + duration
  170. \emph default
  171. ".
  172. \begin_inset Newline newline
  173. \end_inset
  174. \begin_inset Newline newline
  175. \end_inset
  176. When using the Fortran interface, this attribute can be defined at the same
  177. time as the calendar
  178. \series bold
  179. type
  180. \series default
  181. :
  182. \end_layout
  183. \begin_layout LyX-Code
  184. SUBROUTINE xios_define_calendar(type, timestep, start_date, time_origin,
  185. \begin_inset Newline newline
  186. \end_inset
  187. day_length, month_lengths, year_length,
  188. \begin_inset Newline newline
  189. \end_inset
  190. leap_year_month, leap_year_drift,
  191. \begin_inset Newline newline
  192. \end_inset
  193. leap_year_drift_offset)
  194. \end_layout
  195. \begin_layout Standard
  196. or later using the following subroutine:
  197. \end_layout
  198. \begin_layout LyX-Code
  199. SUBROUTINE xios_set_start_date(start_date)
  200. \end_layout
  201. \begin_layout Subsection*
  202. time_origin:
  203. \begin_inset Flex Emph
  204. status collapsed
  205. \begin_layout Plain Layout
  206. date
  207. \end_layout
  208. \end_inset
  209. \end_layout
  210. \begin_layout Standard
  211. Fortran:
  212. \end_layout
  213. \begin_layout LyX-Code
  214. TYPE(xios_date) :: time_origin
  215. \end_layout
  216. \begin_layout Standard
  217. Define the time origin of the time axis.
  218. It will appear as metadata attached to the time axis in the output file.
  219. This attribute is optional, the default value is
  220. \begin_inset Flex Emph
  221. status collapsed
  222. \begin_layout Plain Layout
  223. \series bold
  224. 0000-01-01 00:00:00
  225. \end_layout
  226. \end_inset
  227. .
  228. The
  229. \begin_inset Flex Strong
  230. status collapsed
  231. \begin_layout Plain Layout
  232. type
  233. \end_layout
  234. \end_inset
  235. attribute must always be set at the same time or before this attribute
  236. is defined.
  237. \begin_inset Newline newline
  238. \end_inset
  239. \begin_inset Newline newline
  240. \end_inset
  241. A partial date is allowed in the configuration file as long as the omitted
  242. parts are at the end, in which case they are initialized as in the default
  243. value.
  244. Optionally an offset can be added to the date using the notation "
  245. \emph on
  246. + duration
  247. \emph default
  248. ".
  249. \begin_inset Newline newline
  250. \end_inset
  251. \begin_inset Newline newline
  252. \end_inset
  253. When using the Fortran interface, this attribute can be defined at the same
  254. time as the calendar
  255. \series bold
  256. type
  257. \series default
  258. :
  259. \end_layout
  260. \begin_layout LyX-Code
  261. SUBROUTINE xios_define_calendar(type, timestep, start_date, time_origin,
  262. \begin_inset Newline newline
  263. \end_inset
  264. day_length, month_lengths, year_length,
  265. \begin_inset Newline newline
  266. \end_inset
  267. leap_year_month, leap_year_drift,
  268. \begin_inset Newline newline
  269. \end_inset
  270. leap_year_drift_offset)
  271. \end_layout
  272. \begin_layout Standard
  273. or later using the following subroutine:
  274. \end_layout
  275. \begin_layout LyX-Code
  276. SUBROUTINE xios_set_time_origin(time_origin)
  277. \end_layout
  278. \begin_layout Subsection*
  279. timestep:
  280. \begin_inset Flex Emph
  281. status collapsed
  282. \begin_layout Plain Layout
  283. duration
  284. \end_layout
  285. \end_inset
  286. \end_layout
  287. \begin_layout Standard
  288. Fortran:
  289. \end_layout
  290. \begin_layout LyX-Code
  291. TYPE(xios_duration) :: timestep
  292. \end_layout
  293. \begin_layout Standard
  294. Define the time step of the simulation for the current context.
  295. This attribute is mandatory.
  296. \begin_inset Newline newline
  297. \end_inset
  298. \begin_inset Newline newline
  299. \end_inset
  300. When using the Fortran interface, this attribute can be defined at the same
  301. time as the calendar
  302. \series bold
  303. type
  304. \series default
  305. :
  306. \end_layout
  307. \begin_layout LyX-Code
  308. SUBROUTINE xios_define_calendar(type, timestep, start_date, time_origin,
  309. \begin_inset Newline newline
  310. \end_inset
  311. day_length, month_lengths, year_length,
  312. \begin_inset Newline newline
  313. \end_inset
  314. leap_year_month, leap_year_drift,
  315. \begin_inset Newline newline
  316. \end_inset
  317. leap_year_drift_offset)
  318. \end_layout
  319. \begin_layout Standard
  320. or using the following subroutine:
  321. \end_layout
  322. \begin_layout LyX-Code
  323. SUBROUTINE xios_set_timestep(timestep)
  324. \end_layout
  325. \begin_layout Subsection*
  326. day_length:
  327. \begin_inset Flex Emph
  328. status collapsed
  329. \begin_layout Plain Layout
  330. integer
  331. \end_layout
  332. \end_inset
  333. \end_layout
  334. \begin_layout Standard
  335. Fortran:
  336. \end_layout
  337. \begin_layout LyX-Code
  338. INTEGER :: day_length
  339. \end_layout
  340. \begin_layout Standard
  341. Define the duration of a day, in seconds, when using a custom calendar.
  342. This attribute is mandatory if the calendar
  343. \series bold
  344. type
  345. \series default
  346. is set to "
  347. \emph on
  348. user_defined
  349. \emph default
  350. ", otherwise it must not be defined.
  351. \begin_inset Newline newline
  352. \end_inset
  353. \begin_inset Newline newline
  354. \end_inset
  355. When using the Fortran interface, this attribute must be defined at the
  356. same time as the calendar
  357. \series bold
  358. type
  359. \series default
  360. :
  361. \end_layout
  362. \begin_layout LyX-Code
  363. SUBROUTINE xios_define_calendar(type, timestep, start_date, time_origin,
  364. \begin_inset Newline newline
  365. \end_inset
  366. day_length, month_lengths, year_length,
  367. \begin_inset Newline newline
  368. \end_inset
  369. leap_year_month, leap_year_drift,
  370. \begin_inset Newline newline
  371. \end_inset
  372. leap_year_drift_offset)
  373. \end_layout
  374. \begin_layout Subsection*
  375. month_lengths:
  376. \begin_inset Flex Emph
  377. status collapsed
  378. \begin_layout Plain Layout
  379. 1D-array of integer
  380. \end_layout
  381. \end_inset
  382. \end_layout
  383. \begin_layout Standard
  384. Fortran:
  385. \end_layout
  386. \begin_layout LyX-Code
  387. INTEGER :: month_lengths(:)
  388. \end_layout
  389. \begin_layout Standard
  390. Define the duration of each month, in days, when using a custom calendar.
  391. The number of elements in the array defines the number of months in a year
  392. and the sum of all elements is the total number of days in a year.
  393. This attribute is mandatory if the calendar
  394. \series bold
  395. type
  396. \series default
  397. is set to
  398. \series bold
  399. \emph on
  400. user_defined
  401. \series default
  402. \emph default
  403. and the
  404. \series bold
  405. year_length
  406. \series default
  407. attribute is not used, otherwise it must not be defined.
  408. \begin_inset Newline newline
  409. \end_inset
  410. \begin_inset Newline newline
  411. \end_inset
  412. When using the Fortran interface, this attribute must be defined at the
  413. same time as the calendar
  414. \series bold
  415. type
  416. \series default
  417. :
  418. \end_layout
  419. \begin_layout LyX-Code
  420. SUBROUTINE xios_define_calendar(type, timestep, start_date, time_origin,
  421. \begin_inset Newline newline
  422. \end_inset
  423. day_length, month_lengths, year_length,
  424. \begin_inset Newline newline
  425. \end_inset
  426. leap_year_month, leap_year_drift,
  427. \begin_inset Newline newline
  428. \end_inset
  429. leap_year_drift_offset)
  430. \end_layout
  431. \begin_layout Subsection*
  432. year_length:
  433. \begin_inset Flex Emph
  434. status collapsed
  435. \begin_layout Plain Layout
  436. integer
  437. \end_layout
  438. \end_inset
  439. \end_layout
  440. \begin_layout Standard
  441. Fortran:
  442. \end_layout
  443. \begin_layout LyX-Code
  444. INTEGER :: year_length
  445. \end_layout
  446. \begin_layout Standard
  447. Define the duration of a year, in seconds, when using a custom calendar.
  448. This attribute is mandatory if the calendar
  449. \series bold
  450. type
  451. \series default
  452. is set to
  453. \series bold
  454. \emph on
  455. user_defined
  456. \series default
  457. \emph default
  458. and the
  459. \series bold
  460. month_lengths
  461. \series default
  462. attribute is not used, otherwise it must not be defined.
  463. \begin_inset Newline newline
  464. \end_inset
  465. \begin_inset Newline newline
  466. \end_inset
  467. Note that the date format is modified when using this attribute: the month
  468. must be always be omitted and the day must also be omitted if
  469. \begin_inset Formula $year\_length\leq day\_length$
  470. \end_inset
  471. .
  472. \begin_inset Newline newline
  473. \end_inset
  474. \begin_inset Newline newline
  475. \end_inset
  476. When using the Fortran interface, this attribute must be defined at the
  477. same time as the calendar
  478. \series bold
  479. type
  480. \series default
  481. :
  482. \end_layout
  483. \begin_layout LyX-Code
  484. SUBROUTINE xios_define_calendar(type, timestep, start_date, time_origin,
  485. \begin_inset Newline newline
  486. \end_inset
  487. day_length, month_lengths, year_length,
  488. \begin_inset Newline newline
  489. \end_inset
  490. leap_year_month, leap_year_drift,
  491. \begin_inset Newline newline
  492. \end_inset
  493. leap_year_drift_offset)
  494. \end_layout
  495. \begin_layout Subsection*
  496. leap_year_month:
  497. \begin_inset Flex Emph
  498. status collapsed
  499. \begin_layout Plain Layout
  500. integer
  501. \end_layout
  502. \end_inset
  503. \end_layout
  504. \begin_layout Standard
  505. Fortran:
  506. \end_layout
  507. \begin_layout LyX-Code
  508. INTEGER :: leap_year_month
  509. \end_layout
  510. \begin_layout Standard
  511. Define the month to which the extra day will be added in case of leap year,
  512. when using a custom calendar.
  513. This attribute is optional if the calendar
  514. \series bold
  515. type
  516. \series default
  517. is set to
  518. \series bold
  519. \emph on
  520. user_defined
  521. \series default
  522. \emph default
  523. and the
  524. \series bold
  525. month_lengths
  526. \series default
  527. attribute is used, otherwise it must not be defined.
  528. The default behaviour is not to have any leap year.
  529. If defined, this attribute must comply with the following constraint:
  530. \begin_inset Formula $1\leq leap\_year\_month\leq size(month\_lengths)$
  531. \end_inset
  532. and the
  533. \series bold
  534. leap_year_drift
  535. \series default
  536. attribute must also be defined.
  537. \begin_inset Newline newline
  538. \end_inset
  539. \begin_inset Newline newline
  540. \end_inset
  541. When using the Fortran interface, this attribute must be defined at the
  542. same time as the calendar
  543. \series bold
  544. type
  545. \series default
  546. :
  547. \end_layout
  548. \begin_layout LyX-Code
  549. SUBROUTINE xios_define_calendar(type, timestep, start_date, time_origin,
  550. \begin_inset Newline newline
  551. \end_inset
  552. day_length, month_lengths, year_length,
  553. \begin_inset Newline newline
  554. \end_inset
  555. leap_year_month, leap_year_drift,
  556. \begin_inset Newline newline
  557. \end_inset
  558. leap_year_drift_offset)
  559. \end_layout
  560. \begin_layout Subsection*
  561. leap_year_drift:
  562. \begin_inset Flex Emph
  563. status collapsed
  564. \begin_layout Plain Layout
  565. double
  566. \end_layout
  567. \end_inset
  568. \end_layout
  569. \begin_layout Standard
  570. Fortran:
  571. \end_layout
  572. \begin_layout LyX-Code
  573. DOUBLE PRECISION :: leap_year_drift
  574. \end_layout
  575. \begin_layout Standard
  576. Define the yearly drift, expressed as a fraction of a day, between the calendar
  577. year and the astronomical year, when using a custom calendar.
  578. This attribute is optional if the calendar
  579. \series bold
  580. type
  581. \series default
  582. is set to
  583. \series bold
  584. \emph on
  585. user_defined
  586. \series default
  587. \emph default
  588. and the
  589. \series bold
  590. month_lengths
  591. \series default
  592. attribute is used, otherwise it must not be defined.
  593. The default behaviour is not to have any leap year, i.e.
  594. the default value is
  595. \begin_inset Formula $\mathbf{0}$
  596. \end_inset
  597. .
  598. If defined, this attribute must comply with the following constraint:
  599. \begin_inset Formula $0\leq leap\_year\_drift<1$
  600. \end_inset
  601. and the
  602. \series bold
  603. leap_year_month
  604. \series default
  605. attribute must also be defined.
  606. \begin_inset Newline newline
  607. \end_inset
  608. \begin_inset Newline newline
  609. \end_inset
  610. When using the Fortran interface, this attribute must be defined at the
  611. same time as the calendar
  612. \series bold
  613. type
  614. \series default
  615. :
  616. \end_layout
  617. \begin_layout LyX-Code
  618. SUBROUTINE xios_define_calendar(type, timestep, start_date, time_origin,
  619. \begin_inset Newline newline
  620. \end_inset
  621. day_length, month_lengths, year_length,
  622. \begin_inset Newline newline
  623. \end_inset
  624. leap_year_month, leap_year_drift,
  625. \begin_inset Newline newline
  626. \end_inset
  627. leap_year_drift_offset)
  628. \end_layout
  629. \begin_layout Subsection*
  630. leap_year_drift_offset:
  631. \begin_inset Flex Emph
  632. status collapsed
  633. \begin_layout Plain Layout
  634. double
  635. \end_layout
  636. \end_inset
  637. \end_layout
  638. \begin_layout Standard
  639. Fortran:
  640. \end_layout
  641. \begin_layout LyX-Code
  642. DOUBLE PRECISION :: leap_year_drift_offset
  643. \end_layout
  644. \begin_layout Standard
  645. Define the initial drift between the calendar year and the astronomical
  646. year, expressed as a fraction of a day, at the beginning of the time origin's
  647. year, when using a custom calendar.
  648. This attribute is optional if the
  649. \series bold
  650. leap_year_month
  651. \series default
  652. and
  653. \series bold
  654. leap_year_drift
  655. \series default
  656. attributes are used, otherwise it must not be defined.
  657. The default value is
  658. \begin_inset Formula $\mathbf{0}$
  659. \end_inset
  660. .
  661. If defined, this attribute must comply with the following constraint:
  662. \begin_inset Formula $0\leq leap\_year\_drift\_offset<1$
  663. \end_inset
  664. .
  665. If
  666. \begin_inset Formula $leap\_yeap\_drift\_offset+leap\_yeap\_drift$
  667. \end_inset
  668. is greater or equal to 1, then the first year will be a leap year.
  669. \begin_inset Newline newline
  670. \end_inset
  671. \begin_inset Newline newline
  672. \end_inset
  673. When using the Fortran interface, this attribute must be defined at the
  674. same time as the calendar
  675. \series bold
  676. type
  677. \series default
  678. :
  679. \end_layout
  680. \begin_layout LyX-Code
  681. SUBROUTINE xios_define_calendar(type, timestep, start_date, time_origin,
  682. \begin_inset Newline newline
  683. \end_inset
  684. day_length, month_lengths, year_length,
  685. \begin_inset Newline newline
  686. \end_inset
  687. leap_year_month, leap_year_drift,
  688. \begin_inset Newline newline
  689. \end_inset
  690. leap_year_drift_offset)
  691. \end_layout
  692. \begin_layout Section
  693. Axis attribute reference
  694. \end_layout
  695. \begin_layout Subsection*
  696. name:
  697. \begin_inset Flex Emph
  698. status collapsed
  699. \begin_layout Plain Layout
  700. string
  701. \end_layout
  702. \end_inset
  703. \end_layout
  704. \begin_layout Standard
  705. Fortran:
  706. \end_layout
  707. \begin_layout LyX-Code
  708. CHARACTER(LEN=*) :: name
  709. \end_layout
  710. \begin_layout Standard
  711. Define the name of the vertical axis, as it will appear in a file.
  712. If not defined, a name is self generated from the id.
  713. If multiple vertical axis are defined in a same file, each name must be
  714. different.
  715. \end_layout
  716. \begin_layout Subsection*
  717. standard_name:
  718. \begin_inset Flex Emph
  719. status collapsed
  720. \begin_layout Plain Layout
  721. string
  722. \end_layout
  723. \end_inset
  724. \end_layout
  725. \begin_layout Standard
  726. Fortran:
  727. \end_layout
  728. \begin_layout LyX-Code
  729. CHARACTER(LEN=*) :: standard_name
  730. \end_layout
  731. \begin_layout Standard
  732. Define the standard name of the vertical axis, as it will appear in the
  733. metadata attached to the axis of the output file.
  734. \end_layout
  735. \begin_layout Subsection*
  736. long_name:
  737. \begin_inset Flex Emph
  738. status collapsed
  739. \begin_layout Plain Layout
  740. string
  741. \end_layout
  742. \end_inset
  743. \end_layout
  744. \begin_layout Standard
  745. Fortran:
  746. \end_layout
  747. \begin_layout LyX-Code
  748. CHARACTER(LEN=*) :: long_name
  749. \end_layout
  750. \begin_layout Standard
  751. Define the long name of the vertical axis, as it will appear in the metadata
  752. attached to the axis of the output file.
  753. \end_layout
  754. \begin_layout Subsection*
  755. unit:
  756. \begin_inset Flex Emph
  757. status collapsed
  758. \begin_layout Plain Layout
  759. string
  760. \end_layout
  761. \end_inset
  762. \end_layout
  763. \begin_layout Standard
  764. Fortran:
  765. \end_layout
  766. \begin_layout LyX-Code
  767. CHARACTER(LEN=*) :: unit
  768. \end_layout
  769. \begin_layout Standard
  770. Define the unit of the axis as it will appear in the metadata attached to
  771. the axis in the output file.
  772. \end_layout
  773. \begin_layout Subsection*
  774. n_glo:
  775. \begin_inset Flex Emph
  776. status collapsed
  777. \begin_layout Plain Layout
  778. integer
  779. \end_layout
  780. \end_inset
  781. \end_layout
  782. \begin_layout Standard
  783. Fortran:
  784. \end_layout
  785. \begin_layout LyX-Code
  786. INTEGER :: n_glo
  787. \end_layout
  788. \begin_layout Standard
  789. Define the global size of the axis.
  790. This attribute is mandatory.
  791. \end_layout
  792. \begin_layout Subsection*
  793. begin:
  794. \begin_inset Flex Emph
  795. status collapsed
  796. \begin_layout Plain Layout
  797. integer
  798. \end_layout
  799. \end_inset
  800. \end_layout
  801. \begin_layout Standard
  802. Fortran:
  803. \end_layout
  804. \begin_layout LyX-Code
  805. INTEGER :: begin
  806. \end_layout
  807. \begin_layout Standard
  808. Define the the beginning index of the local domain.
  809. This attribute is optional.
  810. This must be an index between 0 and
  811. \begin_inset Flex Strong
  812. status collapsed
  813. \begin_layout Plain Layout
  814. n_glo-1
  815. \end_layout
  816. \end_inset
  817. .
  818. If not specified the default value is 0.
  819. \end_layout
  820. \begin_layout Subsection*
  821. n:
  822. \begin_inset Flex Emph
  823. status collapsed
  824. \begin_layout Plain Layout
  825. integer
  826. \end_layout
  827. \end_inset
  828. \end_layout
  829. \begin_layout Standard
  830. Fortran:
  831. \end_layout
  832. \begin_layout LyX-Code
  833. INTEGER :: zoom_size
  834. \end_layout
  835. \begin_layout Standard
  836. Define the the local size of the axis.
  837. This attribute is optional.
  838. This must be an integer between 1 and
  839. \begin_inset Flex Strong
  840. status collapsed
  841. \begin_layout Plain Layout
  842. n_glo
  843. \end_layout
  844. \end_inset
  845. .
  846. If not specified the default value is
  847. \begin_inset Flex Strong
  848. status collapsed
  849. \begin_layout Plain Layout
  850. n_glo
  851. \end_layout
  852. \end_inset
  853. .
  854. \end_layout
  855. \begin_layout Subsection*
  856. value:
  857. \begin_inset Flex Emph
  858. status collapsed
  859. \begin_layout Plain Layout
  860. 1D-array of double
  861. \end_layout
  862. \end_inset
  863. \end_layout
  864. \begin_layout Standard
  865. Fortran:
  866. \end_layout
  867. \begin_layout LyX-Code
  868. DOUBLE PRECISION :: value(:)
  869. \end_layout
  870. \begin_layout Standard
  871. Define the value of each level of a vertical axis.
  872. The size of the array must be equal to the
  873. \begin_inset Flex Strong
  874. status collapsed
  875. \begin_layout Plain Layout
  876. size
  877. \end_layout
  878. \end_inset
  879. attribute.
  880. If not defined the default values are filled with values from 1 to
  881. \begin_inset Flex Strong
  882. status collapsed
  883. \begin_layout Plain Layout
  884. size
  885. \end_layout
  886. \end_inset
  887. .
  888. \end_layout
  889. \begin_layout Subsection*
  890. bounds:
  891. \begin_inset Flex Emph
  892. status collapsed
  893. \begin_layout Plain Layout
  894. 2D-array of double
  895. \end_layout
  896. \end_inset
  897. \end_layout
  898. \begin_layout Standard
  899. Fortran:
  900. \end_layout
  901. \begin_layout LyX-Code
  902. DOUBLE PRECISION :: value(:,:)
  903. \end_layout
  904. \begin_layout Standard
  905. Define the boundaries of each level of a the vertical axis.
  906. The dimensions of the array must be
  907. \begin_inset Formula $2\times n$
  908. \end_inset
  909. .
  910. \end_layout
  911. \begin_layout Subsection*
  912. data_begin:
  913. \emph on
  914. integer
  915. \end_layout
  916. \begin_layout Standard
  917. Fortran:
  918. \end_layout
  919. \begin_layout LyX-Code
  920. INTEGER :: data_begin
  921. \end_layout
  922. \begin_layout Standard
  923. Define the beginning index of the field data for the axis.
  924. This attribute is an offset regarding the local axis, so the value can
  925. be negative.
  926. A negative value indicates that only some valid part of the data will extracted
  927. , for example in the case of a ghost cell.
  928. A positive value indicates that the local domain is greater than the data
  929. stored in memory.
  930. A 0-value means that the local domain matches the data in memory.
  931. This attribute is optional and the default value is 0.
  932. Otherwise
  933. \begin_inset Flex Strong
  934. status collapsed
  935. \begin_layout Plain Layout
  936. data_begin
  937. \end_layout
  938. \end_inset
  939. and
  940. \begin_inset Flex Strong
  941. status collapsed
  942. \begin_layout Plain Layout
  943. data_n
  944. \end_layout
  945. \end_inset
  946. must be defined together.
  947. \end_layout
  948. \begin_layout Subsection*
  949. data_n:
  950. \emph on
  951. integer
  952. \end_layout
  953. \begin_layout Standard
  954. Fortran:
  955. \end_layout
  956. \begin_layout LyX-Code
  957. INTEGER :: data_n
  958. \end_layout
  959. \begin_layout Standard
  960. Define the size of the field data for the first axis.
  961. This attribute is optional and the default value is
  962. \begin_inset Flex Strong
  963. status collapsed
  964. \begin_layout Plain Layout
  965. n
  966. \end_layout
  967. \end_inset
  968. .
  969. Otherwise
  970. \begin_inset Flex Strong
  971. status collapsed
  972. \begin_layout Plain Layout
  973. data_begin
  974. \end_layout
  975. \end_inset
  976. and
  977. \begin_inset Flex Strong
  978. status collapsed
  979. \begin_layout Plain Layout
  980. data_n
  981. \end_layout
  982. \end_inset
  983. must be defined together.
  984. \end_layout
  985. \begin_layout Subsection*
  986. data_index:
  987. \emph on
  988. integer
  989. \end_layout
  990. \begin_layout Standard
  991. Fortran:
  992. \end_layout
  993. \begin_layout LyX-Code
  994. INTEGER :: data_index
  995. \end_layout
  996. \begin_layout Standard
  997. In case of a compressed vertical axis, this attribute define the number
  998. of points stored in memory on the local axis.
  999. \end_layout
  1000. \begin_layout Subsection*
  1001. mask:
  1002. \emph on
  1003. 1D-array of bool
  1004. \end_layout
  1005. \begin_layout Standard
  1006. Fortran:
  1007. \end_layout
  1008. \begin_layout LyX-Code
  1009. LOGICAL :: mask(:)
  1010. \end_layout
  1011. \begin_layout Standard
  1012. Define the mask of the local axis.
  1013. The masked value will be replaced by the value of the field attribute
  1014. \begin_inset Flex Strong
  1015. status collapsed
  1016. \begin_layout Plain Layout
  1017. default_value
  1018. \end_layout
  1019. \end_inset
  1020. in the output file.
  1021. \end_layout
  1022. \begin_layout Subsection*
  1023. n_distributed_partition:
  1024. \emph on
  1025. integer
  1026. \end_layout
  1027. \begin_layout Standard
  1028. Fortran:
  1029. \end_layout
  1030. \begin_layout LyX-Code
  1031. INTEGER :: n_distributed_partition
  1032. \end_layout
  1033. \begin_layout Standard
  1034. Define the number of local axis in case axis is auto-generated.
  1035. This attribute is optional and the default value is
  1036. \begin_inset Flex Strong
  1037. status collapsed
  1038. \begin_layout Plain Layout
  1039. 1
  1040. \end_layout
  1041. \end_inset
  1042. .
  1043. \end_layout
  1044. \begin_layout Subsection*
  1045. positive:
  1046. \begin_inset Flex Emph
  1047. status collapsed
  1048. \begin_layout Plain Layout
  1049. enumeration { up, down }
  1050. \end_layout
  1051. \end_inset
  1052. \end_layout
  1053. \begin_layout Standard
  1054. Fortran:
  1055. \end_layout
  1056. \begin_layout LyX-Code
  1057. CHARACTER(LEN=*) :: positive
  1058. \end_layout
  1059. \begin_layout Standard
  1060. Define the direction of vertical axis.
  1061. \end_layout
  1062. \begin_layout Subsection*
  1063. axis_ref: string
  1064. \end_layout
  1065. \begin_layout Standard
  1066. Fortran:
  1067. \end_layout
  1068. \begin_layout LyX-Code
  1069. CHARACTER(LEN=*) :: axis_ref
  1070. \end_layout
  1071. \begin_layout Standard
  1072. Define the reference of the axis.
  1073. All attributes are inherited from the referenced axis with the classical
  1074. inheritance mechanism.
  1075. The value assigned to the referenced axis is transmitted to to current
  1076. axis.
  1077. This attribute is optional.
  1078. \end_layout
  1079. \begin_layout Subsection*
  1080. index:
  1081. \begin_inset Flex Emph
  1082. status collapsed
  1083. \begin_layout Plain Layout
  1084. 1D-array of double
  1085. \end_layout
  1086. \end_inset
  1087. \end_layout
  1088. \begin_layout Standard
  1089. Fortran:
  1090. \end_layout
  1091. \begin_layout LyX-Code
  1092. DOUBLE PRECISION :: index(:)
  1093. \end_layout
  1094. \begin_layout Standard
  1095. Define the global index of axis which the local axis holds.
  1096. This attribute is optional and the size of the array is equal to
  1097. \begin_inset Flex Strong
  1098. status collapsed
  1099. \begin_layout Plain Layout
  1100. n
  1101. \end_layout
  1102. \end_inset
  1103. .
  1104. \end_layout
  1105. \begin_layout Section
  1106. Domain attribute reference
  1107. \end_layout
  1108. \begin_layout Subsection*
  1109. name:
  1110. \begin_inset Flex Emph
  1111. status collapsed
  1112. \begin_layout Plain Layout
  1113. string
  1114. \end_layout
  1115. \end_inset
  1116. \end_layout
  1117. \begin_layout Standard
  1118. Fortran:
  1119. \end_layout
  1120. \begin_layout LyX-Code
  1121. CHARACTER(LEN=*) :: name
  1122. \end_layout
  1123. \begin_layout Standard
  1124. Define the name of the horizontal domain.
  1125. This attribute may be used in case of multiple domains defined in the same
  1126. file.
  1127. In this case, the
  1128. \begin_inset Flex Strong
  1129. status collapsed
  1130. \begin_layout Plain Layout
  1131. name
  1132. \end_layout
  1133. \end_inset
  1134. attribute will be suffixed to the longitude and latitude dimensions and
  1135. axis name.
  1136. Otherwise, a suffix will be self-generated.
  1137. \end_layout
  1138. \begin_layout Subsection*
  1139. standard_name:
  1140. \begin_inset Flex Emph
  1141. status collapsed
  1142. \begin_layout Plain Layout
  1143. string
  1144. \end_layout
  1145. \end_inset
  1146. \end_layout
  1147. \begin_layout Standard
  1148. Fortran:
  1149. \end_layout
  1150. \begin_layout LyX-Code
  1151. CHARACTER(LEN=*) :: standard_name
  1152. \end_layout
  1153. \begin_layout Standard
  1154. Define the standard name of the domain, as it will appear in the metadata
  1155. attached to the domain of the output file.
  1156. \end_layout
  1157. \begin_layout Subsection*
  1158. long_name:
  1159. \begin_inset Flex Emph
  1160. status collapsed
  1161. \begin_layout Plain Layout
  1162. string
  1163. \end_layout
  1164. \end_inset
  1165. \end_layout
  1166. \begin_layout Standard
  1167. Fortran:
  1168. \end_layout
  1169. \begin_layout LyX-Code
  1170. CHARACTER(LEN=*) :: long_name
  1171. \end_layout
  1172. \begin_layout Standard
  1173. Define the long name of the domain, as it will appear in the metadata attached
  1174. to the domain of the output file.
  1175. \end_layout
  1176. \begin_layout Subsection*
  1177. type:
  1178. \begin_inset Flex Emph
  1179. status collapsed
  1180. \begin_layout Plain Layout
  1181. enumeration { rectilinear, curvilinear, unstructured }
  1182. \end_layout
  1183. \end_inset
  1184. \end_layout
  1185. \begin_layout Standard
  1186. Fortran:
  1187. \end_layout
  1188. \begin_layout LyX-Code
  1189. CHARACTER(LEN=*) :: type
  1190. \end_layout
  1191. \begin_layout Standard
  1192. Define the type of the grid.
  1193. This attribute is mandatory.
  1194. \end_layout
  1195. \begin_layout Subsection*
  1196. ni_glo:
  1197. \begin_inset Flex Emph
  1198. status collapsed
  1199. \begin_layout Plain Layout
  1200. integer
  1201. \end_layout
  1202. \end_inset
  1203. \end_layout
  1204. \begin_layout Standard
  1205. Fortran:
  1206. \end_layout
  1207. \begin_layout LyX-Code
  1208. INTEGER :: ni_glo
  1209. \end_layout
  1210. \begin_layout Standard
  1211. Define the first dimension of the global domain.
  1212. This attribute is mandatory.
  1213. \end_layout
  1214. \begin_layout Subsection*
  1215. nj_glo:
  1216. \begin_inset Flex Emph
  1217. status collapsed
  1218. \begin_layout Plain Layout
  1219. integer
  1220. \end_layout
  1221. \end_inset
  1222. \end_layout
  1223. \begin_layout Standard
  1224. Fortran:
  1225. \end_layout
  1226. \begin_layout LyX-Code
  1227. INTEGER :: nj_glo
  1228. \end_layout
  1229. \begin_layout Standard
  1230. Define the second dimension of the global domain.
  1231. This attribute is mandatory.
  1232. \end_layout
  1233. \begin_layout Subsection*
  1234. ibegin:
  1235. \begin_inset Flex Emph
  1236. status collapsed
  1237. \begin_layout Plain Layout
  1238. integer
  1239. \end_layout
  1240. \end_inset
  1241. \end_layout
  1242. \begin_layout Standard
  1243. Fortran:
  1244. \end_layout
  1245. \begin_layout LyX-Code
  1246. INTEGER :: ibegin
  1247. \end_layout
  1248. \begin_layout Standard
  1249. Define the begining index of the first dimension of the local domain.
  1250. This attribute is optional.
  1251. This must be an integer between
  1252. \begin_inset Flex Strong
  1253. status collapsed
  1254. \begin_layout Plain Layout
  1255. 0
  1256. \end_layout
  1257. \end_inset
  1258. and
  1259. \begin_inset Flex Strong
  1260. status collapsed
  1261. \begin_layout Plain Layout
  1262. ni_glo-1
  1263. \end_layout
  1264. \end_inset
  1265. .
  1266. If not specified the default value is
  1267. \begin_inset Flex Strong
  1268. status collapsed
  1269. \begin_layout Plain Layout
  1270. 0
  1271. \end_layout
  1272. \end_inset
  1273. .
  1274. \end_layout
  1275. \begin_layout Subsection*
  1276. ni:
  1277. \begin_inset Flex Emph
  1278. status collapsed
  1279. \begin_layout Plain Layout
  1280. integer
  1281. \end_layout
  1282. \end_inset
  1283. \end_layout
  1284. \begin_layout Standard
  1285. Fortran:
  1286. \end_layout
  1287. \begin_layout LyX-Code
  1288. INTEGER :: ni
  1289. \end_layout
  1290. \begin_layout Standard
  1291. Define the first dimension of the local domain.
  1292. This attribute is optional.
  1293. This must be an integer between
  1294. \begin_inset Flex Strong
  1295. status collapsed
  1296. \begin_layout Plain Layout
  1297. 1
  1298. \end_layout
  1299. \end_inset
  1300. and
  1301. \begin_inset Flex Strong
  1302. status collapsed
  1303. \begin_layout Plain Layout
  1304. ni_glo
  1305. \end_layout
  1306. \end_inset
  1307. .
  1308. If not specified the default value is
  1309. \begin_inset Flex Strong
  1310. status collapsed
  1311. \begin_layout Plain Layout
  1312. ni_glo
  1313. \end_layout
  1314. \end_inset
  1315. .
  1316. \end_layout
  1317. \begin_layout Subsection*
  1318. jbegin:
  1319. \begin_inset Flex Emph
  1320. status collapsed
  1321. \begin_layout Plain Layout
  1322. integer
  1323. \end_layout
  1324. \end_inset
  1325. \end_layout
  1326. \begin_layout Standard
  1327. Fortran:
  1328. \end_layout
  1329. \begin_layout LyX-Code
  1330. INTEGER :: jbegin
  1331. \end_layout
  1332. \begin_layout Standard
  1333. Define the beginning index of the second dimension of the local domain.
  1334. This attribute is optional.
  1335. This must be an integer between
  1336. \begin_inset Flex Strong
  1337. status collapsed
  1338. \begin_layout Plain Layout
  1339. 0
  1340. \end_layout
  1341. \end_inset
  1342. and
  1343. \begin_inset Flex Strong
  1344. status collapsed
  1345. \begin_layout Plain Layout
  1346. nj_glo-1
  1347. \end_layout
  1348. \end_inset
  1349. .
  1350. If not specified the default value is
  1351. \begin_inset Flex Strong
  1352. status collapsed
  1353. \begin_layout Plain Layout
  1354. 0
  1355. \end_layout
  1356. \end_inset
  1357. .
  1358. \end_layout
  1359. \begin_layout Subsection*
  1360. nj:
  1361. \begin_inset Flex Emph
  1362. status collapsed
  1363. \begin_layout Plain Layout
  1364. integer
  1365. \end_layout
  1366. \end_inset
  1367. \end_layout
  1368. \begin_layout Standard
  1369. Fortran:
  1370. \end_layout
  1371. \begin_layout LyX-Code
  1372. INTEGER :: nj
  1373. \end_layout
  1374. \begin_layout Standard
  1375. Define the second dimension of the local domain.
  1376. This attribute is optional.
  1377. This must be an integer between
  1378. \begin_inset Flex Strong
  1379. status collapsed
  1380. \begin_layout Plain Layout
  1381. 1
  1382. \end_layout
  1383. \end_inset
  1384. and
  1385. \begin_inset Flex Strong
  1386. status collapsed
  1387. \begin_layout Plain Layout
  1388. nj_glo
  1389. \end_layout
  1390. \end_inset
  1391. .
  1392. If not specified the default value is
  1393. \begin_inset Flex Strong
  1394. status collapsed
  1395. \begin_layout Plain Layout
  1396. nj_glo
  1397. \end_layout
  1398. \end_inset
  1399. .
  1400. \end_layout
  1401. \begin_layout Subsection*
  1402. lonvalue_1d:
  1403. \emph on
  1404. 1D-array of double
  1405. \end_layout
  1406. \begin_layout Standard
  1407. Fortran:
  1408. \end_layout
  1409. \begin_layout LyX-Code
  1410. DOUBLE PRECISION :: lonvalue(:)
  1411. \end_layout
  1412. \begin_layout Standard
  1413. Define the value of the longitude on the local domain.
  1414. For a cartesian grid, the size of the array will be
  1415. \begin_inset Flex Strong
  1416. status collapsed
  1417. \begin_layout Plain Layout
  1418. ni
  1419. \end_layout
  1420. \end_inset
  1421. .
  1422. For a curvilinear grid, the size of the array will be
  1423. \begin_inset Flex Strong
  1424. status collapsed
  1425. \begin_layout Plain Layout
  1426. ni
  1427. \begin_inset Formula $\times$
  1428. \end_inset
  1429. nj
  1430. \end_layout
  1431. \end_inset
  1432. .
  1433. This attribute is optional.
  1434. \end_layout
  1435. \begin_layout Subsection*
  1436. lonvalue_2d:
  1437. \emph on
  1438. 2D-array of double
  1439. \end_layout
  1440. \begin_layout Standard
  1441. Fortran:
  1442. \end_layout
  1443. \begin_layout LyX-Code
  1444. DOUBLE PRECISION :: lonvalue(:,:)
  1445. \end_layout
  1446. \begin_layout Standard
  1447. Define the value of the longitude on the local domain.
  1448. For a cartesian and curvilinear grid, the size of the array will be
  1449. \begin_inset Flex Strong
  1450. status collapsed
  1451. \begin_layout Plain Layout
  1452. ni
  1453. \begin_inset Formula $\times$
  1454. \end_inset
  1455. nj
  1456. \end_layout
  1457. \end_inset
  1458. .
  1459. This attribute is mandatory.
  1460. Only lonvalue_1d or lonvalue_2d can be defined.
  1461. \end_layout
  1462. \begin_layout Subsection*
  1463. latvalue_1d:
  1464. \emph on
  1465. 1D-array of double
  1466. \end_layout
  1467. \begin_layout Standard
  1468. Fortran:
  1469. \end_layout
  1470. \begin_layout LyX-Code
  1471. DOUBLE PRECISION :: latvalue(:)
  1472. \end_layout
  1473. \begin_layout Standard
  1474. Define the value of the latitude on the local domain.
  1475. For a cartesian grid, the size of the array will be nj.
  1476. For a curvilinear grid, the size of the array will be
  1477. \begin_inset Flex Strong
  1478. status collapsed
  1479. \begin_layout Plain Layout
  1480. ni
  1481. \begin_inset Formula $\times$
  1482. \end_inset
  1483. nj
  1484. \end_layout
  1485. \end_inset
  1486. .
  1487. This attribute is optional.
  1488. \end_layout
  1489. \begin_layout Subsection*
  1490. latvalue_2d:
  1491. \emph on
  1492. 2D-array of double
  1493. \end_layout
  1494. \begin_layout Standard
  1495. Fortran:
  1496. \end_layout
  1497. \begin_layout LyX-Code
  1498. DOUBLE PRECISION :: latvalue(:,:)
  1499. \end_layout
  1500. \begin_layout Standard
  1501. Define the value of the latitude on the local domain.
  1502. For a cartesian and a curvilinear grid, the size of the array will be
  1503. \begin_inset Flex Strong
  1504. status collapsed
  1505. \begin_layout Plain Layout
  1506. ni
  1507. \begin_inset Formula $\times$
  1508. \end_inset
  1509. nj
  1510. \end_layout
  1511. \end_inset
  1512. .
  1513. This attribute is mandatory.
  1514. Only latvalue_1d or latvalue_2d can be defined.
  1515. \end_layout
  1516. \begin_layout Subsection*
  1517. nvertex:
  1518. \emph on
  1519. integer
  1520. \end_layout
  1521. \begin_layout Standard
  1522. Fortran:
  1523. \end_layout
  1524. \begin_layout LyX-Code
  1525. INTEGER :: nvertex
  1526. \end_layout
  1527. \begin_layout Standard
  1528. Define the the maximum number of vertices for a cell.
  1529. This is useful to specify the boundaries of cells for an unstructured mesh.
  1530. This attribute is optional.
  1531. \end_layout
  1532. \begin_layout Subsection*
  1533. bounds_lon_1d:
  1534. \emph on
  1535. 2D-array of double
  1536. \end_layout
  1537. \begin_layout Standard
  1538. Fortran:
  1539. \end_layout
  1540. \begin_layout LyX-Code
  1541. DOUBLE PRECISION :: bounds_lon(:,:)
  1542. \end_layout
  1543. \begin_layout Standard
  1544. Longitude value of the vertex of the cells.
  1545. \begin_inset Flex Strong
  1546. status collapsed
  1547. \begin_layout Plain Layout
  1548. nvertex
  1549. \end_layout
  1550. \end_inset
  1551. attribute must also be defined.
  1552. This attribute is optional.
  1553. \end_layout
  1554. \begin_layout Subsection*
  1555. bounds_lon_2d:
  1556. \emph on
  1557. 3D-array of double
  1558. \end_layout
  1559. \begin_layout Standard
  1560. Fortran:
  1561. \end_layout
  1562. \begin_layout LyX-Code
  1563. DOUBLE PRECISION :: bounds_lon(:,:,:)
  1564. \end_layout
  1565. \begin_layout Standard
  1566. Longitude value of the vertex of the cells.
  1567. \begin_inset Flex Strong
  1568. status collapsed
  1569. \begin_layout Plain Layout
  1570. nvertex
  1571. \end_layout
  1572. \end_inset
  1573. attribute must also be defined.
  1574. This attribute is optional.
  1575. This attribute is useful when lonvalue_2d is defined.
  1576. Only bounds_lon_1d or bounds_lon_2d can be defined.
  1577. \end_layout
  1578. \begin_layout Subsection*
  1579. bounds_lat_1d:
  1580. \emph on
  1581. 2D-array of double
  1582. \end_layout
  1583. \begin_layout Standard
  1584. Fortran:
  1585. \end_layout
  1586. \begin_layout LyX-Code
  1587. DOUBLE PRECISION :: bounds_lat(:,:)
  1588. \end_layout
  1589. \begin_layout Standard
  1590. Latitude value of the vertex of the cells.
  1591. \begin_inset Flex Strong
  1592. status collapsed
  1593. \begin_layout Plain Layout
  1594. nvertex
  1595. \end_layout
  1596. \end_inset
  1597. attribute must also be defined.
  1598. This attribute is optional.
  1599. \end_layout
  1600. \begin_layout Subsection*
  1601. bounds_lat_2d:
  1602. \emph on
  1603. 3D-array of double
  1604. \end_layout
  1605. \begin_layout Standard
  1606. Fortran:
  1607. \end_layout
  1608. \begin_layout LyX-Code
  1609. DOUBLE PRECISION :: bounds_lat(:,:)
  1610. \end_layout
  1611. \begin_layout Standard
  1612. Latitude value of the vertex of the cells.
  1613. \begin_inset Flex Strong
  1614. status collapsed
  1615. \begin_layout Plain Layout
  1616. nvertex
  1617. \end_layout
  1618. \end_inset
  1619. attribute must also be defined.
  1620. This attribute is optional.
  1621. This attribute is useful when latvalue_2d is defined.
  1622. Only bounds_lat_1d or bounds_lat_2d can be defined.
  1623. \end_layout
  1624. \begin_layout Subsection*
  1625. area:
  1626. \emph on
  1627. 2D-array of double
  1628. \end_layout
  1629. \begin_layout Standard
  1630. Fortran:
  1631. \end_layout
  1632. \begin_layout LyX-Code
  1633. DOUBLE PRECISION :: area(:,:)
  1634. \end_layout
  1635. \begin_layout Standard
  1636. Area of the cells.
  1637. The size of the array must be
  1638. \begin_inset Flex Strong
  1639. status collapsed
  1640. \begin_layout Plain Layout
  1641. ni
  1642. \begin_inset Formula $\times$
  1643. \end_inset
  1644. nj
  1645. \end_layout
  1646. \end_inset
  1647. .
  1648. This attribute is optional.
  1649. \end_layout
  1650. \begin_layout Subsection*
  1651. data_dim:
  1652. \emph on
  1653. integer
  1654. \end_layout
  1655. \begin_layout Standard
  1656. Fortran:
  1657. \end_layout
  1658. \begin_layout LyX-Code
  1659. INTEGER :: datadim
  1660. \end_layout
  1661. \begin_layout Standard
  1662. Define how a field is stored on memory for the client code.
  1663. \begin_inset Flex Strong
  1664. status collapsed
  1665. \begin_layout Plain Layout
  1666. datadim
  1667. \end_layout
  1668. \end_inset
  1669. value can be
  1670. \begin_inset Flex Strong
  1671. status collapsed
  1672. \begin_layout Plain Layout
  1673. 1
  1674. \end_layout
  1675. \end_inset
  1676. or
  1677. \begin_inset Flex Strong
  1678. status collapsed
  1679. \begin_layout Plain Layout
  1680. 2
  1681. \end_layout
  1682. \end_inset
  1683. .
  1684. A value of
  1685. \begin_inset Flex Strong
  1686. status collapsed
  1687. \begin_layout Plain Layout
  1688. 1
  1689. \end_layout
  1690. \end_inset
  1691. indicates that the horizontal layer of the field is stored on a 1D array
  1692. as a vector of points.
  1693. A value of
  1694. \begin_inset Flex Strong
  1695. status collapsed
  1696. \begin_layout Plain Layout
  1697. 2
  1698. \end_layout
  1699. \end_inset
  1700. indicates that the horizontal layer is stored in a 2D array.
  1701. This attribute is optional.
  1702. The default value is
  1703. \begin_inset Flex Strong
  1704. status collapsed
  1705. \begin_layout Plain Layout
  1706. 1
  1707. \end_layout
  1708. \end_inset
  1709. .
  1710. \end_layout
  1711. \begin_layout Subsection*
  1712. data_ibegin:
  1713. \emph on
  1714. integer
  1715. \end_layout
  1716. \begin_layout Standard
  1717. Fortran:
  1718. \end_layout
  1719. \begin_layout LyX-Code
  1720. INTEGER :: data_ibegin
  1721. \end_layout
  1722. \begin_layout Standard
  1723. Define the beginning index of the field data for the first dimension.
  1724. This attribute is an offset regarding the local domain, so the value can
  1725. be negative.
  1726. A negative value indicates that only some valid part of the data will extracted
  1727. , for example in the case of a ghost cell.
  1728. A positive value indicates that the local domain is greater than the data
  1729. stored in memory.
  1730. A 0-value means that the local domain matches the data in memory.
  1731. This attribute is optional and the default value is 0.
  1732. Otherwise
  1733. \begin_inset Flex Strong
  1734. status collapsed
  1735. \begin_layout Plain Layout
  1736. data_ibegin
  1737. \end_layout
  1738. \end_inset
  1739. and
  1740. \begin_inset Flex Strong
  1741. status collapsed
  1742. \begin_layout Plain Layout
  1743. data_ni
  1744. \end_layout
  1745. \end_inset
  1746. must be defined together.
  1747. \end_layout
  1748. \begin_layout Subsection*
  1749. data_ni:
  1750. \emph on
  1751. integer
  1752. \end_layout
  1753. \begin_layout Standard
  1754. Fortran:
  1755. \end_layout
  1756. \begin_layout LyX-Code
  1757. INTEGER :: data_ni
  1758. \end_layout
  1759. \begin_layout Standard
  1760. Define the size of the field data for the first dimension.
  1761. This attribute is optional and the default value is
  1762. \begin_inset Flex Strong
  1763. status collapsed
  1764. \begin_layout Plain Layout
  1765. ni
  1766. \end_layout
  1767. \end_inset
  1768. .
  1769. Otherwise
  1770. \begin_inset Flex Strong
  1771. status collapsed
  1772. \begin_layout Plain Layout
  1773. data_ibegin
  1774. \end_layout
  1775. \end_inset
  1776. and
  1777. \begin_inset Flex Strong
  1778. status collapsed
  1779. \begin_layout Plain Layout
  1780. data_ni
  1781. \end_layout
  1782. \end_inset
  1783. must be defined together.
  1784. \end_layout
  1785. \begin_layout Subsection*
  1786. data_jbegin:
  1787. \emph on
  1788. integer
  1789. \end_layout
  1790. \begin_layout Standard
  1791. Fortran:
  1792. \end_layout
  1793. \begin_layout LyX-Code
  1794. INTEGER :: data_jbegin
  1795. \end_layout
  1796. \begin_layout Standard
  1797. Define the beginning index of the field data for the second dimension.
  1798. This attribute is take account only if
  1799. \begin_inset Flex Strong
  1800. status collapsed
  1801. \begin_layout Plain Layout
  1802. data_dim=2
  1803. \end_layout
  1804. \end_inset
  1805. .
  1806. This attribute is an offset regarding the local domain, so the value can
  1807. be negative.
  1808. A negative value indicate that only some valid part of the data will extracted,
  1809. for example in case of ghost cell.
  1810. A positive value indicate that the local domain is greater than the data
  1811. stored in memory.
  1812. A 0-value means that the local domain match the data in memory.
  1813. This attribute is optional and the default value is
  1814. \begin_inset Flex Strong
  1815. status collapsed
  1816. \begin_layout Plain Layout
  1817. 0
  1818. \end_layout
  1819. \end_inset
  1820. .
  1821. Otherwise
  1822. \begin_inset Flex Strong
  1823. status collapsed
  1824. \begin_layout Plain Layout
  1825. data_jbegin
  1826. \end_layout
  1827. \end_inset
  1828. and
  1829. \begin_inset Flex Strong
  1830. status collapsed
  1831. \begin_layout Plain Layout
  1832. data_nj
  1833. \end_layout
  1834. \end_inset
  1835. must be defined together.
  1836. \end_layout
  1837. \begin_layout Subsection*
  1838. data_nj:
  1839. \emph on
  1840. integer
  1841. \end_layout
  1842. \begin_layout Standard
  1843. Fortran:
  1844. \end_layout
  1845. \begin_layout LyX-Code
  1846. INTEGER :: data_nj
  1847. \end_layout
  1848. \begin_layout Standard
  1849. Define the size of the field data for the second dimension.
  1850. This attribute is taken account only if
  1851. \begin_inset Flex Strong
  1852. status collapsed
  1853. \begin_layout Plain Layout
  1854. data_dim=2
  1855. \end_layout
  1856. \end_inset
  1857. .
  1858. This attribute is optional and the default value is
  1859. \begin_inset Flex Strong
  1860. status collapsed
  1861. \begin_layout Plain Layout
  1862. nj
  1863. \end_layout
  1864. \end_inset
  1865. .
  1866. Otherwise
  1867. \begin_inset Flex Strong
  1868. status collapsed
  1869. \begin_layout Plain Layout
  1870. data_jbegin
  1871. \end_layout
  1872. \end_inset
  1873. and
  1874. \begin_inset Flex Strong
  1875. status collapsed
  1876. \begin_layout Plain Layout
  1877. data_nj
  1878. \end_layout
  1879. \end_inset
  1880. must be defined together.
  1881. \end_layout
  1882. \begin_layout Subsection*
  1883. data_i_index:
  1884. \emph on
  1885. 1D-array of integer
  1886. \end_layout
  1887. \begin_layout Standard
  1888. Fortran:
  1889. \end_layout
  1890. \begin_layout LyX-Code
  1891. INTEGER :: data_i_index(:)
  1892. \end_layout
  1893. \begin_layout Standard
  1894. In case of a compressed horizontal domain, define the indexation the indexation
  1895. of the data for the first dimension.
  1896. The size of the array must be
  1897. \begin_inset Flex Strong
  1898. status collapsed
  1899. \begin_layout Plain Layout
  1900. data_nindex
  1901. \end_layout
  1902. \end_inset
  1903. .
  1904. This attribute is optional.
  1905. \end_layout
  1906. \begin_layout Subsection*
  1907. data_j_index:
  1908. \emph on
  1909. 1D-array of integer
  1910. \end_layout
  1911. \begin_layout Standard
  1912. Fortran:
  1913. \end_layout
  1914. \begin_layout LyX-Code
  1915. INTEGER :: data_j_index(:)
  1916. \end_layout
  1917. \begin_layout Standard
  1918. In case of a compressed horizontal domain, define the indexation the indexation
  1919. of the data for the second dimension.
  1920. This is meaningful only if
  1921. \begin_inset Flex Strong
  1922. status collapsed
  1923. \begin_layout Plain Layout
  1924. data_dim=2
  1925. \end_layout
  1926. \end_inset
  1927. .
  1928. This attribute is optional.
  1929. \end_layout
  1930. \begin_layout Subsection*
  1931. mask_1d:
  1932. \emph on
  1933. 1D-array of bool
  1934. \end_layout
  1935. \begin_layout Standard
  1936. Fortran:
  1937. \end_layout
  1938. \begin_layout LyX-Code
  1939. LOGICAL :: mask(:)
  1940. \end_layout
  1941. \begin_layout Standard
  1942. Define the 1-dimension mask of the local domain.
  1943. The attribute is optional.
  1944. By default, none value is masked.
  1945. The masked value will be replaced by the value of the field attribute
  1946. \begin_inset Flex Strong
  1947. status collapsed
  1948. \begin_layout Plain Layout
  1949. default_value
  1950. \end_layout
  1951. \end_inset
  1952. in the output file.
  1953. This value is useful in case a field is stored linearly in memory.
  1954. This attribute is optional.
  1955. \end_layout
  1956. \begin_layout Subsection*
  1957. mask_2d:
  1958. \emph on
  1959. 2D-array of bool
  1960. \end_layout
  1961. \begin_layout Standard
  1962. Fortran:
  1963. \end_layout
  1964. \begin_layout LyX-Code
  1965. LOGICAL :: mask(:,:)
  1966. \end_layout
  1967. \begin_layout Standard
  1968. Define the mask of the local domain.
  1969. The attribute is optional.
  1970. By default, none value is masked.
  1971. The masked value will be replaced by the value of the field attribute
  1972. \begin_inset Flex Strong
  1973. status collapsed
  1974. \begin_layout Plain Layout
  1975. default_value
  1976. \end_layout
  1977. \end_inset
  1978. in the output file.
  1979. Only mask_2d or mask_1d can be defined.
  1980. \end_layout
  1981. \begin_layout Subsection*
  1982. domain_ref: string
  1983. \end_layout
  1984. \begin_layout Standard
  1985. Fortran:
  1986. \end_layout
  1987. \begin_layout LyX-Code
  1988. CHARACTER(LEN=*) :: domain_ref
  1989. \end_layout
  1990. \begin_layout Standard
  1991. Define the reference of the domain.
  1992. All attributes are inherited from the referenced domain with the classic
  1993. inheritance mechanism.
  1994. The value assigned to the referenced domain is transmitted to to current
  1995. domain.
  1996. This attribute is optional.
  1997. \end_layout
  1998. \begin_layout Subsection*
  1999. i_index:
  2000. \begin_inset Flex Emph
  2001. status collapsed
  2002. \begin_layout Plain Layout
  2003. 1D-array of double
  2004. \end_layout
  2005. \end_inset
  2006. \end_layout
  2007. \begin_layout Standard
  2008. Fortran:
  2009. \end_layout
  2010. \begin_layout LyX-Code
  2011. DOUBLE PRECISION :: i_index(:)
  2012. \end_layout
  2013. \begin_layout Standard
  2014. Define the global index of the first dimension of domain which the local
  2015. domain holds.
  2016. This attribute is optional and by default, the size of the array is equal
  2017. to
  2018. \begin_inset Flex Strong
  2019. status collapsed
  2020. \begin_layout Plain Layout
  2021. ni*nj
  2022. \end_layout
  2023. \end_inset
  2024. .
  2025. \end_layout
  2026. \begin_layout Subsection*
  2027. j_index:
  2028. \begin_inset Flex Emph
  2029. status collapsed
  2030. \begin_layout Plain Layout
  2031. 1D-array of double
  2032. \end_layout
  2033. \end_inset
  2034. \end_layout
  2035. \begin_layout Standard
  2036. Fortran:
  2037. \end_layout
  2038. \begin_layout LyX-Code
  2039. DOUBLE PRECISION :: j_index(:)
  2040. \end_layout
  2041. \begin_layout Standard
  2042. Define the global index of the second dimension of domain which the local
  2043. domain holds.
  2044. This attribute is optional and by default, the size of the array is equal
  2045. to
  2046. \begin_inset Flex Strong
  2047. status collapsed
  2048. \begin_layout Plain Layout
  2049. ni*nj
  2050. \end_layout
  2051. \end_inset
  2052. .
  2053. \end_layout
  2054. \begin_layout Section
  2055. Grid attribute reference
  2056. \end_layout
  2057. \begin_layout Subsection*
  2058. name: string
  2059. \end_layout
  2060. \begin_layout Standard
  2061. Fortran:
  2062. \end_layout
  2063. \begin_layout LyX-Code
  2064. CHARACTER(LEN=*) :: name
  2065. \end_layout
  2066. \begin_layout Standard
  2067. Define the name of the grid.
  2068. This attribute is actually not used internally.
  2069. Optional attribute.
  2070. \end_layout
  2071. \begin_layout Subsection*
  2072. description: string
  2073. \end_layout
  2074. \begin_layout Standard
  2075. Fortran:
  2076. \end_layout
  2077. \begin_layout LyX-Code
  2078. CHARACTER(LEN=*) :: description
  2079. \end_layout
  2080. \begin_layout Standard
  2081. Define the description of the grid.
  2082. This attribute is optional.
  2083. \end_layout
  2084. \begin_layout Subsection*
  2085. mask_1d:
  2086. \emph on
  2087. 1D-array of bool
  2088. \end_layout
  2089. \begin_layout Standard
  2090. Fortran:
  2091. \end_layout
  2092. \begin_layout LyX-Code
  2093. LOGICAL :: mask_1d(:)
  2094. \end_layout
  2095. \begin_layout Standard
  2096. Define the mask of the local 1-dimension grid.
  2097. Masked value will be replaced by the value of the field attribute
  2098. \begin_inset Flex Strong
  2099. status collapsed
  2100. \begin_layout Plain Layout
  2101. default_value
  2102. \end_layout
  2103. \end_inset
  2104. in the output file.
  2105. This attribute is optional.
  2106. By default, none value is masked.
  2107. \end_layout
  2108. \begin_layout Subsection*
  2109. mask_2d:
  2110. \emph on
  2111. 2D-array of bool
  2112. \end_layout
  2113. \begin_layout Standard
  2114. Fortran:
  2115. \end_layout
  2116. \begin_layout LyX-Code
  2117. LOGICAL :: mask_2d(:,:)
  2118. \end_layout
  2119. \begin_layout Standard
  2120. Define the mask of the local 2-dimension grid.
  2121. Masked value will be replaced by the value of the field attribute
  2122. \begin_inset Flex Strong
  2123. status collapsed
  2124. \begin_layout Plain Layout
  2125. default_value
  2126. \end_layout
  2127. \end_inset
  2128. in the output file.
  2129. This attribute is optional.
  2130. By default, none value is masked.
  2131. \end_layout
  2132. \begin_layout Subsection*
  2133. mask_3d:
  2134. \emph on
  2135. 3D-array of bool
  2136. \end_layout
  2137. \begin_layout Standard
  2138. Fortran:
  2139. \end_layout
  2140. \begin_layout LyX-Code
  2141. LOGICAL :: mask_3d(:,:,:)
  2142. \end_layout
  2143. \begin_layout Standard
  2144. Define the mask of the local 3-dimension grid.
  2145. Masked value will be replaced by the value of the field attribute
  2146. \begin_inset Flex Strong
  2147. status collapsed
  2148. \begin_layout Plain Layout
  2149. default_value
  2150. \end_layout
  2151. \end_inset
  2152. in the output file.
  2153. This attribute is optional.
  2154. By default, none value is masked.
  2155. Only one mask can be defined.
  2156. \end_layout
  2157. \begin_layout Section
  2158. Field attribute reference
  2159. \end_layout
  2160. \begin_layout Subsection*
  2161. name:
  2162. \emph on
  2163. string
  2164. \end_layout
  2165. \begin_layout Standard
  2166. Fortran:
  2167. \end_layout
  2168. \begin_layout LyX-Code
  2169. CHARACTER(LEN=*) :: name
  2170. \end_layout
  2171. \begin_layout Standard
  2172. Define the
  2173. \begin_inset Flex Strong
  2174. status collapsed
  2175. \begin_layout Plain Layout
  2176. name
  2177. \end_layout
  2178. \end_inset
  2179. of the field as it will appear in an output file.
  2180. This attribute is optional.
  2181. If not present, the identifier
  2182. \begin_inset Flex Strong
  2183. status collapsed
  2184. \begin_layout Plain Layout
  2185. id
  2186. \end_layout
  2187. \end_inset
  2188. will be substituted.
  2189. \end_layout
  2190. \begin_layout Subsection*
  2191. standard_name:
  2192. \emph on
  2193. string
  2194. \end_layout
  2195. \begin_layout Standard
  2196. Fortran:
  2197. \end_layout
  2198. \begin_layout LyX-Code
  2199. CHARACTER(LEN=*) :: standard_name
  2200. \end_layout
  2201. \begin_layout Standard
  2202. Define the
  2203. \begin_inset Flex Strong
  2204. status collapsed
  2205. \begin_layout Plain Layout
  2206. standard_name
  2207. \end_layout
  2208. \end_inset
  2209. attribute as it will appear in the metadata of an output file.
  2210. This attribute is optional.
  2211. \end_layout
  2212. \begin_layout Subsection*
  2213. long_name:
  2214. \emph on
  2215. string
  2216. \end_layout
  2217. \begin_layout Standard
  2218. Fortran:
  2219. \end_layout
  2220. \begin_layout LyX-Code
  2221. CHARACTER(LEN=*) :: long_name
  2222. \end_layout
  2223. \begin_layout Standard
  2224. Define the
  2225. \begin_inset Flex Strong
  2226. status collapsed
  2227. \begin_layout Plain Layout
  2228. long_name
  2229. \end_layout
  2230. \end_inset
  2231. attribute as it will appear in the metadata of an output file.
  2232. This attribute is optional.
  2233. \end_layout
  2234. \begin_layout Subsection*
  2235. unit:
  2236. \emph on
  2237. string
  2238. \end_layout
  2239. \begin_layout Standard
  2240. Fortran:
  2241. \end_layout
  2242. \begin_layout LyX-Code
  2243. CHARACTER(LEN=*) :: unit
  2244. \end_layout
  2245. \begin_layout Standard
  2246. Define the
  2247. \begin_inset Flex Strong
  2248. status collapsed
  2249. \begin_layout Plain Layout
  2250. unit
  2251. \end_layout
  2252. \end_inset
  2253. of the field.
  2254. This attribute is optional.
  2255. \end_layout
  2256. \begin_layout Subsection*
  2257. operation: enumeration
  2258. \emph on
  2259. { once, instant, average, maximum, minimum, accumulate }
  2260. \end_layout
  2261. \begin_layout Standard
  2262. Fortran:
  2263. \end_layout
  2264. \begin_layout LyX-Code
  2265. CHARACTER(LEN=*) :: operation
  2266. \end_layout
  2267. \begin_layout Standard
  2268. Define the temporal operation applied on the field.
  2269. This attribute is optional, by default no operation is applied.
  2270. \end_layout
  2271. \begin_layout Subsection*
  2272. freq_op:
  2273. \emph on
  2274. duration
  2275. \end_layout
  2276. \begin_layout Standard
  2277. Fortran:
  2278. \end_layout
  2279. \begin_layout LyX-Code
  2280. TYPE(xios_duration) :: freq_op
  2281. \end_layout
  2282. \begin_layout Standard
  2283. Define the frequency of the sampling for the temporal operation, so a field
  2284. value will be used for temporal averaging every
  2285. \begin_inset Flex Strong
  2286. status collapsed
  2287. \begin_layout Plain Layout
  2288. freq_op
  2289. \end_layout
  2290. \end_inset
  2291. time step.
  2292. It is very useful for sub-processes called at different frequency in a
  2293. model.
  2294. This attribute is optional, the default value is
  2295. \begin_inset Flex Strong
  2296. status collapsed
  2297. \begin_layout Plain Layout
  2298. 1ts
  2299. \end_layout
  2300. \end_inset
  2301. (1 time step).
  2302. \end_layout
  2303. \begin_layout Subsection*
  2304. freq_offset:
  2305. \emph on
  2306. duration
  2307. \end_layout
  2308. \begin_layout Standard
  2309. Fortran:
  2310. \end_layout
  2311. \begin_layout LyX-Code
  2312. TYPE(xios_duration) :: freq_offset
  2313. \end_layout
  2314. \begin_layout Standard
  2315. Define the offset when
  2316. \begin_inset Flex Strong
  2317. status collapsed
  2318. \begin_layout Plain Layout
  2319. freq_op
  2320. \end_layout
  2321. \end_inset
  2322. is defined.
  2323. This attribute is optional, the default value is
  2324. \begin_inset Flex Strong
  2325. status collapsed
  2326. \begin_layout Plain Layout
  2327. 0ts
  2328. \end_layout
  2329. \end_inset
  2330. (0 time step).
  2331. \end_layout
  2332. \begin_layout Standard
  2333. \begin_inset Formula $0\leq freq\_offset<freq\_op$
  2334. \end_inset
  2335. \end_layout
  2336. \begin_layout Subsection*
  2337. level:
  2338. \emph on
  2339. integer
  2340. \end_layout
  2341. \begin_layout Standard
  2342. Fortran:
  2343. \end_layout
  2344. \begin_layout LyX-Code
  2345. INTEGER :: level
  2346. \end_layout
  2347. \begin_layout Standard
  2348. Define the level of output of the field.
  2349. A field will be output only if the file attribute
  2350. \begin_inset Flex Strong
  2351. status collapsed
  2352. \begin_layout Plain Layout
  2353. output_level
  2354. \begin_inset Formula $\geq$
  2355. \end_inset
  2356. level
  2357. \end_layout
  2358. \end_inset
  2359. .
  2360. This attribute is optional, the default value is
  2361. \begin_inset Flex Strong
  2362. status collapsed
  2363. \begin_layout Plain Layout
  2364. 0
  2365. \end_layout
  2366. \end_inset
  2367. .
  2368. \end_layout
  2369. \begin_layout Subsection*
  2370. prec:
  2371. \emph on
  2372. integer
  2373. \end_layout
  2374. \begin_layout Standard
  2375. Fortran:
  2376. \end_layout
  2377. \begin_layout LyX-Code
  2378. INTEGER :: prec
  2379. \end_layout
  2380. \begin_layout Standard
  2381. Define the precision in byte of a field in an output file.
  2382. Available value are: 2 (integer), 4 (float single precision) and 8 (float
  2383. double precision).
  2384. \end_layout
  2385. \begin_layout Subsection*
  2386. enabled:
  2387. \emph on
  2388. bool
  2389. \end_layout
  2390. \begin_layout Standard
  2391. Fortran:
  2392. \end_layout
  2393. \begin_layout LyX-Code
  2394. LOGICAL :: enabled
  2395. \end_layout
  2396. \begin_layout Standard
  2397. Define if a field must be output or not.
  2398. This attribute is optional, the default value is
  2399. \begin_inset Flex Strong
  2400. status collapsed
  2401. \begin_layout Plain Layout
  2402. true
  2403. \end_layout
  2404. \end_inset
  2405. .
  2406. \end_layout
  2407. \begin_layout Subsection*
  2408. read_access:
  2409. \emph on
  2410. bool
  2411. \end_layout
  2412. \begin_layout Standard
  2413. Fortran:
  2414. \end_layout
  2415. \begin_layout LyX-Code
  2416. LOGICAL :: read_access
  2417. \end_layout
  2418. \begin_layout Standard
  2419. Define whether a field can be read from the model or not.
  2420. This attribute is optional, the default value is
  2421. \begin_inset Flex Strong
  2422. status collapsed
  2423. \begin_layout Plain Layout
  2424. false
  2425. \end_layout
  2426. \end_inset
  2427. .
  2428. Note that for fields belonging to a file in
  2429. \series bold
  2430. \emph on
  2431. read
  2432. \series default
  2433. \emph default
  2434. \series bold
  2435. mode
  2436. \series default
  2437. , this attribute is always
  2438. \series bold
  2439. true
  2440. \series default
  2441. .
  2442. \end_layout
  2443. \begin_layout Subsection*
  2444. field_ref:
  2445. \emph on
  2446. string
  2447. \end_layout
  2448. \begin_layout Standard
  2449. Fortran:
  2450. \end_layout
  2451. \begin_layout LyX-Code
  2452. CHARACTER(LEN=*) :: field_ref
  2453. \end_layout
  2454. \begin_layout Standard
  2455. Define a field reference.
  2456. All attributes are inherited from the referenced field after the classical
  2457. inheritance mechanism.
  2458. The value assigned to the referenced field is transmitted to to current
  2459. field to perform temporal operation.
  2460. This attribute is optional.
  2461. \end_layout
  2462. \begin_layout Subsection*
  2463. grid_ref:
  2464. \emph on
  2465. string
  2466. \end_layout
  2467. \begin_layout Standard
  2468. Fortran:
  2469. \end_layout
  2470. \begin_layout LyX-Code
  2471. CHARACTER(LEN=*) :: grid_ref
  2472. \end_layout
  2473. \begin_layout Standard
  2474. Define on which grid the current field is defined.
  2475. This attribute is optional, if missing, domain_ref and axis_ref must be
  2476. defining.
  2477. \end_layout
  2478. \begin_layout Subsection*
  2479. domain_ref:
  2480. \emph on
  2481. string
  2482. \end_layout
  2483. \begin_layout Standard
  2484. Fortran:
  2485. \end_layout
  2486. \begin_layout LyX-Code
  2487. CHARACTER(LEN=*) :: domain_ref
  2488. \end_layout
  2489. \begin_layout Standard
  2490. Define on which horizontal domain the current field is defined.
  2491. This attribute is optional, but if this attribute is defined,
  2492. \begin_inset Flex Strong
  2493. status collapsed
  2494. \begin_layout Plain Layout
  2495. grid_ref
  2496. \end_layout
  2497. \end_inset
  2498. must not be.
  2499. \end_layout
  2500. \begin_layout Subsection*
  2501. axis_ref:
  2502. \emph on
  2503. string
  2504. \end_layout
  2505. \begin_layout Standard
  2506. Fortran:
  2507. \end_layout
  2508. \begin_layout LyX-Code
  2509. CHARACTER(LEN=*) :: axis_ref
  2510. \end_layout
  2511. \begin_layout Standard
  2512. Define on which vertical axis the current field is defined.
  2513. This attribute is optional, but if this attribute is defined,
  2514. \begin_inset Flex Strong
  2515. status collapsed
  2516. \begin_layout Plain Layout
  2517. domain_ref
  2518. \end_layout
  2519. \end_inset
  2520. must be too and
  2521. \begin_inset Flex Strong
  2522. status collapsed
  2523. \begin_layout Plain Layout
  2524. grid_ref
  2525. \end_layout
  2526. \end_inset
  2527. must not.
  2528. \end_layout
  2529. \begin_layout Subsection*
  2530. grid_path:
  2531. \emph on
  2532. string
  2533. \end_layout
  2534. \begin_layout Standard
  2535. Fortran:
  2536. \end_layout
  2537. \begin_layout LyX-Code
  2538. CHARACTER(LEN=*) :: grid_path
  2539. \end_layout
  2540. \begin_layout Standard
  2541. Define the way operations passing from a grid to others.
  2542. This attribute is optional.
  2543. \end_layout
  2544. \begin_layout Subsection*
  2545. default_value:
  2546. \emph on
  2547. double
  2548. \end_layout
  2549. \begin_layout Standard
  2550. Fortran:
  2551. \end_layout
  2552. \begin_layout LyX-Code
  2553. DOUBLE PRECISION :: default_value
  2554. \end_layout
  2555. \begin_layout Standard
  2556. Define the value which should be used in place of the missing data of a
  2557. field.
  2558. This attribute is optional.
  2559. If no value was defined, the missing data will be replaced by uninitialized
  2560. values which can lead to undefined behaviors.
  2561. \end_layout
  2562. \begin_layout Subsection*
  2563. valid_min:
  2564. \emph on
  2565. double
  2566. \end_layout
  2567. \begin_layout Standard
  2568. Fortran:
  2569. \end_layout
  2570. \begin_layout LyX-Code
  2571. DOUBLE PRECISION :: valid_min
  2572. \end_layout
  2573. \begin_layout Standard
  2574. All field values below
  2575. \begin_inset Flex Strong
  2576. status collapsed
  2577. \begin_layout Plain Layout
  2578. valid_min
  2579. \end_layout
  2580. \end_inset
  2581. attribute value are set to missing value.
  2582. \end_layout
  2583. \begin_layout Subsection*
  2584. valid_max:
  2585. \emph on
  2586. double
  2587. \end_layout
  2588. \begin_layout Standard
  2589. Fortran:
  2590. \end_layout
  2591. \begin_layout LyX-Code
  2592. DOUBLE PRECISION :: valid_max
  2593. \end_layout
  2594. \begin_layout Standard
  2595. All field values above
  2596. \begin_inset Flex Strong
  2597. status collapsed
  2598. \begin_layout Plain Layout
  2599. valid_max
  2600. \end_layout
  2601. \end_inset
  2602. attribute value are set to missing value.
  2603. \end_layout
  2604. \begin_layout Subsection*
  2605. detect_missing_value:
  2606. \emph on
  2607. bool
  2608. \end_layout
  2609. \begin_layout Standard
  2610. Fortran:
  2611. \end_layout
  2612. \begin_layout LyX-Code
  2613. LOGICAL: detect_missing_value
  2614. \end_layout
  2615. \begin_layout Standard
  2616. When XIOS detect a default value in a field, it does not include the value
  2617. in the statistic of the operation, like averaging, minimum, maximum...
  2618. \end_layout
  2619. \begin_layout Subsection*
  2620. add_offset:
  2621. \emph on
  2622. double
  2623. \end_layout
  2624. \begin_layout Standard
  2625. Fortran:
  2626. \end_layout
  2627. \begin_layout LyX-Code
  2628. DOUBLE PRECISION: add_offset
  2629. \end_layout
  2630. \begin_layout Standard
  2631. Set the
  2632. \begin_inset Flex Strong
  2633. status collapsed
  2634. \begin_layout Plain Layout
  2635. add_offset
  2636. \end_layout
  2637. \end_inset
  2638. metadata CF attribute in the output file.
  2639. In output, the
  2640. \begin_inset Flex Strong
  2641. status collapsed
  2642. \begin_layout Plain Layout
  2643. add_offset
  2644. \end_layout
  2645. \end_inset
  2646. value is subtracted to the field values.
  2647. \end_layout
  2648. \begin_layout Subsection*
  2649. scale_factor:
  2650. \emph on
  2651. double
  2652. \end_layout
  2653. \begin_layout Standard
  2654. Fortran:
  2655. \end_layout
  2656. \begin_layout LyX-Code
  2657. DOUBLE PRECISION: scale_factor
  2658. \end_layout
  2659. \begin_layout Standard
  2660. Set the
  2661. \begin_inset Flex Strong
  2662. status collapsed
  2663. \begin_layout Plain Layout
  2664. scale_factor
  2665. \end_layout
  2666. \end_inset
  2667. metadata CF attribute in the output file.
  2668. In output, the field values are divided by the
  2669. \begin_inset Flex Strong
  2670. status collapsed
  2671. \begin_layout Plain Layout
  2672. scale_factor
  2673. \end_layout
  2674. \end_inset
  2675. value.
  2676. \end_layout
  2677. \begin_layout Subsection*
  2678. compression_level:
  2679. \emph on
  2680. integer
  2681. \end_layout
  2682. \begin_layout Standard
  2683. Fortran:
  2684. \end_layout
  2685. \begin_layout LyX-Code
  2686. INTEGER :: compression_level
  2687. \end_layout
  2688. \begin_layout Standard
  2689. Define whether the field should be compressed using NetCDF-4 built-in compressio
  2690. n.
  2691. The compression level must range from 0 to 9.
  2692. An higher compression level means a better compression at the cost of using
  2693. more processing power.
  2694. This attribute is optional, the default value is inherited from the file
  2695. attribute
  2696. \series bold
  2697. compression_level
  2698. \series default
  2699. .
  2700. \end_layout
  2701. \begin_layout Subsection*
  2702. indexed_output:
  2703. \emph on
  2704. bool
  2705. \end_layout
  2706. \begin_layout Standard
  2707. Fortran:
  2708. \end_layout
  2709. \begin_layout LyX-Code
  2710. LOGICAL :: indexed_output
  2711. \end_layout
  2712. \begin_layout Standard
  2713. Define whether the field data must be outputted as an indexed grid instead
  2714. of a full grid whenever possible.
  2715. This attribute is optional, the default value is
  2716. \series bold
  2717. \emph on
  2718. false
  2719. \series default
  2720. \emph default
  2721. .
  2722. \end_layout
  2723. \begin_layout Subsection*
  2724. ts_enabled:
  2725. \emph on
  2726. bool
  2727. \end_layout
  2728. \begin_layout Standard
  2729. Fortran:
  2730. \end_layout
  2731. \begin_layout LyX-Code
  2732. LOGICAL :: ts_enabled
  2733. \end_layout
  2734. \begin_layout Standard
  2735. Define whether the field can be outputted as a timeserie if requested.
  2736. This attribute is optional, the default value is
  2737. \series bold
  2738. \emph on
  2739. false
  2740. \series default
  2741. \emph default
  2742. .
  2743. \end_layout
  2744. \begin_layout Subsection*
  2745. ts_split_freq:
  2746. \emph on
  2747. duration
  2748. \end_layout
  2749. \begin_layout Standard
  2750. Fortran:
  2751. \end_layout
  2752. \begin_layout LyX-Code
  2753. TYPE(xios_duration) :: ts_split_freq
  2754. \end_layout
  2755. \begin_layout Standard
  2756. Define the splitting frequency that should be used for the timeserie if
  2757. it has been requested.
  2758. This attribute is optional, by default this value is inherited from the
  2759. file
  2760. \series bold
  2761. split_freq
  2762. \series default
  2763. .
  2764. \end_layout
  2765. \begin_layout Section
  2766. Variable attribute reference
  2767. \end_layout
  2768. \begin_layout Subsection*
  2769. name:
  2770. \emph on
  2771. string
  2772. \end_layout
  2773. \begin_layout Standard
  2774. Fortran:
  2775. \end_layout
  2776. \begin_layout LyX-Code
  2777. CHARACTER(LEN=*) :: name
  2778. \end_layout
  2779. \begin_layout Standard
  2780. Define the
  2781. \begin_inset Flex Strong
  2782. status collapsed
  2783. \begin_layout Plain Layout
  2784. name
  2785. \end_layout
  2786. \end_inset
  2787. of the variable as it will appear in an output file.
  2788. This attribute is optional.
  2789. If not present, the
  2790. \begin_inset Flex Strong
  2791. status collapsed
  2792. \begin_layout Plain Layout
  2793. id
  2794. \end_layout
  2795. \end_inset
  2796. will be used instead.
  2797. \end_layout
  2798. \begin_layout Subsection*
  2799. type: enumeration { bool, int, int32, int16, int64, float, double, string
  2800. }
  2801. \end_layout
  2802. \begin_layout Standard
  2803. Fortran:
  2804. \end_layout
  2805. \begin_layout LyX-Code
  2806. CHARACTER(LEN=*) :: type
  2807. \end_layout
  2808. \begin_layout Standard
  2809. Define the
  2810. \begin_inset Flex Strong
  2811. status collapsed
  2812. \begin_layout Plain Layout
  2813. type
  2814. \end_layout
  2815. \end_inset
  2816. of the variable.
  2817. Note that the
  2818. \series bold
  2819. \emph on
  2820. int
  2821. \series default
  2822. \emph default
  2823. type is a synonym for
  2824. \series bold
  2825. \emph on
  2826. int32
  2827. \series default
  2828. \emph default
  2829. .
  2830. This attribute is mandatory.
  2831. \end_layout
  2832. \begin_layout Section
  2833. File attribute reference
  2834. \end_layout
  2835. \begin_layout Subsection*
  2836. name:
  2837. \emph on
  2838. string
  2839. \end_layout
  2840. \begin_layout Standard
  2841. Fortran:
  2842. \end_layout
  2843. \begin_layout LyX-Code
  2844. CHARACTER(LEN=*) :: name
  2845. \end_layout
  2846. \begin_layout Standard
  2847. Define the name of the file.
  2848. This attribute is mandatory.
  2849. \end_layout
  2850. \begin_layout Subsection*
  2851. description:
  2852. \emph on
  2853. string
  2854. \end_layout
  2855. \begin_layout Standard
  2856. Fortran:
  2857. \end_layout
  2858. \begin_layout LyX-Code
  2859. CHARACTER(LEN=*) :: description
  2860. \end_layout
  2861. \begin_layout Standard
  2862. Define the description of the file.
  2863. This attribute is optional.
  2864. \end_layout
  2865. \begin_layout Subsection*
  2866. name_suffix:
  2867. \emph on
  2868. string
  2869. \end_layout
  2870. \begin_layout Standard
  2871. Fortran:
  2872. \end_layout
  2873. \begin_layout LyX-Code
  2874. CHARACTER(LEN=*) :: name_suffix
  2875. \end_layout
  2876. \begin_layout Standard
  2877. Define a suffix to add to the name of the file.
  2878. This attribute is optional.
  2879. \end_layout
  2880. \begin_layout Subsection*
  2881. min_digits:
  2882. \emph on
  2883. integer
  2884. \end_layout
  2885. \begin_layout Standard
  2886. Fortran:
  2887. \end_layout
  2888. \begin_layout LyX-Code
  2889. INTEGER :: min_digits
  2890. \end_layout
  2891. \begin_layout Standard
  2892. For multiple_file, define the minimum digits composing the suffix defining
  2893. the rank of the server, which will be happened to the name of the file.
  2894. This attribute is optional and the default value is
  2895. \begin_inset Flex Strong
  2896. status collapsed
  2897. \begin_layout Plain Layout
  2898. 0
  2899. \end_layout
  2900. \end_inset
  2901. .
  2902. \end_layout
  2903. \begin_layout Subsection*
  2904. output_freq:
  2905. \emph on
  2906. duration
  2907. \end_layout
  2908. \begin_layout Standard
  2909. Fortran:
  2910. \end_layout
  2911. \begin_layout LyX-Code
  2912. TYPE(xios_duration) :: output_freq
  2913. \end_layout
  2914. \begin_layout Standard
  2915. Define the output frequency for the current file.
  2916. This attribute is mandatory.
  2917. \end_layout
  2918. \begin_layout Subsection*
  2919. output_level:
  2920. \emph on
  2921. integer
  2922. \end_layout
  2923. \begin_layout Standard
  2924. Fortran:
  2925. \end_layout
  2926. \begin_layout LyX-Code
  2927. INTEGER :: output_level
  2928. \end_layout
  2929. \begin_layout Standard
  2930. Define an output level for the field defining inside the current file.
  2931. Field is output only if the field attribute
  2932. \begin_inset Formula $level\leq output\_level$
  2933. \end_inset
  2934. .
  2935. \end_layout
  2936. \begin_layout Subsection*
  2937. sync_freq:
  2938. \emph on
  2939. duration
  2940. \end_layout
  2941. \begin_layout Standard
  2942. Fortran:
  2943. \end_layout
  2944. \begin_layout LyX-Code
  2945. TYPE(xios_duration) :: sync_freq
  2946. \end_layout
  2947. \begin_layout Standard
  2948. Define the frequency for flushing the current file onto disk.
  2949. It may result bad performance but data are wrote even if the file will
  2950. not be closed.
  2951. This attribute is optional.
  2952. \end_layout
  2953. \begin_layout Subsection*
  2954. split_freq:
  2955. \emph on
  2956. duration
  2957. \end_layout
  2958. \begin_layout Standard
  2959. Fortran:
  2960. \end_layout
  2961. \begin_layout LyX-Code
  2962. TYPE(xios_duration) :: split_freq
  2963. \end_layout
  2964. \begin_layout Standard
  2965. Define the time frequency for splitting the current file.
  2966. In that case, the start and end dates are added to the file
  2967. \series bold
  2968. name
  2969. \series default
  2970. (see
  2971. \begin_inset Flex Emph
  2972. status collapsed
  2973. \begin_layout Plain Layout
  2974. \series bold
  2975. \emph on
  2976. split_freq_format
  2977. \end_layout
  2978. \end_inset
  2979. attribute).
  2980. This attribute is optional, by default no splitting is done.
  2981. \end_layout
  2982. \begin_layout Subsection*
  2983. split_freq_format:
  2984. \emph on
  2985. string
  2986. \end_layout
  2987. \begin_layout Standard
  2988. Fortran:
  2989. \end_layout
  2990. \begin_layout LyX-Code
  2991. CHARACTER(LEN=*) :: split_freq_format
  2992. \end_layout
  2993. \begin_layout Standard
  2994. Define the format of the split date suffixed to the file.
  2995. Can contain any character,
  2996. \emph on
  2997. \begin_inset Flex Code
  2998. status collapsed
  2999. \begin_layout Plain Layout
  3000. %y
  3001. \end_layout
  3002. \end_inset
  3003. \emph default
  3004. will be replaced by the year (4 characters),
  3005. \begin_inset Flex Code
  3006. status collapsed
  3007. \begin_layout Plain Layout
  3008. %mo
  3009. \end_layout
  3010. \end_inset
  3011. by the month (2 char),
  3012. \begin_inset Flex Code
  3013. status collapsed
  3014. \begin_layout Plain Layout
  3015. %d
  3016. \end_layout
  3017. \end_inset
  3018. by the day (2 char),
  3019. \begin_inset Flex Code
  3020. status collapsed
  3021. \begin_layout Plain Layout
  3022. %h
  3023. \end_layout
  3024. \end_inset
  3025. by the hour (2 char),
  3026. \begin_inset Flex Code
  3027. status collapsed
  3028. \begin_layout Plain Layout
  3029. %mi
  3030. \end_layout
  3031. \end_inset
  3032. by the minute (2 char),
  3033. \begin_inset Flex Code
  3034. status collapsed
  3035. \begin_layout Plain Layout
  3036. %s
  3037. \end_layout
  3038. \end_inset
  3039. by the second (2 char),
  3040. \begin_inset Flex Code
  3041. status collapsed
  3042. \begin_layout Plain Layout
  3043. %S
  3044. \end_layout
  3045. \end_inset
  3046. by the number of seconds since the time origin and
  3047. \begin_inset Flex Code
  3048. status collapsed
  3049. \begin_layout Plain Layout
  3050. %D
  3051. \end_layout
  3052. \end_inset
  3053. by the number of full days since the time origin.
  3054. This attribute is optional and the default behavior is to create a suffix
  3055. with the date until the smaller non zero unit.
  3056. For example, in one day split frequency, the hour, minute and second will
  3057. not appear in the suffix, only year, month and day.
  3058. \end_layout
  3059. \begin_layout Subsection*
  3060. enabled:
  3061. \emph on
  3062. bool
  3063. \end_layout
  3064. \begin_layout Standard
  3065. Fortran:
  3066. \end_layout
  3067. \begin_layout LyX-Code
  3068. LOGICAL :: enabled
  3069. \end_layout
  3070. \begin_layout Standard
  3071. Define if a file must be written/read or not.
  3072. This attribute is optional, the default value is
  3073. \begin_inset Flex Strong
  3074. status collapsed
  3075. \begin_layout Plain Layout
  3076. true
  3077. \end_layout
  3078. \end_inset
  3079. .
  3080. \end_layout
  3081. \begin_layout Subsection*
  3082. mode:
  3083. \emph on
  3084. enumeration { read, write }
  3085. \end_layout
  3086. \begin_layout Standard
  3087. Fortran:
  3088. \end_layout
  3089. \begin_layout LyX-Code
  3090. CHARACTER(LEN=*) :: mode
  3091. \end_layout
  3092. \begin_layout Standard
  3093. Define whether the file will be read or written.
  3094. This attribute is optional, the default value is
  3095. \begin_inset Flex Strong
  3096. status collapsed
  3097. \begin_layout Plain Layout
  3098. write
  3099. \end_layout
  3100. \end_inset
  3101. .
  3102. \end_layout
  3103. \begin_layout Subsection*
  3104. type:
  3105. \emph on
  3106. enumeration { one_file, multiple_file }
  3107. \end_layout
  3108. \begin_layout Standard
  3109. Fortran:
  3110. \end_layout
  3111. \begin_layout LyX-Code
  3112. CHARACTER(LEN=*) :: type
  3113. \end_layout
  3114. \begin_layout Standard
  3115. Define the type of the file:
  3116. \begin_inset Flex Strong
  3117. status collapsed
  3118. \begin_layout Plain Layout
  3119. \emph on
  3120. multiple_file
  3121. \end_layout
  3122. \end_inset
  3123. : one file by server using sequential netcdf writing,
  3124. \begin_inset Flex Strong
  3125. status collapsed
  3126. \begin_layout Plain Layout
  3127. \emph on
  3128. one_file
  3129. \end_layout
  3130. \end_inset
  3131. : one single global file is wrote using netcdf4 parallel access.
  3132. This attribute is mandatory.
  3133. \end_layout
  3134. \begin_layout Subsection*
  3135. format:
  3136. \emph on
  3137. enumeration { netcdf4, netcdf4_classic }
  3138. \end_layout
  3139. \begin_layout Standard
  3140. Fortran:
  3141. \end_layout
  3142. \begin_layout LyX-Code
  3143. CHARACTER(LEN=*) :: type
  3144. \end_layout
  3145. \begin_layout Standard
  3146. Define the format of the file:
  3147. \begin_inset Flex Strong
  3148. status collapsed
  3149. \begin_layout Plain Layout
  3150. \emph on
  3151. netcdf4
  3152. \end_layout
  3153. \end_inset
  3154. : the HDF5 format will be used,
  3155. \begin_inset Flex Strong
  3156. status collapsed
  3157. \begin_layout Plain Layout
  3158. \emph on
  3159. netcdf4
  3160. \emph default
  3161. _
  3162. \emph on
  3163. classic
  3164. \end_layout
  3165. \end_inset
  3166. : the classic NetCDF format will be used.
  3167. The attribute is optional, the default value is
  3168. \series bold
  3169. \emph on
  3170. netcdf4
  3171. \series default
  3172. \emph default
  3173. .
  3174. Note that the
  3175. \series bold
  3176. \emph on
  3177. netcdf4
  3178. \emph default
  3179. _
  3180. \emph on
  3181. classic
  3182. \series default
  3183. \emph default
  3184. format can be used with the attribute
  3185. \series bold
  3186. type
  3187. \series default
  3188. set to
  3189. \series bold
  3190. \emph on
  3191. one_file
  3192. \series default
  3193. \emph default
  3194. only if the NetCDF4 library was compiled with Parallel NetCDF support (--enable
  3195. -pnetcdf).
  3196. \end_layout
  3197. \begin_layout Subsection*
  3198. par_access:
  3199. \emph on
  3200. enumeration { collective, independent }
  3201. \end_layout
  3202. \begin_layout Standard
  3203. Fortran:
  3204. \end_layout
  3205. \begin_layout LyX-Code
  3206. CHARACTER(LEN=*) :: par_access
  3207. \end_layout
  3208. \begin_layout Standard
  3209. For parallel writing, define which type of MPI calls will be used.
  3210. This attribute is optional, the default value is
  3211. \begin_inset Flex Strong
  3212. status collapsed
  3213. \begin_layout Plain Layout
  3214. \emph on
  3215. collective
  3216. \end_layout
  3217. \end_inset
  3218. .
  3219. \end_layout
  3220. \begin_layout Subsection*
  3221. append:
  3222. \emph on
  3223. bool
  3224. \end_layout
  3225. \begin_layout Standard
  3226. Fortran:
  3227. \end_layout
  3228. \begin_layout LyX-Code
  3229. LOGICAL :: append
  3230. \end_layout
  3231. \begin_layout Standard
  3232. Define whether the output data is to be appended at the end of the file
  3233. if it already exists or if the existing file is to be overwritten.
  3234. This attribute is optional, the default value is
  3235. \begin_inset Flex Strong
  3236. status collapsed
  3237. \begin_layout Plain Layout
  3238. \emph on
  3239. false
  3240. \end_layout
  3241. \end_inset
  3242. .
  3243. \end_layout
  3244. \begin_layout Subsection*
  3245. compression_level:
  3246. \emph on
  3247. integer
  3248. \end_layout
  3249. \begin_layout Standard
  3250. Fortran:
  3251. \end_layout
  3252. \begin_layout LyX-Code
  3253. INTEGER :: compression_level
  3254. \end_layout
  3255. \begin_layout Standard
  3256. Define whether the fields should be compressed using NetCDF-4 built-in compressi
  3257. on by default.
  3258. The compression level must range from 0 to 9.
  3259. An higher compression level means a better compression at the cost of using
  3260. more processing power.
  3261. This attribute is optional, the default value is
  3262. \begin_inset Flex Strong
  3263. status collapsed
  3264. \begin_layout Plain Layout
  3265. \emph on
  3266. 0
  3267. \end_layout
  3268. \end_inset
  3269. (no compression).
  3270. \end_layout
  3271. \begin_layout Subsection*
  3272. time_counter:
  3273. \emph on
  3274. enumeration { centered, instant, record, none }
  3275. \end_layout
  3276. \begin_layout Standard
  3277. Fortran:
  3278. \end_layout
  3279. \begin_layout LyX-Code
  3280. CHARACTER(LEN=*) :: time_counter
  3281. \end_layout
  3282. \begin_layout Standard
  3283. Define how the
  3284. \begin_inset Quotes eld
  3285. \end_inset
  3286. time_counter
  3287. \begin_inset Quotes erd
  3288. \end_inset
  3289. variable will be outputted:
  3290. \end_layout
  3291. \begin_layout Itemize
  3292. \series bold
  3293. \emph on
  3294. centered
  3295. \series default
  3296. \emph default
  3297. : use centered times
  3298. \end_layout
  3299. \begin_layout Itemize
  3300. \series bold
  3301. \emph on
  3302. instant
  3303. \series default
  3304. \emph default
  3305. : use instant times
  3306. \end_layout
  3307. \begin_layout Itemize
  3308. \series bold
  3309. \emph on
  3310. record
  3311. \series default
  3312. \emph default
  3313. : use record indexes
  3314. \end_layout
  3315. \begin_layout Itemize
  3316. \series bold
  3317. \emph on
  3318. none
  3319. \series default
  3320. \emph default
  3321. : do not output the variable.
  3322. \end_layout
  3323. \begin_layout Standard
  3324. This attribute is optional, the default value is
  3325. \series bold
  3326. \emph on
  3327. centered
  3328. \series default
  3329. \emph default
  3330. .
  3331. \end_layout
  3332. \begin_layout Subsection*
  3333. time_counter_name:
  3334. \emph on
  3335. string
  3336. \end_layout
  3337. \begin_layout Standard
  3338. Fortran:
  3339. \end_layout
  3340. \begin_layout LyX-Code
  3341. CHARACTER(LEN=*) :: time_counter_name
  3342. \end_layout
  3343. \begin_layout Standard
  3344. Define the name of the time counter.
  3345. This attribute is optional.
  3346. \end_layout
  3347. \begin_layout Subsection*
  3348. timeseries:
  3349. \emph on
  3350. enumeration { none, only, both, exclusive }
  3351. \end_layout
  3352. \begin_layout Standard
  3353. Fortran:
  3354. \end_layout
  3355. \begin_layout LyX-Code
  3356. CHARACTER(LEN=*) :: time_series
  3357. \end_layout
  3358. \begin_layout Standard
  3359. Define whether the timeseries must be outputted:
  3360. \end_layout
  3361. \begin_layout Itemize
  3362. \series bold
  3363. \emph on
  3364. none
  3365. \series default
  3366. \emph default
  3367. : no timeseries are outputted, only the regular file
  3368. \end_layout
  3369. \begin_layout Itemize
  3370. \series bold
  3371. \emph on
  3372. only
  3373. \series default
  3374. \emph default
  3375. : only the timeseries are outputted, the regular file is not created
  3376. \end_layout
  3377. \begin_layout Itemize
  3378. \series bold
  3379. \emph on
  3380. both
  3381. \series default
  3382. \emph default
  3383. : both the timeseries and the regular file are outputted.
  3384. \end_layout
  3385. \begin_layout Itemize
  3386. \series bold
  3387. \emph on
  3388. exclusive
  3389. \series default
  3390. \emph default
  3391. : the timeseries are outputted and a regular file is created with only the
  3392. fields which were not marked for output as a timeserie (if any).
  3393. \end_layout
  3394. \begin_layout Standard
  3395. This attribute is optional, the default value is
  3396. \series bold
  3397. \emph on
  3398. none
  3399. \series default
  3400. \emph default
  3401. .
  3402. \end_layout
  3403. \begin_layout Subsection*
  3404. ts_prefix:
  3405. \emph on
  3406. string
  3407. \end_layout
  3408. \begin_layout Standard
  3409. Fortran:
  3410. \end_layout
  3411. \begin_layout LyX-Code
  3412. CHARACTER(LEN=*) :: ts_prefix
  3413. \end_layout
  3414. \begin_layout Standard
  3415. Define the prefix to use for the name of the timeseries files.
  3416. This attribute is optional, by default the file
  3417. \series bold
  3418. name
  3419. \series default
  3420. will be used.
  3421. \end_layout
  3422. \begin_layout Subsection*
  3423. record_offset:
  3424. \emph on
  3425. integer
  3426. \end_layout
  3427. \begin_layout Standard
  3428. Fortran:
  3429. \end_layout
  3430. \begin_layout LyX-Code
  3431. INTEGER :: record_offset
  3432. \end_layout
  3433. \begin_layout Standard
  3434. Define offset of record from the beginning record.
  3435. This attribute is optional, by default, its value is 0.
  3436. \end_layout
  3437. \begin_layout Section
  3438. Transformation attribute reference
  3439. \end_layout
  3440. \begin_layout Subsection
  3441. interpolate_axis
  3442. \end_layout
  3443. \begin_layout Subsection*
  3444. type:
  3445. \emph on
  3446. string
  3447. \end_layout
  3448. \begin_layout Standard
  3449. Fortran:
  3450. \end_layout
  3451. \begin_layout LyX-Code
  3452. CHARACTER(LEN=*) :: type
  3453. \end_layout
  3454. \begin_layout Standard
  3455. Define the type of interpolation on an axis.
  3456. This attribute is optional.
  3457. \end_layout
  3458. \begin_layout Subsection*
  3459. order:
  3460. \emph on
  3461. integer
  3462. \end_layout
  3463. \begin_layout Standard
  3464. Fortran:
  3465. \end_layout
  3466. \begin_layout LyX-Code
  3467. INTEGER :: order
  3468. \end_layout
  3469. \begin_layout Standard
  3470. Define a order of interpolation.
  3471. This attribute is optional.
  3472. The default value is 2.
  3473. \end_layout
  3474. \begin_layout Subsection
  3475. inverse_axis
  3476. \end_layout
  3477. \begin_layout Subsection
  3478. zoom_axis
  3479. \end_layout
  3480. \begin_layout Subsection*
  3481. begin:
  3482. \begin_inset Flex Emph
  3483. status collapsed
  3484. \begin_layout Plain Layout
  3485. integer
  3486. \end_layout
  3487. \end_inset
  3488. \end_layout
  3489. \begin_layout Standard
  3490. Fortran:
  3491. \end_layout
  3492. \begin_layout LyX-Code
  3493. INTEGER :: begin
  3494. \end_layout
  3495. \begin_layout Standard
  3496. Define the begining index of the zoomed region on global axis.
  3497. This attribute is optional.
  3498. This must be an integer between
  3499. \begin_inset Flex Strong
  3500. status collapsed
  3501. \begin_layout Plain Layout
  3502. 0
  3503. \end_layout
  3504. \end_inset
  3505. and
  3506. \begin_inset Flex Strong
  3507. status collapsed
  3508. \begin_layout Plain Layout
  3509. ni_glo-1
  3510. \end_layout
  3511. \end_inset
  3512. of associated axis.
  3513. If not specified the default value is
  3514. \begin_inset Flex Strong
  3515. status collapsed
  3516. \begin_layout Plain Layout
  3517. 0
  3518. \end_layout
  3519. \end_inset
  3520. .
  3521. \end_layout
  3522. \begin_layout Subsection*
  3523. n:
  3524. \begin_inset Flex Emph
  3525. status collapsed
  3526. \begin_layout Plain Layout
  3527. integer
  3528. \end_layout
  3529. \end_inset
  3530. \end_layout
  3531. \begin_layout Standard
  3532. Fortran:
  3533. \end_layout
  3534. \begin_layout LyX-Code
  3535. INTEGER :: n
  3536. \end_layout
  3537. \begin_layout Standard
  3538. Define the size of zoomed region on global axis.
  3539. This attribute is optional.
  3540. This must be an integer between
  3541. \begin_inset Flex Strong
  3542. status collapsed
  3543. \begin_layout Plain Layout
  3544. 1
  3545. \end_layout
  3546. \end_inset
  3547. and
  3548. \begin_inset Flex Strong
  3549. status collapsed
  3550. \begin_layout Plain Layout
  3551. nj_glo
  3552. \end_layout
  3553. \end_inset
  3554. of the associated axis.
  3555. If not specified the default value is
  3556. \begin_inset Flex Strong
  3557. status collapsed
  3558. \begin_layout Plain Layout
  3559. nj_glo
  3560. \end_layout
  3561. \end_inset
  3562. of the associated axis.
  3563. \end_layout
  3564. \begin_layout Subsection
  3565. interpolate_domain
  3566. \end_layout
  3567. \begin_layout Subsection*
  3568. file:
  3569. \emph on
  3570. string
  3571. \end_layout
  3572. \begin_layout Standard
  3573. Fortran:
  3574. \end_layout
  3575. \begin_layout LyX-Code
  3576. CHARACTER(LEN=*) :: type
  3577. \end_layout
  3578. \begin_layout Standard
  3579. Define the file which contains the weight value to interpolate from domain
  3580. source to domain destination.
  3581. This attribute is optional.
  3582. If not specified, the internal interpolation module will be used.
  3583. \end_layout
  3584. \begin_layout Subsection*
  3585. order:
  3586. \emph on
  3587. integer
  3588. \end_layout
  3589. \begin_layout Standard
  3590. Fortran:
  3591. \end_layout
  3592. \begin_layout LyX-Code
  3593. INTEGER :: order
  3594. \end_layout
  3595. \begin_layout Standard
  3596. Define a order of interpolation.
  3597. This attribute is only for internal interoplation module.
  3598. This attribute is optional.
  3599. The default value is 2.
  3600. \end_layout
  3601. \begin_layout Subsection
  3602. zoom_domain
  3603. \end_layout
  3604. \begin_layout Subsection*
  3605. ibegin:
  3606. \begin_inset Flex Emph
  3607. status collapsed
  3608. \begin_layout Plain Layout
  3609. integer
  3610. \end_layout
  3611. \end_inset
  3612. \end_layout
  3613. \begin_layout Standard
  3614. Fortran:
  3615. \end_layout
  3616. \begin_layout LyX-Code
  3617. INTEGER :: ibegin
  3618. \end_layout
  3619. \begin_layout Standard
  3620. Define the begining index of the zoomed region on the first dimension of
  3621. the global domain.
  3622. This attribute is optional.
  3623. This must be an integer between
  3624. \begin_inset Flex Strong
  3625. status collapsed
  3626. \begin_layout Plain Layout
  3627. 0
  3628. \end_layout
  3629. \end_inset
  3630. and
  3631. \begin_inset Flex Strong
  3632. status collapsed
  3633. \begin_layout Plain Layout
  3634. ni_glo-1
  3635. \end_layout
  3636. \end_inset
  3637. of the associated dimension of domain.
  3638. If not specified the default value is
  3639. \begin_inset Flex Strong
  3640. status collapsed
  3641. \begin_layout Plain Layout
  3642. 0
  3643. \end_layout
  3644. \end_inset
  3645. .
  3646. \end_layout
  3647. \begin_layout Subsection*
  3648. ni:
  3649. \begin_inset Flex Emph
  3650. status collapsed
  3651. \begin_layout Plain Layout
  3652. integer
  3653. \end_layout
  3654. \end_inset
  3655. \end_layout
  3656. \begin_layout Standard
  3657. Fortran:
  3658. \end_layout
  3659. \begin_layout LyX-Code
  3660. INTEGER :: ni
  3661. \end_layout
  3662. \begin_layout Standard
  3663. Define the size of zoomed region on the first dimension of the global domain.
  3664. This attribute is optional.
  3665. This must be an integer between
  3666. \begin_inset Flex Strong
  3667. status collapsed
  3668. \begin_layout Plain Layout
  3669. 1
  3670. \end_layout
  3671. \end_inset
  3672. and
  3673. \begin_inset Flex Strong
  3674. status collapsed
  3675. \begin_layout Plain Layout
  3676. ni_glo
  3677. \end_layout
  3678. \end_inset
  3679. of the associated dimension of domain.
  3680. If not specified the default value is
  3681. \begin_inset Flex Strong
  3682. status collapsed
  3683. \begin_layout Plain Layout
  3684. ni_glo
  3685. \end_layout
  3686. \end_inset
  3687. of the dimension of domain.
  3688. \end_layout
  3689. \begin_layout Subsection*
  3690. jbegin:
  3691. \begin_inset Flex Emph
  3692. status collapsed
  3693. \begin_layout Plain Layout
  3694. integer
  3695. \end_layout
  3696. \end_inset
  3697. \end_layout
  3698. \begin_layout Standard
  3699. Fortran:
  3700. \end_layout
  3701. \begin_layout LyX-Code
  3702. INTEGER :: jbegin
  3703. \end_layout
  3704. \begin_layout Standard
  3705. Define the begining index of the zoomed region on the second dimension of
  3706. the global domain.
  3707. This attribute is optional.
  3708. This must be an integer between
  3709. \begin_inset Flex Strong
  3710. status collapsed
  3711. \begin_layout Plain Layout
  3712. 0
  3713. \end_layout
  3714. \end_inset
  3715. and
  3716. \begin_inset Flex Strong
  3717. status collapsed
  3718. \begin_layout Plain Layout
  3719. nj_glo-1
  3720. \end_layout
  3721. \end_inset
  3722. of the associated dimension of domain.
  3723. If not specified the default value is
  3724. \begin_inset Flex Strong
  3725. status collapsed
  3726. \begin_layout Plain Layout
  3727. 0
  3728. \end_layout
  3729. \end_inset
  3730. .
  3731. \end_layout
  3732. \begin_layout Subsection*
  3733. nj:
  3734. \begin_inset Flex Emph
  3735. status collapsed
  3736. \begin_layout Plain Layout
  3737. integer
  3738. \end_layout
  3739. \end_inset
  3740. \end_layout
  3741. \begin_layout Standard
  3742. Fortran:
  3743. \end_layout
  3744. \begin_layout LyX-Code
  3745. INTEGER :: nj
  3746. \end_layout
  3747. \begin_layout Standard
  3748. Define the size of zoomed region on the second dimension of the global domain.
  3749. This attribute is optional.
  3750. This must be an integer between
  3751. \begin_inset Flex Strong
  3752. status collapsed
  3753. \begin_layout Plain Layout
  3754. 1
  3755. \end_layout
  3756. \end_inset
  3757. and
  3758. \begin_inset Flex Strong
  3759. status collapsed
  3760. \begin_layout Plain Layout
  3761. nj_glo
  3762. \end_layout
  3763. \end_inset
  3764. of the associated dimension of domain.
  3765. If not specified the default value is
  3766. \begin_inset Flex Strong
  3767. status collapsed
  3768. \begin_layout Plain Layout
  3769. nj_glo
  3770. \end_layout
  3771. \end_inset
  3772. of the dimension of domain.
  3773. \end_layout
  3774. \begin_layout Subsection
  3775. generate_rectilinear_domain
  3776. \end_layout
  3777. \begin_layout Standard
  3778. \end_layout
  3779. \begin_layout Chapter
  3780. Fortran interface reference
  3781. \end_layout
  3782. \begin_layout Section*
  3783. Initialization
  3784. \end_layout
  3785. \begin_layout Subsection*
  3786. XIOS initialization
  3787. \end_layout
  3788. \begin_layout Subsubsection*
  3789. Synopsis:
  3790. \end_layout
  3791. \begin_layout LyX-Code
  3792. SUBROUTINE xios_initialize(client_id, local_comm, return_comm)
  3793. \end_layout
  3794. \begin_layout LyX-Code
  3795. CHARACTER(LEN=*),INTENT(IN) :: client_id
  3796. \end_layout
  3797. \begin_layout LyX-Code
  3798. INTEGER,INTENT(IN),OPTIONAL :: local_comm
  3799. \end_layout
  3800. \begin_layout LyX-Code
  3801. INTEGER,INTENT(OUT),OPTIONAL :: return_comm
  3802. \end_layout
  3803. \begin_layout Subsubsection*
  3804. Argument:
  3805. \end_layout
  3806. \begin_layout Itemize
  3807. \begin_inset Flex Code
  3808. status collapsed
  3809. \begin_layout Plain Layout
  3810. client_id
  3811. \end_layout
  3812. \end_inset
  3813. : client identifier
  3814. \end_layout
  3815. \begin_layout Itemize
  3816. \begin_inset Flex Code
  3817. status collapsed
  3818. \begin_layout Plain Layout
  3819. local_comm
  3820. \end_layout
  3821. \end_inset
  3822. : MPI communicator of the client
  3823. \end_layout
  3824. \begin_layout Itemize
  3825. \begin_inset Flex Code
  3826. status collapsed
  3827. \begin_layout Plain Layout
  3828. return_comm
  3829. \end_layout
  3830. \end_inset
  3831. : split return MPI communicator
  3832. \end_layout
  3833. \begin_layout Subsubsection*
  3834. Description:
  3835. \end_layout
  3836. \begin_layout Standard
  3837. This subroutine must be called before any other call of MPI client library.
  3838. It may be able to initialize MPI library (calling
  3839. \begin_inset Flex Code
  3840. status collapsed
  3841. \begin_layout Plain Layout
  3842. MPI_Init
  3843. \end_layout
  3844. \end_inset
  3845. ) if not already initialized.
  3846. Since XIOS is able to work in client/server mode (parameter
  3847. \begin_inset Flex Code
  3848. status collapsed
  3849. \begin_layout Plain Layout
  3850. using_server=true
  3851. \end_layout
  3852. \end_inset
  3853. ), the global communicator must be split and a local split communicator
  3854. is returned to be used by the client model for it own purpose.
  3855. If more than one model is present, XIOS could be interfaced with the OASIS
  3856. coupler (compiled with
  3857. \begin_inset Flex Code
  3858. status collapsed
  3859. \begin_layout Plain Layout
  3860. -using_oasis
  3861. \end_layout
  3862. \end_inset
  3863. option and parameter
  3864. \begin_inset Flex Code
  3865. status collapsed
  3866. \begin_layout Plain Layout
  3867. using_oasis=true
  3868. \end_layout
  3869. \end_inset
  3870. ), so in this case, the splitting would be done globally by OASIS.
  3871. \end_layout
  3872. \begin_layout Itemize
  3873. If MPI is not initialized, XIOS would initialize it calling MPI_Init function.
  3874. In this case, the MPI finalization would be done by XIOS in the
  3875. \begin_inset Flex Code
  3876. status collapsed
  3877. \begin_layout Plain Layout
  3878. xios_finalize
  3879. \end_layout
  3880. \end_inset
  3881. subroutine, and must not be done by the model.
  3882. \end_layout
  3883. \begin_layout Itemize
  3884. If OASIS coupler is not used (using_oasis=false)
  3885. \end_layout
  3886. \begin_deeper
  3887. \begin_layout Itemize
  3888. If server mode is not activated (
  3889. \begin_inset Flex Code
  3890. status collapsed
  3891. \begin_layout Plain Layout
  3892. using_server=false
  3893. \end_layout
  3894. \end_inset
  3895. ): if local_comm MPI communicator is specified then it would be used for
  3896. internal MPI communication otherwise
  3897. \begin_inset Flex Code
  3898. status collapsed
  3899. \begin_layout Plain Layout
  3900. MPI_COMM_WORLD
  3901. \end_layout
  3902. \end_inset
  3903. communicator would be used by default.
  3904. A copy of the communicator (of
  3905. \begin_inset Flex Code
  3906. status collapsed
  3907. \begin_layout Plain Layout
  3908. local_comm
  3909. \end_layout
  3910. \end_inset
  3911. or
  3912. \begin_inset Flex Code
  3913. status collapsed
  3914. \begin_layout Plain Layout
  3915. MPI_COMM_WORLD
  3916. \end_layout
  3917. \end_inset
  3918. ) would be returned in return_comm argument.
  3919. If
  3920. \begin_inset Flex Code
  3921. status collapsed
  3922. \begin_layout Plain Layout
  3923. return_comm
  3924. \end_layout
  3925. \end_inset
  3926. is not specified, then
  3927. \begin_inset Flex Code
  3928. status collapsed
  3929. \begin_layout Plain Layout
  3930. local_comm
  3931. \end_layout
  3932. \end_inset
  3933. or
  3934. \begin_inset Flex Code
  3935. status collapsed
  3936. \begin_layout Plain Layout
  3937. MPI_COMM_WORLD
  3938. \end_layout
  3939. \end_inset
  3940. can be used by the model for it own communication.
  3941. \end_layout
  3942. \begin_layout Itemize
  3943. If server mode is activated (
  3944. \begin_inset Flex Code
  3945. status collapsed
  3946. \begin_layout Plain Layout
  3947. using_server=true
  3948. \end_layout
  3949. \end_inset
  3950. ):
  3951. \begin_inset Flex Code
  3952. status collapsed
  3953. \begin_layout Plain Layout
  3954. local_comm
  3955. \end_layout
  3956. \end_inset
  3957. must not be specified since the global
  3958. \begin_inset Flex Code
  3959. status collapsed
  3960. \begin_layout Plain Layout
  3961. MPI_COMM_WORLD
  3962. \end_layout
  3963. \end_inset
  3964. communicator would be split by XIOS.
  3965. The split communicator is returned in
  3966. \begin_inset Flex Code
  3967. status collapsed
  3968. \begin_layout Plain Layout
  3969. return_comm
  3970. \end_layout
  3971. \end_inset
  3972. argument.
  3973. \end_layout
  3974. \end_deeper
  3975. \begin_layout Itemize
  3976. If OASIS coupler is used (
  3977. \begin_inset Flex Code
  3978. status collapsed
  3979. \begin_layout Plain Layout
  3980. using_oasis=true
  3981. \end_layout
  3982. \end_inset
  3983. )
  3984. \end_layout
  3985. \begin_deeper
  3986. \begin_layout Itemize
  3987. If server mode is not enabled (
  3988. \begin_inset Flex Code
  3989. status collapsed
  3990. \begin_layout Plain Layout
  3991. using_server=false
  3992. \end_layout
  3993. \end_inset
  3994. )
  3995. \end_layout
  3996. \begin_deeper
  3997. \begin_layout Itemize
  3998. If
  3999. \begin_inset Flex Code
  4000. status collapsed
  4001. \begin_layout Plain Layout
  4002. local_comm
  4003. \end_layout
  4004. \end_inset
  4005. is specified, it means that OASIS has been initialized by the model and
  4006. global communicator has been already split previously by OASIS, and passed
  4007. as
  4008. \begin_inset Flex Code
  4009. status collapsed
  4010. \begin_layout Plain Layout
  4011. local_comm
  4012. \end_layout
  4013. \end_inset
  4014. argument.
  4015. The returned communicator would be a duplicate copy of
  4016. \begin_inset Flex Code
  4017. status collapsed
  4018. \begin_layout Plain Layout
  4019. local_comm
  4020. \end_layout
  4021. \end_inset
  4022. .
  4023. \end_layout
  4024. \begin_layout Itemize
  4025. Otherwise: if MPI was not initialized, OASIS will be initialized calling
  4026. \begin_inset Flex Code
  4027. status collapsed
  4028. \begin_layout Plain Layout
  4029. prism_init_comp_proto
  4030. \end_layout
  4031. \end_inset
  4032. subroutine.
  4033. In this case, XIOS will call
  4034. \begin_inset Flex Code
  4035. status collapsed
  4036. \begin_layout Plain Layout
  4037. prism_terminate_proto
  4038. \end_layout
  4039. \end_inset
  4040. when
  4041. \begin_inset Flex Code
  4042. status collapsed
  4043. \begin_layout Plain Layout
  4044. xios_finalized
  4045. \end_layout
  4046. \end_inset
  4047. is called.
  4048. The split communicator is returned in
  4049. \begin_inset Flex Code
  4050. status collapsed
  4051. \begin_layout Plain Layout
  4052. return_comm
  4053. \end_layout
  4054. \end_inset
  4055. argument using
  4056. \begin_inset Flex Code
  4057. status collapsed
  4058. \begin_layout Plain Layout
  4059. prism_get_localcomm_proto
  4060. \end_layout
  4061. \end_inset
  4062. return argument.
  4063. \end_layout
  4064. \end_deeper
  4065. \begin_layout Itemize
  4066. If server mode is enabled (
  4067. \begin_inset Flex Code
  4068. status collapsed
  4069. \begin_layout Plain Layout
  4070. using_server=true
  4071. \end_layout
  4072. \end_inset
  4073. )
  4074. \end_layout
  4075. \begin_deeper
  4076. \begin_layout Itemize
  4077. If
  4078. \begin_inset Flex Code
  4079. status collapsed
  4080. \begin_layout Plain Layout
  4081. local_comm
  4082. \end_layout
  4083. \end_inset
  4084. is specified, it means that OASIS has been initialized by the model and
  4085. global communicator has been already split previously by OASIS, and passed
  4086. as local_comm argument.
  4087. The returned communicator return_comm would be a split communicator given
  4088. by OASIS.
  4089. \end_layout
  4090. \begin_layout Itemize
  4091. Otherwise: if MPI was not initialized, OASIS will be initialized calling
  4092. \begin_inset Flex Code
  4093. status collapsed
  4094. \begin_layout Plain Layout
  4095. prism_init_comp_proto
  4096. \end_layout
  4097. \end_inset
  4098. subroutine.
  4099. In this case, XIOS will call
  4100. \begin_inset Flex Code
  4101. status collapsed
  4102. \begin_layout Plain Layout
  4103. prism_terminate_proto
  4104. \end_layout
  4105. \end_inset
  4106. when
  4107. \begin_inset Flex Code
  4108. status collapsed
  4109. \begin_layout Plain Layout
  4110. xios_finalized
  4111. \end_layout
  4112. \end_inset
  4113. is called.
  4114. The split communicator is returned in
  4115. \begin_inset Flex Code
  4116. status collapsed
  4117. \begin_layout Plain Layout
  4118. return_comm
  4119. \end_layout
  4120. \end_inset
  4121. argument using
  4122. \begin_inset Flex Code
  4123. status collapsed
  4124. \begin_layout Plain Layout
  4125. prism_get_localcomm_proto
  4126. \end_layout
  4127. \end_inset
  4128. return argument.
  4129. \end_layout
  4130. \end_deeper
  4131. \end_deeper
  4132. \begin_layout Section*
  4133. Finalization
  4134. \end_layout
  4135. \begin_layout Subsection*
  4136. XIOS finalization
  4137. \end_layout
  4138. \begin_layout Subsubsection*
  4139. Synopsis:
  4140. \end_layout
  4141. \begin_layout LyX-Code
  4142. SUBROUTINE xios_finalize()
  4143. \end_layout
  4144. \begin_layout Subsubsection*
  4145. Arguments:
  4146. \end_layout
  4147. \begin_layout Standard
  4148. None
  4149. \end_layout
  4150. \begin_layout Subsubsection*
  4151. Description:
  4152. \end_layout
  4153. \begin_layout Standard
  4154. This call must be done at the end of the simulation for a successful execution.
  4155. It gives the end signal to the xios server pools to finish it execution.
  4156. If MPI has been initialize by XIOS the MPI_Finalize will be called.
  4157. If OASIS coupler has been initialized by XIOS, then finalization will be
  4158. done calling
  4159. \begin_inset Flex Code
  4160. status collapsed
  4161. \begin_layout Plain Layout
  4162. prism_terminate_proto
  4163. \end_layout
  4164. \end_inset
  4165. subroutine.
  4166. \end_layout
  4167. \begin_layout Section*
  4168. Tree elements management subroutines
  4169. \end_layout
  4170. \begin_layout Standard
  4171. This set of subroutines enable the models to interact, complete or query
  4172. the XML tree data base.
  4173. New elements or group of elements can be added as child in the tree, attributes
  4174. of the elements can be set or query.
  4175. The type of element actually available are: context, axis, domain, grid,
  4176. field, variable and file.
  4177. An element can be identified by a string or by an handle associated to
  4178. the type of the element.
  4179. Root element (ex:
  4180. \begin_inset Quotes eld
  4181. \end_inset
  4182. axis_definition
  4183. \begin_inset Quotes erd
  4184. \end_inset
  4185. ,
  4186. \begin_inset Quotes eld
  4187. \end_inset
  4188. field_definition
  4189. \begin_inset Quotes erd
  4190. \end_inset
  4191. ,....) are considered like a group of element and are identified by a specific
  4192. string
  4193. \begin_inset Quotes eld
  4194. \end_inset
  4195. element_definition
  4196. \begin_inset Quotes erd
  4197. \end_inset
  4198. where element can be any one of the existing elements.
  4199. \end_layout
  4200. \begin_layout Subsection*
  4201. Fortran type of the handles element
  4202. \end_layout
  4203. \begin_layout Quotation
  4204. TYPE(xios_element)
  4205. \end_layout
  4206. \begin_layout Standard
  4207. where
  4208. \begin_inset Quotes eld
  4209. \end_inset
  4210. element
  4211. \begin_inset Quotes erd
  4212. \end_inset
  4213. can be any one among
  4214. \begin_inset Quotes eld
  4215. \end_inset
  4216. context
  4217. \begin_inset Quotes erd
  4218. \end_inset
  4219. ,
  4220. \begin_inset Quotes eld
  4221. \end_inset
  4222. axis
  4223. \begin_inset Quotes erd
  4224. \end_inset
  4225. ,
  4226. \begin_inset Quotes eld
  4227. \end_inset
  4228. domain
  4229. \begin_inset Quotes erd
  4230. \end_inset
  4231. ,
  4232. \begin_inset Quotes eld
  4233. \end_inset
  4234. grid
  4235. \begin_inset Quotes erd
  4236. \end_inset
  4237. ,
  4238. \begin_inset Quotes eld
  4239. \end_inset
  4240. field
  4241. \begin_inset Quotes erd
  4242. \end_inset
  4243. ,
  4244. \begin_inset Quotes eld
  4245. \end_inset
  4246. variable
  4247. \begin_inset Quotes erd
  4248. \end_inset
  4249. or
  4250. \begin_inset Quotes eld
  4251. \end_inset
  4252. file
  4253. \begin_inset Quotes erd
  4254. \end_inset
  4255. , or the associated group (excepted for context):
  4256. \begin_inset Quotes eld
  4257. \end_inset
  4258. axis_group
  4259. \begin_inset Quotes erd
  4260. \end_inset
  4261. ,
  4262. \begin_inset Quotes eld
  4263. \end_inset
  4264. domain_group
  4265. \begin_inset Quotes erd
  4266. \end_inset
  4267. ,
  4268. \begin_inset Quotes eld
  4269. \end_inset
  4270. grid_group
  4271. \begin_inset Quotes erd
  4272. \end_inset
  4273. ,
  4274. \begin_inset Quotes eld
  4275. \end_inset
  4276. field_group
  4277. \begin_inset Quotes erd
  4278. \end_inset
  4279. ,
  4280. \begin_inset Quotes eld
  4281. \end_inset
  4282. variable_group
  4283. \begin_inset Quotes erd
  4284. \end_inset
  4285. or
  4286. \begin_inset Quotes eld
  4287. \end_inset
  4288. file_group
  4289. \begin_inset Quotes erd
  4290. \end_inset
  4291. .
  4292. \end_layout
  4293. \begin_layout Subsection*
  4294. Getting handles
  4295. \end_layout
  4296. \begin_layout Subsubsection*
  4297. Synopsis:
  4298. \end_layout
  4299. \begin_layout LyX-Code
  4300. SUBROUTINE xios_get_element_handle(id,handle)
  4301. \end_layout
  4302. \begin_layout LyX-Code
  4303. CHARACTER(len = *) , INTENT(IN) :: id
  4304. \end_layout
  4305. \begin_layout LyX-Code
  4306. TYPE(xios_element), INTENT(OUT):: handle
  4307. \end_layout
  4308. \begin_layout Standard
  4309. where element is one of the existing element or group of element.
  4310. \end_layout
  4311. \begin_layout Subsubsection*
  4312. Arguments:
  4313. \end_layout
  4314. \begin_layout Itemize
  4315. \begin_inset Flex Code
  4316. status collapsed
  4317. \begin_layout Plain Layout
  4318. id
  4319. \end_layout
  4320. \end_inset
  4321. : string identifier.
  4322. \end_layout
  4323. \begin_layout Itemize
  4324. \begin_inset Flex Code
  4325. status collapsed
  4326. \begin_layout Plain Layout
  4327. handle
  4328. \end_layout
  4329. \end_inset
  4330. : element handle
  4331. \end_layout
  4332. \begin_layout Subsubsection*
  4333. Description:
  4334. \end_layout
  4335. \begin_layout Standard
  4336. This subroutine return the handle of the specified element identified by
  4337. its string.
  4338. The element must be existing otherwise it raise an error.
  4339. \end_layout
  4340. \begin_layout Subsection*
  4341. Query for a valid element
  4342. \end_layout
  4343. \begin_layout Subsubsection*
  4344. Synopsis:
  4345. \end_layout
  4346. \begin_layout LyX-Code
  4347. LOGICAL FUNCTION xios_is_valid_element(id)
  4348. \end_layout
  4349. \begin_layout LyX-Code
  4350. CHARACTER(len = *) , INTENT(IN) :: id
  4351. \end_layout
  4352. \begin_layout Standard
  4353. where element is one of the existing element or group of element.
  4354. \end_layout
  4355. \begin_layout Subsubsection*
  4356. Arguments:
  4357. \end_layout
  4358. \begin_layout Itemize
  4359. \begin_inset Flex Code
  4360. status collapsed
  4361. \begin_layout Plain Layout
  4362. id
  4363. \end_layout
  4364. \end_inset
  4365. : string identifier.
  4366. \end_layout
  4367. \begin_layout Subsubsection*
  4368. Description:
  4369. \end_layout
  4370. \begin_layout Standard
  4371. This function return .TRUE.
  4372. if the element defined by the string identifier id is existing in the data
  4373. base, otherwise it return .FALSE.
  4374. .
  4375. \end_layout
  4376. \begin_layout Subsection*
  4377. Adding child
  4378. \end_layout
  4379. \begin_layout Subsubsection*
  4380. Synopsis:
  4381. \end_layout
  4382. \begin_layout LyX-Code
  4383. SUBROUTINE xios_add_element(parent_handle, child_handle, child_id)
  4384. \end_layout
  4385. \begin_layout LyX-Code
  4386. TYPE(xios_element) , INTENT(IN) :: parent_handle
  4387. \end_layout
  4388. \begin_layout LyX-Code
  4389. TYPE(xios_element) , INTENT(OUT):: child_handle
  4390. \end_layout
  4391. \begin_layout LyX-Code
  4392. CHARACTER(len = *), OPTIONAL, INTENT(IN) :: child_id
  4393. \end_layout
  4394. \begin_layout Standard
  4395. where element is one of the existing element or group of element.
  4396. \end_layout
  4397. \begin_layout Subsubsection*
  4398. Arguments:
  4399. \end_layout
  4400. \begin_layout Itemize
  4401. \begin_inset Flex Code
  4402. status collapsed
  4403. \begin_layout Plain Layout
  4404. parent_handle
  4405. \end_layout
  4406. \end_inset
  4407. : handle of the parent element.
  4408. \end_layout
  4409. \begin_layout Itemize
  4410. \begin_inset Flex Code
  4411. status collapsed
  4412. \begin_layout Plain Layout
  4413. child_handle
  4414. \end_layout
  4415. \end_inset
  4416. : handle of the child element.
  4417. \end_layout
  4418. \begin_layout Itemize
  4419. \begin_inset Flex Code
  4420. status collapsed
  4421. \begin_layout Plain Layout
  4422. child_id
  4423. \end_layout
  4424. \end_inset
  4425. : string identifier of the child.
  4426. \end_layout
  4427. \begin_layout Subsubsection*
  4428. Description:
  4429. \end_layout
  4430. \begin_layout Standard
  4431. This subroutine add a child to an existing parent element.
  4432. The identifier of the child, if existing, can be specified optionally.
  4433. All group elements can contains child of the same kind, provided generic
  4434. inheritance.
  4435. Some elements can contains children of an other kind for a specific behaviour.
  4436. File element may contains field_group, field, variable and variable_group
  4437. child elements.
  4438. Field elements may contains variable_group of variable child element.
  4439. \end_layout
  4440. \begin_layout Subsection*
  4441. Query if a value of an element attributes is defined (by handle)
  4442. \end_layout
  4443. \begin_layout Subsubsection*
  4444. Synopsis:
  4445. \end_layout
  4446. \begin_layout LyX-Code
  4447. SUBROUTINE xios_is_defined_attr(handle, attr_1=attribute_1, attr_2=attribute_2,
  4448. ...)
  4449. \end_layout
  4450. \begin_layout LyX-Code
  4451. TYPE(xios_element) , INTENT(IN) :: handle
  4452. \end_layout
  4453. \begin_layout LyX-Code
  4454. LOGICAL, OPTIONAL , INTENT(OUT) :: attr_1
  4455. \end_layout
  4456. \begin_layout LyX-Code
  4457. LOGICAL, OPTIONAL , INTENT(OUT) :: attr_2
  4458. \end_layout
  4459. \begin_layout LyX-Code
  4460. ....
  4461. \end_layout
  4462. \begin_layout Standard
  4463. where element is one of the existing element or group of element.
  4464. attribute_x is describing in the chapter dedicated to the attribute description.
  4465. \end_layout
  4466. \begin_layout Subsubsection*
  4467. Arguments:
  4468. \end_layout
  4469. \begin_layout Itemize
  4470. \begin_inset Flex Code
  4471. status collapsed
  4472. \begin_layout Plain Layout
  4473. handle
  4474. \end_layout
  4475. \end_inset
  4476. : element handle.
  4477. \end_layout
  4478. \begin_layout Itemize
  4479. \begin_inset Flex Code
  4480. status collapsed
  4481. \begin_layout Plain Layout
  4482. attr_x
  4483. \end_layout
  4484. \end_inset
  4485. : return true if the attribute as a defined value.
  4486. \end_layout
  4487. \begin_layout Subsubsection*
  4488. Description:
  4489. \end_layout
  4490. \begin_layout Standard
  4491. This subroutine my be used to query if one or more attributes of an element
  4492. have a defined value.
  4493. The list of attributes and their type are described in a specific chapter
  4494. of the documentation.
  4495. \end_layout
  4496. \begin_layout Subsection*
  4497. Query if a value of an element attributes is defined (by identifier)
  4498. \end_layout
  4499. \begin_layout Subsubsection*
  4500. Synopsis:
  4501. \end_layout
  4502. \begin_layout LyX-Code
  4503. SUBROUTINE xios_is_defined_element_attr(id, attr_1=attribute_1, attr_2=attribute
  4504. _2, ...)
  4505. \end_layout
  4506. \begin_layout LyX-Code
  4507. CHARACTER(len = *) , INTENT(IN) :: id
  4508. \end_layout
  4509. \begin_layout LyX-Code
  4510. LOGICAL, OPTIONAL , INTENT(OUT) :: attr_1
  4511. \end_layout
  4512. \begin_layout LyX-Code
  4513. LOGICAL, OPTIONAL , INTENT(OUT) :: attr_2
  4514. \end_layout
  4515. \begin_layout LyX-Code
  4516. ....
  4517. \end_layout
  4518. \begin_layout Standard
  4519. where element is one of the existing element or group of element.
  4520. attribute_x is describing in the chapter dedicated to the attribute description.
  4521. \end_layout
  4522. \begin_layout Subsubsection*
  4523. Arguments:
  4524. \end_layout
  4525. \begin_layout Itemize
  4526. \begin_inset Flex Code
  4527. status collapsed
  4528. \begin_layout Plain Layout
  4529. id
  4530. \end_layout
  4531. \end_inset
  4532. : element identifier.
  4533. \end_layout
  4534. \begin_layout Itemize
  4535. \begin_inset Flex Code
  4536. status collapsed
  4537. \begin_layout Plain Layout
  4538. attr_x
  4539. \end_layout
  4540. \end_inset
  4541. : return true if the attribute as a defined value.
  4542. \end_layout
  4543. \begin_layout Subsubsection*
  4544. Description:
  4545. \end_layout
  4546. \begin_layout Standard
  4547. This subroutine my be used to query if one or more attributes of an element
  4548. have a defined value.
  4549. The list of available attributes and their type are described in a specific
  4550. chapter of the documentation.
  4551. \end_layout
  4552. \begin_layout Subsection*
  4553. Setting element attributes value by handle
  4554. \end_layout
  4555. \begin_layout Subsubsection*
  4556. Synopsis:
  4557. \end_layout
  4558. \begin_layout LyX-Code
  4559. SUBROUTINE xios_set_attr(handle, attr_1=attribute_1, attr_2=attribute_2,
  4560. ...)
  4561. \end_layout
  4562. \begin_layout LyX-Code
  4563. TYPE(xios_element) , INTENT(IN) :: handle
  4564. \end_layout
  4565. \begin_layout LyX-Code
  4566. attribute_type_1, OPTIONAL , INTENT(IN) :: attr_1
  4567. \end_layout
  4568. \begin_layout LyX-Code
  4569. attribute_type_2, OPTIONAL , INTENT(IN) :: attr_2
  4570. \end_layout
  4571. \begin_layout LyX-Code
  4572. ....
  4573. \end_layout
  4574. \begin_layout Standard
  4575. where element is one of the existing element or group of element.
  4576. attribute_x and attribute_type_x are describing in the chapter dedicated
  4577. to the attribute description.
  4578. \end_layout
  4579. \begin_layout Subsubsection*
  4580. Arguments:
  4581. \end_layout
  4582. \begin_layout Itemize
  4583. \begin_inset Flex Code
  4584. status collapsed
  4585. \begin_layout Plain Layout
  4586. handle
  4587. \end_layout
  4588. \end_inset
  4589. : element handle.
  4590. \end_layout
  4591. \begin_layout Itemize
  4592. \begin_inset Flex Code
  4593. status collapsed
  4594. \begin_layout Plain Layout
  4595. attr_x
  4596. \end_layout
  4597. \end_inset
  4598. : value of the attribute to be set.
  4599. \end_layout
  4600. \begin_layout Subsubsection*
  4601. Description:
  4602. \end_layout
  4603. \begin_layout Standard
  4604. This subroutine my be used to set one or more attribute to an element defined
  4605. by its handle.
  4606. The list of available attributes and their type are described in a specific
  4607. chapter of the documentation.
  4608. \end_layout
  4609. \begin_layout Subsection*
  4610. Setting element attributes value by id
  4611. \end_layout
  4612. \begin_layout Subsubsection*
  4613. Synopsis:
  4614. \end_layout
  4615. \begin_layout LyX-Code
  4616. SUBROUTINE xios_set_element_attr(id, attr_1=attribute_1, attr_2=attribute_2,
  4617. ...)
  4618. \end_layout
  4619. \begin_layout LyX-Code
  4620. CHARACTER(len = *), INTENT(IN) :: id
  4621. \end_layout
  4622. \begin_layout LyX-Code
  4623. attribute_type_1, OPTIONAL , INTENT(IN) :: attr_1
  4624. \end_layout
  4625. \begin_layout LyX-Code
  4626. attribute_type_2, OPTIONAL , INTENT(IN) :: attr_2
  4627. \end_layout
  4628. \begin_layout LyX-Code
  4629. ....
  4630. \end_layout
  4631. \begin_layout Standard
  4632. where element is one of the existing element or group of element.
  4633. attribute_x and attribute_type_x are describing in the chapter dedicated
  4634. to the attribute description.
  4635. \end_layout
  4636. \begin_layout Subsubsection*
  4637. Arguments:
  4638. \end_layout
  4639. \begin_layout Itemize
  4640. \begin_inset Flex Code
  4641. status collapsed
  4642. \begin_layout Plain Layout
  4643. id
  4644. \end_layout
  4645. \end_inset
  4646. : string identifier.
  4647. \end_layout
  4648. \begin_layout Itemize
  4649. \begin_inset Flex Code
  4650. status collapsed
  4651. \begin_layout Plain Layout
  4652. attr_x
  4653. \end_layout
  4654. \end_inset
  4655. : value of the attribute to be set.
  4656. \end_layout
  4657. \begin_layout Subsubsection*
  4658. Description:
  4659. \end_layout
  4660. \begin_layout Standard
  4661. This subroutine my be used to set one or more attribute to an element defined
  4662. by its string id.
  4663. The list of available attributes and their type are described in a specific
  4664. chapter of the documentation.
  4665. \end_layout
  4666. \begin_layout Subsection*
  4667. Getting element attributes value (by handle)
  4668. \end_layout
  4669. \begin_layout Subsubsection*
  4670. Synopsis:
  4671. \end_layout
  4672. \begin_layout LyX-Code
  4673. SUBROUTINE xios_get_attr(handle, attr_1=attribute_1, attr_2=attribute_2,
  4674. ...)
  4675. \end_layout
  4676. \begin_layout LyX-Code
  4677. TYPE(xios_element) , INTENT(IN) :: handle
  4678. \end_layout
  4679. \begin_layout LyX-Code
  4680. attribute_type_1, OPTIONAL , INTENT(OUT) :: attr_1
  4681. \end_layout
  4682. \begin_layout LyX-Code
  4683. attribute_type_2, OPTIONAL , INTENT(OUT) :: attr_2
  4684. \end_layout
  4685. \begin_layout LyX-Code
  4686. ....
  4687. \end_layout
  4688. \begin_layout Standard
  4689. where element is one of the existing element or group of element.
  4690. attribute_x and attribute_type_x are describing in the chapter dedicated
  4691. to the attribute description.
  4692. \end_layout
  4693. \begin_layout Subsubsection*
  4694. Arguments:
  4695. \end_layout
  4696. \begin_layout Itemize
  4697. \begin_inset Flex Code
  4698. status collapsed
  4699. \begin_layout Plain Layout
  4700. handle
  4701. \end_layout
  4702. \end_inset
  4703. : element handle.
  4704. \end_layout
  4705. \begin_layout Itemize
  4706. \begin_inset Flex Code
  4707. status collapsed
  4708. \begin_layout Plain Layout
  4709. attr_x
  4710. \end_layout
  4711. \end_inset
  4712. : value of the attribute to be get.
  4713. \end_layout
  4714. \begin_layout Subsubsection*
  4715. Description:
  4716. \end_layout
  4717. \begin_layout Standard
  4718. This subroutine my be used to get one or more attribute value of an element
  4719. defined by its handle.
  4720. All attributes in the arguments list must be defined.
  4721. The list of available attributes and their type are described in a specific
  4722. chapter of the documentation.
  4723. \end_layout
  4724. \begin_layout Subsection*
  4725. Getting element attributes value (by identifier)
  4726. \end_layout
  4727. \begin_layout Subsubsection*
  4728. Synopsis:
  4729. \end_layout
  4730. \begin_layout LyX-Code
  4731. SUBROUTINE xios_get_element_attr(id, attr_1=attribute_1, attr_2=attribute_2,
  4732. ...)
  4733. \end_layout
  4734. \begin_layout LyX-Code
  4735. CHARACTER(len = *), INTENT(IN) :: id
  4736. \end_layout
  4737. \begin_layout LyX-Code
  4738. attribute_type_1, OPTIONAL , INTENT(OUT) :: attr_1
  4739. \end_layout
  4740. \begin_layout LyX-Code
  4741. attribute_type_2, OPTIONAL , INTENT(OUT) :: attr_2
  4742. \end_layout
  4743. \begin_layout LyX-Code
  4744. ....
  4745. \end_layout
  4746. \begin_layout Standard
  4747. where element is one of the existing element or group of element.
  4748. attribute_x is describing in the chapter dedicated to the attribute description.
  4749. \end_layout
  4750. \begin_layout Subsubsection*
  4751. Arguments:
  4752. \end_layout
  4753. \begin_layout Itemize
  4754. \begin_inset Flex Code
  4755. status collapsed
  4756. \begin_layout Plain Layout
  4757. id
  4758. \end_layout
  4759. \end_inset
  4760. : element string identifier.
  4761. \end_layout
  4762. \begin_layout Itemize
  4763. \begin_inset Flex Code
  4764. status collapsed
  4765. \begin_layout Plain Layout
  4766. attr_x
  4767. \end_layout
  4768. \end_inset
  4769. : value of the attribute to be get.
  4770. \end_layout
  4771. \begin_layout Subsubsection*
  4772. Description:
  4773. \end_layout
  4774. \begin_layout Standard
  4775. This subroutine my be used to get one or more attribute value of an element
  4776. defined by its handle.
  4777. All attributes in the arguments list must have a defined value.
  4778. The list of available attributes and their type are described in a specific
  4779. chapter of the documentation.
  4780. \end_layout
  4781. \begin_layout Section*
  4782. Interface relative to context management
  4783. \end_layout
  4784. \begin_layout Subsection*
  4785. XIOS context initialization
  4786. \end_layout
  4787. \begin_layout Subsubsection*
  4788. Synopsis:
  4789. \end_layout
  4790. \begin_layout LyX-Code
  4791. SUBROUTINE xios_context_initialize(context_id, context_comm)
  4792. \end_layout
  4793. \begin_layout LyX-Code
  4794. CHARACTER(LEN=*),INTENT(IN) :: context_id
  4795. \end_layout
  4796. \begin_layout LyX-Code
  4797. INTEGER,INTENT(IN) :: context_comm
  4798. \end_layout
  4799. \begin_layout Subsubsection*
  4800. Argument:
  4801. \end_layout
  4802. \begin_layout Itemize
  4803. \begin_inset Flex Code
  4804. status collapsed
  4805. \begin_layout Plain Layout
  4806. context_id
  4807. \end_layout
  4808. \end_inset
  4809. : context identifier
  4810. \end_layout
  4811. \begin_layout Itemize
  4812. \begin_inset Flex Code
  4813. status collapsed
  4814. \begin_layout Plain Layout
  4815. context_comm
  4816. \end_layout
  4817. \end_inset
  4818. : MPI communicator of the context
  4819. \end_layout
  4820. \begin_layout Subsubsection*
  4821. Description:
  4822. \end_layout
  4823. \begin_layout Standard
  4824. This subroutine initialize a context identified by
  4825. \begin_inset Flex Code
  4826. status collapsed
  4827. \begin_layout Plain Layout
  4828. context_id
  4829. \end_layout
  4830. \end_inset
  4831. string and must be called before any call related to this context.
  4832. A context must be associated to a communicator, which can be the returned
  4833. communicator of the
  4834. \begin_inset Flex Code
  4835. status collapsed
  4836. \begin_layout Plain Layout
  4837. xios_initialize
  4838. \end_layout
  4839. \end_inset
  4840. subroutine or a sub-communicator of this.
  4841. The context initialization is dynamic and can be done at any time before
  4842. the
  4843. \begin_inset Flex Code
  4844. status collapsed
  4845. \begin_layout Plain Layout
  4846. xios_finalize
  4847. \end_layout
  4848. \end_inset
  4849. call.
  4850. \end_layout
  4851. \begin_layout Subsection*
  4852. XIOS context finalization
  4853. \end_layout
  4854. \begin_layout Subsubsection*
  4855. Synopsis:
  4856. \end_layout
  4857. \begin_layout LyX-Code
  4858. SUBROUTINE xios_context_finalize()
  4859. \end_layout
  4860. \begin_layout Subsubsection*
  4861. Arguments:
  4862. \end_layout
  4863. \begin_layout Standard
  4864. None
  4865. \end_layout
  4866. \begin_layout Subsubsection*
  4867. Description:
  4868. \end_layout
  4869. \begin_layout Standard
  4870. This subroutine must be call to close a context, before the
  4871. \begin_inset Flex Code
  4872. status collapsed
  4873. \begin_layout Plain Layout
  4874. xios_finalize
  4875. \end_layout
  4876. \end_inset
  4877. call.
  4878. It waits until that all pending request sent to the servers will be processed
  4879. and the opened files will be closed.
  4880. \end_layout
  4881. \begin_layout Subsection*
  4882. Setting current active context
  4883. \end_layout
  4884. \begin_layout Subsubsection*
  4885. Synopsis:
  4886. \end_layout
  4887. \begin_layout LyX-Code
  4888. SUBROUTINE xios_set_current_context(context_handle)
  4889. \end_layout
  4890. \begin_layout LyX-Code
  4891. TYPE(xios_context),INTENT(IN) :: context_handle
  4892. \end_layout
  4893. \begin_layout Standard
  4894. or
  4895. \end_layout
  4896. \begin_layout LyX-Code
  4897. SUBROUTINE xios_set_current_context(context_id)
  4898. \end_layout
  4899. \begin_layout LyX-Code
  4900. CHARACTER(LEN=*),INTENT(IN) :: context_id
  4901. \end_layout
  4902. \begin_layout Subsubsection*
  4903. Arguments:
  4904. \end_layout
  4905. \begin_layout Itemize
  4906. \begin_inset Flex Code
  4907. status collapsed
  4908. \begin_layout Plain Layout
  4909. context_handle
  4910. \end_layout
  4911. \end_inset
  4912. : handle of the context
  4913. \end_layout
  4914. \begin_layout Standard
  4915. or
  4916. \end_layout
  4917. \begin_layout Itemize
  4918. \begin_inset Flex Code
  4919. status collapsed
  4920. \begin_layout Plain Layout
  4921. context_id
  4922. \end_layout
  4923. \end_inset
  4924. : string context identifier
  4925. \end_layout
  4926. \begin_layout Subsubsection*
  4927. Description:
  4928. \end_layout
  4929. \begin_layout Standard
  4930. These subroutines set the current active context.
  4931. All xios calls after will refer to this active context.
  4932. If only one context is defined, it is automatically set as the active context.
  4933. \end_layout
  4934. \begin_layout Subsection*
  4935. Closing definition
  4936. \end_layout
  4937. \begin_layout Subsubsection*
  4938. Synopsis:
  4939. \end_layout
  4940. \begin_layout LyX-Code
  4941. SUBROUTINE xios_close_context_definition()
  4942. \end_layout
  4943. \begin_layout Subsubsection*
  4944. Arguments:
  4945. \end_layout
  4946. \begin_layout Standard
  4947. None
  4948. \end_layout
  4949. \begin_layout Subsubsection*
  4950. Description:
  4951. \end_layout
  4952. \begin_layout Standard
  4953. This subroutine must be call when all definitions of a context is finished
  4954. at the end of the initialization and before entering to the time loop.
  4955. A lot of operations are performed internally (inheritance, grid definition,
  4956. contacting servers,...) so this call is mandatory.
  4957. Any call related to the tree management definition done after will have
  4958. an undefined effect.
  4959. \end_layout
  4960. \begin_layout Section*
  4961. Interface relative to calendar management
  4962. \end_layout
  4963. \begin_layout Subsection*
  4964. Creating the calendar
  4965. \end_layout
  4966. \begin_layout Subsubsection*
  4967. Synopsis:
  4968. \end_layout
  4969. \begin_layout LyX-Code
  4970. SUBROUTINE xios_define_calendar(type, timestep, start_date, time_origin,
  4971. &
  4972. \begin_inset Newline newline
  4973. \end_inset
  4974. day_length, month_lengths, year_length,
  4975. &
  4976. \begin_inset Newline newline
  4977. \end_inset
  4978. leap_year_month, leap_year_drift, &
  4979. \begin_inset Newline newline
  4980. \end_inset
  4981. leap_year_drift_offset)
  4982. \begin_inset Newline newline
  4983. \end_inset
  4984. CHARACTER(len = *), INTENT(IN) :: type
  4985. \begin_inset Newline newline
  4986. \end_inset
  4987. TYPE(xios_duration), OPTIONAL, INTENT(IN) :: timestep
  4988. \begin_inset Newline newline
  4989. \end_inset
  4990. TYPE(xios_date), OPTIONAL, INTENT(IN) :: start_date
  4991. \begin_inset Newline newline
  4992. \end_inset
  4993. TYPE(xios_date), OPTIONAL, INTENT(IN) :: time_origin
  4994. \begin_inset Newline newline
  4995. \end_inset
  4996. INTEGER, OPTIONAL, INTENT(IN) :: day_length
  4997. \begin_inset Newline newline
  4998. \end_inset
  4999. INTEGER, OPTIONAL, INTENT(IN) :: month_lengths(:)
  5000. \begin_inset Newline newline
  5001. \end_inset
  5002. INTEGER, OPTIONAL, INTENT(IN) :: year_length
  5003. \begin_inset Newline newline
  5004. \end_inset
  5005. DOUBLE PRECISION, OPTIONAL, INTENT(IN) :: leap_year_drift
  5006. \begin_inset Newline newline
  5007. \end_inset
  5008. DOUBLE PRECISION, OPTIONAL, INTENT(IN) :: leap_year_drift_offset
  5009. \begin_inset Newline newline
  5010. \end_inset
  5011. INTEGER, OPTIONAL, INTENT(IN) :: leap_year_month
  5012. \end_layout
  5013. \begin_layout Subsubsection*
  5014. Arguments:
  5015. \end_layout
  5016. \begin_layout Itemize
  5017. \begin_inset Flex Code
  5018. status collapsed
  5019. \begin_layout Plain Layout
  5020. type
  5021. \end_layout
  5022. \end_inset
  5023. : the calendar type, one of
  5024. \begin_inset Flex Code
  5025. status collapsed
  5026. \begin_layout Plain Layout
  5027. "Gregorian"
  5028. \end_layout
  5029. \end_inset
  5030. ,
  5031. \begin_inset Flex Code
  5032. status collapsed
  5033. \begin_layout Plain Layout
  5034. "Julian"
  5035. \end_layout
  5036. \end_inset
  5037. ,
  5038. \begin_inset Flex Code
  5039. status collapsed
  5040. \begin_layout Plain Layout
  5041. "D360"
  5042. \end_layout
  5043. \end_inset
  5044. ,
  5045. \begin_inset Flex Code
  5046. status collapsed
  5047. \begin_layout Plain Layout
  5048. "AllLeap"
  5049. \end_layout
  5050. \end_inset
  5051. ,
  5052. \begin_inset Flex Code
  5053. status collapsed
  5054. \begin_layout Plain Layout
  5055. "NoLeap"
  5056. \end_layout
  5057. \end_inset
  5058. ,
  5059. \begin_inset Flex Code
  5060. status collapsed
  5061. \begin_layout Plain Layout
  5062. "user_defined"
  5063. \end_layout
  5064. \end_inset
  5065. \end_layout
  5066. \begin_layout Itemize
  5067. \begin_inset Flex Code
  5068. status collapsed
  5069. \begin_layout Plain Layout
  5070. timestep
  5071. \end_layout
  5072. \end_inset
  5073. : the time step of the simulation (optional, can be set later)
  5074. \end_layout
  5075. \begin_layout Itemize
  5076. \begin_inset Flex Code
  5077. status collapsed
  5078. \begin_layout Plain Layout
  5079. start_date
  5080. \end_layout
  5081. \end_inset
  5082. : the start date of the simulation (optional,
  5083. \begin_inset Flex Code
  5084. status collapsed
  5085. \begin_layout Plain Layout
  5086. xios_date(0000, 01, 01, 00, 00, 00)
  5087. \end_layout
  5088. \end_inset
  5089. is used by default)
  5090. \end_layout
  5091. \begin_layout Itemize
  5092. \begin_inset Flex Code
  5093. status collapsed
  5094. \begin_layout Plain Layout
  5095. time_origin
  5096. \end_layout
  5097. \end_inset
  5098. : the origin of the time axis (optional,
  5099. \begin_inset Flex Code
  5100. status collapsed
  5101. \begin_layout Plain Layout
  5102. xios_date(0000, 01, 01, 00, 00, 00)
  5103. \end_layout
  5104. \end_inset
  5105. is used by default)
  5106. \end_layout
  5107. \begin_layout Itemize
  5108. \begin_inset Flex Code
  5109. status collapsed
  5110. \begin_layout Plain Layout
  5111. day_length
  5112. \end_layout
  5113. \end_inset
  5114. : the length of a day in seconds (mandatory when creating an user defined
  5115. calendar, must not be set otherwise)
  5116. \end_layout
  5117. \begin_layout Itemize
  5118. \begin_inset Flex Code
  5119. status collapsed
  5120. \begin_layout Plain Layout
  5121. month_lengths
  5122. \end_layout
  5123. \end_inset
  5124. : the length of each month of the year in days (either
  5125. \begin_inset Flex Code
  5126. status collapsed
  5127. \begin_layout Plain Layout
  5128. month_lengths
  5129. \end_layout
  5130. \end_inset
  5131. or
  5132. \begin_inset Flex Code
  5133. status collapsed
  5134. \begin_layout Plain Layout
  5135. year_length
  5136. \end_layout
  5137. \end_inset
  5138. must be set when creating an user defined calendar, must not be set otherwise)
  5139. \end_layout
  5140. \begin_layout Itemize
  5141. \begin_inset Flex Code
  5142. status collapsed
  5143. \begin_layout Plain Layout
  5144. year_length
  5145. \end_layout
  5146. \end_inset
  5147. : the length of a year in seconds (either
  5148. \begin_inset Flex Code
  5149. status collapsed
  5150. \begin_layout Plain Layout
  5151. month_lengths
  5152. \end_layout
  5153. \end_inset
  5154. or
  5155. \begin_inset Flex Code
  5156. status collapsed
  5157. \begin_layout Plain Layout
  5158. year_length
  5159. \end_layout
  5160. \end_inset
  5161. must be set when creating an user defined calendar, must not be set otherwise)
  5162. \end_layout
  5163. \begin_layout Itemize
  5164. \begin_inset Flex Code
  5165. status collapsed
  5166. \begin_layout Plain Layout
  5167. leap_year_drift
  5168. \end_layout
  5169. \end_inset
  5170. : the yearly drift between the user defined calendar and the astronomical
  5171. calendar, expressed as a fraction of day (can optionally be set when creating
  5172. an user defined calendar in which case
  5173. \begin_inset Flex Code
  5174. status collapsed
  5175. \begin_layout Plain Layout
  5176. leap_year_month
  5177. \end_layout
  5178. \end_inset
  5179. must be set too)
  5180. \end_layout
  5181. \begin_layout Itemize
  5182. \begin_inset Flex Code
  5183. status collapsed
  5184. \begin_layout Plain Layout
  5185. leap_year_drift_offset
  5186. \end_layout
  5187. \end_inset
  5188. : the initial drift between the user defined calendar and the astronomical
  5189. calendar at the time origin, expressed as a fraction of day (can optionally
  5190. be set if
  5191. \begin_inset Flex Code
  5192. status collapsed
  5193. \begin_layout Plain Layout
  5194. leap_year_drift
  5195. \end_layout
  5196. \end_inset
  5197. and
  5198. \begin_inset Flex Code
  5199. status collapsed
  5200. \begin_layout Plain Layout
  5201. leap_year_month
  5202. \end_layout
  5203. \end_inset
  5204. are set)
  5205. \end_layout
  5206. \begin_layout Itemize
  5207. \begin_inset Flex Code
  5208. status collapsed
  5209. \begin_layout Plain Layout
  5210. leap_year_month
  5211. \end_layout
  5212. \end_inset
  5213. : the month to which an extra day must be added in case of leap year (can
  5214. optionally be set when creating an user defined calendar in which case
  5215. \begin_inset Flex Code
  5216. status collapsed
  5217. \begin_layout Plain Layout
  5218. leap_year_drift
  5219. \end_layout
  5220. \end_inset
  5221. must be set too)
  5222. \end_layout
  5223. \begin_layout Standard
  5224. For a more detailed description of those arguments, see the description
  5225. of the corresponding attributes in section 1.2
  5226. \begin_inset Quotes eld
  5227. \end_inset
  5228. Calendar attribute reference
  5229. \begin_inset Quotes erd
  5230. \end_inset
  5231. .
  5232. \end_layout
  5233. \begin_layout Subsubsection*
  5234. Description:
  5235. \end_layout
  5236. \begin_layout Standard
  5237. This subroutine creates the calendar for the current context.
  5238. Note that the calendar is created once and for all, either from the XML
  5239. configuration file or the Fortran interface.
  5240. If it was not created from the configuration file, then this subroutine
  5241. must be called once and only once before the context definition is closed.
  5242. The calendar features can be used immediately after the calendar was created.
  5243. \begin_inset Newline newline
  5244. \end_inset
  5245. \begin_inset Newline newline
  5246. \end_inset
  5247. If an user defined calendar is created, the following arguments must also
  5248. be provided:
  5249. \begin_inset Flex Code
  5250. status collapsed
  5251. \begin_layout Plain Layout
  5252. day_length
  5253. \end_layout
  5254. \end_inset
  5255. and either
  5256. \begin_inset Flex Code
  5257. status collapsed
  5258. \begin_layout Plain Layout
  5259. month_lengths
  5260. \end_layout
  5261. \end_inset
  5262. or
  5263. \begin_inset Flex Code
  5264. status collapsed
  5265. \begin_layout Plain Layout
  5266. year_length
  5267. \end_layout
  5268. \end_inset
  5269. .
  5270. Optionally it is possible to configure the user defined calendar to have
  5271. leap years.
  5272. In this case,
  5273. \begin_inset Flex Code
  5274. status collapsed
  5275. \begin_layout Plain Layout
  5276. leap_year_drift
  5277. \end_layout
  5278. \end_inset
  5279. and
  5280. \begin_inset Flex Code
  5281. status collapsed
  5282. \begin_layout Plain Layout
  5283. leap_year_month
  5284. \end_layout
  5285. \end_inset
  5286. must also be provided and
  5287. \begin_inset Flex Code
  5288. status collapsed
  5289. \begin_layout Plain Layout
  5290. leap_year_drift_offset
  5291. \end_layout
  5292. \end_inset
  5293. might be used.
  5294. \end_layout
  5295. \begin_layout Subsection*
  5296. Accessing the calendar type of the current calendar
  5297. \end_layout
  5298. \begin_layout Subsubsection*
  5299. Synopsis:
  5300. \end_layout
  5301. \begin_layout LyX-Code
  5302. SUBROUTINE xios_get_calendar_type(calendar_type)
  5303. \begin_inset Newline newline
  5304. \end_inset
  5305. CHARACTER(len=*), INTENT(OUT) :: calendar_type
  5306. \end_layout
  5307. \begin_layout Subsubsection*
  5308. Arguments:
  5309. \end_layout
  5310. \begin_layout Itemize
  5311. \begin_inset Flex Code
  5312. status collapsed
  5313. \begin_layout Plain Layout
  5314. calendar_type
  5315. \end_layout
  5316. \end_inset
  5317. : on output, the type of the calendar attached to the current context
  5318. \end_layout
  5319. \begin_layout Subsubsection*
  5320. Description:
  5321. \end_layout
  5322. \begin_layout Standard
  5323. This subroutine gets the calendar type associated to the current context.
  5324. It will raise an error if used before the calendar was created.
  5325. \end_layout
  5326. \begin_layout Subsection*
  5327. Accessing and defining the time step of the current calendar
  5328. \end_layout
  5329. \begin_layout Subsubsection*
  5330. Synopsis:
  5331. \end_layout
  5332. \begin_layout LyX-Code
  5333. SUBROUTINE xios_get_timestep(timestep)
  5334. \begin_inset Newline newline
  5335. \end_inset
  5336. TYPE(xios_duration), INTENT(OUT) :: timestep
  5337. \end_layout
  5338. \begin_layout Standard
  5339. and
  5340. \end_layout
  5341. \begin_layout LyX-Code
  5342. SUBROUTINE xios_set_timestep(timestep)
  5343. \begin_inset Newline newline
  5344. \end_inset
  5345. TYPE(xios_duration), INTENT(IN) :: timestep
  5346. \end_layout
  5347. \begin_layout Subsubsection*
  5348. Arguments:
  5349. \end_layout
  5350. \begin_layout Itemize
  5351. \begin_inset Flex Code
  5352. status collapsed
  5353. \begin_layout Plain Layout
  5354. timestep
  5355. \end_layout
  5356. \end_inset
  5357. : a duration corresponding to the time step of the simulation
  5358. \end_layout
  5359. \begin_layout Subsubsection*
  5360. Description:
  5361. \end_layout
  5362. \begin_layout Standard
  5363. Those subroutines respectively gets and sets the time step associated to
  5364. the calendar of the current context.
  5365. Note that the time step must always be set before the context definition
  5366. is closed and that an error will be raised if the getter subroutine is
  5367. used before the time step is defined.
  5368. \end_layout
  5369. \begin_layout Subsection*
  5370. Accessing and defining the start date of the current calendar
  5371. \end_layout
  5372. \begin_layout Subsubsection*
  5373. Synopsis:
  5374. \end_layout
  5375. \begin_layout LyX-Code
  5376. SUBROUTINE xios_get_start_date(start_date)
  5377. \begin_inset Newline newline
  5378. \end_inset
  5379. TYPE(xios_date), INTENT(OUT) :: start_date
  5380. \end_layout
  5381. \begin_layout Standard
  5382. and
  5383. \end_layout
  5384. \begin_layout LyX-Code
  5385. SUBROUTINE xios_set_start_date(start_date)
  5386. \begin_inset Newline newline
  5387. \end_inset
  5388. TYPE(xios_date), INTENT(IN) :: start_date
  5389. \end_layout
  5390. \begin_layout Subsubsection*
  5391. Arguments:
  5392. \end_layout
  5393. \begin_layout Itemize
  5394. \begin_inset Flex Code
  5395. status collapsed
  5396. \begin_layout Plain Layout
  5397. start_date
  5398. \end_layout
  5399. \end_inset
  5400. : a date corresponding to the beginning of the simulation
  5401. \end_layout
  5402. \begin_layout Subsubsection*
  5403. Description:
  5404. \end_layout
  5405. \begin_layout Standard
  5406. Those subroutines respectively gets and sets the start date associated to
  5407. the calendar of the current context.
  5408. They must not be used before the calendar was created.
  5409. \end_layout
  5410. \begin_layout Subsection*
  5411. Accessing and defining the time origin of the current calendar
  5412. \end_layout
  5413. \begin_layout Subsubsection*
  5414. Synopsis:
  5415. \end_layout
  5416. \begin_layout LyX-Code
  5417. SUBROUTINE xios_get_time_origin(time_origin)
  5418. \begin_inset Newline newline
  5419. \end_inset
  5420. TYPE(xios_date), INTENT(OUT) :: time_origin
  5421. \end_layout
  5422. \begin_layout Standard
  5423. and
  5424. \end_layout
  5425. \begin_layout LyX-Code
  5426. SUBROUTINE xios_set_time_date(time_origin)
  5427. \begin_inset Newline newline
  5428. \end_inset
  5429. TYPE(xios_date), INTENT(IN) :: time_origin
  5430. \end_layout
  5431. \begin_layout Subsubsection*
  5432. Arguments:
  5433. \end_layout
  5434. \begin_layout Itemize
  5435. \begin_inset Flex Code
  5436. status collapsed
  5437. \begin_layout Plain Layout
  5438. start_date
  5439. \end_layout
  5440. \end_inset
  5441. : a date corresponding to the origin of the time axis
  5442. \end_layout
  5443. \begin_layout Subsubsection*
  5444. Description:
  5445. \end_layout
  5446. \begin_layout Standard
  5447. Those subroutines respectively gets and sets the origin of time associated
  5448. to the calendar of the current context.
  5449. They must not be used before the calendar was created.
  5450. \end_layout
  5451. \begin_layout Subsection*
  5452. Updating the current date of the current calendar
  5453. \end_layout
  5454. \begin_layout Subsubsection*
  5455. Synopsis:
  5456. \end_layout
  5457. \begin_layout LyX-Code
  5458. SUBROUTINE xios_update_calendar(step)
  5459. \begin_inset Newline newline
  5460. \end_inset
  5461. INTEGER, INTENT(IN) :: step
  5462. \end_layout
  5463. \begin_layout Subsubsection*
  5464. Arguments:
  5465. \end_layout
  5466. \begin_layout Itemize
  5467. \begin_inset Flex Code
  5468. status collapsed
  5469. \begin_layout Plain Layout
  5470. step
  5471. \end_layout
  5472. \end_inset
  5473. : the current iteration number
  5474. \end_layout
  5475. \begin_layout Subsubsection*
  5476. Description:
  5477. \end_layout
  5478. \begin_layout Standard
  5479. This subroutine sets the current date associated to the calendar of the
  5480. current context based on the current iteration number:
  5481. \begin_inset Formula $current\_date=start\_date+step\times timestep$
  5482. \end_inset
  5483. .
  5484. It must not be used before the calendar was created.
  5485. \end_layout
  5486. \begin_layout Subsection*
  5487. Accessing the current date of the current calendar
  5488. \end_layout
  5489. \begin_layout Subsubsection*
  5490. Synopsis:
  5491. \end_layout
  5492. \begin_layout LyX-Code
  5493. SUBROUTINE xios_get_current_date(current_date)
  5494. \begin_inset Newline newline
  5495. \end_inset
  5496. TYPE(xios_date), INTENT(OUT) :: current_date
  5497. \end_layout
  5498. \begin_layout Subsubsection*
  5499. Arguments:
  5500. \end_layout
  5501. \begin_layout Itemize
  5502. \begin_inset Flex Code
  5503. status collapsed
  5504. \begin_layout Plain Layout
  5505. current_date
  5506. \end_layout
  5507. \end_inset
  5508. : on output, the current date
  5509. \end_layout
  5510. \begin_layout Subsubsection*
  5511. Description:
  5512. \end_layout
  5513. \begin_layout Standard
  5514. This subroutine gets the current date associated to the calendar of the
  5515. current context.
  5516. It must not be used before the calendar was created.
  5517. \end_layout
  5518. \begin_layout Subsection*
  5519. Accessing the year length of the current calendar
  5520. \end_layout
  5521. \begin_layout Subsubsection*
  5522. Synopsis:
  5523. \end_layout
  5524. \begin_layout LyX-Code
  5525. INTEGER FUNCTION xios_get_year_length_in_seconds(year)
  5526. \begin_inset Newline newline
  5527. \end_inset
  5528. INTEGER, INTENT(IN) :: year
  5529. \end_layout
  5530. \begin_layout Subsubsection*
  5531. Arguments:
  5532. \end_layout
  5533. \begin_layout Itemize
  5534. \begin_inset Flex Code
  5535. status collapsed
  5536. \begin_layout Plain Layout
  5537. year
  5538. \end_layout
  5539. \end_inset
  5540. : the year whose length is requested
  5541. \end_layout
  5542. \begin_layout Subsubsection*
  5543. Description:
  5544. \end_layout
  5545. \begin_layout Standard
  5546. This function returns the duration in seconds of the specified year, taking
  5547. leap years into account based on the calendar of the current context.
  5548. It must not be used before the calendar was created.
  5549. \end_layout
  5550. \begin_layout Subsection*
  5551. Accessing the day length of the current calendar
  5552. \end_layout
  5553. \begin_layout Subsubsection*
  5554. Synopsis:
  5555. \end_layout
  5556. \begin_layout LyX-Code
  5557. INTEGER FUNCTION xios_get_day_length_in_seconds()
  5558. \end_layout
  5559. \begin_layout Subsubsection*
  5560. Arguments: None
  5561. \end_layout
  5562. \begin_layout Subsubsection*
  5563. Description:
  5564. \end_layout
  5565. \begin_layout Standard
  5566. This function returns the duration in seconds of a day, based on the calendar
  5567. of the current context.
  5568. It must not be used before the calendar was created.
  5569. \end_layout
  5570. \begin_layout Section*
  5571. Interface relative to duration handling
  5572. \end_layout
  5573. \begin_layout Subsection*
  5574. Duration constants
  5575. \end_layout
  5576. \begin_layout Standard
  5577. Some duration constants are available to ease duration handling:
  5578. \end_layout
  5579. \begin_layout Itemize
  5580. \begin_inset Flex Code
  5581. status collapsed
  5582. \begin_layout Plain Layout
  5583. xios_year
  5584. \end_layout
  5585. \end_inset
  5586. \end_layout
  5587. \begin_layout Itemize
  5588. \begin_inset Flex Code
  5589. status collapsed
  5590. \begin_layout Plain Layout
  5591. xios_month
  5592. \end_layout
  5593. \end_inset
  5594. \end_layout
  5595. \begin_layout Itemize
  5596. \begin_inset Flex Code
  5597. status collapsed
  5598. \begin_layout Plain Layout
  5599. xios_day
  5600. \end_layout
  5601. \end_inset
  5602. \end_layout
  5603. \begin_layout Itemize
  5604. \begin_inset Flex Code
  5605. status collapsed
  5606. \begin_layout Plain Layout
  5607. xios_hour
  5608. \end_layout
  5609. \end_inset
  5610. \end_layout
  5611. \begin_layout Itemize
  5612. \begin_inset Flex Code
  5613. status collapsed
  5614. \begin_layout Plain Layout
  5615. xios_minute
  5616. \end_layout
  5617. \end_inset
  5618. \end_layout
  5619. \begin_layout Itemize
  5620. \begin_inset Flex Code
  5621. status collapsed
  5622. \begin_layout Plain Layout
  5623. xios_second
  5624. \end_layout
  5625. \end_inset
  5626. \end_layout
  5627. \begin_layout Itemize
  5628. \begin_inset Flex Code
  5629. status collapsed
  5630. \begin_layout Plain Layout
  5631. xios_timestep
  5632. \end_layout
  5633. \end_inset
  5634. \end_layout
  5635. \begin_layout Subsection*
  5636. Arithmetic operations on durations
  5637. \end_layout
  5638. \begin_layout Standard
  5639. The following arithmetic operations on durations are available:
  5640. \end_layout
  5641. \begin_layout Itemize
  5642. Addition:
  5643. \begin_inset Flex Code
  5644. status collapsed
  5645. \begin_layout Plain Layout
  5646. xios_duration = xios_duration + xios_duration
  5647. \end_layout
  5648. \end_inset
  5649. \end_layout
  5650. \begin_layout Itemize
  5651. Subtraction:
  5652. \begin_inset Flex Code
  5653. status collapsed
  5654. \begin_layout Plain Layout
  5655. xios_duration = xios_duration - xios_duration
  5656. \end_layout
  5657. \end_inset
  5658. \end_layout
  5659. \begin_layout Itemize
  5660. Multiplication by a scalar value:
  5661. \begin_inset Flex Code
  5662. status collapsed
  5663. \begin_layout Plain Layout
  5664. xios_duration = scalar * xios_duration
  5665. \end_layout
  5666. \end_inset
  5667. or
  5668. \begin_inset Flex Code
  5669. status collapsed
  5670. \begin_layout Plain Layout
  5671. xios_duration = xios_duration * scalar
  5672. \end_layout
  5673. \end_inset
  5674. \end_layout
  5675. \begin_layout Itemize
  5676. Negation:
  5677. \begin_inset Flex Code
  5678. status collapsed
  5679. \begin_layout Plain Layout
  5680. xios_duration = -xios_duration
  5681. \end_layout
  5682. \end_inset
  5683. \end_layout
  5684. \begin_layout Subsection*
  5685. Comparison operations on durations
  5686. \end_layout
  5687. \begin_layout Standard
  5688. The following comparison operations on durations are available:
  5689. \end_layout
  5690. \begin_layout Itemize
  5691. Equality:
  5692. \begin_inset Flex Code
  5693. status collapsed
  5694. \begin_layout Plain Layout
  5695. LOGICAL = xios_duration == xios_duration
  5696. \end_layout
  5697. \end_inset
  5698. \end_layout
  5699. \begin_layout Itemize
  5700. Inequality:
  5701. \begin_inset Flex Code
  5702. status collapsed
  5703. \begin_layout Plain Layout
  5704. LOGICAL = xios_duration /= xios_duration
  5705. \end_layout
  5706. \end_inset
  5707. \end_layout
  5708. \begin_layout Section*
  5709. Interface relative to date handling
  5710. \end_layout
  5711. \begin_layout Subsection*
  5712. Arithmetic operations on dates
  5713. \end_layout
  5714. \begin_layout Standard
  5715. The following arithmetic operations on dates are available:
  5716. \end_layout
  5717. \begin_layout Itemize
  5718. Addition of a duration:
  5719. \begin_inset Flex Code
  5720. status collapsed
  5721. \begin_layout Plain Layout
  5722. xios_date = xios_date + xios_duration
  5723. \end_layout
  5724. \end_inset
  5725. \end_layout
  5726. \begin_layout Itemize
  5727. Subtraction of a duration:
  5728. \begin_inset Flex Code
  5729. status collapsed
  5730. \begin_layout Plain Layout
  5731. xios_date = xios_date - xios_duration
  5732. \end_layout
  5733. \end_inset
  5734. \end_layout
  5735. \begin_layout Itemize
  5736. Subtraction of two dates:
  5737. \begin_inset Flex Code
  5738. status collapsed
  5739. \begin_layout Plain Layout
  5740. xios_duration = xios_date - xios_date
  5741. \end_layout
  5742. \end_inset
  5743. \end_layout
  5744. \begin_layout Subsection*
  5745. Comparison operations on dates
  5746. \end_layout
  5747. \begin_layout Standard
  5748. The following comparison operations on dates are available:
  5749. \end_layout
  5750. \begin_layout Itemize
  5751. Equality:
  5752. \begin_inset Flex Code
  5753. status collapsed
  5754. \begin_layout Plain Layout
  5755. LOGICAL = xios_date == xios_date
  5756. \end_layout
  5757. \end_inset
  5758. \end_layout
  5759. \begin_layout Itemize
  5760. Inequality:
  5761. \begin_inset Flex Code
  5762. status collapsed
  5763. \begin_layout Plain Layout
  5764. LOGICAL = xios_date /= xios_date
  5765. \end_layout
  5766. \end_inset
  5767. \end_layout
  5768. \begin_layout Itemize
  5769. Less than:
  5770. \begin_inset Flex Code
  5771. status collapsed
  5772. \begin_layout Plain Layout
  5773. LOGICAL = xios_date < xios_date
  5774. \end_layout
  5775. \end_inset
  5776. \end_layout
  5777. \begin_layout Itemize
  5778. Less or equal:
  5779. \begin_inset Flex Code
  5780. status collapsed
  5781. \begin_layout Plain Layout
  5782. LOGICAL = xios_date <= xios_date
  5783. \end_layout
  5784. \end_inset
  5785. \end_layout
  5786. \begin_layout Itemize
  5787. Greater than:
  5788. \begin_inset Flex Code
  5789. status collapsed
  5790. \begin_layout Plain Layout
  5791. LOGICAL = xios_date > xios_date
  5792. \end_layout
  5793. \end_inset
  5794. \end_layout
  5795. \begin_layout Itemize
  5796. Greater or equal:
  5797. \begin_inset Flex Code
  5798. status collapsed
  5799. \begin_layout Plain Layout
  5800. LOGICAL = xios_date >= xios_date
  5801. \end_layout
  5802. \end_inset
  5803. \end_layout
  5804. \begin_layout Subsection*
  5805. Converting a date to a number of seconds since the time origin
  5806. \end_layout
  5807. \begin_layout Subsubsection*
  5808. Synopsis:
  5809. \end_layout
  5810. \begin_layout LyX-Code
  5811. FUNCTION INTEGER(kind = 8) xios_date_convert_to_seconds(date)
  5812. \begin_inset Newline newline
  5813. \end_inset
  5814. TYPE(xios_date), INTENT(IN) :: date
  5815. \end_layout
  5816. \begin_layout Subsubsection*
  5817. Arguments:
  5818. \end_layout
  5819. \begin_layout Itemize
  5820. \begin_inset Flex Code
  5821. status collapsed
  5822. \begin_layout Plain Layout
  5823. date
  5824. \end_layout
  5825. \end_inset
  5826. : the date to convert
  5827. \end_layout
  5828. \begin_layout Subsubsection*
  5829. Description:
  5830. \end_layout
  5831. \begin_layout Standard
  5832. This function returns the number of seconds since the time origin for the
  5833. specified date, based on the calendar of the current context.
  5834. It must not be used before the calendar was created.
  5835. \end_layout
  5836. \begin_layout Subsection*
  5837. Converting a date to a number of seconds since the beginning of the year
  5838. \end_layout
  5839. \begin_layout Subsubsection*
  5840. Synopsis:
  5841. \end_layout
  5842. \begin_layout LyX-Code
  5843. FUNCTION INTEGER xios(date_get_second_of_year)(date)
  5844. \begin_inset Newline newline
  5845. \end_inset
  5846. TYPE(xios_date), INTENT(IN) :: date
  5847. \end_layout
  5848. \begin_layout Subsubsection*
  5849. Arguments:
  5850. \end_layout
  5851. \begin_layout Itemize
  5852. \begin_inset Flex Code
  5853. status collapsed
  5854. \begin_layout Plain Layout
  5855. date
  5856. \end_layout
  5857. \end_inset
  5858. : the date to convert
  5859. \end_layout
  5860. \begin_layout Subsubsection*
  5861. Description:
  5862. \end_layout
  5863. \begin_layout Standard
  5864. This function returns the number of seconds since the beginning of the year
  5865. for the specified date, based on the calendar of the current context.
  5866. It must not be used before the calendar was created.
  5867. \end_layout
  5868. \begin_layout Subsection*
  5869. Converting a date to a number of days since the beginning of the year
  5870. \end_layout
  5871. \begin_layout Subsubsection*
  5872. Synopsis:
  5873. \end_layout
  5874. \begin_layout LyX-Code
  5875. FUNCTION DOUBLE_PRECISION xios_date_get_day_of_year(date)
  5876. \begin_inset Newline newline
  5877. \end_inset
  5878. TYPE(xios_date), INTENT(IN) :: date
  5879. \end_layout
  5880. \begin_layout Subsubsection*
  5881. Arguments:
  5882. \end_layout
  5883. \begin_layout Itemize
  5884. \begin_inset Flex Code
  5885. status collapsed
  5886. \begin_layout Plain Layout
  5887. date
  5888. \end_layout
  5889. \end_inset
  5890. : the date to convert
  5891. \end_layout
  5892. \begin_layout Subsubsection*
  5893. Description:
  5894. \end_layout
  5895. \begin_layout Standard
  5896. This function returns the number of days since the beginning of the year
  5897. for the specified date, based on the calendar of the current context.
  5898. It must not be used before the calendar was created.
  5899. \end_layout
  5900. \begin_layout Subsection*
  5901. Converting a date to a fraction of the current year
  5902. \end_layout
  5903. \begin_layout Subsubsection*
  5904. Synopsis:
  5905. \end_layout
  5906. \begin_layout LyX-Code
  5907. FUNCTION DOUBLE_PRECISION xios_date_get_fraction_of_year(date)
  5908. \begin_inset Newline newline
  5909. \end_inset
  5910. TYPE(xios_date), INTENT(IN) :: date
  5911. \end_layout
  5912. \begin_layout Subsubsection*
  5913. Arguments:
  5914. \end_layout
  5915. \begin_layout Itemize
  5916. \begin_inset Flex Code
  5917. status collapsed
  5918. \begin_layout Plain Layout
  5919. date
  5920. \end_layout
  5921. \end_inset
  5922. : the date to convert
  5923. \end_layout
  5924. \begin_layout Subsubsection*
  5925. Description:
  5926. \end_layout
  5927. \begin_layout Standard
  5928. This function returns the fraction of year corresponding to the specified
  5929. date, based on the calendar of the current context.
  5930. It must not be used before the calendar was created.
  5931. \end_layout
  5932. \begin_layout Subsection*
  5933. Converting a date to a number of seconds since the beginning of the day
  5934. \end_layout
  5935. \begin_layout Subsubsection*
  5936. Synopsis:
  5937. \end_layout
  5938. \begin_layout LyX-Code
  5939. FUNCTION INTEGER xios(date_get_second_of_day)(date)
  5940. \begin_inset Newline newline
  5941. \end_inset
  5942. TYPE(xios_date), INTENT(IN) :: date
  5943. \end_layout
  5944. \begin_layout Subsubsection*
  5945. Arguments:
  5946. \end_layout
  5947. \begin_layout Itemize
  5948. \begin_inset Flex Code
  5949. status collapsed
  5950. \begin_layout Plain Layout
  5951. date
  5952. \end_layout
  5953. \end_inset
  5954. : the date to convert
  5955. \end_layout
  5956. \begin_layout Subsubsection*
  5957. Description:
  5958. \end_layout
  5959. \begin_layout Standard
  5960. This function returns the number of seconds since the beginning of the day
  5961. for the specified date, based on the calendar of the current context.
  5962. It must not be used before the calendar was created.
  5963. \end_layout
  5964. \begin_layout Subsection*
  5965. Converting a date to a fraction of the current day
  5966. \end_layout
  5967. \begin_layout Subsubsection*
  5968. Synopsis:
  5969. \end_layout
  5970. \begin_layout LyX-Code
  5971. FUNCTION DOUBLE_PRECISION xios_date_get_fraction_of_day(date)
  5972. \begin_inset Newline newline
  5973. \end_inset
  5974. TYPE(xios_date), INTENT(IN) :: date
  5975. \end_layout
  5976. \begin_layout Subsubsection*
  5977. Arguments:
  5978. \end_layout
  5979. \begin_layout Itemize
  5980. \begin_inset Flex Code
  5981. status collapsed
  5982. \begin_layout Plain Layout
  5983. date
  5984. \end_layout
  5985. \end_inset
  5986. : the date to convert
  5987. \end_layout
  5988. \begin_layout Subsubsection*
  5989. Description:
  5990. \end_layout
  5991. \begin_layout Standard
  5992. This function returns the fraction of day corresponding to the specified
  5993. date, based on the calendar of the current context.
  5994. It must not be used before the calendar was created.
  5995. \end_layout
  5996. \end_body
  5997. \end_document