source: XIOS/trunk/doc/XIOS_reference_guide.lyx

Last change on this file was 1911, checked in by ymipsl, 15 months ago

Update of the reference guide.

YM

File size: 201.4 KB
Line 
1#LyX 2.3 created this file. For more info see http://www.lyx.org/
2\lyxformat 544
3\begin_document
4\begin_header
5\save_transient_properties true
6\origin unavailable
7\textclass book
8\use_default_options true
9\begin_modules
10logicalmkup
11\end_modules
12\maintain_unincluded_children false
13\language english
14\language_package auto
15\inputencoding auto
16\fontencoding global
17\font_roman "default" "default"
18\font_sans "default" "default"
19\font_typewriter "default" "default"
20\font_math "auto" "auto"
21\font_default_family default
22\use_non_tex_fonts false
23\font_sc false
24\font_osf false
25\font_sf_scale 100 100
26\font_tt_scale 100 100
27\use_microtype false
28\use_dash_ligatures false
29\graphics default
30\default_output_format default
31\output_sync 0
32\bibtex_command default
33\index_command default
34\paperfontsize default
35\spacing single
36\use_hyperref false
37\papersize a4paper
38\use_geometry false
39\use_package amsmath 1
40\use_package amssymb 1
41\use_package cancel 1
42\use_package esint 1
43\use_package mathdots 1
44\use_package mathtools 1
45\use_package mhchem 1
46\use_package stackrel 1
47\use_package stmaryrd 1
48\use_package undertilde 1
49\cite_engine basic
50\cite_engine_type default
51\biblio_style plain
52\use_bibtopic false
53\use_indices false
54\paperorientation portrait
55\suppress_date false
56\justification true
57\use_refstyle 0
58\use_minted 0
59\index Index
60\shortcut idx
61\color #008000
62\end_index
63\secnumdepth 3
64\tocdepth 3
65\paragraph_separation indent
66\paragraph_indentation default
67\is_math_indent 0
68\math_numbering_side default
69\quotes_style english
70\dynamic_quotes 0
71\papercolumns 1
72\papersides 1
73\paperpagestyle default
74\tracking_changes false
75\output_changes false
76\html_math_output 0
77\html_css_as_file 0
78\html_be_strict false
79\end_header
80
81\begin_body
82
83\begin_layout Title
84XIOS Fortran Reference Guide
85\end_layout
86
87\begin_layout Chapter
88Attribute reference
89\end_layout
90
91\begin_layout Section
92Context attribute reference
93\end_layout
94
95\begin_layout Section
96Calendar attribute reference
97\end_layout
98
99\begin_layout Subsection*
100type:
101\begin_inset Flex Emph
102status collapsed
103
104\begin_layout Plain Layout
105enumeration {Gregorian, Julian, D360, AllLeap, NoLeap, user_defined}
106\end_layout
107
108\end_inset
109
110
111\end_layout
112
113\begin_layout Standard
114Fortran:
115\end_layout
116
117\begin_layout LyX-Code
118CHARACTER(LEN=*) :: type
119\end_layout
120
121\begin_layout Standard
122Define the calendar used for the current context.
123 This attribute is mandatory and cannot be modified once it has been set.
124\begin_inset Newline newline
125\end_inset
126
127
128\begin_inset Newline newline
129\end_inset
130
131When using the Fortran interface, this attribute must be defined using the
132 following subroutine:
133\end_layout
134
135\begin_layout LyX-Code
136SUBROUTINE xios_define_calendar(type, timestep, start_date, time_origin,
137\begin_inset Newline newline
138\end_inset
139
140                                day_length, month_lengths, year_length,
141\begin_inset Newline newline
142\end_inset
143
144                                leap_year_month, leap_year_drift,
145\begin_inset Newline newline
146\end_inset
147
148                                leap_year_drift_offset)
149\end_layout
150
151\begin_layout Subsection*
152start_date:
153\begin_inset Flex Emph
154status collapsed
155
156\begin_layout Plain Layout
157date
158\end_layout
159
160\end_inset
161
162
163\end_layout
164
165\begin_layout Standard
166Fortran:
167\end_layout
168
169\begin_layout LyX-Code
170TYPE(xios_date) :: start_date
171\end_layout
172
173\begin_layout Standard
174Define the start date of the simulation for the current context.
175 This attribute is optional, the default value is
176\begin_inset Flex Emph
177status collapsed
178
179\begin_layout Plain Layout
180
181\series bold
1820000-01-01 00:00:00
183\end_layout
184
185\end_inset
186
187.
188 The
189\begin_inset Flex Strong
190status collapsed
191
192\begin_layout Plain Layout
193type
194\end_layout
195
196\end_inset
197
198 attribute must always be set at the same time or before this attribute
199 is defined.
200\begin_inset Newline newline
201\end_inset
202
203
204\begin_inset Newline newline
205\end_inset
206
207A partial date is allowed in the configuration file as long as the omitted
208 parts are at the end, in which case they are initialized as in the default
209 value.
210 Optionally an offset can be added to the date using the notation "
211\emph on
212+ duration
213\emph default
214".
215 
216\begin_inset Newline newline
217\end_inset
218
219
220\begin_inset Newline newline
221\end_inset
222
223When using the Fortran interface, this attribute can be defined at the same
224 time as the calendar
225\series bold
226type
227\series default
228:
229\end_layout
230
231\begin_layout LyX-Code
232SUBROUTINE xios_define_calendar(type, timestep, start_date, time_origin,
233\begin_inset Newline newline
234\end_inset
235
236                                day_length, month_lengths, year_length,
237\begin_inset Newline newline
238\end_inset
239
240                                leap_year_month, leap_year_drift,
241\begin_inset Newline newline
242\end_inset
243
244                                leap_year_drift_offset)
245\end_layout
246
247\begin_layout Standard
248or later using the following subroutine:
249\end_layout
250
251\begin_layout LyX-Code
252SUBROUTINE xios_set_start_date(start_date)
253\end_layout
254
255\begin_layout Subsection*
256time_origin:
257\begin_inset Flex Emph
258status collapsed
259
260\begin_layout Plain Layout
261date
262\end_layout
263
264\end_inset
265
266
267\end_layout
268
269\begin_layout Standard
270Fortran:
271\end_layout
272
273\begin_layout LyX-Code
274TYPE(xios_date) :: time_origin
275\end_layout
276
277\begin_layout Standard
278Define the time origin of a time axis.
279 It will appear as metadata attached to the time axis in an output file.
280 This attribute is optional, the default value is
281\begin_inset Flex Emph
282status collapsed
283
284\begin_layout Plain Layout
285
286\series bold
2870000-01-01 00:00:00
288\end_layout
289
290\end_inset
291
292.
293 The
294\begin_inset Flex Strong
295status collapsed
296
297\begin_layout Plain Layout
298type
299\end_layout
300
301\end_inset
302
303 attribute must always be set at the same time or before this attribute
304 is defined.
305\begin_inset Newline newline
306\end_inset
307
308
309\begin_inset Newline newline
310\end_inset
311
312A partial date is allowed in the configuration file as long as the omitted
313 parts are at the end, in which case they are initialized as in the default
314 value.
315 Optionally an offset can be added to the date using the notation "
316\emph on
317+ duration
318\emph default
319".
320 
321\begin_inset Newline newline
322\end_inset
323
324
325\begin_inset Newline newline
326\end_inset
327
328When using the Fortran interface, this attribute can be defined at the same
329 time as the calendar
330\series bold
331type
332\series default
333:
334\end_layout
335
336\begin_layout LyX-Code
337SUBROUTINE xios_define_calendar(type, timestep, start_date, time_origin,
338\begin_inset Newline newline
339\end_inset
340
341                                day_length, month_lengths, year_length,
342\begin_inset Newline newline
343\end_inset
344
345                                leap_year_month, leap_year_drift,
346\begin_inset Newline newline
347\end_inset
348
349                                leap_year_drift_offset)
350\end_layout
351
352\begin_layout Standard
353or later using the following subroutine:
354\end_layout
355
356\begin_layout LyX-Code
357SUBROUTINE xios_set_time_origin(time_origin)
358\end_layout
359
360\begin_layout Subsection*
361timestep:
362\begin_inset Flex Emph
363status collapsed
364
365\begin_layout Plain Layout
366duration
367\end_layout
368
369\end_inset
370
371
372\end_layout
373
374\begin_layout Standard
375Fortran:
376\end_layout
377
378\begin_layout LyX-Code
379TYPE(xios_duration) :: timestep
380\end_layout
381
382\begin_layout Standard
383Define the time step of the simulation for the current context.
384 This attribute is mandatory.
385\begin_inset Newline newline
386\end_inset
387
388
389\begin_inset Newline newline
390\end_inset
391
392When using the Fortran interface, this attribute can be defined at the same
393 time as the calendar
394\series bold
395type
396\series default
397:
398\end_layout
399
400\begin_layout LyX-Code
401SUBROUTINE xios_define_calendar(type, timestep, start_date, time_origin,
402\begin_inset Newline newline
403\end_inset
404
405                                day_length, month_lengths, year_length,
406\begin_inset Newline newline
407\end_inset
408
409                                leap_year_month, leap_year_drift,
410\begin_inset Newline newline
411\end_inset
412
413                                leap_year_drift_offset)
414\end_layout
415
416\begin_layout Standard
417or using the following subroutine:
418\end_layout
419
420\begin_layout LyX-Code
421SUBROUTINE xios_set_timestep(timestep)
422\end_layout
423
424\begin_layout Subsection*
425day_length:
426\begin_inset Flex Emph
427status collapsed
428
429\begin_layout Plain Layout
430integer
431\end_layout
432
433\end_inset
434
435
436\end_layout
437
438\begin_layout Standard
439Fortran:
440\end_layout
441
442\begin_layout LyX-Code
443INTEGER :: day_length
444\end_layout
445
446\begin_layout Standard
447Define the duration of a day in seconds when using a custom calendar.
448 This attribute is mandatory if the calendar
449\series bold
450type
451\series default
452 is set to "
453\emph on
454user_defined
455\emph default
456", otherwise it must not be defined.
457\begin_inset Newline newline
458\end_inset
459
460
461\begin_inset Newline newline
462\end_inset
463
464When using the Fortran interface, this attribute must be defined at the
465 same time as the calendar
466\series bold
467type
468\series default
469:
470\end_layout
471
472\begin_layout LyX-Code
473SUBROUTINE xios_define_calendar(type, timestep, start_date, time_origin,
474\begin_inset Newline newline
475\end_inset
476
477                                day_length, month_lengths, year_length,
478\begin_inset Newline newline
479\end_inset
480
481                                leap_year_month, leap_year_drift,
482\begin_inset Newline newline
483\end_inset
484
485                                leap_year_drift_offset)
486\end_layout
487
488\begin_layout Subsection*
489month_lengths:
490\begin_inset Flex Emph
491status collapsed
492
493\begin_layout Plain Layout
4941D-array of integer
495\end_layout
496
497\end_inset
498
499
500\end_layout
501
502\begin_layout Standard
503Fortran:
504\end_layout
505
506\begin_layout LyX-Code
507INTEGER :: month_lengths(:)
508\end_layout
509
510\begin_layout Standard
511Define the duration of each month, in days, when using a custom calendar.
512 The number of elements in the array defines the number of months in a year
513 and the sum of all elements is the total number of days in a year.
514 This attribute is mandatory if the calendar
515\series bold
516type
517\series default
518 is set to
519\series bold
520\emph on
521user_defined
522\series default
523\emph default
524 and the
525\series bold
526year_length
527\series default
528 attribute is not used, otherwise it must not be defined.
529\begin_inset Newline newline
530\end_inset
531
532
533\begin_inset Newline newline
534\end_inset
535
536When using the Fortran interface, this attribute must be defined at the
537 same time as the calendar
538\series bold
539type
540\series default
541:
542\end_layout
543
544\begin_layout LyX-Code
545SUBROUTINE xios_define_calendar(type, timestep, start_date, time_origin,
546\begin_inset Newline newline
547\end_inset
548
549                                day_length, month_lengths, year_length,
550\begin_inset Newline newline
551\end_inset
552
553                                leap_year_month, leap_year_drift,
554\begin_inset Newline newline
555\end_inset
556
557                                leap_year_drift_offset)
558\end_layout
559
560\begin_layout Subsection*
561year_length:
562\begin_inset Flex Emph
563status collapsed
564
565\begin_layout Plain Layout
566integer
567\end_layout
568
569\end_inset
570
571
572\end_layout
573
574\begin_layout Standard
575Fortran:
576\end_layout
577
578\begin_layout LyX-Code
579INTEGER :: year_length
580\end_layout
581
582\begin_layout Standard
583Define the duration of a year, in seconds, when using a custom calendar.
584 This attribute is mandatory if the calendar
585\series bold
586type
587\series default
588 is set to
589\series bold
590\emph on
591user_defined
592\series default
593\emph default
594 and the
595\series bold
596month_lengths
597\series default
598 attribute is not used, otherwise it must not be defined.
599\begin_inset Newline newline
600\end_inset
601
602
603\begin_inset Newline newline
604\end_inset
605
606Note that the date format is modified when using this attribute: the month
607 must be always be omitted and the day must also be omitted if
608\begin_inset Formula $year\_length\leq day\_length$
609\end_inset
610
611.
612\begin_inset Newline newline
613\end_inset
614
615
616\begin_inset Newline newline
617\end_inset
618
619When using the Fortran interface, this attribute must be defined at the
620 same time as the calendar
621\series bold
622type
623\series default
624:
625\end_layout
626
627\begin_layout LyX-Code
628SUBROUTINE xios_define_calendar(type, timestep, start_date, time_origin,
629\begin_inset Newline newline
630\end_inset
631
632                                day_length, month_lengths, year_length,
633\begin_inset Newline newline
634\end_inset
635
636                                leap_year_month, leap_year_drift,
637\begin_inset Newline newline
638\end_inset
639
640                                leap_year_drift_offset)
641\end_layout
642
643\begin_layout Subsection*
644leap_year_month:
645\begin_inset Flex Emph
646status collapsed
647
648\begin_layout Plain Layout
649integer
650\end_layout
651
652\end_inset
653
654
655\end_layout
656
657\begin_layout Standard
658Fortran:
659\end_layout
660
661\begin_layout LyX-Code
662INTEGER :: leap_year_month
663\end_layout
664
665\begin_layout Standard
666Define the month to which the extra day will be added in case of leap year,
667 when using a custom calendar.
668 This attribute is optional if the calendar
669\series bold
670type
671\series default
672 is set to
673\series bold
674\emph on
675user_defined
676\series default
677\emph default
678 and the
679\series bold
680month_lengths
681\series default
682 attribute is used, otherwise it must not be defined.
683 The default behavior is not to have any leap year.
684 If defined, this attribute must comply with the following constraint:
685\begin_inset Formula $1\leq leap\_year\_month\leq size(month\_lengths)$
686\end_inset
687
688 and the
689\series bold
690leap_year_drift
691\series default
692 attribute must also be defined.
693\begin_inset Newline newline
694\end_inset
695
696
697\begin_inset Newline newline
698\end_inset
699
700When using the Fortran interface, this attribute must be defined at the
701 same time as the calendar
702\series bold
703type
704\series default
705:
706\end_layout
707
708\begin_layout LyX-Code
709SUBROUTINE xios_define_calendar(type, timestep, start_date, time_origin,
710\begin_inset Newline newline
711\end_inset
712
713                                day_length, month_lengths, year_length,
714\begin_inset Newline newline
715\end_inset
716
717                                leap_year_month, leap_year_drift,
718\begin_inset Newline newline
719\end_inset
720
721                                leap_year_drift_offset)
722\end_layout
723
724\begin_layout Subsection*
725leap_year_drift:
726\begin_inset Flex Emph
727status collapsed
728
729\begin_layout Plain Layout
730double
731\end_layout
732
733\end_inset
734
735
736\end_layout
737
738\begin_layout Standard
739Fortran:
740\end_layout
741
742\begin_layout LyX-Code
743DOUBLE PRECISION :: leap_year_drift
744\end_layout
745
746\begin_layout Standard
747Define the yearly drift, expressed as a fraction of a day, between the calendar
748 year and the astronomical year, when using a custom calendar.
749 This attribute is optional if the calendar
750\series bold
751type
752\series default
753 is set to
754\series bold
755\emph on
756user_defined
757\series default
758\emph default
759 and the
760\series bold
761month_lengths
762\series default
763 attribute is used, otherwise it must not be defined.
764 The default behavior is not to have any leap year, i.e.
765 the default value is
766\begin_inset Formula $\mathbf{0}$
767\end_inset
768
769.
770 If defined, this attribute must comply with the following constraint:
771\begin_inset Formula $0\leq leap\_year\_drift<1$
772\end_inset
773
774 and the
775\series bold
776leap_year_month
777\series default
778 attribute must also be defined.
779\begin_inset Newline newline
780\end_inset
781
782
783\begin_inset Newline newline
784\end_inset
785
786When using the Fortran interface, this attribute must be defined at the
787 same time as the calendar
788\series bold
789type
790\series default
791:
792\end_layout
793
794\begin_layout LyX-Code
795SUBROUTINE xios_define_calendar(type, timestep, start_date, time_origin,
796\begin_inset Newline newline
797\end_inset
798
799                                day_length, month_lengths, year_length,
800\begin_inset Newline newline
801\end_inset
802
803                                leap_year_month, leap_year_drift,
804\begin_inset Newline newline
805\end_inset
806
807                                leap_year_drift_offset)
808\end_layout
809
810\begin_layout Subsection*
811leap_year_drift_offset:
812\begin_inset Flex Emph
813status collapsed
814
815\begin_layout Plain Layout
816double
817\end_layout
818
819\end_inset
820
821
822\end_layout
823
824\begin_layout Standard
825Fortran:
826\end_layout
827
828\begin_layout LyX-Code
829DOUBLE PRECISION :: leap_year_drift_offset
830\end_layout
831
832\begin_layout Standard
833Define the initial drift between the calendar year and the astronomical
834 year, expressed as a fraction of a day, at the beginning of the time origin's
835 year, when using a custom calendar.
836 This attribute is optional if the
837\series bold
838leap_year_month
839\series default
840 and
841\series bold
842leap_year_drift
843\series default
844 attributes are used, otherwise it must not be defined.
845 The default value is
846\begin_inset Formula $\mathbf{0}$
847\end_inset
848
849.
850 If defined, this attribute must comply with the following constraint:
851\begin_inset Formula $0\leq leap\_year\_drift\_offset<1$
852\end_inset
853
854.
855 If
856\begin_inset Formula $leap\_yeap\_drift\_offset+leap\_yeap\_drift$
857\end_inset
858
859 is greater or equal to 1, then the first year will be a leap year.
860\begin_inset Newline newline
861\end_inset
862
863
864\begin_inset Newline newline
865\end_inset
866
867When using the Fortran interface, this attribute must be defined at the
868 same time as the calendar
869\series bold
870type
871\series default
872:
873\end_layout
874
875\begin_layout LyX-Code
876SUBROUTINE xios_define_calendar(type, timestep, start_date, time_origin,
877\begin_inset Newline newline
878\end_inset
879
880                                day_length, month_lengths, year_length,
881\begin_inset Newline newline
882\end_inset
883
884                                leap_year_month, leap_year_drift,
885\begin_inset Newline newline
886\end_inset
887
888                                leap_year_drift_offset)
889\end_layout
890
891\begin_layout Section
892Scalar attribute reference
893\end_layout
894
895\begin_layout Subsection*
896name (optional):
897\begin_inset Flex Emph
898status collapsed
899
900\begin_layout Plain Layout
901string
902\end_layout
903
904\end_inset
905
906
907\end_layout
908
909\begin_layout Standard
910Fortran:
911\end_layout
912
913\begin_layout LyX-Code
914CHARACTER(LEN=*) :: name
915\end_layout
916
917\begin_layout Standard
918Defines the name of a scalar as it will appear in a file.
919 If not defined, the name will be generated automatically based on the id.
920 If multiple scalars are defined in the same file, each scalar must have
921 a unique name.
922 
923\end_layout
924
925\begin_layout Subsection*
926standard_name (optional):
927\begin_inset Flex Emph
928status collapsed
929
930\begin_layout Plain Layout
931string
932\end_layout
933
934\end_inset
935
936
937\end_layout
938
939\begin_layout Standard
940Fortran:
941\end_layout
942
943\begin_layout LyX-Code
944CHARACTER(LEN=*) :: standard_name
945\end_layout
946
947\begin_layout Standard
948Defines the standard name of a scalar as it will appear in the scalar's
949 metadata in an output file.
950 
951\end_layout
952
953\begin_layout Subsection*
954long_name (optional):
955\begin_inset Flex Emph
956status collapsed
957
958\begin_layout Plain Layout
959string
960\end_layout
961
962\end_inset
963
964
965\end_layout
966
967\begin_layout Standard
968Fortran:
969\end_layout
970
971\begin_layout LyX-Code
972CHARACTER(LEN=*) :: long_name
973\end_layout
974
975\begin_layout Standard
976Defines the long name of a scalar as it will appear in the scalar's metadata
977 in an output file.
978 
979\end_layout
980
981\begin_layout Subsection*
982unit (optional):
983\begin_inset Flex Emph
984status collapsed
985
986\begin_layout Plain Layout
987string
988\end_layout
989
990\end_inset
991
992
993\end_layout
994
995\begin_layout Standard
996Fortran:
997\end_layout
998
999\begin_layout LyX-Code
1000CHARACTER(LEN=*) :: unit
1001\end_layout
1002
1003\begin_layout Standard
1004Defines the scalar unit as it will appear in the scalar's metadata in an
1005 output file.
1006\end_layout
1007
1008\begin_layout Subsection*
1009value (optional):
1010\begin_inset Flex Emph
1011status collapsed
1012
1013\begin_layout Plain Layout
1014double
1015\end_layout
1016
1017\end_inset
1018
1019
1020\end_layout
1021
1022\begin_layout Standard
1023Fortran:
1024\end_layout
1025
1026\begin_layout LyX-Code
1027DOUBLE PRECISION :: value
1028\end_layout
1029
1030\begin_layout Standard
1031Defines the value of a scalar.
1032 If both, the label and the value, are set then only the label will be written
1033 into a file.
1034\end_layout
1035
1036\begin_layout Subsection*
1037bounds (optional):
1038\begin_inset Flex Emph
1039status collapsed
1040
1041\begin_layout Plain Layout
10421D-array of double
1043\end_layout
1044
1045\end_inset
1046
1047
1048\end_layout
1049
1050\begin_layout Standard
1051Fortran:
1052\end_layout
1053
1054\begin_layout LyX-Code
1055DOUBLE PRECISION :: bounds(:)
1056\end_layout
1057
1058\begin_layout Standard
1059Defines (two) scalar boundaries.
1060 The array size must should be equal to 2.
1061\end_layout
1062
1063\begin_layout Subsection*
1064bounds_name (optional):
1065\begin_inset Flex Emph
1066status collapsed
1067
1068\begin_layout Plain Layout
1069string
1070\end_layout
1071
1072\end_inset
1073
1074
1075\end_layout
1076
1077\begin_layout Standard
1078Fortran:
1079\end_layout
1080
1081\begin_layout LyX-Code
1082CHARACTER(LEN=*) :: bounds_name
1083\end_layout
1084
1085\begin_layout Standard
1086Defines the name of scalar bounds as it will appear in a file.
1087 If not defined, the name will be generated automatically based on the scalar
1088 id.
1089\end_layout
1090
1091\begin_layout Subsection*
1092prec (optional):
1093\emph on
1094integer
1095\end_layout
1096
1097\begin_layout Standard
1098Fortran:
1099\end_layout
1100
1101\begin_layout LyX-Code
1102INTEGER :: prec
1103\end_layout
1104
1105\begin_layout Standard
1106Defines the precision in bytes of scalar value and boundaries as it will
1107 be written into an output file.
1108 Available values are: 4 (float single precision) and 8 (float double precision).
1109 The default value is 4.
1110\end_layout
1111
1112\begin_layout Subsection*
1113label (optional):
1114\begin_inset Flex Emph
1115status collapsed
1116
1117\begin_layout Plain Layout
1118string
1119\end_layout
1120
1121\end_inset
1122
1123
1124\end_layout
1125
1126\begin_layout Standard
1127Fortran:
1128\end_layout
1129
1130\begin_layout LyX-Code
1131CHARACTER(LEN=*) :: label
1132\end_layout
1133
1134\begin_layout Standard
1135Defines the label of a scalar.
1136 If both, the label and the value, are set then only the label will be output
1137 into a file.
1138\end_layout
1139
1140\begin_layout Subsection*
1141scalar_ref (optional): string
1142\end_layout
1143
1144\begin_layout Standard
1145Fortran:
1146\end_layout
1147
1148\begin_layout LyX-Code
1149CHARACTER(LEN=*) :: scalar_ref
1150\end_layout
1151
1152\begin_layout Standard
1153Defines the reference to a scalar.
1154 All attributes will be inherited from the referenced scalar via the classical
1155 inheritance mechanism.
1156 The value assigned to the referenced scalar will be transmitted to the
1157 current scalar.
1158\end_layout
1159
1160\begin_layout Subsection*
1161positive (optional):
1162\begin_inset Flex Emph
1163status collapsed
1164
1165\begin_layout Plain Layout
1166enumeration {up, down}
1167\end_layout
1168
1169\end_inset
1170
1171
1172\end_layout
1173
1174\begin_layout Standard
1175Fortran:
1176\end_layout
1177
1178\begin_layout LyX-Code
1179CHARACTER(LEN=*) :: positive
1180\end_layout
1181
1182\begin_layout Standard
1183Defines the positive direction for fields representing height or depth.
1184\end_layout
1185
1186\begin_layout Subsection*
1187axis_type (optional):
1188\begin_inset Flex Emph
1189status collapsed
1190
1191\begin_layout Plain Layout
1192enumeration {X, Y, Z, T}
1193\end_layout
1194
1195\end_inset
1196
1197
1198\end_layout
1199
1200\begin_layout Standard
1201Fortran:
1202\end_layout
1203
1204\begin_layout LyX-Code
1205CHARACTER(LEN=*) :: axis_type
1206\end_layout
1207
1208\begin_layout Standard
1209Defines the type of a (scalar) axis.
1210 The values correspond to the following axis types:
1211\end_layout
1212
1213\begin_layout Itemize
1214
1215\series bold
1216\shape italic
1217X:
1218\series default
1219\shape default
1220 longitude
1221\end_layout
1222
1223\begin_layout Itemize
1224
1225\series bold
1226\shape italic
1227\emph on
1228Y
1229\emph default
1230:
1231\series default
1232\shape default
1233 latitude
1234\end_layout
1235
1236\begin_layout Itemize
1237
1238\series bold
1239\shape italic
1240\emph on
1241Z
1242\emph default
1243:
1244\series default
1245\shape default
1246 vertical axis
1247\end_layout
1248
1249\begin_layout Itemize
1250
1251\series bold
1252\shape italic
1253T:
1254\series default
1255\shape default
1256time axis.
1257\end_layout
1258
1259\begin_layout Subsection*
1260comment:
1261\begin_inset Flex Emph
1262status collapsed
1263
1264\begin_layout Plain Layout
1265string
1266\end_layout
1267
1268\end_inset
1269
1270
1271\end_layout
1272
1273\begin_layout Standard
1274Fortran:
1275\end_layout
1276
1277\begin_layout LyX-Code
1278CHARACTER(LEN=*) :: comment
1279\end_layout
1280
1281\begin_layout Standard
1282Allows a user to set a comment.
1283 
1284\end_layout
1285
1286\begin_layout Section
1287Axis attribute reference
1288\end_layout
1289
1290\begin_layout Subsection*
1291name (optional):
1292\begin_inset Flex Emph
1293status collapsed
1294
1295\begin_layout Plain Layout
1296string
1297\end_layout
1298
1299\end_inset
1300
1301
1302\end_layout
1303
1304\begin_layout Standard
1305Fortran:
1306\end_layout
1307
1308\begin_layout LyX-Code
1309CHARACTER(LEN=*) :: name
1310\end_layout
1311
1312\begin_layout Standard
1313Defines the name of a vertical axis as it will appear in an output file.
1314 If not defined, the name will be generated automatically based on the axis
1315 id.
1316 If multiple vertical axes are defined in the same file, each axis must
1317 have a unique name.
1318 
1319\end_layout
1320
1321\begin_layout Subsection*
1322standard_name (optional):
1323\begin_inset Flex Emph
1324status collapsed
1325
1326\begin_layout Plain Layout
1327string
1328\end_layout
1329
1330\end_inset
1331
1332
1333\end_layout
1334
1335\begin_layout Standard
1336Fortran:
1337\end_layout
1338
1339\begin_layout LyX-Code
1340CHARACTER(LEN=*) :: standard_name
1341\end_layout
1342
1343\begin_layout Standard
1344Defines the standard name of a vertical axis as it will appear in the axis'
1345 metadata in an output file.
1346 
1347\end_layout
1348
1349\begin_layout Subsection*
1350long_name (optional):
1351\begin_inset Flex Emph
1352status collapsed
1353
1354\begin_layout Plain Layout
1355string
1356\end_layout
1357
1358\end_inset
1359
1360
1361\end_layout
1362
1363\begin_layout Standard
1364Fortran:
1365\end_layout
1366
1367\begin_layout LyX-Code
1368CHARACTER(LEN=*) :: long_name
1369\end_layout
1370
1371\begin_layout Standard
1372Defines the long name of a vertical axis as it will appear in the axis'
1373 metadata in an output file.
1374 
1375\end_layout
1376
1377\begin_layout Subsection*
1378unit (optional):
1379\begin_inset Flex Emph
1380status collapsed
1381
1382\begin_layout Plain Layout
1383string
1384\end_layout
1385
1386\end_inset
1387
1388
1389\end_layout
1390
1391\begin_layout Standard
1392Fortran:
1393\end_layout
1394
1395\begin_layout LyX-Code
1396CHARACTER(LEN=*) :: unit
1397\end_layout
1398
1399\begin_layout Standard
1400Defines the unit of an axis as it will appear in the axis' metadata in an
1401 output file.
1402\end_layout
1403
1404\begin_layout Subsection*
1405dim_name (optional):
1406\begin_inset Flex Emph
1407status collapsed
1408
1409\begin_layout Plain Layout
1410string
1411\end_layout
1412
1413\end_inset
1414
1415
1416\end_layout
1417
1418\begin_layout Standard
1419Fortran:
1420\end_layout
1421
1422\begin_layout LyX-Code
1423CHARACTER(LEN=*) :: dim_name
1424\end_layout
1425
1426\begin_layout Standard
1427Defines the name of axis dimension as it will appear in the file's metadata.
1428 The default axis dimension name is the axis name.
1429\end_layout
1430
1431\begin_layout Subsection*
1432formula (optional):
1433\begin_inset Flex Emph
1434status collapsed
1435
1436\begin_layout Plain Layout
1437string
1438\end_layout
1439
1440\end_inset
1441
1442
1443\end_layout
1444
1445\begin_layout Standard
1446Fortran:
1447\end_layout
1448
1449\begin_layout LyX-Code
1450CHARACTER(LEN=*) :: formula
1451\end_layout
1452
1453\begin_layout Standard
1454Adds the
1455\begin_inset Flex Code
1456status open
1457
1458\begin_layout Plain Layout
1459formula
1460\end_layout
1461
1462\end_inset
1463
1464 attribute to the metadata associated to the axis in the output file, for
1465 CF conformance.
1466\end_layout
1467
1468\begin_layout Subsection*
1469formula_term (optional):
1470\begin_inset Flex Emph
1471status collapsed
1472
1473\begin_layout Plain Layout
1474string
1475\end_layout
1476
1477\end_inset
1478
1479
1480\end_layout
1481
1482\begin_layout Standard
1483Fortran:
1484\end_layout
1485
1486\begin_layout LyX-Code
1487CHARACTER(LEN=*) :: formula_term
1488\end_layout
1489
1490\begin_layout Standard
1491Adds the
1492\begin_inset Flex Code
1493status open
1494
1495\begin_layout Plain Layout
1496formula_term
1497\end_layout
1498
1499\end_inset
1500
1501 attribute to the metadata associated to the axis in the output file, for
1502 CF conformance.
1503\end_layout
1504
1505\begin_layout Subsection*
1506formula_bounds (optional):
1507\begin_inset Flex Emph
1508status collapsed
1509
1510\begin_layout Plain Layout
1511string
1512\end_layout
1513
1514\end_inset
1515
1516
1517\end_layout
1518
1519\begin_layout Standard
1520Fortran:
1521\end_layout
1522
1523\begin_layout LyX-Code
1524CHARACTER(LEN=*) :: formula_bounds
1525\end_layout
1526
1527\begin_layout Standard
1528Adds the
1529\begin_inset Flex Code
1530status open
1531
1532\begin_layout Plain Layout
1533formula
1534\end_layout
1535
1536\end_inset
1537
1538 attribute to the metadata associated to the axis boundairies in the output
1539 file, for CF conformance.
1540 This attribute is meaningfull if
1541\begin_inset Flex Code
1542status open
1543
1544\begin_layout Plain Layout
1545axis_bounds
1546\end_layout
1547
1548\end_inset
1549
1550 is not defined.
1551\end_layout
1552
1553\begin_layout Subsection*
1554formula_term_bounds (optional):
1555\begin_inset Flex Emph
1556status collapsed
1557
1558\begin_layout Plain Layout
1559string
1560\end_layout
1561
1562\end_inset
1563
1564
1565\end_layout
1566
1567\begin_layout Standard
1568Fortran:
1569\end_layout
1570
1571\begin_layout LyX-Code
1572CHARACTER(LEN=*) :: formula_term_bounds
1573\end_layout
1574
1575\begin_layout Standard
1576Adds the
1577\begin_inset Flex Code
1578status open
1579
1580\begin_layout Plain Layout
1581formula_term
1582\end_layout
1583
1584\end_inset
1585
1586 attribute to the metadata associated to the axis boundairies in the output
1587 file, for CF conformance.
1588 This attribute is meaningfull if
1589\begin_inset Flex Code
1590status open
1591
1592\begin_layout Plain Layout
1593axis_bounds
1594\end_layout
1595
1596\end_inset
1597
1598 is not defined.
1599\end_layout
1600
1601\begin_layout Subsection*
1602n_glo (mandatory):
1603\begin_inset Flex Emph
1604status collapsed
1605
1606\begin_layout Plain Layout
1607integer
1608\end_layout
1609
1610\end_inset
1611
1612
1613\end_layout
1614
1615\begin_layout Standard
1616Fortran:
1617\end_layout
1618
1619\begin_layout LyX-Code
1620INTEGER :: n_glo
1621\end_layout
1622
1623\begin_layout Standard
1624Defines the global size of an axis.
1625\end_layout
1626
1627\begin_layout Subsection*
1628begin (optional):
1629\begin_inset Flex Emph
1630status collapsed
1631
1632\begin_layout Plain Layout
1633integer
1634\end_layout
1635
1636\end_inset
1637
1638
1639\end_layout
1640
1641\begin_layout Standard
1642Fortran:
1643\end_layout
1644
1645\begin_layout LyX-Code
1646INTEGER :: begin
1647\end_layout
1648
1649\begin_layout Standard
1650Defines the beginning index of the local domain.
1651 It can take value between 0 and
1652\begin_inset Flex Strong
1653status collapsed
1654
1655\begin_layout Plain Layout
1656n_glo-1
1657\end_layout
1658
1659\end_inset
1660
1661.
1662 If not specified the default value is 0.
1663\end_layout
1664
1665\begin_layout Subsection*
1666n (optional):
1667\begin_inset Flex Emph
1668status collapsed
1669
1670\begin_layout Plain Layout
1671integer
1672\end_layout
1673
1674\end_inset
1675
1676
1677\end_layout
1678
1679\begin_layout Standard
1680Fortran:
1681\end_layout
1682
1683\begin_layout LyX-Code
1684INTEGER :: n
1685\end_layout
1686
1687\begin_layout Standard
1688Defines the local size of an axis.
1689 It can take value between 0 and
1690\begin_inset Flex Strong
1691status collapsed
1692
1693\begin_layout Plain Layout
1694n_glo
1695\end_layout
1696
1697\end_inset
1698
1699.
1700 If not specified the default value is
1701\begin_inset Flex Strong
1702status collapsed
1703
1704\begin_layout Plain Layout
1705n_glo
1706\end_layout
1707
1708\end_inset
1709
1710.
1711 Local axis decomposition can be declared either with attributes
1712\series bold
1713\shape italic
1714{n, begin}
1715\series default
1716\shape default
1717 or with
1718\series bold
1719\shape italic
1720index
1721\series default
1722\shape default
1723.
1724\end_layout
1725
1726\begin_layout Subsection*
1727index (optional):
1728\begin_inset Flex Emph
1729status collapsed
1730
1731\begin_layout Plain Layout
17321D-array of double
1733\end_layout
1734
1735\end_inset
1736
1737
1738\end_layout
1739
1740\begin_layout Standard
1741Fortran:
1742\end_layout
1743
1744\begin_layout LyX-Code
1745DOUBLE PRECISION :: index(:)
1746\end_layout
1747
1748\begin_layout Standard
1749Defines the global indexes of a local axis held by each process.
1750 If the attribute is specified, its array size must be equal to
1751\begin_inset Flex Strong
1752status collapsed
1753
1754\begin_layout Plain Layout
1755n
1756\end_layout
1757
1758\end_inset
1759
1760.
1761 Local axis decomposition can be declared either with attributes
1762\series bold
1763\shape italic
1764{n, begin}
1765\series default
1766\shape default
1767 or with
1768\series bold
1769\shape italic
1770index
1771\series default
1772\shape default
1773.
1774\end_layout
1775
1776\begin_layout Subsection*
1777value (optional):
1778\begin_inset Flex Emph
1779status collapsed
1780
1781\begin_layout Plain Layout
17821D-array of double
1783\end_layout
1784
1785\end_inset
1786
1787
1788\end_layout
1789
1790\begin_layout Standard
1791Fortran:
1792\end_layout
1793
1794\begin_layout LyX-Code
1795DOUBLE PRECISION :: value(:)
1796\end_layout
1797
1798\begin_layout Standard
1799Defines the value of each level of a vertical axis.
1800 The array size must be equal to the value of the attribute
1801\begin_inset Flex Strong
1802status collapsed
1803
1804\begin_layout Plain Layout
1805n
1806\end_layout
1807
1808\end_inset
1809
1810.
1811 If the label is provided then only the label will be written into a file
1812 and not the axis value and the axis boundaries.
1813\end_layout
1814
1815\begin_layout Subsection*
1816bounds (optional):
1817\begin_inset Flex Emph
1818status collapsed
1819
1820\begin_layout Plain Layout
18212D-array of double
1822\end_layout
1823
1824\end_inset
1825
1826
1827\end_layout
1828
1829\begin_layout Standard
1830Fortran:
1831\end_layout
1832
1833\begin_layout LyX-Code
1834DOUBLE PRECISION :: bounds(:,:)
1835\end_layout
1836
1837\begin_layout Standard
1838Defines the boundaries of each level of a vertical axis.
1839 The dimensions of the array must be
1840\begin_inset Formula $2\times n$
1841\end_inset
1842
1843.
1844\end_layout
1845
1846\begin_layout Subsection*
1847bounds_name (optional):
1848\begin_inset Flex Emph
1849status collapsed
1850
1851\begin_layout Plain Layout
1852string
1853\end_layout
1854
1855\end_inset
1856
1857
1858\end_layout
1859
1860\begin_layout Standard
1861Fortran:
1862\end_layout
1863
1864\begin_layout LyX-Code
1865CHARACTER(LEN=*) :: bounds_name
1866\end_layout
1867
1868\begin_layout Standard
1869Defines the name of axis boundaries as it will appear in an ouput file.
1870 If not defined, the name will be generated automatically based on the axis
1871 id.
1872\end_layout
1873
1874\begin_layout Subsection*
1875prec (optional):
1876\emph on
1877integer
1878\end_layout
1879
1880\begin_layout Standard
1881Fortran:
1882\end_layout
1883
1884\begin_layout LyX-Code
1885INTEGER :: prec
1886\end_layout
1887
1888\begin_layout Standard
1889Defines the precision in bytes of axis value and boundaries as it will be
1890 written into an output file.
1891 Available values are: 4 (float single precision) and 8 (float double precision).
1892 The default value is 4.
1893\end_layout
1894
1895\begin_layout Subsection*
1896label (optional):
1897\begin_inset Flex Emph
1898status collapsed
1899
1900\begin_layout Plain Layout
1901string
1902\end_layout
1903
1904\end_inset
1905
1906
1907\end_layout
1908
1909\begin_layout Standard
1910Fortran:
1911\end_layout
1912
1913\begin_layout LyX-Code
1914CHARACTER, ALLOCATABLE :: label(:)
1915\end_layout
1916
1917\begin_layout Standard
1918Defines the label of an axis.
1919 The size of the array must be equal to the value of the attribute
1920\begin_inset Flex Strong
1921status collapsed
1922
1923\begin_layout Plain Layout
1924n
1925\end_layout
1926
1927\end_inset
1928
1929.
1930 If the label is provided then only the label will be written into a file
1931 and not the axis value and the axis boundaries.
1932\end_layout
1933
1934\begin_layout Subsection*
1935data_begin (optional):
1936\emph on
1937 integer
1938\end_layout
1939
1940\begin_layout Standard
1941Fortran:
1942\end_layout
1943
1944\begin_layout LyX-Code
1945INTEGER :: data_begin
1946\end_layout
1947
1948\begin_layout Standard
1949Defines the beginning index of local field data owned by each process.
1950 The attribute is an offset relative to the local axis, so the value can
1951 be negative.
1952 A negative value indicates that only some valid part of the data will extracted
1953, for example in the case of a ghost cell.
1954 A positive value indicates that the local domain is greater than the data
1955 stored in memory.
1956 The 0-value means that the local domain matches the data in memory.
1957 The default value is 0.
1958 The attributes
1959\begin_inset Flex Strong
1960status collapsed
1961
1962\begin_layout Plain Layout
1963data_begin
1964\end_layout
1965
1966\end_inset
1967
1968 and
1969\begin_inset Flex Strong
1970status collapsed
1971
1972\begin_layout Plain Layout
1973data_n
1974\end_layout
1975
1976\end_inset
1977
1978 must be defined together.
1979\end_layout
1980
1981\begin_layout Subsection*
1982data_n (optional):
1983\emph on
1984integer
1985\end_layout
1986
1987\begin_layout Standard
1988Fortran:
1989\end_layout
1990
1991\begin_layout LyX-Code
1992INTEGER :: data_n
1993\end_layout
1994
1995\begin_layout Standard
1996Defines the size of local field data.
1997 The attribute can take value starting from 0 (no data on a process).
1998 The default value is
1999\begin_inset Flex Strong
2000status collapsed
2001
2002\begin_layout Plain Layout
2003n
2004\end_layout
2005
2006\end_inset
2007
2008.
2009 The attributes
2010\begin_inset Flex Strong
2011status collapsed
2012
2013\begin_layout Plain Layout
2014data_begin
2015\end_layout
2016
2017\end_inset
2018
2019 and
2020\begin_inset Flex Strong
2021status collapsed
2022
2023\begin_layout Plain Layout
2024data_n
2025\end_layout
2026
2027\end_inset
2028
2029 must be defined together.
2030\end_layout
2031
2032\begin_layout Subsection*
2033data_index (optional):
2034\emph on
2035integer
2036\end_layout
2037
2038\begin_layout Standard
2039Fortran:
2040\end_layout
2041
2042\begin_layout LyX-Code
2043INTEGER :: data_index
2044\end_layout
2045
2046\begin_layout Standard
2047In case of a compressed vertical axis, the attribute defines the position
2048 of data points stored in the memory.
2049 For example, for a local axis of size
2050\begin_inset Flex Strong
2051status collapsed
2052
2053\begin_layout Plain Layout
2054n=3
2055\end_layout
2056
2057\end_inset
2058
2059 and local data size of
2060\begin_inset Flex Strong
2061status collapsed
2062
2063\begin_layout Plain Layout
2064data_n=5
2065\end_layout
2066
2067\end_inset
2068
2069, if
2070\begin_inset Flex Strong
2071status collapsed
2072
2073\begin_layout Plain Layout
2074data_index=(/ -1, 2, 1, 0, -1 /)
2075\end_layout
2076
2077\end_inset
2078
2079 then the first and the last data points are ghosts and only the three middle
2080 values will be written in the reversed order.
2081 Only
2082\begin_inset Flex Code
2083status open
2084
2085\begin_layout Plain Layout
2086data_begin/data_n
2087\end_layout
2088
2089\end_inset
2090
2091 or
2092\begin_inset Flex Code
2093status open
2094
2095\begin_layout Plain Layout
2096data_index
2097\end_layout
2098
2099\end_inset
2100
2101 can be used together.
2102\end_layout
2103
2104\begin_layout Subsection*
2105mask (optional):
2106\emph on
21071D-array of bool
2108\end_layout
2109
2110\begin_layout Standard
2111Fortran:
2112\end_layout
2113
2114\begin_layout LyX-Code
2115LOGICAL :: mask(:)
2116\end_layout
2117
2118\begin_layout Standard
2119Defines the mask of the local axis.
2120 The masked value will be replaced by the value of the field attribute
2121\begin_inset Flex Strong
2122status collapsed
2123
2124\begin_layout Plain Layout
2125default_value
2126\end_layout
2127
2128\end_inset
2129
2130 in an output file.
2131\end_layout
2132
2133\begin_layout Subsection*
2134n_distributed_partition (optional):
2135\emph on
2136integer
2137\end_layout
2138
2139\begin_layout Standard
2140Fortran:
2141\end_layout
2142
2143\begin_layout LyX-Code
2144INTEGER :: n_distributed_partition
2145\end_layout
2146
2147\begin_layout Standard
2148Defines the number of local axes in case if the axis is generated automatically
2149 by XIOS.
2150 The default value is
2151\begin_inset Flex Strong
2152status collapsed
2153
2154\begin_layout Plain Layout
21551
2156\end_layout
2157
2158\end_inset
2159
2160.
2161 Nota: currently this functionnality is broken, this attribute is meaningfull.
2162\end_layout
2163
2164\begin_layout Subsection*
2165axis_ref (optional): string
2166\end_layout
2167
2168\begin_layout Standard
2169Fortran:
2170\end_layout
2171
2172\begin_layout LyX-Code
2173CHARACTER(LEN=*) :: axis_ref
2174\end_layout
2175
2176\begin_layout Standard
2177Defines the reference of an axis.
2178 All attributes will be inherited from the referenced axis with the classical
2179 inheritance mechanism.
2180 The value assigned to the referenced axis will be transmitted to the current
2181 axis.
2182\end_layout
2183
2184\begin_layout Subsection*
2185positive (optional):
2186\begin_inset Flex Emph
2187status collapsed
2188
2189\begin_layout Plain Layout
2190enumeration {up, down}
2191\end_layout
2192
2193\end_inset
2194
2195
2196\end_layout
2197
2198\begin_layout Standard
2199Fortran:
2200\end_layout
2201
2202\begin_layout LyX-Code
2203CHARACTER(LEN=*) :: positive
2204\end_layout
2205
2206\begin_layout Standard
2207Defines the positive direction for fields representing height or depth.
2208 It will just be appended in axis metadata in output file, for CF compliance.
2209\end_layout
2210
2211\begin_layout Subsection*
2212axis_type (optional):
2213\begin_inset Flex Emph
2214status collapsed
2215
2216\begin_layout Plain Layout
2217enumeration {X, Y, Z, T}
2218\end_layout
2219
2220\end_inset
2221
2222
2223\end_layout
2224
2225\begin_layout Standard
2226Fortran:
2227\end_layout
2228
2229\begin_layout LyX-Code
2230CHARACTER(LEN=*) :: axis_type
2231\end_layout
2232
2233\begin_layout Standard
2234Defines the type of an axis.
2235 The values correspond to the following axis types:
2236\end_layout
2237
2238\begin_layout Itemize
2239
2240\series bold
2241\shape italic
2242X:
2243\series default
2244\shape default
2245 longitude
2246\end_layout
2247
2248\begin_layout Itemize
2249
2250\series bold
2251\shape italic
2252\emph on
2253Y
2254\emph default
2255:
2256\series default
2257\shape default
2258 latitude
2259\end_layout
2260
2261\begin_layout Itemize
2262
2263\series bold
2264\shape italic
2265\emph on
2266Z
2267\emph default
2268:
2269\series default
2270\shape default
2271 vertical axis
2272\end_layout
2273
2274\begin_layout Itemize
2275
2276\series bold
2277\shape italic
2278T:
2279\series default
2280\shape default
2281time axis.
2282\end_layout
2283
2284\begin_layout Standard
2285It will just be append in axis metadata in ouput file, for CF compliance.
2286\end_layout
2287
2288\begin_layout Subsection*
2289comment (optional):
2290\begin_inset Flex Emph
2291status collapsed
2292
2293\begin_layout Plain Layout
2294string
2295\end_layout
2296
2297\end_inset
2298
2299
2300\end_layout
2301
2302\begin_layout Standard
2303Fortran:
2304\end_layout
2305
2306\begin_layout LyX-Code
2307CHARACTER(LEN=*) :: comment
2308\end_layout
2309
2310\begin_layout Standard
2311Allows a user to set a comment.
2312 
2313\end_layout
2314
2315\begin_layout Section
2316Domain attribute reference
2317\end_layout
2318
2319\begin_layout Subsection*
2320name (optional):
2321\begin_inset Flex Emph
2322status collapsed
2323
2324\begin_layout Plain Layout
2325string
2326\end_layout
2327
2328\end_inset
2329
2330
2331\end_layout
2332
2333\begin_layout Standard
2334Fortran:
2335\end_layout
2336
2337\begin_layout LyX-Code
2338CHARACTER(LEN=*) :: name
2339\end_layout
2340
2341\begin_layout Standard
2342Defines the name of a horizontal domain.
2343 This attribute may be used in case of multiple domains defined in the same
2344 file.
2345 In this case, the
2346\begin_inset Flex Strong
2347status collapsed
2348
2349\begin_layout Plain Layout
2350name
2351\end_layout
2352
2353\end_inset
2354
2355 attribute will be suffixed to the longitude and latitude dimensions and
2356 axis name.
2357 If the domain name is not provided, it will be generated automatically
2358 with the id of the domain.
2359\end_layout
2360
2361\begin_layout Subsection*
2362standard_name (optional):
2363\begin_inset Flex Emph
2364status collapsed
2365
2366\begin_layout Plain Layout
2367string
2368\end_layout
2369
2370\end_inset
2371
2372
2373\end_layout
2374
2375\begin_layout Standard
2376Fortran:
2377\end_layout
2378
2379\begin_layout LyX-Code
2380CHARACTER(LEN=*) :: standard_name
2381\end_layout
2382
2383\begin_layout Standard
2384Defines the standard name of a domain as it will appear in the domain's
2385 metadata in an output file.
2386 
2387\end_layout
2388
2389\begin_layout Subsection*
2390long_name (optional):
2391\begin_inset Flex Emph
2392status collapsed
2393
2394\begin_layout Plain Layout
2395string
2396\end_layout
2397
2398\end_inset
2399
2400
2401\end_layout
2402
2403\begin_layout Standard
2404Fortran:
2405\end_layout
2406
2407\begin_layout LyX-Code
2408CHARACTER(LEN=*) :: long_name
2409\end_layout
2410
2411\begin_layout Standard
2412Defines the long name of a domain as it will appear in the domain's metadata
2413 in an output file.
2414 
2415\end_layout
2416
2417\begin_layout Subsection*
2418type (mandatory):
2419\begin_inset Flex Emph
2420status collapsed
2421
2422\begin_layout Plain Layout
2423enumeration {rectilinear, curvilinear, unstructured, gaussian}
2424\end_layout
2425
2426\end_inset
2427
2428
2429\end_layout
2430
2431\begin_layout Standard
2432Fortran:
2433\end_layout
2434
2435\begin_layout LyX-Code
2436CHARACTER(LEN=*) :: type
2437\end_layout
2438
2439\begin_layout Standard
2440Defines the type of a grid.
2441\end_layout
2442
2443\begin_layout Subsection*
2444dim_i_name (optional):
2445\begin_inset Flex Emph
2446status collapsed
2447
2448\begin_layout Plain Layout
2449string
2450\end_layout
2451
2452\end_inset
2453
2454
2455\end_layout
2456
2457\begin_layout Standard
2458Fortran:
2459\end_layout
2460
2461\begin_layout LyX-Code
2462CHARACTER(LEN=*) :: dim_i_name
2463\end_layout
2464
2465\begin_layout Standard
2466Defines the name of the first domain dimension as it will appear in the
2467 file's metadata.
2468 The default value is '
2469\begin_inset Flex Code
2470status open
2471
2472\begin_layout Plain Layout
2473X
2474\end_layout
2475
2476\end_inset
2477
2478'.
2479 In case of multiple domain in the file, the dimension will be preffixed
2480 by the domain name.
2481\end_layout
2482
2483\begin_layout Subsection*
2484dim_j_name (optional):
2485\begin_inset Flex Emph
2486status collapsed
2487
2488\begin_layout Plain Layout
2489string
2490\end_layout
2491
2492\end_inset
2493
2494
2495\end_layout
2496
2497\begin_layout Standard
2498Fortran:
2499\end_layout
2500
2501\begin_layout LyX-Code
2502CHARACTER(LEN=*) :: dim_j_name
2503\end_layout
2504
2505\begin_layout Standard
2506Defines the name of the second domain dimension as it will appear in file's
2507 metadata.
2508 The default value is '
2509\begin_inset Flex Code
2510status open
2511
2512\begin_layout Plain Layout
2513Y
2514\end_layout
2515
2516\end_inset
2517
2518'.
2519 In case of multiple domain in the file, the dimension will be preffixed
2520 by the domain name.
2521\end_layout
2522
2523\begin_layout Subsection*
2524ni_glo (mandatory):
2525\begin_inset Flex Emph
2526status collapsed
2527
2528\begin_layout Plain Layout
2529integer
2530\end_layout
2531
2532\end_inset
2533
2534
2535\end_layout
2536
2537\begin_layout Standard
2538Fortran:
2539\end_layout
2540
2541\begin_layout LyX-Code
2542INTEGER :: ni_glo
2543\end_layout
2544
2545\begin_layout Standard
2546Defines the size of the first dimension of the global domain.
2547\end_layout
2548
2549\begin_layout Subsection*
2550nj_glo (mandatory):
2551\begin_inset Flex Emph
2552status collapsed
2553
2554\begin_layout Plain Layout
2555integer
2556\end_layout
2557
2558\end_inset
2559
2560
2561\end_layout
2562
2563\begin_layout Standard
2564Fortran:
2565\end_layout
2566
2567\begin_layout LyX-Code
2568INTEGER :: nj_glo
2569\end_layout
2570
2571\begin_layout Standard
2572Defines the size of the second dimension of the global domain.
2573\end_layout
2574
2575\begin_layout Subsection*
2576ibegin (optional):
2577\begin_inset Flex Emph
2578status collapsed
2579
2580\begin_layout Plain Layout
2581integer
2582\end_layout
2583
2584\end_inset
2585
2586
2587\end_layout
2588
2589\begin_layout Standard
2590Fortran:
2591\end_layout
2592
2593\begin_layout LyX-Code
2594INTEGER :: ibegin
2595\end_layout
2596
2597\begin_layout Standard
2598Defines the beginning index of the first dimension of a local domain.
2599 The attribute takes value between
2600\begin_inset Flex Strong
2601status collapsed
2602
2603\begin_layout Plain Layout
26040
2605\end_layout
2606
2607\end_inset
2608
2609 and
2610\begin_inset Flex Strong
2611status collapsed
2612
2613\begin_layout Plain Layout
2614ni_glo-1
2615\end_layout
2616
2617\end_inset
2618
2619.
2620 If not specified the default value is
2621\begin_inset Flex Strong
2622status collapsed
2623
2624\begin_layout Plain Layout
26250
2626\end_layout
2627
2628\end_inset
2629
2630.
2631\end_layout
2632
2633\begin_layout Subsection*
2634ni (optional):
2635\begin_inset Flex Emph
2636status collapsed
2637
2638\begin_layout Plain Layout
2639integer
2640\end_layout
2641
2642\end_inset
2643
2644
2645\end_layout
2646
2647\begin_layout Standard
2648Fortran:
2649\end_layout
2650
2651\begin_layout LyX-Code
2652INTEGER :: ni
2653\end_layout
2654
2655\begin_layout Standard
2656Defines the size of the first dimension of a local domain.
2657 The attribute takes value between
2658\begin_inset Flex Strong
2659status collapsed
2660
2661\begin_layout Plain Layout
26621
2663\end_layout
2664
2665\end_inset
2666
2667and
2668\begin_inset Flex Strong
2669status collapsed
2670
2671\begin_layout Plain Layout
2672ni_glo
2673\end_layout
2674
2675\end_inset
2676
2677.
2678 If not specified the default value is
2679\begin_inset Flex Strong
2680status collapsed
2681
2682\begin_layout Plain Layout
2683ni_glo
2684\end_layout
2685
2686\end_inset
2687
2688.
2689\end_layout
2690
2691\begin_layout Subsection*
2692jbegin (optional):
2693\begin_inset Flex Emph
2694status collapsed
2695
2696\begin_layout Plain Layout
2697integer
2698\end_layout
2699
2700\end_inset
2701
2702
2703\end_layout
2704
2705\begin_layout Standard
2706Fortran:
2707\end_layout
2708
2709\begin_layout LyX-Code
2710INTEGER :: jbegin
2711\end_layout
2712
2713\begin_layout Standard
2714Defines the beginning index of the second dimension of a local domain.
2715 The attribute takes value between
2716\begin_inset Flex Strong
2717status collapsed
2718
2719\begin_layout Plain Layout
27200
2721\end_layout
2722
2723\end_inset
2724
2725 and
2726\begin_inset Flex Strong
2727status collapsed
2728
2729\begin_layout Plain Layout
2730nj_glo-1
2731\end_layout
2732
2733\end_inset
2734
2735.
2736 If not specified the default value is
2737\begin_inset Flex Strong
2738status collapsed
2739
2740\begin_layout Plain Layout
27410
2742\end_layout
2743
2744\end_inset
2745
2746.
2747\end_layout
2748
2749\begin_layout Subsection*
2750nj (optional):
2751\begin_inset Flex Emph
2752status collapsed
2753
2754\begin_layout Plain Layout
2755integer
2756\end_layout
2757
2758\end_inset
2759
2760
2761\end_layout
2762
2763\begin_layout Standard
2764Fortran:
2765\end_layout
2766
2767\begin_layout LyX-Code
2768INTEGER :: nj
2769\end_layout
2770
2771\begin_layout Standard
2772Defines the size of the second dimension of a local domain.
2773 he attribute takes value between
2774\begin_inset Flex Strong
2775status collapsed
2776
2777\begin_layout Plain Layout
27781
2779\end_layout
2780
2781\end_inset
2782
2783and
2784\begin_inset Flex Strong
2785status collapsed
2786
2787\begin_layout Plain Layout
2788nj_glo
2789\end_layout
2790
2791\end_inset
2792
2793.
2794 If not specified the default value is
2795\begin_inset Flex Strong
2796status collapsed
2797
2798\begin_layout Plain Layout
2799nj_glo
2800\end_layout
2801
2802\end_inset
2803
2804.
2805\end_layout
2806
2807\begin_layout Subsection*
2808lonvalue_1d (optional):
2809\emph on
28101D-array of double
2811\end_layout
2812
2813\begin_layout Standard
2814Fortran:
2815\end_layout
2816
2817\begin_layout LyX-Code
2818DOUBLE PRECISION :: lonvalue(:)
2819\end_layout
2820
2821\begin_layout Standard
2822Defines the longitude values of a local domain.
2823 For a cartesian grid, the array size should be
2824\begin_inset Flex Strong
2825status collapsed
2826
2827\begin_layout Plain Layout
2828ni
2829\end_layout
2830
2831\end_inset
2832
2833.
2834 For a curvilinear grid, the array size should be
2835\begin_inset Flex Strong
2836status collapsed
2837
2838\begin_layout Plain Layout
2839ni
2840\begin_inset Formula $\times$
2841\end_inset
2842
2843nj
2844\end_layout
2845
2846\end_inset
2847
2848.
2849 In this case the first and second dimensions are collapsed into a linear
2850 array.
2851 For unstrutured and gaussian grid, the array size sould be
2852\begin_inset Flex Strong
2853status collapsed
2854
2855\begin_layout Plain Layout
2856ni
2857\end_layout
2858
2859\end_inset
2860
2861 (the second dimension
2862\begin_inset Flex Strong
2863status collapsed
2864
2865\begin_layout Plain Layout
2866nj
2867\end_layout
2868
2869\end_inset
2870
2871 is not used).
2872 Only latvalue_1d or latvalue_2d can be defined.
2873 Also the layout of latitude and longitude should be in conformance with
2874 each other: either 1D or 2D.
2875\end_layout
2876
2877\begin_layout Subsection*
2878lonvalue_2d (optional):
2879\emph on
28802D-array of double
2881\end_layout
2882
2883\begin_layout Standard
2884Fortran:
2885\end_layout
2886
2887\begin_layout LyX-Code
2888DOUBLE PRECISION :: lonvalue(:,:)
2889\end_layout
2890
2891\begin_layout Standard
2892Defines the longitude values of a local domain.
2893 For cartesian grid, the array size must beand curvilinear grids the array
2894 size should be
2895\begin_inset Flex Strong
2896status collapsed
2897
2898\begin_layout Plain Layout
2899(ni,nj)
2900\end_layout
2901
2902\end_inset
2903
2904.
2905 For unstructured or gaussian grid it sould be
2906\begin_inset Flex Strong
2907status collapsed
2908
2909\begin_layout Plain Layout
2910(ni,1)
2911\end_layout
2912
2913\end_inset
2914
2915.
2916 Only lonvalue_1d or lonvalue_2d can be defined.
2917 Also the layout of latitude and longitude should be in conformance with
2918 each other: either 1D or 2D.
2919\end_layout
2920
2921\begin_layout Subsection*
2922latvalue_1d (optional):
2923\emph on
29241D-array of double
2925\end_layout
2926
2927\begin_layout Standard
2928Fortran:
2929\end_layout
2930
2931\begin_layout LyX-Code
2932DOUBLE PRECISION :: latvalue(:)
2933\end_layout
2934
2935\begin_layout Standard
2936Defines the latitude values of a local domain.
2937 For a cartesian and curvilinear grid, the array size should be
2938\begin_inset Flex Strong
2939status collapsed
2940
2941\begin_layout Plain Layout
2942ni
2943\begin_inset Formula $\times$
2944\end_inset
2945
2946nj
2947\end_layout
2948
2949\end_inset
2950
2951.
2952 In this case the first and second dimensions are collapsed into a linear
2953 array.
2954 For unstrutured and gaussian grid, the array size sould be
2955\begin_inset Flex Strong
2956status collapsed
2957
2958\begin_layout Plain Layout
2959ni
2960\end_layout
2961
2962\end_inset
2963
2964 (the second dimension
2965\begin_inset Flex Strong
2966status collapsed
2967
2968\begin_layout Plain Layout
2969nj
2970\end_layout
2971
2972\end_inset
2973
2974 is not used).
2975 Only latvalue_1d or latvalue_2d can be defined.
2976 Also the layout of latitude and longitude should be in conformance with
2977 each other: either 1D or 2D.
2978\end_layout
2979
2980\begin_layout Subsection*
2981latvalue_2d (optional):
2982\emph on
29832D-array of double
2984\end_layout
2985
2986\begin_layout Standard
2987Fortran:
2988\end_layout
2989
2990\begin_layout LyX-Code
2991DOUBLE PRECISION :: latvalue(:,:)
2992\end_layout
2993
2994\begin_layout Standard
2995Defines the latitude values of a local domain.
2996 For cartesian grid and curvilinear grids the array size should be
2997\begin_inset Flex Strong
2998status collapsed
2999
3000\begin_layout Plain Layout
3001(ni,nj)
3002\end_layout
3003
3004\end_inset
3005
3006.
3007 For unstructured or gaussian grid it sould be
3008\begin_inset Flex Strong
3009status collapsed
3010
3011\begin_layout Plain Layout
3012(ni,1)
3013\end_layout
3014
3015\end_inset
3016
3017.
3018 Only latvalue_1d or latvalue_2d can be defined.
3019 Also the layout of latitude and longitude should be in conformance with
3020 each other: either 1D or 2D.
3021\end_layout
3022
3023\begin_layout Subsection*
3024lon_name (optional):
3025\begin_inset Flex Emph
3026status collapsed
3027
3028\begin_layout Plain Layout
3029string
3030\end_layout
3031
3032\end_inset
3033
3034
3035\end_layout
3036
3037\begin_layout Standard
3038Fortran:
3039\end_layout
3040
3041\begin_layout LyX-Code
3042CHARACTER(LEN=*) :: lon_name
3043\end_layout
3044
3045\begin_layout Standard
3046Define the longitude name as it will appear in an output file.
3047 If not defined, the default will be '
3048\begin_inset Flex Code
3049status open
3050
3051\begin_layout Plain Layout
3052lon
3053\end_layout
3054
3055\end_inset
3056
3057'.
3058 In case of multiple domain defined in a file, the longitude name will be
3059 suffixed by the domain name.
3060\end_layout
3061
3062\begin_layout Subsection*
3063lat_name (optional):
3064\begin_inset Flex Emph
3065status collapsed
3066
3067\begin_layout Plain Layout
3068string
3069\end_layout
3070
3071\end_inset
3072
3073
3074\end_layout
3075
3076\begin_layout Standard
3077Fortran:
3078\end_layout
3079
3080\begin_layout LyX-Code
3081CHARACTER(LEN=*) :: lat_name
3082\end_layout
3083
3084\begin_layout Standard
3085efine the longitude name as it will appear in an output file.
3086 If not defined, the default will be '
3087\begin_inset Flex Code
3088status open
3089
3090\begin_layout Plain Layout
3091lat
3092\end_layout
3093
3094\end_inset
3095
3096'.
3097 In case of multiple domain defined in a file, the longitude name will be
3098 suffixed by the domain name.
3099\end_layout
3100
3101\begin_layout Subsection*
3102nvertex (optional):
3103\emph on
3104integer
3105\end_layout
3106
3107\begin_layout Standard
3108Fortran:
3109\end_layout
3110
3111\begin_layout LyX-Code
3112INTEGER :: nvertex
3113\end_layout
3114
3115\begin_layout Standard
3116Used only for unstructured domain.
3117 Defines the maximum number of vertices for a grid.
3118 The attribute is required for specifying the cell boundaries of the unstructure
3119d meshes.
3120 For other grid (cartesian, curvilinear or gaussian), the nvertex value
3121 will be set automatically to 4.
3122\end_layout
3123
3124\begin_layout Subsection*
3125bounds_lon_1d (optional):
3126\emph on
31272D-array of double
3128\end_layout
3129
3130\begin_layout Standard
3131Fortran:
3132\end_layout
3133
3134\begin_layout LyX-Code
3135DOUBLE PRECISION :: bounds_lon(:,:)
3136\end_layout
3137
3138\begin_layout Standard
3139Defines the longitude values of the domain vertexes.
3140 For unstructured domain, the attribute
3141\begin_inset Flex Strong
3142status collapsed
3143
3144\begin_layout Plain Layout
3145nvertex
3146\end_layout
3147
3148\end_inset
3149
3150 must be also defined (for other mesh it is set automatically to 4).
3151 The array dimensions shape must be of size
3152\begin_inset Flex Code
3153status open
3154
3155\begin_layout Plain Layout
3156(nvertex, ni)
3157\end_layout
3158
3159\end_inset
3160
3161.
3162\end_layout
3163
3164\begin_layout Subsection*
3165bounds_lon_2d (optional):
3166\emph on
31673D-array of double
3168\end_layout
3169
3170\begin_layout Standard
3171Fortran:
3172\end_layout
3173
3174\begin_layout LyX-Code
3175DOUBLE PRECISION :: bounds_lon(:,:,:)
3176\end_layout
3177
3178\begin_layout Standard
3179Defines the longitude values of the domain vertexes.
3180 For unstructured domain, the attribute
3181\begin_inset Flex Strong
3182status collapsed
3183
3184\begin_layout Plain Layout
3185nvertex
3186\end_layout
3187
3188\end_inset
3189
3190 must be also defined (for other mesh it is set automatically to 4).
3191 This attribute is useful when lonvalue_2d is defined.
3192 for cartesian and curvilinear domain, the array dimensions shape must be
3193 of size
3194\begin_inset Flex Code
3195status open
3196
3197\begin_layout Plain Layout
3198(nvertex, ni, nj)
3199\end_layout
3200
3201\end_inset
3202
3203, and for gaussian or unstructured domain, it sould be of size
3204\begin_inset Flex Code
3205status open
3206
3207\begin_layout Plain Layout
3208(nvertex, ni, 1)
3209\end_layout
3210
3211\end_inset
3212
3213.
3214 For cartesian, curvilinear .
3215 Either
3216\begin_inset Flex Code
3217status open
3218
3219\begin_layout Plain Layout
3220bounds_lon_1d
3221\end_layout
3222
3223\end_inset
3224
3225 or
3226\begin_inset Flex Code
3227status open
3228
3229\begin_layout Plain Layout
3230bounds_lon_2d
3231\end_layout
3232
3233\end_inset
3234
3235 can be defined.
3236\end_layout
3237
3238\begin_layout Subsection*
3239bounds_lat_1d (optional):
3240\emph on
32412D-array of double
3242\end_layout
3243
3244\begin_layout Standard
3245Fortran:
3246\end_layout
3247
3248\begin_layout LyX-Code
3249DOUBLE PRECISION :: bounds_lat(:,:)
3250\end_layout
3251
3252\begin_layout Standard
3253Defines the latitude values of the domain vertexes.
3254 For unstructured domain, the attribute
3255\begin_inset Flex Strong
3256status collapsed
3257
3258\begin_layout Plain Layout
3259nvertex
3260\end_layout
3261
3262\end_inset
3263
3264 must be also defined (for other mesh it is set automatically to 4).
3265 The array dimensions shape must be of size
3266\begin_inset Flex Code
3267status open
3268
3269\begin_layout Plain Layout
3270(nvertex, ni)
3271\end_layout
3272
3273\end_inset
3274
3275.
3276\end_layout
3277
3278\begin_layout Subsection*
3279bounds_lat_2d (optional):
3280\emph on
32813D-array of double
3282\end_layout
3283
3284\begin_layout Standard
3285Fortran:
3286\end_layout
3287
3288\begin_layout LyX-Code
3289DOUBLE PRECISION :: bounds_lat(:,:)
3290\end_layout
3291
3292\begin_layout Standard
3293Defines the latitude values of domain vertexes.
3294 For unstructured domain, the attribute
3295\begin_inset Flex Strong
3296status collapsed
3297
3298\begin_layout Plain Layout
3299nvertex
3300\end_layout
3301
3302\end_inset
3303
3304 must be also defined.
3305 This attribute is useful when lonvalue_2d is defined.
3306 for cartesian and curvilinear domain, the array dimensions shape must be
3307 of size
3308\begin_inset Flex Code
3309status open
3310
3311\begin_layout Plain Layout
3312(nvertex, ni, nj)
3313\end_layout
3314
3315\end_inset
3316
3317, and for gaussian or unstructured domain, it sould be of size
3318\begin_inset Flex Code
3319status open
3320
3321\begin_layout Plain Layout
3322(nvertex, ni, 1)
3323\end_layout
3324
3325\end_inset
3326
3327.
3328 For cartesian, curvilinear .
3329 Either
3330\begin_inset Flex Code
3331status open
3332
3333\begin_layout Plain Layout
3334bounds_lon_1d
3335\end_layout
3336
3337\end_inset
3338
3339 or
3340\begin_inset Flex Code
3341status open
3342
3343\begin_layout Plain Layout
3344bounds_lon_2d
3345\end_layout
3346
3347\end_inset
3348
3349 can be defined.
3350\end_layout
3351
3352\begin_layout Subsection*
3353bounds_lon_name (optional):
3354\begin_inset Flex Emph
3355status collapsed
3356
3357\begin_layout Plain Layout
3358string
3359\end_layout
3360
3361\end_inset
3362
3363
3364\end_layout
3365
3366\begin_layout Standard
3367Fortran:
3368\end_layout
3369
3370\begin_layout LyX-Code
3371CHARACTER(LEN=*) :: bounds_lon_name
3372\end_layout
3373
3374\begin_layout Standard
3375Defines the boundaries longitude boundaries name of domain as it will appear
3376 in an output file.
3377 Default value is '
3378\begin_inset Flex Code
3379status open
3380
3381\begin_layout Plain Layout
3382bounds_lon
3383\end_layout
3384
3385\end_inset
3386
3387'.
3388 In case of multiple domains defined in a same file, the boundaries name
3389 will be suffixed by the domain name.
3390 
3391\end_layout
3392
3393\begin_layout Subsection*
3394bounds_lat_name (optional):
3395\begin_inset Flex Emph
3396status collapsed
3397
3398\begin_layout Plain Layout
3399string
3400\end_layout
3401
3402\end_inset
3403
3404
3405\end_layout
3406
3407\begin_layout Standard
3408Fortran:
3409\end_layout
3410
3411\begin_layout LyX-Code
3412CHARACTER(LEN=*) :: lat_name
3413\end_layout
3414
3415\begin_layout Standard
3416Defines the boundaries longitude boundaries name of domain as it will appear
3417 in an output file.
3418 Default value is '
3419\begin_inset Flex Code
3420status open
3421
3422\begin_layout Plain Layout
3423bounds_lon
3424\end_layout
3425
3426\end_inset
3427
3428'.
3429 In case of multiple domains defined in a same file, the boundaries name
3430 will be suffixed by the domain name.
3431 
3432\end_layout
3433
3434\begin_layout Subsection*
3435area (optional):
3436\emph on
34372D-array of double
3438\end_layout
3439
3440\begin_layout Standard
3441Fortran:
3442\end_layout
3443
3444\begin_layout LyX-Code
3445DOUBLE PRECISION :: area(:,:)
3446\end_layout
3447
3448\begin_layout Standard
3449The area of cells.
3450 The size of the array must
3451\begin_inset Flex Code
3452status open
3453
3454\begin_layout Plain Layout
3455(ni, nj)
3456\end_layout
3457
3458\end_inset
3459
3460 for cartesian or curvilinear domain and (ni, 1) for unstructured or gaussian
3461 domain.
3462 If this attribute is defined, it will be wrote in the output file as domain
3463 metadata.
3464 This attribute could be also used in domain interpolation to take into
3465 account the area of the cell instead to take the computed value (for conservati
3466on consideration).
3467 
3468\end_layout
3469
3470\begin_layout Subsection*
3471radius (optional):
3472\emph on
3473double
3474\end_layout
3475
3476\begin_layout Standard
3477Fortran:
3478\end_layout
3479
3480\begin_layout LyX-Code
3481DOUBLE PRECISION :: radius
3482\end_layout
3483
3484\begin_layout Standard
3485Define the radius of the planet (or earth).
3486 If defined, it can be used by domain interpolation together with
3487\begin_inset Flex Code
3488status open
3489
3490\begin_layout Plain Layout
3491area
3492\end_layout
3493
3494\end_inset
3495
3496 domain attribute in order to renormalize weight to compute conservative
3497 interpolation (see
3498\begin_inset Flex Code
3499status open
3500
3501\begin_layout Plain Layout
3502domain_interpolate
3503\end_layout
3504
3505\end_inset
3506
3507 filter).
3508\end_layout
3509
3510\begin_layout Subsection*
3511prec (optional):
3512\emph on
3513integer
3514\end_layout
3515
3516\begin_layout Standard
3517Fortran:
3518\end_layout
3519
3520\begin_layout LyX-Code
3521INTEGER :: prec
3522\end_layout
3523
3524\begin_layout Standard
3525Defines the precision (in bytes) for which domain attributes (longitude,
3526 latitude, boudairies, ...) will be written in output file.
3527 Available values are: 4 (float single precision) and 8 (float double precision).
3528 The default value is 4 bytes.
3529\end_layout
3530
3531\begin_layout Subsection*
3532data_dim (optional):
3533\emph on
3534integer
3535\end_layout
3536
3537\begin_layout Standard
3538Fortran:
3539\end_layout
3540
3541\begin_layout LyX-Code
3542INTEGER :: datadim
3543\end_layout
3544
3545\begin_layout Standard
3546Defines how a field is stored on memory for the client code.
3547 The value can be either
3548\begin_inset Flex Strong
3549status collapsed
3550
3551\begin_layout Plain Layout
35521
3553\end_layout
3554
3555\end_inset
3556
3557 or
3558\begin_inset Flex Strong
3559status collapsed
3560
3561\begin_layout Plain Layout
35622
3563\end_layout
3564
3565\end_inset
3566
3567.
3568 The value of
3569\begin_inset Flex Strong
3570status collapsed
3571
3572\begin_layout Plain Layout
35731
3574\end_layout
3575
3576\end_inset
3577
3578 indicates that the horizontal layer of the field is stored as a 1D array.
3579 The value of
3580\begin_inset Flex Strong
3581status collapsed
3582
3583\begin_layout Plain Layout
35842
3585\end_layout
3586
3587\end_inset
3588
3589 indicates that the horizontal layer is stored as a 2D array.
3590 The default value is
3591\begin_inset Flex Strong
3592status collapsed
3593
3594\begin_layout Plain Layout
35951
3596\end_layout
3597
3598\end_inset
3599
3600.
3601\end_layout
3602
3603\begin_layout Subsection*
3604data_ibegin (optional):
3605\emph on
3606 integer
3607\end_layout
3608
3609\begin_layout Standard
3610Fortran:
3611\end_layout
3612
3613\begin_layout LyX-Code
3614INTEGER :: data_ibegin
3615\end_layout
3616
3617\begin_layout Standard
3618Defines the beginning index of field data for the first dimension.
3619 This attribute is an offset relative to the local domain, so the value
3620 can be negative.
3621 A negative value indicates that only some valid part of the data will extracted
3622, for example in the case of a ghost cell.
3623 A positive value indicates that the local domain is greater than the data
3624 stored in memory.
3625 A 0-value means that the local domain matches the data in memory.
3626 The default value is 0.
3627 The attributes
3628\begin_inset Flex Strong
3629status collapsed
3630
3631\begin_layout Plain Layout
3632data_ibegin
3633\end_layout
3634
3635\end_inset
3636
3637 and
3638\begin_inset Flex Strong
3639status collapsed
3640
3641\begin_layout Plain Layout
3642data_ni
3643\end_layout
3644
3645\end_inset
3646
3647 must be defined together.
3648 Only data_ibegin/data_ni or data_i_index/
3649\end_layout
3650
3651\begin_layout Subsection*
3652data_ni (optional):
3653\emph on
3654integer
3655\end_layout
3656
3657\begin_layout Standard
3658Fortran:
3659\end_layout
3660
3661\begin_layout LyX-Code
3662INTEGER :: data_ni
3663\end_layout
3664
3665\begin_layout Standard
3666Defines the size of field data for the first dimension.
3667 The default value is
3668\begin_inset Flex Strong
3669status collapsed
3670
3671\begin_layout Plain Layout
3672ni
3673\end_layout
3674
3675\end_inset
3676
3677.
3678 The attributes
3679\begin_inset Flex Strong
3680status collapsed
3681
3682\begin_layout Plain Layout
3683data_ibegin
3684\end_layout
3685
3686\end_inset
3687
3688 and
3689\begin_inset Flex Strong
3690status collapsed
3691
3692\begin_layout Plain Layout
3693data_ni
3694\end_layout
3695
3696\end_inset
3697
3698 must be defined together.
3699\end_layout
3700
3701\begin_layout Subsection*
3702data_jbegin (optional):
3703\emph on
3704integer
3705\end_layout
3706
3707\begin_layout Standard
3708Fortran:
3709\end_layout
3710
3711\begin_layout LyX-Code
3712INTEGER :: data_jbegin
3713\end_layout
3714
3715\begin_layout Standard
3716Defines the beginning index of field data for the second dimension.
3717 The attribute is taken into account only if
3718\begin_inset Flex Strong
3719status collapsed
3720
3721\begin_layout Plain Layout
3722 data_dim=2
3723\end_layout
3724
3725\end_inset
3726
3727.
3728 The attribute is an offset relative to the local domain, so the value can
3729 be negative.
3730 A negative value indicate that only some valid part of the data will extracted,
3731 for example in case of ghost cell.
3732 A positive value indicate that the local domain is greater than the data
3733 stored in memory.
3734 The 0-value means that the local domain matches the data in memory.
3735 The default value is
3736\begin_inset Flex Strong
3737status collapsed
3738
3739\begin_layout Plain Layout
37400
3741\end_layout
3742
3743\end_inset
3744
3745.
3746 The attributes
3747\begin_inset Flex Strong
3748status collapsed
3749
3750\begin_layout Plain Layout
3751data_jbegin
3752\end_layout
3753
3754\end_inset
3755
3756 and
3757\begin_inset Flex Strong
3758status collapsed
3759
3760\begin_layout Plain Layout
3761data_nj
3762\end_layout
3763
3764\end_inset
3765
3766 must be defined together.
3767\end_layout
3768
3769\begin_layout Subsection*
3770data_nj (optional):
3771\emph on
3772integer
3773\end_layout
3774
3775\begin_layout Standard
3776Fortran:
3777\end_layout
3778
3779\begin_layout LyX-Code
3780INTEGER :: data_nj
3781\end_layout
3782
3783\begin_layout Standard
3784Defines the size of field data for the second dimension.
3785 The attribute is taken account only if
3786\begin_inset Flex Strong
3787status collapsed
3788
3789\begin_layout Plain Layout
3790data_dim=2
3791\end_layout
3792
3793\end_inset
3794
3795.
3796 The default value is
3797\begin_inset Flex Strong
3798status collapsed
3799
3800\begin_layout Plain Layout
3801nj
3802\end_layout
3803
3804\end_inset
3805
3806.
3807 The attributes
3808\begin_inset Flex Strong
3809status collapsed
3810
3811\begin_layout Plain Layout
3812data_jbegin
3813\end_layout
3814
3815\end_inset
3816
3817 and
3818\begin_inset Flex Strong
3819status collapsed
3820
3821\begin_layout Plain Layout
3822data_nj
3823\end_layout
3824
3825\end_inset
3826
3827 must be defined together.
3828\end_layout
3829
3830\begin_layout Subsection*
3831data_i_index (optional):
3832\emph on
38331D-array of integer
3834\end_layout
3835
3836\begin_layout Standard
3837Fortran:
3838\end_layout
3839
3840\begin_layout LyX-Code
3841INTEGER :: data_i_index(:)
3842\end_layout
3843
3844\begin_layout Standard
3845In case of a compressed horizontal domain, define the data indexation for
3846 the first dimension.
3847 This attribute cannot be used together with
3848\begin_inset Flex Code
3849status open
3850
3851\begin_layout Plain Layout
3852data_ibegin/data_ni
3853\end_layout
3854
3855\end_inset
3856
3857 attributes.
3858 This attribute can be used only when
3859\begin_inset Flex Code
3860status open
3861
3862\begin_layout Plain Layout
3863data_dim=1
3864\end_layout
3865
3866\end_inset
3867
3868.
3869 The size of data_i_index determine the size of the fields dimension of
3870 the corresponding domain, that is sent from the model.
3871 Value can be negative or greater than
3872\begin_inset Flex Code
3873status open
3874
3875\begin_layout Plain Layout
3876ni
3877\end_layout
3878
3879\end_inset
3880
3881.
3882 In this case, the corresponding point will be considered as masked and
3883 will not be extracted to enter the workflow.
3884\end_layout
3885
3886\begin_layout Subsection*
3887data_j_index (optional):
3888\emph on
38891D-array of integer
3890\end_layout
3891
3892\begin_layout Standard
3893Fortran:
3894\end_layout
3895
3896\begin_layout LyX-Code
3897INTEGER :: data_j_index(:)
3898\end_layout
3899
3900\begin_layout Standard
3901In case of a compressed horizontal domain, define the data indexation for
3902 the first dimension.
3903 This attribute cannot be used together with
3904\begin_inset Flex Code
3905status open
3906
3907\begin_layout Plain Layout
3908data_jbegin/data_nj
3909\end_layout
3910
3911\end_inset
3912
3913 attributes.
3914 This attribute can be used only when
3915\begin_inset Flex Code
3916status open
3917
3918\begin_layout Plain Layout
3919data_dim=1
3920\end_layout
3921
3922\end_inset
3923
3924.
3925 The size of data_i_index determine the size of the fields dimension of
3926 the corresponding domain, that is sent from the model.
3927 Value can be negative or greater than
3928\begin_inset Flex Code
3929status open
3930
3931\begin_layout Plain Layout
3932nj
3933\end_layout
3934
3935\end_inset
3936
3937.
3938 In this case, the corresponding point will be considered as masked and
3939 will not be extracted to enter the workflow.
3940\end_layout
3941
3942\begin_layout Subsection*
3943mask_1d (optional):
3944\emph on
39451D-array of bool
3946\end_layout
3947
3948\begin_layout Standard
3949Fortran:
3950\end_layout
3951
3952\begin_layout LyX-Code
3953LOGICAL :: mask(:)
3954\end_layout
3955
3956\begin_layout Standard
3957Defines a 1D mask of a local domain.
3958 The masked value will be replaced by the value of the field attribute
3959\begin_inset Flex Strong
3960status collapsed
3961
3962\begin_layout Plain Layout
3963default_value
3964\end_layout
3965
3966\end_inset
3967
3968 in an output file.
3969 This attribute must be of size
3970\begin_inset Flex Code
3971status open
3972
3973\begin_layout Plain Layout
3974ni*nj
3975\end_layout
3976
3977\end_inset
3978
3979.
3980 By default no values are masked.
3981\end_layout
3982
3983\begin_layout Subsection*
3984mask_2d (optional):
3985\emph on
39862D-array of bool
3987\end_layout
3988
3989\begin_layout Standard
3990Fortran:
3991\end_layout
3992
3993\begin_layout LyX-Code
3994LOGICAL :: mask(:,:)
3995\end_layout
3996
3997\begin_layout Standard
3998Defines a 2D mask of a local domain.
3999 The masked values will be replaced by the value of the field attribute
4000 
4001\begin_inset Flex Strong
4002status collapsed
4003
4004\begin_layout Plain Layout
4005default_value
4006\end_layout
4007
4008\end_inset
4009
4010 in an output file.
4011 This attribute must be of size
4012\begin_inset Flex Code
4013status open
4014
4015\begin_layout Plain Layout
4016(ni,nj)
4017\end_layout
4018
4019\end_inset
4020
4021.
4022 By default no values are masked.
4023\end_layout
4024
4025\begin_layout Subsection*
4026domain_ref (optional): string
4027\end_layout
4028
4029\begin_layout Standard
4030Fortran:
4031\end_layout
4032
4033\begin_layout LyX-Code
4034CHARACTER(LEN=*) :: domain_ref
4035\end_layout
4036
4037\begin_layout Standard
4038Defines the reference to a domain.
4039 All attributes are inherited from the referenced domain with the classic
4040 inheritance mechanism.
4041 The value assigned to the referenced domain is transmitted to to current
4042 domain.
4043\end_layout
4044
4045\begin_layout Subsection*
4046i_index (optional):
4047\begin_inset Flex Emph
4048status collapsed
4049
4050\begin_layout Plain Layout
40511D-array of double
4052\end_layout
4053
4054\end_inset
4055
4056
4057\end_layout
4058
4059\begin_layout Standard
4060Fortran:
4061\end_layout
4062
4063\begin_layout LyX-Code
4064DOUBLE PRECISION :: i_index(:)
4065\end_layout
4066
4067\begin_layout Standard
4068Defines the global index of the first dimension of a local domain held by
4069 a process.
4070 By default the size of the array must be
4071\begin_inset Flex Strong
4072status collapsed
4073
4074\begin_layout Plain Layout
4075ni*nj
4076\end_layout
4077
4078\end_inset
4079
4080.
4081\end_layout
4082
4083\begin_layout Subsection*
4084j_index (optional):
4085\begin_inset Flex Emph
4086status collapsed
4087
4088\begin_layout Plain Layout
40891D-array of double
4090\end_layout
4091
4092\end_inset
4093
4094
4095\end_layout
4096
4097\begin_layout Standard
4098Fortran:
4099\end_layout
4100
4101\begin_layout LyX-Code
4102DOUBLE PRECISION :: j_index(:)
4103\end_layout
4104
4105\begin_layout Standard
4106Defines the global index of the second dimension of a local domain held
4107 by a process.
4108 By default the size of the array must be
4109\begin_inset Flex Strong
4110status collapsed
4111
4112\begin_layout Plain Layout
4113ni*nj
4114\end_layout
4115
4116\end_inset
4117
4118.
4119\end_layout
4120
4121\begin_layout Subsection*
4122comment (optional):
4123\begin_inset Flex Emph
4124status collapsed
4125
4126\begin_layout Plain Layout
4127string
4128\end_layout
4129
4130\end_inset
4131
4132
4133\end_layout
4134
4135\begin_layout Standard
4136Fortran:
4137\end_layout
4138
4139\begin_layout LyX-Code
4140CHARACTER(LEN=*) :: comment
4141\end_layout
4142
4143\begin_layout Standard
4144Allows a user to set a comment.
4145\end_layout
4146
4147\begin_layout Section
4148Grid attribute reference
4149\end_layout
4150
4151\begin_layout Subsection*
4152name (optional): string
4153\end_layout
4154
4155\begin_layout Standard
4156Fortran:
4157\end_layout
4158
4159\begin_layout LyX-Code
4160CHARACTER(LEN=*) :: name
4161\end_layout
4162
4163\begin_layout Standard
4164Defines the name of a grid.
4165\end_layout
4166
4167\begin_layout Subsection*
4168description (optional): string
4169\end_layout
4170
4171\begin_layout Standard
4172Fortran:
4173\end_layout
4174
4175\begin_layout LyX-Code
4176CHARACTER(LEN=*) :: description
4177\end_layout
4178
4179\begin_layout Standard
4180Defines the descriptions of a grid.
4181\end_layout
4182
4183\begin_layout Subsection*
4184mask_1d (optional):
4185\emph on
41861D-array of bool
4187\end_layout
4188
4189\begin_layout Standard
4190Fortran:
4191\end_layout
4192
4193\begin_layout LyX-Code
4194LOGICAL :: mask_1d(:)
4195\end_layout
4196
4197\begin_layout Standard
4198Defines the mask of a local 1D grid.
4199 Masked values will be replaced by the value of the field attribute
4200\begin_inset Flex Strong
4201status collapsed
4202
4203\begin_layout Plain Layout
4204default_value
4205\end_layout
4206
4207\end_inset
4208
4209 in an output file.
4210 By default none of the value are masked.
4211\end_layout
4212
4213\begin_layout Subsection*
4214mask_2d (optional):
4215\emph on
42162D-array of bool
4217\end_layout
4218
4219\begin_layout Standard
4220Fortran:
4221\end_layout
4222
4223\begin_layout LyX-Code
4224LOGICAL :: mask_2d(:,:)
4225\end_layout
4226
4227\begin_layout Standard
4228Defines the mask of a local 2D grid.
4229 Masked values will be replaced by the value of the field attribute
4230\begin_inset Flex Strong
4231status collapsed
4232
4233\begin_layout Plain Layout
4234default_value
4235\end_layout
4236
4237\end_inset
4238
4239 in an output file.
4240 By default none of the value are masked.
4241\end_layout
4242
4243\begin_layout Subsection*
4244mask_3d (optional):
4245\emph on
42463D-array of bool
4247\end_layout
4248
4249\begin_layout Standard
4250Fortran:
4251\end_layout
4252
4253\begin_layout LyX-Code
4254LOGICAL :: mask_3d(:,:,:)
4255\end_layout
4256
4257\begin_layout Standard
4258Define the mask of a local 3D grid.
4259 Masked values will be replaced by the value of the field attribute
4260\begin_inset Flex Strong
4261status collapsed
4262
4263\begin_layout Plain Layout
4264default_value
4265\end_layout
4266
4267\end_inset
4268
4269 in an output file.
4270 By default none of the value are masked.
4271\end_layout
4272
4273\begin_layout Subsection*
4274mask_4d (optional):
4275\emph on
42764D-array of bool
4277\end_layout
4278
4279\begin_layout Standard
4280Fortran:
4281\end_layout
4282
4283\begin_layout LyX-Code
4284LOGICAL :: mask_4d(:,:,:)
4285\end_layout
4286
4287\begin_layout Standard
4288Define the mask of a local 4D grid.
4289 Masked values will be replaced by the value of the field attribute
4290\begin_inset Flex Strong
4291status collapsed
4292
4293\begin_layout Plain Layout
4294default_value
4295\end_layout
4296
4297\end_inset
4298
4299 in an output file.
4300 By default none of the value are masked.
4301\end_layout
4302
4303\begin_layout Subsection*
4304mask_5d (optional):
4305\emph on
43065D-array of bool
4307\end_layout
4308
4309\begin_layout Standard
4310Fortran:
4311\end_layout
4312
4313\begin_layout LyX-Code
4314LOGICAL :: mask_5d(:,:,:)
4315\end_layout
4316
4317\begin_layout Standard
4318Define the mask of a local 5D grid.
4319 Masked values will be replaced by the value of the field attribute
4320\begin_inset Flex Strong
4321status collapsed
4322
4323\begin_layout Plain Layout
4324default_value
4325\end_layout
4326
4327\end_inset
4328
4329 in an output file.
4330 By default none of the value are masked.
4331\end_layout
4332
4333\begin_layout Subsection*
4334mask_6d (optional):
4335\emph on
43366D-array of bool
4337\end_layout
4338
4339\begin_layout Standard
4340Fortran:
4341\end_layout
4342
4343\begin_layout LyX-Code
4344LOGICAL :: mask_6d(:,:,:)
4345\end_layout
4346
4347\begin_layout Standard
4348Define the mask of a local 6D grid.
4349 Masked values will be replaced by the value of the field attribute
4350\begin_inset Flex Strong
4351status collapsed
4352
4353\begin_layout Plain Layout
4354default_value
4355\end_layout
4356
4357\end_inset
4358
4359 in an output file.
4360 By default none of the value are masked.
4361\end_layout
4362
4363\begin_layout Subsection*
4364mask_7d (optional):
4365\emph on
43667D-array of bool
4367\end_layout
4368
4369\begin_layout Standard
4370Fortran:
4371\end_layout
4372
4373\begin_layout LyX-Code
4374LOGICAL :: mask_7d(:,:,:)
4375\end_layout
4376
4377\begin_layout Standard
4378Define the mask of a local 7D grid.
4379 Masked values will be replaced by the value of the field attribute
4380\begin_inset Flex Strong
4381status collapsed
4382
4383\begin_layout Plain Layout
4384default_value
4385\end_layout
4386
4387\end_inset
4388
4389 in an output file.
4390 By default none of the value are masked.
4391\end_layout
4392
4393\begin_layout Subsection*
4394comment (optional):
4395\begin_inset Flex Emph
4396status collapsed
4397
4398\begin_layout Plain Layout
4399string
4400\end_layout
4401
4402\end_inset
4403
4404
4405\end_layout
4406
4407\begin_layout Standard
4408Fortran:
4409\end_layout
4410
4411\begin_layout LyX-Code
4412CHARACTER(LEN=*) :: comment
4413\end_layout
4414
4415\begin_layout Standard
4416Allows a user to set a comment.
4417 Meaningfull for the XIOS workflow.
4418\end_layout
4419
4420\begin_layout Section
4421Field attribute reference
4422\end_layout
4423
4424\begin_layout Subsection*
4425name (optional):
4426\emph on
4427string
4428\end_layout
4429
4430\begin_layout Standard
4431Fortran:
4432\end_layout
4433
4434\begin_layout LyX-Code
4435CHARACTER(LEN=*) :: name
4436\end_layout
4437
4438\begin_layout Standard
4439Defines the name of a field as it will appear in an output file.
4440 If not present, the identifier
4441\begin_inset Flex Strong
4442status collapsed
4443
4444\begin_layout Plain Layout
4445id
4446\end_layout
4447
4448\end_inset
4449
4450 will be substituted.
4451\end_layout
4452
4453\begin_layout Subsection*
4454standard_name (optional):
4455\emph on
4456string
4457\end_layout
4458
4459\begin_layout Standard
4460Fortran:
4461\end_layout
4462
4463\begin_layout LyX-Code
4464CHARACTER(LEN=*) :: standard_name
4465\end_layout
4466
4467\begin_layout Standard
4468Defines the
4469\begin_inset Flex Strong
4470status collapsed
4471
4472\begin_layout Plain Layout
4473standard_name
4474\end_layout
4475
4476\end_inset
4477
4478 attribute as it will appear in the metadata of an output file.
4479\end_layout
4480
4481\begin_layout Subsection*
4482long_name (optional):
4483\emph on
4484string
4485\end_layout
4486
4487\begin_layout Standard
4488Fortran:
4489\end_layout
4490
4491\begin_layout LyX-Code
4492CHARACTER(LEN=*) :: long_name
4493\end_layout
4494
4495\begin_layout Standard
4496Defines the long name as it will appear in the metadata of an output file.
4497\end_layout
4498
4499\begin_layout Subsection*
4500expr (optional):
4501\emph on
4502string
4503\end_layout
4504
4505\begin_layout Standard
4506Fortran:
4507\end_layout
4508
4509\begin_layout LyX-Code
4510CHARACTER(LEN=*) :: expr
4511\end_layout
4512
4513\begin_layout Standard
4514Defines the expression for arithmetic or time-integration operations performed
4515 on a field.
4516 For example if
4517\series bold
4518expr=
4519\begin_inset Quotes erd
4520\end_inset
4521
4522sqrt(@temp2 - pow(@temp, 2))
4523\begin_inset Quotes erd
4524\end_inset
4525
4526
4527\series default
4528 then the variance will be calculated on the incoming flux of the field
4529 
4530\series bold
4531temp
4532\series default
4533 (given that field temp2 that holds the square of temp was correctly defined).
4534 
4535\end_layout
4536
4537\begin_layout Subsection*
4538unit (optional):
4539\emph on
4540string
4541\end_layout
4542
4543\begin_layout Standard
4544Fortran:
4545\end_layout
4546
4547\begin_layout LyX-Code
4548CHARACTER(LEN=*) :: unit
4549\end_layout
4550
4551\begin_layout Standard
4552Defines the unit of a field, as it will apear in the associated metadata
4553 in the output file.
4554\end_layout
4555
4556\begin_layout Subsection*
4557operation (mandatory): enumeration
4558\emph on
4559 {once, instant, average, maximum, minimum, accumulate}
4560\end_layout
4561
4562\begin_layout Standard
4563Fortran:
4564\end_layout
4565
4566\begin_layout LyX-Code
4567CHARACTER(LEN=*) :: operation
4568\end_layout
4569
4570\begin_layout Standard
4571Defines the temporal operation applied to a field.
4572\end_layout
4573
4574\begin_layout Subsection*
4575freq_op (optional):
4576\emph on
4577duration
4578\end_layout
4579
4580\begin_layout Standard
4581Fortran:
4582\end_layout
4583
4584\begin_layout LyX-Code
4585TYPE(xios_duration) :: freq_op
4586\end_layout
4587
4588\begin_layout Standard
4589Defines the sampling frequency of a temporal operation, so that field values
4590 will be used for temporal sampling at frequency
4591\begin_inset Flex Strong
4592status collapsed
4593
4594\begin_layout Plain Layout
4595freq_op
4596\end_layout
4597
4598\end_inset
4599
4600.
4601 It can be also useful for sub-processes called at different frequency in
4602 a model.
4603 The default value is equal to the file attribute
4604\begin_inset Flex Strong
4605status collapsed
4606
4607\begin_layout Plain Layout
4608output_freq
4609\end_layout
4610
4611\end_inset
4612
4613 for
4614\begin_inset Flex Strong
4615status collapsed
4616
4617\begin_layout Plain Layout
4618instant
4619\end_layout
4620
4621\end_inset
4622
4623 operations and
4624\begin_inset Flex Strong
4625status collapsed
4626
4627\begin_layout Plain Layout
46281ts
4629\end_layout
4630
4631\end_inset
4632
4633 (1 time step) otherwise.
4634\end_layout
4635
4636\begin_layout Subsection*
4637freq_offset (optional):
4638\emph on
4639duration
4640\end_layout
4641
4642\begin_layout Standard
4643Fortran:
4644\end_layout
4645
4646\begin_layout LyX-Code
4647TYPE(xios_duration) :: freq_offset
4648\end_layout
4649
4650\begin_layout Standard
4651Defines the offset when
4652\begin_inset Flex Strong
4653status collapsed
4654
4655\begin_layout Plain Layout
4656freq_op
4657\end_layout
4658
4659\end_inset
4660
4661 is defined.
4662 Accepted values lie between
4663\series bold
46640
4665\series default
4666 and
4667\begin_inset Flex Strong
4668status collapsed
4669
4670\begin_layout Plain Layout
4671freq_op - 1ts
4672\end_layout
4673
4674\end_inset
4675
4676.
4677 The default value is
4678\begin_inset Flex Strong
4679status collapsed
4680
4681\begin_layout Plain Layout
4682freq_op - 1ts
4683\end_layout
4684
4685\end_inset
4686
4687 for fields in the
4688\begin_inset Flex Strong
4689status collapsed
4690
4691\begin_layout Plain Layout
4692write
4693\end_layout
4694
4695\end_inset
4696
4697 mode and
4698\series bold
46990
4700\series default
4701 for fields in the
4702\begin_inset Flex Strong
4703status collapsed
4704
4705\begin_layout Plain Layout
4706read
4707\end_layout
4708
4709\end_inset
4710
4711 mode.
4712\end_layout
4713
4714\begin_layout Subsection*
4715level (optional):
4716\emph on
4717integer
4718\end_layout
4719
4720\begin_layout Standard
4721Fortran:
4722\end_layout
4723
4724\begin_layout LyX-Code
4725INTEGER :: level
4726\end_layout
4727
4728\begin_layout Standard
4729Defines the output level of a field.
4730 The field will be output only if the file attribute
4731\begin_inset Flex Strong
4732status collapsed
4733
4734\begin_layout Plain Layout
4735 output_level
4736\begin_inset Formula $\geq$
4737\end_inset
4738
4739level
4740\end_layout
4741
4742\end_inset
4743
4744.
4745 The default value is
4746\begin_inset Flex Strong
4747status collapsed
4748
4749\begin_layout Plain Layout
47500
4751\end_layout
4752
4753\end_inset
4754
4755.
4756\end_layout
4757
4758\begin_layout Subsection*
4759prec (optional):
4760\emph on
4761integer
4762\end_layout
4763
4764\begin_layout Standard
4765Fortran:
4766\end_layout
4767
4768\begin_layout LyX-Code
4769INTEGER :: prec
4770\end_layout
4771
4772\begin_layout Standard
4773Defines the precision in bytes of a field in an output file.
4774 Available values are: 2 (integer), 4 (float single precision) and 8 (float
4775 double precision).
4776 The default value is 4 (float single precision).
4777\end_layout
4778
4779\begin_layout Subsection*
4780enabled (optional):
4781\emph on
4782bool
4783\end_layout
4784
4785\begin_layout Standard
4786Fortran:
4787\end_layout
4788
4789\begin_layout LyX-Code
4790LOGICAL :: enabled
4791\end_layout
4792
4793\begin_layout Standard
4794Defines if a field must be output or not.
4795 The default value is
4796\begin_inset Flex Strong
4797status collapsed
4798
4799\begin_layout Plain Layout
4800true
4801\end_layout
4802
4803\end_inset
4804
4805.
4806\end_layout
4807
4808\begin_layout Subsection*
4809check_if_active (optional):
4810\emph on
4811bool
4812\end_layout
4813
4814\begin_layout Standard
4815Fortran:
4816\end_layout
4817
4818\begin_layout LyX-Code
4819LOGICAL :: check_if_active
4820\end_layout
4821
4822\begin_layout Standard
4823Sets a check if a field will be used at a given time step.
4824 Activating the check may improve performance for fields which are not used
4825 frequently, while it can detoriate performance for fields used at each
4826 time step.
4827 The default value is false.
4828\end_layout
4829
4830\begin_layout Subsection*
4831read_access (optional):
4832\emph on
4833bool
4834\end_layout
4835
4836\begin_layout Standard
4837Fortran:
4838\end_layout
4839
4840\begin_layout LyX-Code
4841LOGICAL :: read_access
4842\end_layout
4843
4844\begin_layout Standard
4845Defines whether a field can be read from the model or not.
4846 The default value is
4847\begin_inset Flex Strong
4848status collapsed
4849
4850\begin_layout Plain Layout
4851false
4852\end_layout
4853
4854\end_inset
4855
4856.
4857 Note that for fields belonging to a file in
4858\series bold
4859\emph on
4860read
4861\series default
4862\emph default
4863 
4864\series bold
4865mode
4866\series default
4867, this attribute is always
4868\series bold
4869true
4870\series default
4871.
4872\end_layout
4873
4874\begin_layout Subsection*
4875field_ref (optional):
4876\emph on
4877string
4878\end_layout
4879
4880\begin_layout Standard
4881Fortran:
4882\end_layout
4883
4884\begin_layout LyX-Code
4885CHARACTER(LEN=*) :: field_ref
4886\end_layout
4887
4888\begin_layout Standard
4889Defines the field reference.
4890 All attributes will be inherited from the referenced field via the classical
4891 inheritance mechanism.
4892 The values assigned to the referenced field will be transmitted to the
4893 current field to perform temporal operation.
4894\end_layout
4895
4896\begin_layout Subsection*
4897grid_ref (optional):
4898\emph on
4899string
4900\end_layout
4901
4902\begin_layout Standard
4903Fortran:
4904\end_layout
4905
4906\begin_layout LyX-Code
4907CHARACTER(LEN=*) :: grid_ref
4908\end_layout
4909
4910\begin_layout Standard
4911Defines the field grid.
4912 Note that only either
4913\begin_inset Flex Strong
4914status collapsed
4915
4916\begin_layout Plain Layout
4917grid_ref
4918\end_layout
4919
4920\end_inset
4921
4922 or a combination of
4923\begin_inset Flex Strong
4924status collapsed
4925
4926\begin_layout Plain Layout
4927domain_ref
4928\end_layout
4929
4930\end_inset
4931
4932,
4933\begin_inset Flex Strong
4934status collapsed
4935
4936\begin_layout Plain Layout
4937scalar_ref
4938\end_layout
4939
4940\end_inset
4941
4942 or
4943\begin_inset Flex Strong
4944status collapsed
4945
4946\begin_layout Plain Layout
4947axis_ref
4948\end_layout
4949
4950\end_inset
4951
4952 can be specified.
4953\end_layout
4954
4955\begin_layout Subsection*
4956domain_ref (optional):
4957\emph on
4958string
4959\end_layout
4960
4961\begin_layout Standard
4962Fortran:
4963\end_layout
4964
4965\begin_layout LyX-Code
4966CHARACTER(LEN=*) :: domain_ref
4967\end_layout
4968
4969\begin_layout Standard
4970Defines the field domain.
4971 If the attribute is defined, the attribute
4972\begin_inset Flex Strong
4973status collapsed
4974
4975\begin_layout Plain Layout
4976grid_ref
4977\end_layout
4978
4979\end_inset
4980
4981 must not be specified.
4982\end_layout
4983
4984\begin_layout Subsection*
4985axis_ref (optional):
4986\emph on
4987string
4988\end_layout
4989
4990\begin_layout Standard
4991Fortran:
4992\end_layout
4993
4994\begin_layout LyX-Code
4995CHARACTER(LEN=*) :: axis_ref
4996\end_layout
4997
4998\begin_layout Standard
4999Defines an axis for the current field.
5000 If the attribute is defined, the attribute
5001\begin_inset Flex Strong
5002status collapsed
5003
5004\begin_layout Plain Layout
5005grid_ref
5006\end_layout
5007
5008\end_inset
5009
5010 must not be specified.
5011\end_layout
5012
5013\begin_layout Subsection*
5014scalar_ref (optional):
5015\emph on
5016string
5017\end_layout
5018
5019\begin_layout Standard
5020Fortran:
5021\end_layout
5022
5023\begin_layout LyX-Code
5024CHARACTER(LEN=*) :: scalar_ref
5025\end_layout
5026
5027\begin_layout Standard
5028Defines a scalar domain for the current field.
5029 If the attribute is defined, the attribute
5030\begin_inset Flex Strong
5031status collapsed
5032
5033\begin_layout Plain Layout
5034grid_ref
5035\end_layout
5036
5037\end_inset
5038
5039 must not be specified.
5040\end_layout
5041
5042\begin_layout Subsection*
5043grid_path (optional):
5044\emph on
5045string
5046\end_layout
5047
5048\begin_layout Standard
5049Fortran:
5050\end_layout
5051
5052\begin_layout LyX-Code
5053CHARACTER(LEN=*) :: grid_path
5054\end_layout
5055
5056\begin_layout Standard
5057Defines the way operations pass from a grid to other grids, combined with
5058 field_ref attribute.
5059 Each grid name in
5060\begin_inset Flex Code
5061status open
5062
5063\begin_layout Plain Layout
5064grid_path
5065\end_layout
5066
5067\end_inset
5068
5069 must be separated by a comma.
5070 All tranformation realated to the grid listed in grid_path will be applyed
5071 successively, including the grid destination associated to the destination
5072 field.
5073 
5074\end_layout
5075
5076\begin_layout Subsection*
5077default_value (optional):
5078\emph on
5079double
5080\end_layout
5081
5082\begin_layout Standard
5083Fortran:
5084\end_layout
5085
5086\begin_layout LyX-Code
5087DOUBLE PRECISION :: default_value
5088\end_layout
5089
5090\begin_layout Standard
5091Defines the value which will be used instead of missing field data.
5092 For an entry field (coming from model, or from an input file), if
5093\begin_inset Flex Code
5094status open
5095
5096\begin_layout Plain Layout
5097detect_missing_value
5098\end_layout
5099
5100\end_inset
5101
5102 and
5103\begin_inset Flex Code
5104status open
5105
5106\begin_layout Plain Layout
5107default_value
5108\end_layout
5109
5110\end_inset
5111
5112 are defined the values of the field equal to
5113\begin_inset Flex Code
5114status open
5115
5116\begin_layout Plain Layout
5117default_value
5118\end_layout
5119
5120\end_inset
5121
5122 will be replaced by NaN.
5123 For output field (read from the model or sent to server), the NaN values
5124 will be replaced by
5125\begin_inset Flex Code
5126status open
5127
5128\begin_layout Plain Layout
5129default_value
5130\end_layout
5131
5132\end_inset
5133
5134, if defined.
5135 For masked value, in output, if
5136\begin_inset Flex Code
5137status open
5138
5139\begin_layout Plain Layout
5140default_value
5141\end_layout
5142
5143\end_inset
5144
5145 is defined, the corresponding value will be replaced by
5146\begin_inset Flex Code
5147status open
5148
5149\begin_layout Plain Layout
5150default_value
5151\end_layout
5152
5153\end_inset
5154
5155, otherwise, the value is undefined and will depend of the initial value
5156 of the allocated memory block.
5157\end_layout
5158
5159\begin_layout Subsection*
5160valid_min (optional):
5161\emph on
5162double
5163\end_layout
5164
5165\begin_layout Standard
5166Fortran:
5167\end_layout
5168
5169\begin_layout LyX-Code
5170DOUBLE PRECISION :: valid_min
5171\end_layout
5172
5173\begin_layout Standard
5174Define the minimum validity range of the field as it will be written as
5175 a field metadata in the output file, accordingly to CF compliance.
5176 
5177\end_layout
5178
5179\begin_layout Subsection*
5180valid_max (optional):
5181\emph on
5182double
5183\end_layout
5184
5185\begin_layout Standard
5186Fortran:
5187\end_layout
5188
5189\begin_layout LyX-Code
5190DOUBLE PRECISION :: valid_max
5191\end_layout
5192
5193\begin_layout Standard
5194Define the maximum validity range of the field as it will be written as
5195 a field metadata in the output file, accordingly to CF compliance.
5196 
5197\end_layout
5198
5199\begin_layout Subsection*
5200detect_missing_value (optional):
5201\emph on
5202bool
5203\end_layout
5204
5205\begin_layout Standard
5206Fortran:
5207\end_layout
5208
5209\begin_layout LyX-Code
5210LOGICAL: detect_missing_value
5211\end_layout
5212
5213\begin_layout Standard
5214For entry field, if
5215\begin_inset Flex Code
5216status open
5217
5218\begin_layout Plain Layout
5219detect_missing_value
5220\end_layout
5221
5222\end_inset
5223
5224 is set to true and
5225\begin_inset Flex Code
5226status open
5227
5228\begin_layout Plain Layout
5229default_value
5230\end_layout
5231
5232\end_inset
5233
5234 is defined, the corresponding value will be replaced by NaN (see
5235\begin_inset Flex Code
5236status open
5237
5238\begin_layout Plain Layout
5239default_value
5240\end_layout
5241
5242\end_inset
5243
5244 attribute).
5245 This attribute is also used during temporal operation such as averaging,
5246 minimum, maximum, accumulate..., to detect NaN value and remove it from the
5247 computation (otherwise the result will be NaN).
5248 It is used also in some spatial transformation, but will be replaced later
5249 by a specific detect_missing value attribute related to the transformation.
5250\end_layout
5251
5252\begin_layout Subsection*
5253add_offset (optional):
5254\emph on
5255double
5256\end_layout
5257
5258\begin_layout Standard
5259Fortran:
5260\end_layout
5261
5262\begin_layout LyX-Code
5263DOUBLE PRECISION: add_offset
5264\end_layout
5265
5266\begin_layout Standard
5267Sets the
5268\begin_inset Flex Strong
5269status collapsed
5270
5271\begin_layout Plain Layout
5272add_offset
5273\end_layout
5274
5275\end_inset
5276
5277 metadata CF attribute in an output file.
5278 In output, the
5279\begin_inset Flex Strong
5280status collapsed
5281
5282\begin_layout Plain Layout
5283add_offset
5284\end_layout
5285
5286\end_inset
5287
5288 value will be subtracted from the field values.
5289 It can be used together with
5290\begin_inset Flex Code
5291status open
5292
5293\begin_layout Plain Layout
5294scale_factor
5295\end_layout
5296
5297\end_inset
5298
5299 and
5300\begin_inset Flex Code
5301status open
5302
5303\begin_layout Plain Layout
5304prec
5305\end_layout
5306
5307\end_inset
5308
5309 attributes in order to reduce the data range and the volume of written
5310 data.
5311 Fo reading, this attribute is also taking into account to
5312\begin_inset Quotes eld
5313\end_inset
5314
5315decompress
5316\begin_inset Quotes erd
5317\end_inset
5318
5319 data.
5320\end_layout
5321
5322\begin_layout Subsection*
5323scale_factor:
5324\emph on
5325double
5326\end_layout
5327
5328\begin_layout Standard
5329Fortran:
5330\end_layout
5331
5332\begin_layout LyX-Code
5333DOUBLE PRECISION: scale_factor
5334\end_layout
5335
5336\begin_layout Standard
5337Sets the
5338\begin_inset Flex Strong
5339status collapsed
5340
5341\begin_layout Plain Layout
5342scale_factor
5343\end_layout
5344
5345\end_inset
5346
5347 metadata CF attribute in an output file.
5348 In output, the field values will be divided by the
5349\begin_inset Flex Strong
5350status collapsed
5351
5352\begin_layout Plain Layout
5353scale_factor
5354\end_layout
5355
5356\end_inset
5357
5358 value.
5359 It can be used together with
5360\begin_inset Flex Code
5361status open
5362
5363\begin_layout Plain Layout
5364add_offset
5365\end_layout
5366
5367\end_inset
5368
5369 and
5370\begin_inset Flex Code
5371status open
5372
5373\begin_layout Plain Layout
5374prec
5375\end_layout
5376
5377\end_inset
5378
5379 attributes in order to reduce the data range and the volume of written
5380 data.
5381 Fo reading, this attribute is also taking into account to
5382\begin_inset Quotes eld
5383\end_inset
5384
5385decompress
5386\begin_inset Quotes erd
5387\end_inset
5388
5389 data.
5390\end_layout
5391
5392\begin_layout Subsection*
5393compression_level (optional):
5394\emph on
5395integer
5396\end_layout
5397
5398\begin_layout Standard
5399Fortran:
5400\end_layout
5401
5402\begin_layout LyX-Code
5403INTEGER :: compression_level
5404\end_layout
5405
5406\begin_layout Standard
5407Defines whether a field should be compressed using NetCDF-4 built-in compression.
5408 The compression level must range from 0 to 9.
5409 A higher compression level means a better compression at the cost of using
5410 more processing power.
5411 The default value is inherited from the file attribute
5412\series bold
5413compression_level
5414\series default
5415.
5416\end_layout
5417
5418\begin_layout Subsection*
5419indexed_output (optional):
5420\emph on
5421bool
5422\end_layout
5423
5424\begin_layout Standard
5425Fortran:
5426\end_layout
5427
5428\begin_layout LyX-Code
5429LOGICAL :: indexed_output
5430\end_layout
5431
5432\begin_layout Standard
5433Defines whether field data must be output as an indexed grid instead of
5434 a full grid whenever possible.
5435 The default value is
5436\series bold
5437\emph on
5438false
5439\series default
5440\emph default
5441.
5442\end_layout
5443
5444\begin_layout Subsection*
5445ts_enabled (optional):
5446\emph on
5447bool
5448\end_layout
5449
5450\begin_layout Standard
5451Fortran:
5452\end_layout
5453
5454\begin_layout LyX-Code
5455LOGICAL :: ts_enabled
5456\end_layout
5457
5458\begin_layout Standard
5459Defines whether a field can be output as a timeseries.
5460 The default value is
5461\series bold
5462\emph on
5463false
5464\series default
5465\emph default
5466.
5467 A field will be tagged as timeseries if
5468\begin_inset Flex Code
5469status open
5470
5471\begin_layout Plain Layout
5472ts_enabled
5473\end_layout
5474
5475\end_inset
5476
5477 is set to true, and the associated file attribute timeserie is set to
5478\begin_inset Flex Code
5479status open
5480
5481\begin_layout Plain Layout
5482only
5483\end_layout
5484
5485\end_inset
5486
5487,
5488\begin_inset Flex Code
5489status open
5490
5491\begin_layout Plain Layout
5492both
5493\end_layout
5494
5495\end_inset
5496
5497 or
5498\begin_inset Flex Code
5499status open
5500
5501\begin_layout Plain Layout
5502exclusive
5503\end_layout
5504
5505\end_inset
5506
5507.
5508 A field tagged as timeseries will be output alone in a specific file suffixed
5509 by the field name.
5510 
5511\end_layout
5512
5513\begin_layout Subsection*
5514ts_split_freq (optional):
5515\emph on
5516duration
5517\end_layout
5518
5519\begin_layout Standard
5520Fortran:
5521\end_layout
5522
5523\begin_layout LyX-Code
5524TYPE(xios_duration) :: ts_split_freq
5525\end_layout
5526
5527\begin_layout Standard
5528Defines the splitting frequency that should be used for a timeseries if
5529 it has been requested.
5530 By default the attribute value is inherited from the file attribute
5531\series bold
5532split_freq
5533\series default
5534.
5535\end_layout
5536
5537\begin_layout Subsection*
5538cell_methods (optional):
5539\emph on
5540string
5541\end_layout
5542
5543\begin_layout Standard
5544Fortran:
5545\end_layout
5546
5547\begin_layout LyX-Code
5548CHARACTER(LEN=*) :: cell_methods
5549\end_layout
5550
5551\begin_layout Standard
5552Defines the cell methods field attribute.
5553 it will be written as associated field metadata, accordingly to CF compliance.
5554\end_layout
5555
5556\begin_layout Subsection*
5557cell_methods_mode (optional): enumeration
5558\emph on
5559 {overwrite, prefix, suffix, none}
5560\end_layout
5561
5562\begin_layout Standard
5563Fortran:
5564\end_layout
5565
5566\begin_layout LyX-Code
5567CHARACTER(LEN=*) :: cell_methods_mode
5568\end_layout
5569
5570\begin_layout Standard
5571Defines the cell methods mode of a field.
5572 
5573\end_layout
5574
5575\begin_layout Standard
5576XIOS defined itself the cell_method string, taking into account the operations
5577 applied on the field.
5578 But in some case it can modified, with the
5579\begin_inset Flex Code
5580status open
5581
5582\begin_layout Plain Layout
5583cell_methods
5584\end_layout
5585
5586\end_inset
5587
5588 attribute.
5589 
5590\begin_inset Flex Code
5591status open
5592
5593\begin_layout Plain Layout
5594overwrite
5595\end_layout
5596
5597\end_inset
5598
5599 will replace the computed default string by the
5600\begin_inset Flex Code
5601status open
5602
5603\begin_layout Plain Layout
5604cell_methods
5605\end_layout
5606
5607\end_inset
5608
5609 attribute,
5610\begin_inset Flex Code
5611status open
5612
5613\begin_layout Plain Layout
5614prefix
5615\end_layout
5616
5617\end_inset
5618
5619 will prefix the default string, and
5620\begin_inset Flex Code
5621status open
5622
5623\begin_layout Plain Layout
5624suffix
5625\end_layout
5626
5627\end_inset
5628
5629 will suffix the default string.
5630\end_layout
5631
5632\begin_layout Subsection*
5633comment (optional):
5634\begin_inset Flex Emph
5635status collapsed
5636
5637\begin_layout Plain Layout
5638string
5639\end_layout
5640
5641\end_inset
5642
5643
5644\end_layout
5645
5646\begin_layout Standard
5647Fortran:
5648\end_layout
5649
5650\begin_layout LyX-Code
5651CHARACTER(LEN=*) :: comment
5652\end_layout
5653
5654\begin_layout Standard
5655Allows a user to set a comment.
5656 Meaningfull on XIOS workflow.
5657\end_layout
5658
5659\begin_layout Section
5660Variable attribute reference
5661\end_layout
5662
5663\begin_layout Subsection*
5664name (optional):
5665\emph on
5666string
5667\end_layout
5668
5669\begin_layout Standard
5670Fortran:
5671\end_layout
5672
5673\begin_layout LyX-Code
5674CHARACTER(LEN=*) :: name
5675\end_layout
5676
5677\begin_layout Standard
5678Defines the name of a variable as it will appear in an output file.
5679 If not present, the variable
5680\begin_inset Flex Strong
5681status collapsed
5682
5683\begin_layout Plain Layout
5684id
5685\end_layout
5686
5687\end_inset
5688
5689 will be used.
5690\end_layout
5691
5692\begin_layout Subsection*
5693type (mandatory): enumeration {bool, int, int32, int16, int64, float, double,
5694 string}
5695\end_layout
5696
5697\begin_layout Standard
5698Fortran:
5699\end_layout
5700
5701\begin_layout LyX-Code
5702CHARACTER(LEN=*) :: type
5703\end_layout
5704
5705\begin_layout Standard
5706Defines the type of a variable.
5707 Note that the
5708\series bold
5709\emph on
5710int
5711\series default
5712\emph default
5713 type is a synonym for
5714\series bold
5715\emph on
5716int32
5717\series default
5718\emph default
5719.
5720\end_layout
5721
5722\begin_layout Subsection*
5723ts_target (optional): enumeration {file, field, both, none}
5724\end_layout
5725
5726\begin_layout Standard
5727Fortran:
5728\end_layout
5729
5730\begin_layout LyX-Code
5731CHARACTER(LEN=*) :: ts_target
5732\end_layout
5733
5734\begin_layout Standard
5735This attribute specify if a variable present in a file (global attribute)
5736 must be reported in each timeseries generated file.
5737 If
5738\begin_inset Flex Code
5739status open
5740
5741\begin_layout Plain Layout
5742ts_target=none
5743\end_layout
5744
5745\end_inset
5746
5747, the variable is not included, if
5748\begin_inset Flex Code
5749status open
5750
5751\begin_layout Plain Layout
5752ts_target=file
5753\end_layout
5754
5755\end_inset
5756
5757, the variable is included in each generated file as global attribute, if
5758 
5759\begin_inset Flex Code
5760status open
5761
5762\begin_layout Plain Layout
5763ts_target=field
5764\end_layout
5765
5766\end_inset
5767
5768, the variable is included as field attribute associated to the generated
5769 files (field metadata), if
5770\begin_inset Flex Code
5771status open
5772
5773\begin_layout Plain Layout
5774ts_target=both
5775\end_layout
5776
5777\end_inset
5778
5779, the varible is included twice as file global attribute and field attribute.
5780 
5781\end_layout
5782
5783\begin_layout Section
5784File attribute reference
5785\end_layout
5786
5787\begin_layout Subsection*
5788name (optional):
5789\emph on
5790string
5791\end_layout
5792
5793\begin_layout Standard
5794Fortran:
5795\end_layout
5796
5797\begin_layout LyX-Code
5798CHARACTER(LEN=*) :: name
5799\end_layout
5800
5801\begin_layout Standard
5802Defines the name of a file.
5803 If not specified a name is automaticaly defined from the file id.
5804 For netcdf output, a
5805\begin_inset Quotes eld
5806\end_inset
5807
5808
5809\begin_inset Flex Code
5810status open
5811
5812\begin_layout Plain Layout
5813.nc
5814\end_layout
5815
5816\end_inset
5817
5818
5819\begin_inset Quotes erd
5820\end_inset
5821
5822 suffix will be added to the file name.
5823\end_layout
5824
5825\begin_layout Subsection*
5826description (optional):
5827\emph on
5828string
5829\end_layout
5830
5831\begin_layout Standard
5832Fortran:
5833\end_layout
5834
5835\begin_layout LyX-Code
5836CHARACTER(LEN=*) :: description
5837\end_layout
5838
5839\begin_layout Standard
5840Defines the description of a file.
5841\end_layout
5842
5843\begin_layout Subsection*
5844name_suffix (optional):
5845\emph on
5846string
5847\end_layout
5848
5849\begin_layout Standard
5850Fortran:
5851\end_layout
5852
5853\begin_layout LyX-Code
5854CHARACTER(LEN=*) :: name_suffix
5855\end_layout
5856
5857\begin_layout Standard
5858Defines a suffix added to the file name.
5859\end_layout
5860
5861\begin_layout Subsection*
5862min_digits (optional):
5863\emph on
5864integer
5865\end_layout
5866
5867\begin_layout Standard
5868Fortran:
5869\end_layout
5870
5871\begin_layout LyX-Code
5872INTEGER :: min_digits
5873\end_layout
5874
5875\begin_layout Standard
5876For the
5877\series bold
5878multiple_file
5879\series default
5880 mode defines the minimum number of digits of the suffix describing the
5881 server rank which will be appended to the file name.
5882 The default value is
5883\begin_inset Flex Strong
5884status collapsed
5885
5886\begin_layout Plain Layout
58870
5888\end_layout
5889
5890\end_inset
5891
5892 (no server rank suffix is added).
5893\end_layout
5894
5895\begin_layout Subsection*
5896output_freq (mandatory):
5897\emph on
5898duration
5899\end_layout
5900
5901\begin_layout Standard
5902Fortran:
5903\end_layout
5904
5905\begin_layout LyX-Code
5906TYPE(xios_duration) :: output_freq
5907\end_layout
5908
5909\begin_layout Standard
5910Defines the output frequency for the current file.
5911\end_layout
5912
5913\begin_layout Subsection*
5914output_level (optional):
5915\emph on
5916integer
5917\end_layout
5918
5919\begin_layout Standard
5920Fortran:
5921\end_layout
5922
5923\begin_layout LyX-Code
5924INTEGER :: output_level
5925\end_layout
5926
5927\begin_layout Standard
5928Defines the output level for all fields of the current file.
5929 The field is output only if the field attribute
5930\series bold
5931level
5932\series default
5933 is less or equal to the file attribute
5934\series bold
5935output_level
5936\series default
5937.
5938\end_layout
5939
5940\begin_layout Subsection*
5941sync_freq (optional):
5942\emph on
5943duration
5944\end_layout
5945
5946\begin_layout Standard
5947Fortran:
5948\end_layout
5949
5950\begin_layout LyX-Code
5951TYPE(xios_duration) :: sync_freq
5952\end_layout
5953
5954\begin_layout Standard
5955Defines the frequency for flushing the current file onto a disk.
5956 It may result in poor performances but data will be written even if a file
5957 is not yet closed.
5958\end_layout
5959
5960\begin_layout Subsection*
5961split_freq (optional):
5962\emph on
5963duration
5964\end_layout
5965
5966\begin_layout Standard
5967Fortran:
5968\end_layout
5969
5970\begin_layout LyX-Code
5971TYPE(xios_duration) :: split_freq
5972\end_layout
5973
5974\begin_layout Standard
5975Defines the frequency for splitting the current file.
5976 The start and end dates will be added to the file name (see
5977\begin_inset Flex Emph
5978status collapsed
5979
5980\begin_layout Plain Layout
5981
5982\series bold
5983\emph on
5984split_freq_format
5985\end_layout
5986
5987\end_inset
5988
5989 attribute).
5990 By default no splitting is done.
5991\end_layout
5992
5993\begin_layout Subsection*
5994split_freq_format (optional):
5995\emph on
5996string
5997\end_layout
5998
5999\begin_layout Standard
6000Fortran:
6001\end_layout
6002
6003\begin_layout LyX-Code
6004CHARACTER(LEN=*) :: split_freq_format
6005\end_layout
6006
6007\begin_layout Standard
6008Defines the format of the split date suffixed to a file.
6009 It can contain any character,
6010\emph on
6011
6012\begin_inset Flex Code
6013status collapsed
6014
6015\begin_layout Plain Layout
6016%y
6017\end_layout
6018
6019\end_inset
6020
6021
6022\emph default
6023 will be replaced by the year (4 characters),
6024\begin_inset Flex Code
6025status collapsed
6026
6027\begin_layout Plain Layout
6028%mo
6029\end_layout
6030
6031\end_inset
6032
6033 by the month (2 char),
6034\begin_inset Flex Code
6035status collapsed
6036
6037\begin_layout Plain Layout
6038%d
6039\end_layout
6040
6041\end_inset
6042
6043 by the day (2 char),
6044\begin_inset Flex Code
6045status collapsed
6046
6047\begin_layout Plain Layout
6048%h
6049\end_layout
6050
6051\end_inset
6052
6053 by the hour (2 char),
6054\begin_inset Flex Code
6055status collapsed
6056
6057\begin_layout Plain Layout
6058%mi
6059\end_layout
6060
6061\end_inset
6062
6063 by the minute (2 char),
6064\begin_inset Flex Code
6065status collapsed
6066
6067\begin_layout Plain Layout
6068%s
6069\end_layout
6070
6071\end_inset
6072
6073 by the second (2 char),
6074\begin_inset Flex Code
6075status collapsed
6076
6077\begin_layout Plain Layout
6078%S
6079\end_layout
6080
6081\end_inset
6082
6083 by the number of seconds since the time origin and
6084\begin_inset Flex Code
6085status collapsed
6086
6087\begin_layout Plain Layout
6088%D
6089\end_layout
6090
6091\end_inset
6092
6093 by the number of full days since the time origin.
6094 The default behavior is to create a suffix with the date until the smaller
6095 non zero unit.
6096 For example, in one day split frequency, the hour, minute and second will
6097 not appear in the suffix, only year, month and day.
6098\end_layout
6099
6100\begin_layout Subsection*
6101split_start_offset (optional):
6102\emph on
6103duration
6104\end_layout
6105
6106\begin_layout Standard
6107Fortran:
6108\end_layout
6109
6110\begin_layout LyX-Code
6111TYPE(xios_duration) :: split_start_offset
6112\end_layout
6113
6114\begin_layout Standard
6115Defines the offset of the start splitting date when
6116\begin_inset Flex Code
6117status open
6118
6119\begin_layout Plain Layout
6120split_freq
6121\end_layout
6122
6123\end_inset
6124
6125 attribute is enabled.
6126 This attribute is used only to shift the start date of the splitting format.
6127 It has no impact on the real splitting date.
6128 
6129\end_layout
6130
6131\begin_layout Subsection*
6132split_end_offset(optional):
6133\emph on
6134duration
6135\end_layout
6136
6137\begin_layout Standard
6138Fortran:
6139\end_layout
6140
6141\begin_layout LyX-Code
6142TYPE(xios_duration) :: split_end_offset
6143\end_layout
6144
6145\begin_layout Standard
6146Defines the offset of the end splitting date when
6147\begin_inset Flex Code
6148status open
6149
6150\begin_layout Plain Layout
6151split_freq
6152\end_layout
6153
6154\end_inset
6155
6156 attribute is enabled.
6157 This attribute is used only to shift the end date of the splitting format.
6158 It has no impact on the real splitting date.
6159 
6160\end_layout
6161
6162\begin_layout Subsection*
6163split_last_date (optional):
6164\emph on
6165string
6166\end_layout
6167
6168\begin_layout Standard
6169Fortran:
6170\end_layout
6171
6172\begin_layout LyX-Code
6173CHARACTER(LEN=*) :: split_last_date
6174\end_layout
6175
6176\begin_layout Standard
6177Define the end splitting date when
6178\begin_inset Flex Code
6179status open
6180
6181\begin_layout Plain Layout
6182split_freq
6183\end_layout
6184
6185\end_inset
6186
6187 attribute is enabled.
6188 If
6189\begin_inset Flex Code
6190status open
6191
6192\begin_layout Plain Layout
6193split_last_date
6194\end_layout
6195
6196\end_inset
6197
6198 is lesser than the compute end splitting date, then the end splitting date
6199 will be replaced by
6200\begin_inset Flex Code
6201status open
6202
6203\begin_layout Plain Layout
6204split_last_date
6205\end_layout
6206
6207\end_inset
6208
6209 in the file name.
6210 This attribute can be usefull when a simulation is over before the computed
6211 splitting date, to be consistent with the file internal calendar.
6212 The format of
6213\begin_inset Flex Code
6214status open
6215
6216\begin_layout Plain Layout
6217split_last_date
6218\end_layout
6219
6220\end_inset
6221
6222 string attribute must be consistent with a date.
6223 
6224\end_layout
6225
6226\begin_layout Subsection*
6227enabled (optional):
6228\emph on
6229bool
6230\end_layout
6231
6232\begin_layout Standard
6233Fortran:
6234\end_layout
6235
6236\begin_layout LyX-Code
6237LOGICAL :: enabled
6238\end_layout
6239
6240\begin_layout Standard
6241Defines if a file must be written/read or not.
6242 The default value is
6243\begin_inset Flex Strong
6244status collapsed
6245
6246\begin_layout Plain Layout
6247true
6248\end_layout
6249
6250\end_inset
6251
6252.
6253\end_layout
6254
6255\begin_layout Subsection*
6256mode (optional):
6257\emph on
6258enumeration {read, write}
6259\end_layout
6260
6261\begin_layout Standard
6262Fortran:
6263\end_layout
6264
6265\begin_layout LyX-Code
6266CHARACTER(LEN=*) :: mode
6267\end_layout
6268
6269\begin_layout Standard
6270Defines whether a file will be read or written.
6271 The default value is
6272\begin_inset Flex Strong
6273status collapsed
6274
6275\begin_layout Plain Layout
6276write
6277\end_layout
6278
6279\end_inset
6280
6281.
6282\end_layout
6283
6284\begin_layout Subsection*
6285type (optionnal):
6286\emph on
6287enumeration {one_file, multiple_file}
6288\end_layout
6289
6290\begin_layout Standard
6291Fortran:
6292\end_layout
6293
6294\begin_layout LyX-Code
6295CHARACTER(LEN=*) :: type
6296\end_layout
6297
6298\begin_layout Standard
6299Defines the type of a file:
6300\begin_inset Flex Strong
6301status collapsed
6302
6303\begin_layout Plain Layout
6304
6305\emph on
6306multiple_file
6307\end_layout
6308
6309\end_inset
6310
6311: one file by server using sequential netcdf writing,
6312\begin_inset Flex Strong
6313status collapsed
6314
6315\begin_layout Plain Layout
6316
6317\emph on
6318one_file
6319\end_layout
6320
6321\end_inset
6322
6323: one single global file is wrote using netcdf4 parallel access.
6324 The default value is
6325\begin_inset Flex Code
6326status open
6327
6328\begin_layout Plain Layout
6329multiple_file
6330\end_layout
6331
6332\end_inset
6333
6334.
6335\end_layout
6336
6337\begin_layout Subsection*
6338format (optional):
6339\emph on
6340enumeration {netcdf4, netcdf4_classic}
6341\end_layout
6342
6343\begin_layout Standard
6344Fortran:
6345\end_layout
6346
6347\begin_layout LyX-Code
6348CHARACTER(LEN=*) :: format
6349\end_layout
6350
6351\begin_layout Standard
6352Define the format of a file:
6353\begin_inset Flex Strong
6354status collapsed
6355
6356\begin_layout Plain Layout
6357
6358\emph on
6359netcdf4
6360\end_layout
6361
6362\end_inset
6363
6364: the HDF5 format will be used,
6365\begin_inset Flex Strong
6366status collapsed
6367
6368\begin_layout Plain Layout
6369
6370\emph on
6371netcdf4
6372\emph default
6373_
6374\emph on
6375classic
6376\end_layout
6377
6378\end_inset
6379
6380: the classic NetCDF format will be used.
6381 The default value is
6382\series bold
6383\emph on
6384netcdf4
6385\series default
6386\emph default
6387.
6388 Note that the
6389\series bold
6390\emph on
6391netcdf4
6392\emph default
6393_
6394\emph on
6395classic
6396\series default
6397\emph default
6398 format can be used with the attribute
6399\series bold
6400type
6401\series default
6402 set to
6403\series bold
6404\emph on
6405one_file
6406\series default
6407\emph default
6408 only if the NetCDF4 library was compiled with Parallel NetCDF support (–enable-
6409pnetcdf).
6410\end_layout
6411
6412\begin_layout Subsection*
6413par_access (optional):
6414\emph on
6415enumeration {collective, independent}
6416\end_layout
6417
6418\begin_layout Standard
6419Fortran:
6420\end_layout
6421
6422\begin_layout LyX-Code
6423CHARACTER(LEN=*) :: par_access
6424\end_layout
6425
6426\begin_layout Standard
6427For parallel writing, defines which type of MPI calls will be used.
6428 The default value is
6429\begin_inset Flex Strong
6430status collapsed
6431
6432\begin_layout Plain Layout
6433
6434\emph on
6435collective
6436\end_layout
6437
6438\end_inset
6439
6440.
6441 Nota : this attribute is now deprecated, and has no effect on I/O parallelism.
6442 
6443\end_layout
6444
6445\begin_layout Subsection*
6446read_metadata_par (optional):
6447\emph on
6448bool
6449\end_layout
6450
6451\begin_layout Standard
6452Fortran:
6453\end_layout
6454
6455\begin_layout LyX-Code
6456LOGICAL :: read_metadata_par
6457\end_layout
6458
6459\begin_layout Standard
6460For files in the read mode, defines if parallel or serial I/O will be used
6461 by model processes for reading file metadata.
6462 The default value is false implying serial I/O for reading metadata on
6463 client side.
6464 
6465\end_layout
6466
6467\begin_layout Subsection*
6468convention (optional):
6469\emph on
6470enumeration {CF, UGRID}
6471\end_layout
6472
6473\begin_layout Standard
6474Fortran:
6475\end_layout
6476
6477\begin_layout LyX-Code
6478CHARACTER(LEN=*) :: convention
6479\end_layout
6480
6481\begin_layout Standard
6482Defines the file conventions.
6483 The netcdf file can be output following the CF convention (1.7) or the UGRID
6484 convention, usefull for unstructured mesh.
6485 By default the CF conventions are followed.
6486 The global file attribute
6487\begin_inset Flex Code
6488status open
6489
6490\begin_layout Plain Layout
6491Conventions
6492\end_layout
6493
6494\end_inset
6495
6496 will be added in the output file following the specified value.
6497\end_layout
6498
6499\begin_layout Subsection*
6500convention_str (optional):
6501\emph on
6502string
6503\end_layout
6504
6505\begin_layout Standard
6506Fortran:
6507\end_layout
6508
6509\begin_layout LyX-Code
6510CHARACTER(LEN=*) :: convention_str
6511\end_layout
6512
6513\begin_layout Standard
6514Defines the
6515\series bold
6516Conventions
6517\series default
6518attribute to be added to file global attributes.
6519 This attribute will overwrite the
6520\begin_inset Flex Code
6521status open
6522
6523\begin_layout Plain Layout
6524Conventions
6525\end_layout
6526
6527\end_inset
6528
6529 global file attribute generated by the
6530\begin_inset Flex Code
6531status open
6532
6533\begin_layout Plain Layout
6534convention
6535\end_layout
6536
6537\end_inset
6538
6539 XIOS attribute.
6540\end_layout
6541
6542\begin_layout Subsection*
6543append (optional):
6544\emph on
6545bool
6546\end_layout
6547
6548\begin_layout Standard
6549Fortran:
6550\end_layout
6551
6552\begin_layout LyX-Code
6553LOGICAL :: append
6554\end_layout
6555
6556\begin_layout Standard
6557If this attribute is set to
6558\begin_inset Flex Code
6559status open
6560
6561\begin_layout Plain Layout
6562true
6563\end_layout
6564
6565\end_inset
6566
6567 and if the file is present, the file is open, and data will be append at
6568 the specified time record.
6569 If the time record already exists, data will be overwritten, otherwise
6570 a new time record is created and data is appended.
6571 If append is set to
6572\begin_inset Flex Code
6573status open
6574
6575\begin_layout Plain Layout
6576false
6577\end_layout
6578
6579\end_inset
6580
6581, a new file will be created, even if a old file is present, overwritting
6582 it.
6583 The default value is
6584\begin_inset Flex Code
6585status open
6586
6587\begin_layout Plain Layout
6588append = false
6589\end_layout
6590
6591\end_inset
6592
6593.
6594\end_layout
6595
6596\begin_layout Subsection*
6597compression_level (optional):
6598\emph on
6599integer
6600\end_layout
6601
6602\begin_layout Standard
6603Fortran:
6604\end_layout
6605
6606\begin_layout LyX-Code
6607INTEGER :: compression_level
6608\end_layout
6609
6610\begin_layout Standard
6611Defines whether the fields should be compressed using NetCDF-4 built-in
6612 compression by default.
6613 The compression level must range from 0 to 9.
6614 A higher compression level means a better compression at the cost of using
6615 more processing power.
6616 The default value is
6617\begin_inset Flex Strong
6618status collapsed
6619
6620\begin_layout Plain Layout
6621
6622\emph on
66230
6624\end_layout
6625
6626\end_inset
6627
6628 (no compression).
6629\end_layout
6630
6631\begin_layout Subsection*
6632time_counter (optional):
6633\emph on
6634enumeration {centered, instant, record, exclusive, centered_exclusive, instant_e
6635xclusive, none}
6636\end_layout
6637
6638\begin_layout Standard
6639Fortran:
6640\end_layout
6641
6642\begin_layout LyX-Code
6643CHARACTER(LEN=*) :: time_counter
6644\end_layout
6645
6646\begin_layout Standard
6647Defines how the
6648\begin_inset Quotes eld
6649\end_inset
6650
6651time_counter
6652\begin_inset Quotes erd
6653\end_inset
6654
6655 variable will be output:
6656\end_layout
6657
6658\begin_layout Itemize
6659
6660\series bold
6661\emph on
6662centered
6663\series default
6664\emph default
6665: use centered times (default option for all field operations except for
6666 instant)
6667\end_layout
6668
6669\begin_layout Itemize
6670
6671\series bold
6672\emph on
6673instant
6674\series default
6675\emph default
6676: use instant times (default option for field operation
6677\series bold
6678instant
6679\series default
6680)
6681\end_layout
6682
6683\begin_layout Itemize
6684
6685\series bold
6686\emph on
6687record
6688\series default
6689\emph default
6690: use record indexes
6691\end_layout
6692
6693\begin_layout Itemize
6694
6695\series bold
6696\shape italic
6697centered_exclusive:
6698\series default
6699\shape default
6700do not include centered times into an output file
6701\end_layout
6702
6703\begin_layout Itemize
6704
6705\series bold
6706\shape italic
6707\emph on
6708instant_
6709\emph default
6710exclusive:
6711\series default
6712\shape default
6713do not include instant times into an output file
6714\end_layout
6715
6716\begin_layout Itemize
6717
6718\series bold
6719\shape italic
6720exclusive:
6721\series default
6722\shape default
6723include neither instant times nor centered times into an output file
6724\end_layout
6725
6726\begin_layout Itemize
6727
6728\series bold
6729\emph on
6730none
6731\series default
6732\emph default
6733: do not output the variable.
6734\end_layout
6735
6736\begin_layout Standard
6737The default value is
6738\begin_inset Flex Code
6739status open
6740
6741\begin_layout Plain Layout
6742centered
6743\end_layout
6744
6745\end_inset
6746
6747 if there are only centered time axis.
6748 It will be
6749\begin_inset Flex Code
6750status open
6751
6752\begin_layout Plain Layout
6753instant
6754\end_layout
6755
6756\end_inset
6757
6758 if there are only instant time axis.
6759 If both instant and centered time axis are present, the default value will
6760 be
6761\begin_inset Flex Code
6762status open
6763
6764\begin_layout Plain Layout
6765centered
6766\end_layout
6767
6768\end_inset
6769
6770.
6771 
6772\end_layout
6773
6774\begin_layout Subsection*
6775time_counter_name (optional):
6776\emph on
6777string
6778\end_layout
6779
6780\begin_layout Standard
6781Fortran:
6782\end_layout
6783
6784\begin_layout LyX-Code
6785CHARACTER(LEN=*) :: time_counter_name
6786\end_layout
6787
6788\begin_layout Standard
6789Define the name of a time counter.
6790 The default value is
6791\begin_inset Flex Code
6792status open
6793
6794\begin_layout Plain Layout
6795time_counter
6796\end_layout
6797
6798\end_inset
6799
6800.
6801\end_layout
6802
6803\begin_layout Subsection*
6804timeseries (optional):
6805\emph on
6806enumeration {none, only, both, exclusive}
6807\end_layout
6808
6809\begin_layout Standard
6810Fortran:
6811\end_layout
6812
6813\begin_layout LyX-Code
6814CHARACTER(LEN=*) :: time_series
6815\end_layout
6816
6817\begin_layout Standard
6818Defines whether the timeseries must be output:
6819\end_layout
6820
6821\begin_layout Itemize
6822
6823\series bold
6824\emph on
6825none
6826\series default
6827\emph default
6828: no timeseries is outputted, only the regular file
6829\end_layout
6830
6831\begin_layout Itemize
6832
6833\series bold
6834\emph on
6835only
6836\series default
6837\emph default
6838: only the timeseries is outputted, the regular file is not created
6839\end_layout
6840
6841\begin_layout Itemize
6842
6843\series bold
6844\emph on
6845both
6846\series default
6847\emph default
6848: both the timeseries and the regular file are outputted.
6849\end_layout
6850
6851\begin_layout Itemize
6852
6853\series bold
6854\emph on
6855exclusive
6856\series default
6857\emph default
6858: the timeseries is outputted and a regular file is created with only the
6859 fields which were not marked for output as a timeseries (if any).
6860\end_layout
6861
6862\begin_layout Standard
6863When time series is enabled, each tagged field (see
6864\begin_inset Flex Code
6865status open
6866
6867\begin_layout Plain Layout
6868ts_enabled
6869\end_layout
6870
6871\end_inset
6872
6873 field attribute) is output into a separate file.
6874 The default value is
6875\series bold
6876\emph on
6877none
6878\series default
6879\emph default
6880.
6881\end_layout
6882
6883\begin_layout Subsection*
6884ts_prefix (optional):
6885\emph on
6886string
6887\end_layout
6888
6889\begin_layout Standard
6890Fortran:
6891\end_layout
6892
6893\begin_layout LyX-Code
6894CHARACTER(LEN=*) :: ts_prefix
6895\end_layout
6896
6897\begin_layout Standard
6898Defines the prefix to use for the name of the timeseries files.
6899 By default the file name will be used.
6900\end_layout
6901
6902\begin_layout Subsection*
6903time_units (optional):
6904\emph on
6905enumeration {seconds, days}
6906\end_layout
6907
6908\begin_layout Standard
6909Fortran:
6910\end_layout
6911
6912\begin_layout LyX-Code
6913CHARACTER(LEN=*) :: time_units
6914\end_layout
6915
6916\begin_layout Standard
6917Define the time unit of the time axis present in the file.
6918 Two choices are possible :
6919\begin_inset Flex Code
6920status open
6921
6922\begin_layout Plain Layout
6923seconds
6924\end_layout
6925
6926\end_inset
6927
6928 or
6929\begin_inset Flex Code
6930status open
6931
6932\begin_layout Plain Layout
6933days
6934\end_layout
6935
6936\end_inset
6937
6938.
6939 The default value is
6940\begin_inset Flex Code
6941status open
6942
6943\begin_layout Plain Layout
6944seconds
6945\end_layout
6946
6947\end_inset
6948
6949.
6950\end_layout
6951
6952\begin_layout Subsection*
6953record_offset (optional):
6954\emph on
6955integer
6956\end_layout
6957
6958\begin_layout Standard
6959Fortran:
6960\end_layout
6961
6962\begin_layout LyX-Code
6963INTEGER :: record_offset
6964\end_layout
6965
6966\begin_layout Standard
6967Defines an offset for the time records associated to the file.
6968 For a file in
6969\begin_inset Flex Code
6970status open
6971
6972\begin_layout Plain Layout
6973read
6974\end_layout
6975
6976\end_inset
6977
6978 mode, the first record sent will be shift of
6979\begin_inset Flex Code
6980status open
6981
6982\begin_layout Plain Layout
6983record_offset
6984\end_layout
6985
6986\end_inset
6987
6988 value instead of 0.
6989 For file in write mode, the first time record to be output will begin from
6990 
6991\begin_inset Flex Code
6992status open
6993
6994\begin_layout Plain Layout
6995record_offset
6996\end_layout
6997
6998\end_inset
6999
7000 value.
7001 The default value is 0.
7002\end_layout
7003
7004\begin_layout Subsection*
7005cyclic (optional):
7006\emph on
7007bool
7008\end_layout
7009
7010\begin_layout Standard
7011Fortran:
7012\end_layout
7013
7014\begin_layout LyX-Code
7015LOGICAL :: cyclic
7016\end_layout
7017
7018\begin_layout Standard
7019If the option is activated for fields to be read, then upon reaching the
7020 last time record, reading will continue
7021\begin_inset Quotes eld
7022\end_inset
7023
7024cycle
7025\begin_inset Quotes erd
7026\end_inset
7027
7028 at the first time record.
7029 The default value is false.
7030\end_layout
7031
7032\begin_layout Subsection*
7033time_stamp_name (optional):
7034\begin_inset Flex Emph
7035status collapsed
7036
7037\begin_layout Plain Layout
7038string
7039\end_layout
7040
7041\end_inset
7042
7043
7044\end_layout
7045
7046\begin_layout Standard
7047Fortran:
7048\end_layout
7049
7050\begin_layout LyX-Code
7051CHARACTER(LEN=*) :: time_stamp_name
7052\end_layout
7053
7054\begin_layout Standard
7055Defines the timestamp name of the date and time when the program was executed
7056 which will be written into an output file.
7057 The default value is
7058\begin_inset Quotes eld
7059\end_inset
7060
7061timeStamp
7062\begin_inset Quotes erd
7063\end_inset
7064
7065.
7066\end_layout
7067
7068\begin_layout Subsection*
7069time_stamp_format (optional):
7070\begin_inset Flex Emph
7071status collapsed
7072
7073\begin_layout Plain Layout
7074string
7075\end_layout
7076
7077\end_inset
7078
7079
7080\end_layout
7081
7082\begin_layout Standard
7083Fortran:
7084\end_layout
7085
7086\begin_layout LyX-Code
7087CHARACTER(LEN=*) :: time_stamp_format
7088\end_layout
7089
7090\begin_layout Standard
7091Defines the timestamp format of the date and time when the program was executed
7092 to be written into an output file.
7093 It can contain any character.
7094 
7095\emph on
7096
7097\begin_inset Flex Code
7098status collapsed
7099
7100\begin_layout Plain Layout
7101%Y
7102\end_layout
7103
7104\end_inset
7105
7106
7107\emph default
7108 will be replaced by the 4-digit year (4 digits), while
7109\emph on
7110
7111\begin_inset Flex Code
7112status collapsed
7113
7114\begin_layout Plain Layout
7115%y
7116\end_layout
7117
7118\end_inset
7119
7120
7121\emph default
7122 will be replaced by the 2-digit year.
7123 
7124\begin_inset Flex Code
7125status collapsed
7126
7127\begin_layout Plain Layout
7128%m
7129\end_layout
7130
7131\end_inset
7132
7133 will be by the 2-digit month, while %b will be replaced by the 3-character
7134 month.
7135 
7136\begin_inset Flex Code
7137status collapsed
7138
7139\begin_layout Plain Layout
7140%d
7141\end_layout
7142
7143\end_inset
7144
7145 will be replaced by the day (2 char),
7146\begin_inset Flex Code
7147status collapsed
7148
7149\begin_layout Plain Layout
7150%H
7151\end_layout
7152
7153\end_inset
7154
7155 by the hour (2 char),
7156\begin_inset Flex Code
7157status collapsed
7158
7159\begin_layout Plain Layout
7160%M
7161\end_layout
7162
7163\end_inset
7164
7165 by the minute (2 char),
7166\begin_inset Flex Code
7167status collapsed
7168
7169\begin_layout Plain Layout
7170%S
7171\end_layout
7172
7173\end_inset
7174
7175 by the number of seconds,
7176\begin_inset Flex Code
7177status collapsed
7178
7179\begin_layout Plain Layout
7180%D
7181\end_layout
7182
7183\end_inset
7184
7185 by the date in the MM/DD/YY format.
7186\end_layout
7187
7188\begin_layout Subsection*
7189uuid_name (optional):
7190\begin_inset Flex Emph
7191status collapsed
7192
7193\begin_layout Plain Layout
7194string
7195\end_layout
7196
7197\end_inset
7198
7199
7200\end_layout
7201
7202\begin_layout Standard
7203Fortran:
7204\end_layout
7205
7206\begin_layout LyX-Code
7207CHARACTER(LEN=*) :: uuid_name
7208\end_layout
7209
7210\begin_layout Standard
7211Defines the name of the global attribute designing the UUID of the file.
7212 The default global attribute is
7213\begin_inset Quotes eld
7214\end_inset
7215
7216
7217\begin_inset Flex Code
7218status open
7219
7220\begin_layout Plain Layout
7221uuid
7222\end_layout
7223
7224\end_inset
7225
7226
7227\begin_inset Quotes erd
7228\end_inset
7229
7230.
7231\end_layout
7232
7233\begin_layout Subsection*
7234uuid_format (optional):
7235\begin_inset Flex Emph
7236status collapsed
7237
7238\begin_layout Plain Layout
7239string
7240\end_layout
7241
7242\end_inset
7243
7244
7245\end_layout
7246
7247\begin_layout Standard
7248Fortran:
7249\end_layout
7250
7251\begin_layout LyX-Code
7252CHARACTER(LEN=*) :: uuid_format
7253\end_layout
7254
7255\begin_layout Standard
7256Defines the format of file's UUID.
7257 In the
7258\begin_inset Flex Code
7259status open
7260
7261\begin_layout Plain Layout
7262uuid_format
7263\end_layout
7264
7265\end_inset
7266
7267 string, the sub-string
7268\begin_inset Flex Code
7269status open
7270
7271\begin_layout Plain Layout
7272%uuid%
7273\end_layout
7274
7275\end_inset
7276
7277 will be replaced by string computed UUID.
7278\end_layout
7279
7280\begin_layout Subsection*
7281comment (optional):
7282\begin_inset Flex Emph
7283status collapsed
7284
7285\begin_layout Plain Layout
7286string
7287\end_layout
7288
7289\end_inset
7290
7291
7292\end_layout
7293
7294\begin_layout Standard
7295Fortran:
7296\end_layout
7297
7298\begin_layout LyX-Code
7299CHARACTER(LEN=*) :: comment
7300\end_layout
7301
7302\begin_layout Standard
7303Allows a user to set a comment.
7304\end_layout
7305
7306\begin_layout Section
7307Transformation attribute reference
7308\end_layout
7309
7310\begin_layout Subsection
7311reduce_scalar_to_scalar
7312\end_layout
7313
7314\begin_layout Subsection*
7315operation (mandatory):
7316\emph on
7317enumeration {min, max, sum, average}
7318\end_layout
7319
7320\begin_layout Standard
7321Fortran:
7322\end_layout
7323
7324\begin_layout LyX-Code
7325CHARACTER(LEN=*) :: operation
7326\end_layout
7327
7328\begin_layout Standard
7329Defines the type of reduction operation performed on the scalar.
7330 Like a scalar is redondant accross process (except if masked), the reduction
7331 will be similar to a MPI reduction accros procces.
7332 
7333\end_layout
7334
7335\begin_layout Subsection
7336extract_axis_to_scalar
7337\end_layout
7338
7339\begin_layout Subsection*
7340position:
7341\emph on
7342integer
7343\end_layout
7344
7345\begin_layout Standard
7346Fortran:
7347\end_layout
7348
7349\begin_layout LyX-Code
7350INTEGER :: position
7351\end_layout
7352
7353\begin_layout Standard
7354Global index of a point on an axis to be extracted into a scalar.
7355\end_layout
7356
7357\begin_layout Standard
7358
7359\end_layout
7360
7361\begin_layout Subsection
7362interpolate_axis
7363\end_layout
7364
7365\begin_layout Subsection*
7366type (optional):
7367\emph on
7368string
7369\end_layout
7370
7371\begin_layout Standard
7372Fortran:
7373\end_layout
7374
7375\begin_layout LyX-Code
7376CHARACTER(LEN=*) :: type
7377\end_layout
7378
7379\begin_layout Standard
7380Defines the interpolation type on an axis.
7381 For now only polynomial interpolation is available, so this attribute is
7382 currently meaningless.
7383 
7384\end_layout
7385
7386\begin_layout Subsection*
7387order (optional):
7388\emph on
7389integer
7390\end_layout
7391
7392\begin_layout Standard
7393Fortran:
7394\end_layout
7395
7396\begin_layout LyX-Code
7397INTEGER :: order
7398\end_layout
7399
7400\begin_layout Standard
7401Defines the order of interpolation.
7402 The default value is 2.
7403\end_layout
7404
7405\begin_layout Subsection*
7406coordinate (optional):
7407\emph on
7408string
7409\end_layout
7410
7411\begin_layout Standard
7412Fortran:
7413\end_layout
7414
7415\begin_layout LyX-Code
7416CHARACTER(LEN=*) :: coordinate
7417\end_layout
7418
7419\begin_layout Standard
7420Defines the coordinate associated with an axis on which interpolation will
7421 be performed.
7422\end_layout
7423
7424\begin_layout Subsection
7425reduce_axis_to_axis
7426\end_layout
7427
7428\begin_layout Subsection*
7429operation (mandatory):
7430\emph on
7431enumeration {min, max, sum, average}
7432\end_layout
7433
7434\begin_layout Standard
7435Fortran:
7436\end_layout
7437
7438\begin_layout LyX-Code
7439CHARACTER(LEN=*) :: operation
7440\end_layout
7441
7442\begin_layout Standard
7443Defines a reduction operation performed on an axis across model processes.
7444\end_layout
7445
7446\begin_layout Subsection
7447reduce_axis_to_scalar
7448\end_layout
7449
7450\begin_layout Standard
7451Reduces data defined on an axis into a scalar value.
7452\end_layout
7453
7454\begin_layout Subsection*
7455operation (mandatory):
7456\emph on
7457enumeration {min, max, sum, average}
7458\end_layout
7459
7460\begin_layout Standard
7461Fortran:
7462\end_layout
7463
7464\begin_layout LyX-Code
7465CHARACTER(LEN=*) :: operation
7466\end_layout
7467
7468\begin_layout Subsection
7469zoom_axis
7470\end_layout
7471
7472\begin_layout Subsection*
7473begin (optional):
7474\begin_inset Flex Emph
7475status collapsed
7476
7477\begin_layout Plain Layout
7478integer
7479\end_layout
7480
7481\end_inset
7482
7483
7484\end_layout
7485
7486\begin_layout Standard
7487Fortran:
7488\end_layout
7489
7490\begin_layout LyX-Code
7491INTEGER :: begin
7492\end_layout
7493
7494\begin_layout Standard
7495Defines the beginning index of a zoomed region on a global axis.
7496 The attribute value should be an integer between
7497\begin_inset Flex Strong
7498status collapsed
7499
7500\begin_layout Plain Layout
75010
7502\end_layout
7503
7504\end_inset
7505
7506 and
7507\begin_inset Flex Strong
7508status collapsed
7509
7510\begin_layout Plain Layout
7511ni_glo-1
7512\end_layout
7513
7514\end_inset
7515
7516 of the associated axis.
7517 If not specified the default value is
7518\begin_inset Flex Strong
7519status collapsed
7520
7521\begin_layout Plain Layout
75220
7523\end_layout
7524
7525\end_inset
7526
7527.
7528\end_layout
7529
7530\begin_layout Subsection*
7531n (optional):
7532\begin_inset Flex Emph
7533status collapsed
7534
7535\begin_layout Plain Layout
7536integer
7537\end_layout
7538
7539\end_inset
7540
7541
7542\end_layout
7543
7544\begin_layout Standard
7545Fortran:
7546\end_layout
7547
7548\begin_layout LyX-Code
7549INTEGER :: n
7550\end_layout
7551
7552\begin_layout Standard
7553Defines the size of a zoomed region on a global axis.
7554 The attribute value should be an integer between
7555\begin_inset Flex Strong
7556status collapsed
7557
7558\begin_layout Plain Layout
75591
7560\end_layout
7561
7562\end_inset
7563
7564and
7565\begin_inset Flex Strong
7566status collapsed
7567
7568\begin_layout Plain Layout
7569nj_glo
7570\end_layout
7571
7572\end_inset
7573
7574 of the associated axis.
7575 If not specified the default value is
7576\begin_inset Flex Strong
7577status collapsed
7578
7579\begin_layout Plain Layout
7580nj_glo
7581\end_layout
7582
7583\end_inset
7584
7585 of the associated axis.
7586\end_layout
7587
7588\begin_layout Subsection
7589compute_connectivity_domain
7590\end_layout
7591
7592\begin_layout Subsection*
7593n_neighbor:
7594\begin_inset Flex Emph
7595status collapsed
7596
7597\begin_layout Plain Layout
75981D-array of integer
7599\end_layout
7600
7601\end_inset
7602
7603
7604\end_layout
7605
7606\begin_layout Standard
7607Fortran:
7608\end_layout
7609
7610\begin_layout LyX-Code
7611INTEGER :: n_neighbor(:)
7612\end_layout
7613
7614\begin_layout Subsection*
7615local_neighbor:
7616\begin_inset Flex Emph
7617status collapsed
7618
7619\begin_layout Plain Layout
76202D-array of integer
7621\end_layout
7622
7623\end_inset
7624
7625
7626\end_layout
7627
7628\begin_layout Standard
7629Fortran:
7630\end_layout
7631
7632\begin_layout LyX-Code
7633INTEGER :: local_neighbor(:,:)
7634\end_layout
7635
7636\begin_layout Subsection*
7637n_neighbor_max:
7638\begin_inset Flex Emph
7639status collapsed
7640
7641\begin_layout Plain Layout
7642integer
7643\end_layout
7644
7645\end_inset
7646
7647
7648\end_layout
7649
7650\begin_layout Standard
7651Fortran:
7652\end_layout
7653
7654\begin_layout LyX-Code
7655INTEGER :: n_neighbor_max
7656\end_layout
7657
7658\begin_layout Subsection
7659extract_domain_to_axis
7660\end_layout
7661
7662\begin_layout Subsection*
7663position (optional):
7664\emph on
7665integer
7666\end_layout
7667
7668\begin_layout Standard
7669Fortran:
7670\end_layout
7671
7672\begin_layout LyX-Code
7673INTEGER :: position
7674\end_layout
7675
7676\begin_layout Standard
7677Defines the index on a domain starting which an axis will be extracted along
7678 the direction specified with the
7679\series bold
7680direction
7681\series default
7682 attribute.
7683\end_layout
7684
7685\begin_layout Subsection*
7686direction (mandatory):
7687\emph on
7688enumeration {iDir, jDir}
7689\end_layout
7690
7691\begin_layout Standard
7692Fortran:
7693\end_layout
7694
7695\begin_layout LyX-Code
7696CHARACTER(LEN=*) :: direction
7697\end_layout
7698
7699\begin_layout Standard
7700Defines the domain dimension along which an axis will be extracted.
7701 
7702\begin_inset Flex Code
7703status open
7704
7705\begin_layout Plain Layout
7706iDir
7707\end_layout
7708
7709\end_inset
7710
7711 means along the direction i,
7712\begin_inset Flex Code
7713status open
7714
7715\begin_layout Plain Layout
7716jDir
7717\end_layout
7718
7719\end_inset
7720
7721 along the direction j.
7722\end_layout
7723
7724\begin_layout Subsection
7725interpolate_domain
7726\end_layout
7727
7728\begin_layout Subsection*
7729order (optional):
7730\emph on
7731integer
7732\end_layout
7733
7734\begin_layout Standard
7735Fortran:
7736\end_layout
7737
7738\begin_layout LyX-Code
7739INTEGER :: order
7740\end_layout
7741
7742\begin_layout Standard
7743Defines the order of interpolation.
7744 This attribute is only for internal interpolation module.
7745 Currently, only first order and second order are available for conservative
7746 interpolations.
7747 The default value is
7748\begin_inset Flex Code
7749status open
7750
7751\begin_layout Plain Layout
77522
7753\end_layout
7754
7755\end_inset
7756
7757.
7758\end_layout
7759
7760\begin_layout Subsection*
7761renormalize (optional):
7762\emph on
7763bool
7764\end_layout
7765
7766\begin_layout Standard
7767Fortran:
7768\end_layout
7769
7770\begin_layout LyX-Code
7771LOGICAL :: renormalize
7772\end_layout
7773
7774\begin_layout Standard
7775This flag is usefull only when targeted cells intersect masked source cells.
7776 In case a field corresponding to a flux value, the result of the interpolation
7777 remain correct.
7778 Otherwise for intensive field, the computed value need to be renormalize
7779 prorate of the non masked intersected area to remain correct.
7780 This flag activate these functionnality.
7781 Default value is
7782\begin_inset Flex Code
7783status open
7784
7785\begin_layout Plain Layout
7786false
7787\end_layout
7788
7789\end_inset
7790
7791.
7792\end_layout
7793
7794\begin_layout Subsection*
7795quantitity (optional):
7796\emph on
7797bool
7798\end_layout
7799
7800\begin_layout Standard
7801Fortran:
7802\end_layout
7803
7804\begin_layout LyX-Code
7805LOGICAL :: quantity
7806\end_layout
7807
7808\begin_layout Standard
7809If this flag is set, the interpolation will preserve extensive property
7810 of the field.
7811 Default value is
7812\begin_inset Flex Code
7813status open
7814
7815\begin_layout Plain Layout
7816false
7817\end_layout
7818
7819\end_inset
7820
7821.
7822\end_layout
7823
7824\begin_layout Subsection*
7825use_area (optional):
7826\emph on
7827bool
7828\end_layout
7829
7830\begin_layout Standard
7831Fortran:
7832\end_layout
7833
7834\begin_layout LyX-Code
7835LOGICAL :: use_area
7836\end_layout
7837
7838\begin_layout Standard
7839If this flag is set, given area for source and target domain (if any) will
7840 be used to renormalize compute weight by the ratio given area / computed
7841 area.
7842 Default value is
7843\begin_inset Flex Code
7844status open
7845
7846\begin_layout Plain Layout
7847false
7848\end_layout
7849
7850\end_inset
7851
7852.
7853\end_layout
7854
7855\begin_layout Subsection*
7856detect_missing_value (optional):
7857\emph on
7858bool
7859\end_layout
7860
7861\begin_layout Standard
7862Fortran:
7863\end_layout
7864
7865\begin_layout LyX-Code
7866LOGICAL :: detect_missing_value
7867\end_layout
7868
7869\begin_layout Standard
7870If flag is set to true, input data of the field to be interpolated are analyzed
7871 to detect missing values.
7872 Detected cells are considered as masked and will be taking into account
7873 for interpolation in a similar way than the domain mask.
7874 Default value is
7875\begin_inset Flex Code
7876status open
7877
7878\begin_layout Plain Layout
7879false
7880\end_layout
7881
7882\end_inset
7883
7884.
7885\end_layout
7886
7887\begin_layout Subsection*
7888mode (optionnal):
7889\emph on
7890enumeration {compute, read, read_or_compute}
7891\end_layout
7892
7893\begin_layout Standard
7894Fortran:
7895\end_layout
7896
7897\begin_layout LyX-Code
7898CHARACTER(LEN=*) :: mode
7899\end_layout
7900
7901\begin_layout Standard
7902Define if interpolation must be computed (compute), read from file (read),
7903 or if find file weight, read otherwise compute (read_or_compute).
7904 Default value is
7905\begin_inset Flex Code
7906status open
7907
7908\begin_layout Plain Layout
7909compute
7910\end_layout
7911
7912\end_inset
7913
7914.
7915\end_layout
7916
7917\begin_layout Subsection*
7918write_weight (optional):
7919\emph on
7920bool
7921\end_layout
7922
7923\begin_layout Standard
7924Fortran:
7925\end_layout
7926
7927\begin_layout LyX-Code
7928LOGICAL :: write_weight
7929\end_layout
7930
7931\begin_layout Standard
7932If this flag is set, the computed weights will be written in file.
7933 If weights are already read from a file, nothing will happen.
7934 Default value is
7935\begin_inset Flex Code
7936status open
7937
7938\begin_layout Plain Layout
7939false
7940\end_layout
7941
7942\end_inset
7943
7944.
7945\end_layout
7946
7947\begin_layout Subsection*
7948weight_filename (optional):
7949\emph on
7950string
7951\end_layout
7952
7953\begin_layout Standard
7954Fortran:
7955\end_layout
7956
7957\begin_layout LyX-Code
7958CHARACTER(LEN=*) :: weight_filename
7959\end_layout
7960
7961\begin_layout Standard
7962Define the file name where the weights will be written or read.
7963 If not specified when trying to read or write, a name will be automatically
7964 generated.
7965 
7966\end_layout
7967
7968\begin_layout Subsection*
7969read_write_convention (optionnal):
7970\emph on
7971enumeration {c, fortran}
7972\end_layout
7973
7974\begin_layout Standard
7975Fortran:
7976\end_layout
7977
7978\begin_layout LyX-Code
7979CHARACTER(LEN=*) :: read_write_convention
7980\end_layout
7981
7982\begin_layout Standard
7983Define the convention for pair of global index source and destination for
7984 wich a weight is defined.
7985 For C convention, index will begin to 0, for fortran, index will begin
7986 to 1.
7987 Usefull only for read ar write weights from/to a file.
7988 Default value is corresponding to C convention.
7989\end_layout
7990
7991\begin_layout Subsection
7992reduce_domain_to_axis
7993\end_layout
7994
7995\begin_layout Subsection*
7996direction:
7997\emph on
7998enumeration {iDir, jDir}
7999\end_layout
8000
8001\begin_layout Standard
8002Fortran:
8003\end_layout
8004
8005\begin_layout LyX-Code
8006CHARACTER(LEN=*) :: direction
8007\end_layout
8008
8009\begin_layout Standard
8010Defines the domain dimension along which a reduction of the domain into
8011 an axis will be performed.
8012 
8013\begin_inset Flex Code
8014status open
8015
8016\begin_layout Plain Layout
8017iDir
8018\end_layout
8019
8020\end_inset
8021
8022 means along the direction i,
8023\begin_inset Flex Code
8024status open
8025
8026\begin_layout Plain Layout
8027jDir
8028\end_layout
8029
8030\end_inset
8031
8032 along the direction j.
8033\end_layout
8034
8035\begin_layout Subsection*
8036operation (mandatory):
8037\emph on
8038enumeration {min, max, sum, average}
8039\end_layout
8040
8041\begin_layout Standard
8042Fortran:
8043\end_layout
8044
8045\begin_layout LyX-Code
8046CHARACTER(LEN=*) :: operation
8047\end_layout
8048
8049\begin_layout Standard
8050Defines the reduction operation performed on the domain.
8051\end_layout
8052
8053\begin_layout Subsection*
8054local (optionnal):
8055\emph on
8056bool
8057\end_layout
8058
8059\begin_layout Standard
8060Fortran:
8061\end_layout
8062
8063\begin_layout LyX-Code
8064LOGICAL :: local
8065\end_layout
8066
8067\begin_layout Standard
8068Defines whether the reduction should be performed locally on data owned
8069 by each process or on the global domain.
8070\end_layout
8071
8072\begin_layout Subsection
8073reduce_domain_to_scalar
8074\end_layout
8075
8076\begin_layout Standard
8077Reduces data defined on a domain into a scalar value.
8078\end_layout
8079
8080\begin_layout Subsection*
8081operation (mandatory):
8082\emph on
8083enumeration {min, max, sum, average}
8084\end_layout
8085
8086\begin_layout Standard
8087Fortran:
8088\end_layout
8089
8090\begin_layout LyX-Code
8091CHARACTER(LEN=*) :: operation
8092\end_layout
8093
8094\begin_layout Standard
8095Defines the reduction operation performed on the domain.
8096\end_layout
8097
8098\begin_layout Subsection*
8099local (optionnal):
8100\emph on
8101bool
8102\emph default
8103 
8104\end_layout
8105
8106\begin_layout Standard
8107Fortran:
8108\end_layout
8109
8110\begin_layout LyX-Code
8111LOGICAL :: local
8112\end_layout
8113
8114\begin_layout Standard
8115Defines whether the reduction should be performed locally on data owned
8116 by each process or on the global domain.
8117 The default value is
8118\begin_inset Flex Code
8119status open
8120
8121\begin_layout Plain Layout
8122false
8123\end_layout
8124
8125\end_inset
8126
8127.
8128\end_layout
8129
8130\begin_layout Subsection
8131reorder_domain
8132\end_layout
8133
8134\begin_layout Subsection*
8135invert_lat (optional):
8136\emph on
8137bool
8138\end_layout
8139
8140\begin_layout Standard
8141Fortran:
8142\end_layout
8143
8144\begin_layout LyX-Code
8145LOGICAL :: invert_lat
8146\end_layout
8147
8148\begin_layout Standard
8149Defines whether the latitude should be inverted.
8150 The default value is false.
8151\end_layout
8152
8153\begin_layout Subsection*
8154shift_lon_fraction (optional):
8155\begin_inset Flex Emph
8156status collapsed
8157
8158\begin_layout Plain Layout
8159double
8160\end_layout
8161
8162\end_inset
8163
8164
8165\end_layout
8166
8167\begin_layout Standard
8168Fortran:
8169\end_layout
8170
8171\begin_layout LyX-Code
8172DOUBLE PRECISION :: shift_lon_fraction
8173\end_layout
8174
8175\begin_layout Standard
8176Defines the longitude offset.
8177 The value of the parameter represents a fraction of
8178\series bold
8179ni_glo
8180\series default
8181.
8182 Default value is 0.
8183\end_layout
8184
8185\begin_layout Subsection*
8186min_lon (optional):
8187\begin_inset Flex Emph
8188status collapsed
8189
8190\begin_layout Plain Layout
8191double
8192\end_layout
8193
8194\end_inset
8195
8196
8197\end_layout
8198
8199\begin_layout Standard
8200Fortran:
8201\end_layout
8202
8203\begin_layout LyX-Code
8204DOUBLE PRECISION :: min_lon
8205\end_layout
8206
8207\begin_layout Standard
8208If both,
8209\series bold
8210min_lon
8211\series default
8212 and
8213\series bold
8214max_lon
8215\series default
8216, are defined, a domain will be reordered with latitude values starting
8217 from
8218\series bold
8219min_lon
8220\series default
8221 and ending at
8222\series bold
8223max_lon
8224\series default
8225.
8226\end_layout
8227
8228\begin_layout Subsection*
8229max_lon (optional):
8230\begin_inset Flex Emph
8231status collapsed
8232
8233\begin_layout Plain Layout
8234double
8235\end_layout
8236
8237\end_inset
8238
8239
8240\end_layout
8241
8242\begin_layout Standard
8243Fortran:
8244\end_layout
8245
8246\begin_layout LyX-Code
8247DOUBLE PRECISION :: max_lon
8248\end_layout
8249
8250\begin_layout Standard
8251If both,
8252\series bold
8253min_lon
8254\series default
8255 and
8256\series bold
8257max_lon
8258\series default
8259, are defined, a domain will be reordered with latitude values starting
8260 from
8261\series bold
8262min_lon
8263\series default
8264 and ending at
8265\series bold
8266max_lon
8267\series default
8268.
8269\end_layout
8270
8271\begin_layout Subsection
8272expand_domain
8273\end_layout
8274
8275\begin_layout Subsection*
8276order:
8277\begin_inset Flex Emph
8278status collapsed
8279
8280\begin_layout Plain Layout
8281integer
8282\end_layout
8283
8284\end_inset
8285
8286
8287\end_layout
8288
8289\begin_layout Standard
8290Fortran:
8291\end_layout
8292
8293\begin_layout LyX-Code
8294INTEGER :: order
8295\end_layout
8296
8297\begin_layout Standard
8298Define the size of the halo expansion.
8299\end_layout
8300
8301\begin_layout Subsection*
8302type (optional):
8303\emph on
8304enumeration {node, edge}
8305\end_layout
8306
8307\begin_layout Standard
8308Fortran:
8309\end_layout
8310
8311\begin_layout LyX-Code
8312CHARACTER(LEN=*) :: type
8313\end_layout
8314
8315\begin_layout Standard
8316Defines whether the node or edge connectivity should be calculated for the
8317 expanded domain.
8318\end_layout
8319
8320\begin_layout Subsection*
8321i_periodic (optional):
8322\emph on
8323bool
8324\end_layout
8325
8326\begin_layout Standard
8327Fortran:
8328\end_layout
8329
8330\begin_layout LyX-Code
8331LOGICAL :: i_periodic
8332\end_layout
8333
8334\begin_layout Standard
8335If the attribute value is true, values of fields defined on the expanded
8336 domain will be duplicated from those of the original domain periodically
8337 along the first dimension.
8338 The default value is false (masked values on the expanded domain).
8339\end_layout
8340
8341\begin_layout Subsection*
8342j_periodic (optional):
8343\emph on
8344bool
8345\end_layout
8346
8347\begin_layout Standard
8348Fortran:
8349\end_layout
8350
8351\begin_layout LyX-Code
8352LOGICAL :: j_periodic
8353\end_layout
8354
8355\begin_layout Standard
8356If the attribute value is true, values of fields defined on the expanded
8357 domain will be duplicated from those of the original domain periodically
8358 along the second dimension.
8359 The default value is false (masked values on the expanded domain).
8360\end_layout
8361
8362\begin_layout Subsection
8363zoom_domain
8364\end_layout
8365
8366\begin_layout Subsection*
8367ibegin (optional):
8368\begin_inset Flex Emph
8369status collapsed
8370
8371\begin_layout Plain Layout
8372integer
8373\end_layout
8374
8375\end_inset
8376
8377
8378\end_layout
8379
8380\begin_layout Standard
8381Fortran:
8382\end_layout
8383
8384\begin_layout LyX-Code
8385INTEGER :: ibegin
8386\end_layout
8387
8388\begin_layout Standard
8389Defines the beginning index of the zoomed region on the first dimension
8390 of the global domain.
8391 This must be an integer between
8392\begin_inset Flex Strong
8393status collapsed
8394
8395\begin_layout Plain Layout
83960
8397\end_layout
8398
8399\end_inset
8400
8401 and
8402\begin_inset Flex Strong
8403status collapsed
8404
8405\begin_layout Plain Layout
8406ni_glo-1
8407\end_layout
8408
8409\end_inset
8410
8411 of the associated dimension of domain.
8412 If not specified the default value is
8413\begin_inset Flex Strong
8414status collapsed
8415
8416\begin_layout Plain Layout
84170
8418\end_layout
8419
8420\end_inset
8421
8422.
8423 Note that if one of the zoom attributes (ibegin, ni, jbegin or nj) is defined
8424 then all the rest should be specified by a user as well.
8425\end_layout
8426
8427\begin_layout Subsection*
8428ni (optional):
8429\begin_inset Flex Emph
8430status collapsed
8431
8432\begin_layout Plain Layout
8433integer
8434\end_layout
8435
8436\end_inset
8437
8438
8439\end_layout
8440
8441\begin_layout Standard
8442Fortran:
8443\end_layout
8444
8445\begin_layout LyX-Code
8446INTEGER :: ni
8447\end_layout
8448
8449\begin_layout Standard
8450Define the size of zoomed region on the first dimension of the global domain.
8451 This must be an integer between
8452\begin_inset Flex Strong
8453status collapsed
8454
8455\begin_layout Plain Layout
84561
8457\end_layout
8458
8459\end_inset
8460
8461and
8462\begin_inset Flex Strong
8463status collapsed
8464
8465\begin_layout Plain Layout
8466ni_glo
8467\end_layout
8468
8469\end_inset
8470
8471 of the associated dimension of domain.
8472 If not specified the default value is
8473\begin_inset Flex Strong
8474status collapsed
8475
8476\begin_layout Plain Layout
8477ni_glo
8478\end_layout
8479
8480\end_inset
8481
8482 of the dimension of domain.
8483 Note that if one of the zoom attributes (ibegin, ni, jbegin or nj) is defined
8484 then all the rest should be specified by a user as well.
8485\end_layout
8486
8487\begin_layout Subsection*
8488jbegin (optional):
8489\begin_inset Flex Emph
8490status collapsed
8491
8492\begin_layout Plain Layout
8493integer
8494\end_layout
8495
8496\end_inset
8497
8498
8499\end_layout
8500
8501\begin_layout Standard
8502Fortran:
8503\end_layout
8504
8505\begin_layout LyX-Code
8506INTEGER :: jbegin
8507\end_layout
8508
8509\begin_layout Standard
8510Define the beginning index of the zoomed region on the second dimension
8511 of the global domain.
8512 This must be an integer between
8513\begin_inset Flex Strong
8514status collapsed
8515
8516\begin_layout Plain Layout
85170
8518\end_layout
8519
8520\end_inset
8521
8522 and
8523\begin_inset Flex Strong
8524status collapsed
8525
8526\begin_layout Plain Layout
8527nj_glo-1
8528\end_layout
8529
8530\end_inset
8531
8532 of the associated dimension of domain.
8533 If not specified the default value is
8534\begin_inset Flex Strong
8535status collapsed
8536
8537\begin_layout Plain Layout
85380
8539\end_layout
8540
8541\end_inset
8542
8543.
8544 Note that if one of the zoom attributes (ibegin, ni, jbegin or nj) is defined
8545 then all the rest should be specified by a user as well.
8546\end_layout
8547
8548\begin_layout Subsection*
8549nj (optional):
8550\begin_inset Flex Emph
8551status collapsed
8552
8553\begin_layout Plain Layout
8554integer
8555\end_layout
8556
8557\end_inset
8558
8559
8560\end_layout
8561
8562\begin_layout Standard
8563Fortran:
8564\end_layout
8565
8566\begin_layout LyX-Code
8567INTEGER :: nj
8568\end_layout
8569
8570\begin_layout Standard
8571Define the size of zoomed region on the second dimension of the global domain.
8572 The attribute value should be an integer between
8573\begin_inset Flex Strong
8574status collapsed
8575
8576\begin_layout Plain Layout
85771
8578\end_layout
8579
8580\end_inset
8581
8582and
8583\begin_inset Flex Strong
8584status collapsed
8585
8586\begin_layout Plain Layout
8587nj_glo
8588\end_layout
8589
8590\end_inset
8591
8592 of the associated dimension of domain.
8593 If not specified the default value is
8594\begin_inset Flex Strong
8595status collapsed
8596
8597\begin_layout Plain Layout
8598nj_glo
8599\end_layout
8600
8601\end_inset
8602
8603 of the dimension of domain.
8604 Note that if one of the zoom attributes (ibegin, ni, jbegin or nj) is defined
8605 then all the rest should be specified by a user as well.
8606\end_layout
8607
8608\begin_layout Subsection
8609generate_rectilinear_domain
8610\end_layout
8611
8612\begin_layout Subsection*
8613lon_start (optional):
8614\begin_inset Flex Emph
8615status collapsed
8616
8617\begin_layout Plain Layout
8618double
8619\end_layout
8620
8621\end_inset
8622
8623
8624\end_layout
8625
8626\begin_layout Standard
8627Fortran:
8628\end_layout
8629
8630\begin_layout LyX-Code
8631DOUBLE PRECISION :: lon_start
8632\end_layout
8633
8634\begin_layout Standard
8635Along with
8636\series bold
8637lon_end
8638\series default
8639, the attribute defines the longitude range of a generated domain.
8640\end_layout
8641
8642\begin_layout Subsection*
8643lon_end (optional):
8644\begin_inset Flex Emph
8645status collapsed
8646
8647\begin_layout Plain Layout
8648double
8649\end_layout
8650
8651\end_inset
8652
8653
8654\end_layout
8655
8656\begin_layout Standard
8657Fortran:
8658\end_layout
8659
8660\begin_layout LyX-Code
8661DOUBLE PRECISION :: lon_end
8662\end_layout
8663
8664\begin_layout Standard
8665Along with
8666\series bold
8667lon_start
8668\series default
8669, the attribute defines the longitude range of a generated domain.
8670\end_layout
8671
8672\begin_layout Subsection*
8673lat_start (optional):
8674\begin_inset Flex Emph
8675status collapsed
8676
8677\begin_layout Plain Layout
8678double
8679\end_layout
8680
8681\end_inset
8682
8683
8684\end_layout
8685
8686\begin_layout Standard
8687Fortran:
8688\end_layout
8689
8690\begin_layout LyX-Code
8691DOUBLE PRECISION :: lat_start
8692\end_layout
8693
8694\begin_layout Standard
8695Along with
8696\series bold
8697lat_end
8698\series default
8699, the attribute defines the latitude range of a generated domain.
8700\end_layout
8701
8702\begin_layout Subsection*
8703lat_end (optional):
8704\begin_inset Flex Emph
8705status collapsed
8706
8707\begin_layout Plain Layout
8708double
8709\end_layout
8710
8711\end_inset
8712
8713
8714\end_layout
8715
8716\begin_layout Standard
8717Fortran:
8718\end_layout
8719
8720\begin_layout LyX-Code
8721DOUBLE PRECISION :: lat_end
8722\end_layout
8723
8724\begin_layout Standard
8725Along with
8726\series bold
8727lat_start
8728\series default
8729, the attribute defines the latitude range of a generated domain.
8730\end_layout
8731
8732\begin_layout Subsection*
8733bounds_lon_start:
8734\begin_inset Flex Emph
8735status collapsed
8736
8737\begin_layout Plain Layout
8738double
8739\end_layout
8740
8741\end_inset
8742
8743
8744\end_layout
8745
8746\begin_layout Standard
8747Fortran:
8748\end_layout
8749
8750\begin_layout LyX-Code
8751DOUBLE PRECISION :: bounds_lon_start
8752\end_layout
8753
8754\begin_layout Standard
8755Attributes
8756\series bold
8757bounds_lon_start
8758\series default
8759 and
8760\series bold
8761bounds_lon_start
8762\series default
8763 set the longitude range of a generated domain.
8764 If both sets,
8765\series bold
8766(lon_start, lon_end)
8767\series default
8768 and
8769\series bold
8770(bounds_lon_start, bounds_lon_end)
8771\series default
8772, are specified then the bound attributes will be ignored.
8773\end_layout
8774
8775\begin_layout Subsection*
8776bounds_lon_end:
8777\begin_inset Flex Emph
8778status collapsed
8779
8780\begin_layout Plain Layout
8781double
8782\end_layout
8783
8784\end_inset
8785
8786
8787\end_layout
8788
8789\begin_layout Standard
8790Fortran:
8791\end_layout
8792
8793\begin_layout LyX-Code
8794DOUBLE PRECISION :: bounds_lon_end
8795\end_layout
8796
8797\begin_layout Standard
8798Attributes
8799\series bold
8800bounds_lon_start
8801\series default
8802 and
8803\series bold
8804bounds_lon_start
8805\series default
8806 set the longitude range of a generated domain.
8807 If both sets,
8808\series bold
8809(lon_start, lon_end)
8810\series default
8811 and
8812\series bold
8813(bounds_lon_start, bounds_lon_end)
8814\series default
8815, are specified then the bound attributes will be ignored.
8816\end_layout
8817
8818\begin_layout Subsection*
8819bounds_lat_start:
8820\begin_inset Flex Emph
8821status collapsed
8822
8823\begin_layout Plain Layout
8824double
8825\end_layout
8826
8827\end_inset
8828
8829
8830\end_layout
8831
8832\begin_layout Standard
8833Fortran:
8834\end_layout
8835
8836\begin_layout LyX-Code
8837DOUBLE PRECISION :: bounds_lat_start
8838\end_layout
8839
8840\begin_layout Standard
8841Attributes
8842\series bold
8843bounds_lat_start
8844\series default
8845 and
8846\series bold
8847bounds_lat_start
8848\series default
8849 set the latitude range of a generated domain.
8850 If both sets,
8851\series bold
8852(lat_start, lat_end)
8853\series default
8854 and
8855\series bold
8856(bounds_lat_start, bounds_lat_end)
8857\series default
8858, are specified then the bound attributes will be ignored.
8859\end_layout
8860
8861\begin_layout Subsection*
8862bounds_lat_end:
8863\begin_inset Flex Emph
8864status collapsed
8865
8866\begin_layout Plain Layout
8867double
8868\end_layout
8869
8870\end_inset
8871
8872
8873\end_layout
8874
8875\begin_layout Standard
8876Fortran:
8877\end_layout
8878
8879\begin_layout LyX-Code
8880DOUBLE PRECISION :: bounds_lat_end
8881\end_layout
8882
8883\begin_layout Standard
8884Attributes
8885\series bold
8886bounds_lat_start
8887\series default
8888 and
8889\series bold
8890bounds_lat_start
8891\series default
8892 set the latitude range of a generated domain.
8893 If both sets,
8894\series bold
8895(lat_start, lat_end)
8896\series default
8897 and
8898\series bold
8899(bounds_lat_start, bounds_lat_end)
8900\series default
8901, are specified then the bound attributes will be ignored.
8902\end_layout
8903
8904\begin_layout Chapter
8905Fortran interface reference
8906\end_layout
8907
8908\begin_layout Section*
8909Initialization
8910\end_layout
8911
8912\begin_layout Subsection*
8913XIOS initialization
8914\end_layout
8915
8916\begin_layout Subsubsection*
8917Synopsis:
8918\end_layout
8919
8920\begin_layout LyX-Code
8921SUBROUTINE xios_initialize(client_id, local_comm, return_comm)
8922\end_layout
8923
8924\begin_layout LyX-Code
8925  CHARACTER(LEN=*),INTENT(IN)         :: client_id
8926\end_layout
8927
8928\begin_layout LyX-Code
8929  INTEGER,INTENT(IN),OPTIONAL         :: local_comm
8930\end_layout
8931
8932\begin_layout LyX-Code
8933  INTEGER,INTENT(OUT),OPTIONAL        :: return_comm
8934\end_layout
8935
8936\begin_layout Subsubsection*
8937Argument:
8938\end_layout
8939
8940\begin_layout Itemize
8941\begin_inset Flex Code
8942status collapsed
8943
8944\begin_layout Plain Layout
8945client_id
8946\end_layout
8947
8948\end_inset
8949
8950: client identifier
8951\end_layout
8952
8953\begin_layout Itemize
8954\begin_inset Flex Code
8955status collapsed
8956
8957\begin_layout Plain Layout
8958local_comm
8959\end_layout
8960
8961\end_inset
8962
8963: MPI communicator of the client
8964\end_layout
8965
8966\begin_layout Itemize
8967\begin_inset Flex Code
8968status collapsed
8969
8970\begin_layout Plain Layout
8971return_comm
8972\end_layout
8973
8974\end_inset
8975
8976: split return MPI communicator
8977\end_layout
8978
8979\begin_layout Subsubsection*
8980Description:
8981\end_layout
8982
8983\begin_layout Standard
8984This subroutine must be called before any other call of MPI client library.
8985 It may be able to initialize MPI library (calling
8986\begin_inset Flex Code
8987status collapsed
8988
8989\begin_layout Plain Layout
8990MPI_Init
8991\end_layout
8992
8993\end_inset
8994
8995) if not already initialized.
8996 Since XIOS is able to work in client/server mode (parameter
8997\begin_inset Flex Code
8998status collapsed
8999
9000\begin_layout Plain Layout
9001using_server=true
9002\end_layout
9003
9004\end_inset
9005
9006), the global communicator must be split and a local split communicator
9007 is returned to be used by the client model for it own purpose.
9008 If more than one model is present, XIOS could be interfaced with the OASIS
9009 coupler (compiled with
9010\begin_inset Flex Code
9011status collapsed
9012
9013\begin_layout Plain Layout
9014-using_oasis
9015\end_layout
9016
9017\end_inset
9018
9019 option and parameter
9020\begin_inset Flex Code
9021status collapsed
9022
9023\begin_layout Plain Layout
9024using_oasis=true
9025\end_layout
9026
9027\end_inset
9028
9029), so in this case, the splitting would be done globally by OASIS.
9030\end_layout
9031
9032\begin_layout Itemize
9033If MPI is not initialized, XIOS would initialize it calling MPI_Init function.
9034 In this case, the MPI finalization would be done by XIOS in the
9035\begin_inset Flex Code
9036status collapsed
9037
9038\begin_layout Plain Layout
9039xios_finalize
9040\end_layout
9041
9042\end_inset
9043
9044 subroutine, and must not be done by the model.
9045\end_layout
9046
9047\begin_layout Itemize
9048If OASIS coupler is not used (using_oasis=false)
9049\begin_inset Separator latexpar
9050\end_inset
9051
9052
9053\end_layout
9054
9055\begin_deeper
9056\begin_layout Itemize
9057If server mode is not activated (
9058\begin_inset Flex Code
9059status collapsed
9060
9061\begin_layout Plain Layout
9062using_server=false
9063\end_layout
9064
9065\end_inset
9066
9067): if local_comm MPI communicator is specified then it would be used for
9068 internal MPI communication otherwise
9069\begin_inset Flex Code
9070status collapsed
9071
9072\begin_layout Plain Layout
9073MPI_COMM_WORLD
9074\end_layout
9075
9076\end_inset
9077
9078 communicator would be used by default.
9079 A copy of the communicator (of
9080\begin_inset Flex Code
9081status collapsed
9082
9083\begin_layout Plain Layout
9084local_comm
9085\end_layout
9086
9087\end_inset
9088
9089 or
9090\begin_inset Flex Code
9091status collapsed
9092
9093\begin_layout Plain Layout
9094MPI_COMM_WORLD
9095\end_layout
9096
9097\end_inset
9098
9099) would be returned in return_comm argument.
9100 If
9101\begin_inset Flex Code
9102status collapsed
9103
9104\begin_layout Plain Layout
9105return_comm
9106\end_layout
9107
9108\end_inset
9109
9110 is not specified, then
9111\begin_inset Flex Code
9112status collapsed
9113
9114\begin_layout Plain Layout
9115local_comm
9116\end_layout
9117
9118\end_inset
9119
9120 or
9121\begin_inset Flex Code
9122status collapsed
9123
9124\begin_layout Plain Layout
9125MPI_COMM_WORLD
9126\end_layout
9127
9128\end_inset
9129
9130 can be used by the model for it own communication.
9131\end_layout
9132
9133\begin_layout Itemize
9134If server mode is activated (
9135\begin_inset Flex Code
9136status collapsed
9137
9138\begin_layout Plain Layout
9139using_server=true
9140\end_layout
9141
9142\end_inset
9143
9144):
9145\begin_inset Flex Code
9146status collapsed
9147
9148\begin_layout Plain Layout
9149local_comm
9150\end_layout
9151
9152\end_inset
9153
9154 must not be specified since the global
9155\begin_inset Flex Code
9156status collapsed
9157
9158\begin_layout Plain Layout
9159MPI_COMM_WORLD
9160\end_layout
9161
9162\end_inset
9163
9164 communicator would be split by XIOS.
9165 The split communicator is returned in
9166\begin_inset Flex Code
9167status collapsed
9168
9169\begin_layout Plain Layout
9170return_comm
9171\end_layout
9172
9173\end_inset
9174
9175 argument.
9176\end_layout
9177
9178\end_deeper
9179\begin_layout Itemize
9180If OASIS coupler is used (
9181\begin_inset Flex Code
9182status collapsed
9183
9184\begin_layout Plain Layout
9185using_oasis=true
9186\end_layout
9187
9188\end_inset
9189
9190)
9191\begin_inset Separator latexpar
9192\end_inset
9193
9194
9195\end_layout
9196
9197\begin_deeper
9198\begin_layout Itemize
9199If server mode is not enabled (
9200\begin_inset Flex Code
9201status collapsed
9202
9203\begin_layout Plain Layout
9204using_server=false
9205\end_layout
9206
9207\end_inset
9208
9209)
9210\begin_inset Separator latexpar
9211\end_inset
9212
9213
9214\end_layout
9215
9216\begin_deeper
9217\begin_layout Itemize
9218If
9219\begin_inset Flex Code
9220status collapsed
9221
9222\begin_layout Plain Layout
9223local_comm
9224\end_layout
9225
9226\end_inset
9227
9228 is specified, it means that OASIS has been initialized by the model and
9229 global communicator has been already split previously by OASIS, and passed
9230 as
9231\begin_inset Flex Code
9232status collapsed
9233
9234\begin_layout Plain Layout
9235local_comm
9236\end_layout
9237
9238\end_inset
9239
9240 argument.
9241 The returned communicator would be a duplicate copy of
9242\begin_inset Flex Code
9243status collapsed
9244
9245\begin_layout Plain Layout
9246local_comm
9247\end_layout
9248
9249\end_inset
9250
9251.
9252\end_layout
9253
9254\begin_layout Itemize
9255Otherwise: if MPI was not initialized, OASIS will be initialized calling
9256 
9257\begin_inset Flex Code
9258status collapsed
9259
9260\begin_layout Plain Layout
9261prism_init_comp_proto
9262\end_layout
9263
9264\end_inset
9265
9266 subroutine.
9267 In this case, XIOS will call
9268\begin_inset Flex Code
9269status collapsed
9270
9271\begin_layout Plain Layout
9272prism_terminate_proto
9273\end_layout
9274
9275\end_inset
9276
9277 when
9278\begin_inset Flex Code
9279status collapsed
9280
9281\begin_layout Plain Layout
9282xios_finalized
9283\end_layout
9284
9285\end_inset
9286
9287 is called.
9288 The split communicator is returned in
9289\begin_inset Flex Code
9290status collapsed
9291
9292\begin_layout Plain Layout
9293return_comm
9294\end_layout
9295
9296\end_inset
9297
9298 argument using
9299\begin_inset Flex Code
9300status collapsed
9301
9302\begin_layout Plain Layout
9303prism_get_localcomm_proto
9304\end_layout
9305
9306\end_inset
9307
9308 return argument.
9309\end_layout
9310
9311\end_deeper
9312\begin_layout Itemize
9313If server mode is enabled (
9314\begin_inset Flex Code
9315status collapsed
9316
9317\begin_layout Plain Layout
9318using_server=true
9319\end_layout
9320
9321\end_inset
9322
9323)
9324\begin_inset Separator latexpar
9325\end_inset
9326
9327
9328\end_layout
9329
9330\begin_deeper
9331\begin_layout Itemize
9332If
9333\begin_inset Flex Code
9334status collapsed
9335
9336\begin_layout Plain Layout
9337local_comm
9338\end_layout
9339
9340\end_inset
9341
9342 is specified, it means that OASIS has been initialized by the model and
9343 global communicator has been already split previously by OASIS, and passed
9344 as local_comm argument.
9345 The returned communicator return_comm would be a split communicator given
9346 by OASIS.
9347\end_layout
9348
9349\begin_layout Itemize
9350Otherwise: if MPI was not initialized, OASIS will be initialized calling
9351 
9352\begin_inset Flex Code
9353status collapsed
9354
9355\begin_layout Plain Layout
9356prism_init_comp_proto
9357\end_layout
9358
9359\end_inset
9360
9361 subroutine.
9362 In this case, XIOS will call
9363\begin_inset Flex Code
9364status collapsed
9365
9366\begin_layout Plain Layout
9367prism_terminate_proto
9368\end_layout
9369
9370\end_inset
9371
9372 when
9373\begin_inset Flex Code
9374status collapsed
9375
9376\begin_layout Plain Layout
9377xios_finalized
9378\end_layout
9379
9380\end_inset
9381
9382 is called.
9383 The split communicator is returned in
9384\begin_inset Flex Code
9385status collapsed
9386
9387\begin_layout Plain Layout
9388return_comm
9389\end_layout
9390
9391\end_inset
9392
9393 argument using
9394\begin_inset Flex Code
9395status collapsed
9396
9397\begin_layout Plain Layout
9398prism_get_localcomm_proto
9399\end_layout
9400
9401\end_inset
9402
9403 return argument.
9404\end_layout
9405
9406\end_deeper
9407\end_deeper
9408\begin_layout Section*
9409Finalization
9410\end_layout
9411
9412\begin_layout Subsection*
9413XIOS finalization
9414\end_layout
9415
9416\begin_layout Subsubsection*
9417Synopsis:
9418\end_layout
9419
9420\begin_layout LyX-Code
9421SUBROUTINE xios_finalize()
9422\end_layout
9423
9424\begin_layout Subsubsection*
9425Arguments:
9426\end_layout
9427
9428\begin_layout Standard
9429None
9430\end_layout
9431
9432\begin_layout Subsubsection*
9433Description:
9434\end_layout
9435
9436\begin_layout Standard
9437This call must be done at the end of the simulation for a successful execution.
9438 It gives the end signal to the xios server pools to finish it execution.
9439 If MPI has been initialize by XIOS the MPI_Finalize will be called.
9440 If OASIS coupler has been initialized by XIOS, then finalization will be
9441 done calling
9442\begin_inset Flex Code
9443status collapsed
9444
9445\begin_layout Plain Layout
9446prism_terminate_proto
9447\end_layout
9448
9449\end_inset
9450
9451 subroutine.
9452\end_layout
9453
9454\begin_layout Section*
9455Tree elements management subroutines
9456\end_layout
9457
9458\begin_layout Standard
9459This set of subroutines enables the models to interact, complete or query
9460 the XML tree data base.
9461 New elements or group of elements can be added as child in the tree, attributes
9462 of the elements can be set or query.
9463 The type of elements currently available are: context, axis, domain, grid,
9464 field, variable and file.
9465 An element can be identified by a string or by an handle associated to
9466 the type of the element.
9467 Root element (ex:
9468\begin_inset Quotes eld
9469\end_inset
9470
9471axis_definition
9472\begin_inset Quotes erd
9473\end_inset
9474
9475,
9476\begin_inset Quotes eld
9477\end_inset
9478
9479field_definition
9480\begin_inset Quotes erd
9481\end_inset
9482
9483,....) are considered like a group of element and are identified by a specific
9484 string
9485\begin_inset Quotes eld
9486\end_inset
9487
9488element_definition
9489\begin_inset Quotes erd
9490\end_inset
9491
9492 where element can be any one of the existing elements.
9493\end_layout
9494
9495\begin_layout Subsection*
9496Fortran type of the handles element
9497\end_layout
9498
9499\begin_layout Quotation
9500TYPE(xios_element)
9501\end_layout
9502
9503\begin_layout Standard
9504where
9505\begin_inset Quotes eld
9506\end_inset
9507
9508element
9509\begin_inset Quotes erd
9510\end_inset
9511
9512 can be any one among
9513\begin_inset Quotes eld
9514\end_inset
9515
9516context
9517\begin_inset Quotes erd
9518\end_inset
9519
9520,
9521\begin_inset Quotes eld
9522\end_inset
9523
9524axis
9525\begin_inset Quotes erd
9526\end_inset
9527
9528,
9529\begin_inset Quotes eld
9530\end_inset
9531
9532domain
9533\begin_inset Quotes erd
9534\end_inset
9535
9536,
9537\begin_inset Quotes eld
9538\end_inset
9539
9540grid
9541\begin_inset Quotes erd
9542\end_inset
9543
9544,
9545\begin_inset Quotes eld
9546\end_inset
9547
9548field
9549\begin_inset Quotes erd
9550\end_inset
9551
9552,
9553\begin_inset Quotes eld
9554\end_inset
9555
9556variable
9557\begin_inset Quotes erd
9558\end_inset
9559
9560 or
9561\begin_inset Quotes eld
9562\end_inset
9563
9564file
9565\begin_inset Quotes erd
9566\end_inset
9567
9568, or the associated group (excepted for context):
9569\begin_inset Quotes eld
9570\end_inset
9571
9572axis_group
9573\begin_inset Quotes erd
9574\end_inset
9575
9576,
9577\begin_inset Quotes eld
9578\end_inset
9579
9580domain_group
9581\begin_inset Quotes erd
9582\end_inset
9583
9584,
9585\begin_inset Quotes eld
9586\end_inset
9587
9588grid_group
9589\begin_inset Quotes erd
9590\end_inset
9591
9592,
9593\begin_inset Quotes eld
9594\end_inset
9595
9596field_group
9597\begin_inset Quotes erd
9598\end_inset
9599
9600,
9601\begin_inset Quotes eld
9602\end_inset
9603
9604variable_group
9605\begin_inset Quotes erd
9606\end_inset
9607
9608 or
9609\begin_inset Quotes eld
9610\end_inset
9611
9612file_group
9613\begin_inset Quotes erd
9614\end_inset
9615
9616.
9617\end_layout
9618
9619\begin_layout Subsection*
9620Getting handles
9621\end_layout
9622
9623\begin_layout Subsubsection*
9624Synopsis:
9625\end_layout
9626
9627\begin_layout LyX-Code
9628SUBROUTINE xios_get_element_handle(id,handle)
9629\end_layout
9630
9631\begin_layout LyX-Code
9632CHARACTER(len = *) , INTENT(IN) :: id
9633\end_layout
9634
9635\begin_layout LyX-Code
9636TYPE(xios_element), INTENT(OUT):: handle
9637\end_layout
9638
9639\begin_layout Standard
9640where element is one of the existing elements or group of elements.
9641\end_layout
9642
9643\begin_layout Subsubsection*
9644Arguments:
9645\end_layout
9646
9647\begin_layout Itemize
9648\begin_inset Flex Code
9649status collapsed
9650
9651\begin_layout Plain Layout
9652id
9653\end_layout
9654
9655\end_inset
9656
9657: string identifier.
9658\end_layout
9659
9660\begin_layout Itemize
9661\begin_inset Flex Code
9662status collapsed
9663
9664\begin_layout Plain Layout
9665handle
9666\end_layout
9667
9668\end_inset
9669
9670: element handle
9671\end_layout
9672
9673\begin_layout Subsubsection*
9674Description:
9675\end_layout
9676
9677\begin_layout Standard
9678This subroutine returns the handle of the specified element identified by
9679 its string.
9680 The element must be existing otherwise an error is raised.
9681\end_layout
9682
9683\begin_layout Subsection*
9684Query for a valid element
9685\end_layout
9686
9687\begin_layout Subsubsection*
9688Synopsis:
9689\end_layout
9690
9691\begin_layout LyX-Code
9692LOGICAL FUNCTION xios_is_valid_element(id)
9693\end_layout
9694
9695\begin_layout LyX-Code
9696CHARACTER(len = *) , INTENT(IN) :: id
9697\end_layout
9698
9699\begin_layout Standard
9700where element is one of the existing elements or group of elements.
9701\end_layout
9702
9703\begin_layout Subsubsection*
9704Arguments:
9705\end_layout
9706
9707\begin_layout Itemize
9708\begin_inset Flex Code
9709status collapsed
9710
9711\begin_layout Plain Layout
9712id
9713\end_layout
9714
9715\end_inset
9716
9717: string identifier.
9718\end_layout
9719
9720\begin_layout Subsubsection*
9721Description:
9722\end_layout
9723
9724\begin_layout Standard
9725This function returns .TRUE.
9726 if the element defined by the string identifier
9727\begin_inset Quotes eld
9728\end_inset
9729
9730id
9731\begin_inset Quotes erd
9732\end_inset
9733
9734 exists in the data base, otherwise it returns .FALSE.
9735 .
9736\end_layout
9737
9738\begin_layout Subsection*
9739Adding child
9740\end_layout
9741
9742\begin_layout Subsubsection*
9743Synopsis:
9744\end_layout
9745
9746\begin_layout LyX-Code
9747SUBROUTINE xios_add_element(parent_handle, child_handle, child_id)
9748\end_layout
9749
9750\begin_layout LyX-Code
9751TYPE(xios_element)         , INTENT(IN) :: parent_handle
9752\end_layout
9753
9754\begin_layout LyX-Code
9755TYPE(xios_element)         , INTENT(OUT):: child_handle
9756\end_layout
9757
9758\begin_layout LyX-Code
9759CHARACTER(len = *), OPTIONAL, INTENT(IN) :: child_id
9760\end_layout
9761
9762\begin_layout Standard
9763where element is one of the existing elements or element groups.
9764\end_layout
9765
9766\begin_layout Subsubsection*
9767Arguments:
9768\end_layout
9769
9770\begin_layout Itemize
9771\begin_inset Flex Code
9772status collapsed
9773
9774\begin_layout Plain Layout
9775parent_handle
9776\end_layout
9777
9778\end_inset
9779
9780: handle of the parent element.
9781\end_layout
9782
9783\begin_layout Itemize
9784\begin_inset Flex Code
9785status collapsed
9786
9787\begin_layout Plain Layout
9788child_handle
9789\end_layout
9790
9791\end_inset
9792
9793: handle of the child element.
9794\end_layout
9795
9796\begin_layout Itemize
9797\begin_inset Flex Code
9798status collapsed
9799
9800\begin_layout Plain Layout
9801child_id
9802\end_layout
9803
9804\end_inset
9805
9806: string identifier of the child.
9807\end_layout
9808
9809\begin_layout Subsubsection*
9810Description:
9811\end_layout
9812
9813\begin_layout Standard
9814This subroutine adds a child to an existing parent element.
9815 The identifier of the child, if existing, can be specified optionally.
9816 All group elements can contain child of the same type, provided generic
9817 inheritance.
9818 Some elements can contain children of another type for a specific behavior.
9819 File element may contain field_group, field, variable and variable_group
9820 child elements.
9821 Field elements may contain variable_group of variable child element.
9822\end_layout
9823
9824\begin_layout Subsection*
9825Query if the value of an element attribute is defined (by handle)
9826\end_layout
9827
9828\begin_layout Subsubsection*
9829Synopsis:
9830\end_layout
9831
9832\begin_layout LyX-Code
9833SUBROUTINE xios_is_defined_attr(handle, attr_1=attribute_1, attr_2=attribute_2,
9834 ...)
9835\end_layout
9836
9837\begin_layout LyX-Code
9838TYPE(xios_element)         , INTENT(IN) :: handle
9839\end_layout
9840
9841\begin_layout LyX-Code
9842LOGICAL, OPTIONAL  , INTENT(OUT) :: attr_1
9843\end_layout
9844
9845\begin_layout LyX-Code
9846LOGICAL, OPTIONAL  , INTENT(OUT) :: attr_2
9847\end_layout
9848
9849\begin_layout LyX-Code
9850....
9851\end_layout
9852
9853\begin_layout Standard
9854where element is one of the existing elements or element groups.
9855 attribute_x is describing in the chapter dedicated to the attribute description.
9856\end_layout
9857
9858\begin_layout Subsubsection*
9859Arguments:
9860\end_layout
9861
9862\begin_layout Itemize
9863\begin_inset Flex Code
9864status collapsed
9865
9866\begin_layout Plain Layout
9867handle
9868\end_layout
9869
9870\end_inset
9871
9872: element handle.
9873\end_layout
9874
9875\begin_layout Itemize
9876\begin_inset Flex Code
9877status collapsed
9878
9879\begin_layout Plain Layout
9880attr_x
9881\end_layout
9882
9883\end_inset
9884
9885: return true if the attribute as a defined value.
9886\end_layout
9887
9888\begin_layout Subsubsection*
9889Description:
9890\end_layout
9891
9892\begin_layout Standard
9893This subroutine can be used to query if one or more attributes of an element
9894 have a defined value.
9895 The list of attributes and their type are described in a specific chapter
9896 of the documentation.
9897 
9898\end_layout
9899
9900\begin_layout Subsection*
9901Query if a value of an element attributes is defined (by identifier)
9902\end_layout
9903
9904\begin_layout Subsubsection*
9905Synopsis:
9906\end_layout
9907
9908\begin_layout LyX-Code
9909SUBROUTINE xios_is_defined_element_attr(id, attr_1=attribute_1, attr_2=attribute
9910_2, ...)
9911\end_layout
9912
9913\begin_layout LyX-Code
9914CHARACTER(len = *) , INTENT(IN) :: id
9915\end_layout
9916
9917\begin_layout LyX-Code
9918LOGICAL, OPTIONAL  , INTENT(OUT) :: attr_1
9919\end_layout
9920
9921\begin_layout LyX-Code
9922LOGICAL, OPTIONAL  , INTENT(OUT) :: attr_2
9923\end_layout
9924
9925\begin_layout LyX-Code
9926....
9927\end_layout
9928
9929\begin_layout Standard
9930where element is one of the existing elements or element groups.
9931 attribute_x is describing in the chapter dedicated to the attribute description.
9932\end_layout
9933
9934\begin_layout Subsubsection*
9935Arguments:
9936\end_layout
9937
9938\begin_layout Itemize
9939\begin_inset Flex Code
9940status collapsed
9941
9942\begin_layout Plain Layout
9943id
9944\end_layout
9945
9946\end_inset
9947
9948: element identifier.
9949\end_layout
9950
9951\begin_layout Itemize
9952\begin_inset Flex Code
9953status collapsed
9954
9955\begin_layout Plain Layout
9956attr_x
9957\end_layout
9958
9959\end_inset
9960
9961: return true if the attribute as a defined value.
9962\end_layout
9963
9964\begin_layout Subsubsection*
9965Description:
9966\end_layout
9967
9968\begin_layout Standard
9969This subroutine can be used to query if one or more attributes of an element
9970 have a defined value.
9971 The list of available attributes and their type are described in a specific
9972 chapter of the documentation.
9973 
9974\end_layout
9975
9976\begin_layout Subsection*
9977Setting element attributes value by handle
9978\end_layout
9979
9980\begin_layout Subsubsection*
9981Synopsis:
9982\end_layout
9983
9984\begin_layout LyX-Code
9985SUBROUTINE xios_set_attr(handle, attr_1=attribute_1, attr_2=attribute_2,
9986 ...)
9987\end_layout
9988
9989\begin_layout LyX-Code
9990TYPE(xios_element)         , INTENT(IN) :: handle
9991\end_layout
9992
9993\begin_layout LyX-Code
9994attribute_type_1, OPTIONAL  , INTENT(IN) :: attr_1
9995\end_layout
9996
9997\begin_layout LyX-Code
9998attribute_type_2, OPTIONAL  , INTENT(IN) :: attr_2
9999\end_layout
10000
10001\begin_layout LyX-Code
10002....
10003\end_layout
10004
10005\begin_layout Standard
10006where element is one of the existing elements or element groups.
10007 attribute_x and attribute_type_x are describing in the chapter dedicated
10008 to the attribute description.
10009\end_layout
10010
10011\begin_layout Subsubsection*
10012Arguments:
10013\end_layout
10014
10015\begin_layout Itemize
10016\begin_inset Flex Code
10017status collapsed
10018
10019\begin_layout Plain Layout
10020handle
10021\end_layout
10022
10023\end_inset
10024
10025: element handle.
10026\end_layout
10027
10028\begin_layout Itemize
10029\begin_inset Flex Code
10030status collapsed
10031
10032\begin_layout Plain Layout
10033attr_x
10034\end_layout
10035
10036\end_inset
10037
10038: value of the attribute to be set.
10039\end_layout
10040
10041\begin_layout Subsubsection*
10042Description:
10043\end_layout
10044
10045\begin_layout Standard
10046This subroutine can be used to set one or more attributes of an element
10047 defined by its handle.
10048 The list of available attributes and their types are described in corresponding
10049 chapters of the documentation.
10050 
10051\end_layout
10052
10053\begin_layout Subsection*
10054Setting element attributes value by id
10055\end_layout
10056
10057\begin_layout Subsubsection*
10058Synopsis:
10059\end_layout
10060
10061\begin_layout LyX-Code
10062SUBROUTINE xios_set_element_attr(id, attr_1=attribute_1, attr_2=attribute_2,
10063 ...)
10064\end_layout
10065
10066\begin_layout LyX-Code
10067CHARACTER(len = *),  INTENT(IN)          :: id
10068\end_layout
10069
10070\begin_layout LyX-Code
10071attribute_type_1, OPTIONAL  , INTENT(IN) :: attr_1
10072\end_layout
10073
10074\begin_layout LyX-Code
10075attribute_type_2, OPTIONAL  , INTENT(IN) :: attr_2
10076\end_layout
10077
10078\begin_layout LyX-Code
10079....
10080\end_layout
10081
10082\begin_layout Standard
10083where element is one of the existing elements or element groups.
10084 The attributes attribute_x and attribute_type_x are described in corresponding
10085 chapters.
10086\end_layout
10087
10088\begin_layout Subsubsection*
10089Arguments:
10090\end_layout
10091
10092\begin_layout Itemize
10093\begin_inset Flex Code
10094status collapsed
10095
10096\begin_layout Plain Layout
10097id
10098\end_layout
10099
10100\end_inset
10101
10102: string identifier.
10103\end_layout
10104
10105\begin_layout Itemize
10106\begin_inset Flex Code
10107status collapsed
10108
10109\begin_layout Plain Layout
10110attr_x
10111\end_layout
10112
10113\end_inset
10114
10115: value of the attribute to be set.
10116\end_layout
10117
10118\begin_layout Subsubsection*
10119Description:
10120\end_layout
10121
10122\begin_layout Standard
10123This subroutine can be used to set one or more attributes of an element
10124 defined by its string id.
10125 The list of available attributes and their type are described in corresponding
10126 chapters of the documentation.
10127\end_layout
10128
10129\begin_layout Subsection*
10130Getting element attributes value (by handle)
10131\end_layout
10132
10133\begin_layout Subsubsection*
10134Synopsis:
10135\end_layout
10136
10137\begin_layout LyX-Code
10138SUBROUTINE xios_get_attr(handle, attr_1=attribute_1, attr_2=attribute_2,
10139 ...)
10140\end_layout
10141
10142\begin_layout LyX-Code
10143TYPE(xios_element)         , INTENT(IN) :: handle
10144\end_layout
10145
10146\begin_layout LyX-Code
10147attribute_type_1, OPTIONAL  , INTENT(OUT) :: attr_1
10148\end_layout
10149
10150\begin_layout LyX-Code
10151attribute_type_2, OPTIONAL  , INTENT(OUT) :: attr_2
10152\end_layout
10153
10154\begin_layout LyX-Code
10155....
10156\end_layout
10157
10158\begin_layout Standard
10159where element is one of the existing elements or element groups.
10160 attribute_x and attribute_type_x are describing in the chapter dedicated
10161 to the attribute description.
10162\end_layout
10163
10164\begin_layout Subsubsection*
10165Arguments:
10166\end_layout
10167
10168\begin_layout Itemize
10169\begin_inset Flex Code
10170status collapsed
10171
10172\begin_layout Plain Layout
10173handle
10174\end_layout
10175
10176\end_inset
10177
10178: element handle.
10179\end_layout
10180
10181\begin_layout Itemize
10182\begin_inset Flex Code
10183status collapsed
10184
10185\begin_layout Plain Layout
10186attr_x
10187\end_layout
10188
10189\end_inset
10190
10191: value of the attribute to be get.
10192\end_layout
10193
10194\begin_layout Subsubsection*
10195Description:
10196\end_layout
10197
10198\begin_layout Standard
10199This subroutine can be used to get one or more attribute value of an element
10200 defined by its handle.
10201 All attributes in the arguments list must be defined.
10202 The list of available attributes and their type are described in a specific
10203 chapter of the documentation.
10204 
10205\end_layout
10206
10207\begin_layout Subsection*
10208Getting element attributes value (by identifier)
10209\end_layout
10210
10211\begin_layout Subsubsection*
10212Synopsis:
10213\end_layout
10214
10215\begin_layout LyX-Code
10216SUBROUTINE xios_get_element_attr(id, attr_1=attribute_1, attr_2=attribute_2,
10217 ...)
10218\end_layout
10219
10220\begin_layout LyX-Code
10221CHARACTER(len = *),   INTENT(IN)          :: id
10222\end_layout
10223
10224\begin_layout LyX-Code
10225attribute_type_1, OPTIONAL  , INTENT(OUT) :: attr_1
10226\end_layout
10227
10228\begin_layout LyX-Code
10229attribute_type_2, OPTIONAL  , INTENT(OUT) :: attr_2
10230\end_layout
10231
10232\begin_layout LyX-Code
10233....
10234\end_layout
10235
10236\begin_layout Standard
10237where element is one of the existing elements or element groups.
10238 attribute_x is describing in the chapter dedicated to the attribute description.
10239\end_layout
10240
10241\begin_layout Subsubsection*
10242Arguments:
10243\end_layout
10244
10245\begin_layout Itemize
10246\begin_inset Flex Code
10247status collapsed
10248
10249\begin_layout Plain Layout
10250id
10251\end_layout
10252
10253\end_inset
10254
10255: element string identifier.
10256\end_layout
10257
10258\begin_layout Itemize
10259\begin_inset Flex Code
10260status collapsed
10261
10262\begin_layout Plain Layout
10263attr_x
10264\end_layout
10265
10266\end_inset
10267
10268: value of the attribute to be get.
10269\end_layout
10270
10271\begin_layout Subsubsection*
10272Description:
10273\end_layout
10274
10275\begin_layout Standard
10276This subroutine can be used to get one or more attribute value of an element
10277 defined by its handle.
10278 All attributes in the arguments list must have a defined value.
10279 The list of available attributes and their type are described in a specific
10280 chapter of the documentation.
10281\end_layout
10282
10283\begin_layout Section*
10284Context management interface
10285\end_layout
10286
10287\begin_layout Subsection*
10288XIOS context initialization
10289\end_layout
10290
10291\begin_layout Subsubsection*
10292Synopsis:
10293\end_layout
10294
10295\begin_layout LyX-Code
10296SUBROUTINE xios_context_initialize(context_id, context_comm)
10297\end_layout
10298
10299\begin_layout LyX-Code
10300  CHARACTER(LEN=*),INTENT(IN)         :: context_id
10301\end_layout
10302
10303\begin_layout LyX-Code
10304  INTEGER,INTENT(IN)                  :: context_comm
10305\end_layout
10306
10307\begin_layout Subsubsection*
10308Argument:
10309\end_layout
10310
10311\begin_layout Itemize
10312\begin_inset Flex Code
10313status collapsed
10314
10315\begin_layout Plain Layout
10316context_id
10317\end_layout
10318
10319\end_inset
10320
10321: context identifier
10322\end_layout
10323
10324\begin_layout Itemize
10325\begin_inset Flex Code
10326status collapsed
10327
10328\begin_layout Plain Layout
10329context_comm
10330\end_layout
10331
10332\end_inset
10333
10334: MPI communicator of the context
10335\end_layout
10336
10337\begin_layout Subsubsection*
10338Description:
10339\end_layout
10340
10341\begin_layout Standard
10342This subroutine initializes a context identified by
10343\begin_inset Flex Code
10344status collapsed
10345
10346\begin_layout Plain Layout
10347context_id
10348\end_layout
10349
10350\end_inset
10351
10352 string and must be called before any call related to this context.
10353 A context must be associated to a communicator, which can be the returned
10354 communicator of the
10355\begin_inset Flex Code
10356status collapsed
10357
10358\begin_layout Plain Layout
10359xios_initialize
10360\end_layout
10361
10362\end_inset
10363
10364 subroutine or a sub-communicator of this.
10365 The context initialization is dynamic and can be done at any time before
10366 the
10367\begin_inset Flex Code
10368status collapsed
10369
10370\begin_layout Plain Layout
10371xios_finalize
10372\end_layout
10373
10374\end_inset
10375
10376 call.
10377\end_layout
10378
10379\begin_layout Subsection*
10380XIOS context finalization
10381\end_layout
10382
10383\begin_layout Subsubsection*
10384Synopsis:
10385\end_layout
10386
10387\begin_layout LyX-Code
10388SUBROUTINE xios_context_finalize()
10389\end_layout
10390
10391\begin_layout Subsubsection*
10392Arguments:
10393\end_layout
10394
10395\begin_layout Standard
10396None
10397\end_layout
10398
10399\begin_layout Subsubsection*
10400Description:
10401\end_layout
10402
10403\begin_layout Standard
10404This subroutine must be called to close a context before the
10405\begin_inset Flex Code
10406status collapsed
10407
10408\begin_layout Plain Layout
10409xios_finalize
10410\end_layout
10411
10412\end_inset
10413
10414 call.
10415 It waits until that all pending requests sent to the servers will be processed
10416 and all opened files will be closed.
10417\end_layout
10418
10419\begin_layout Subsection*
10420Setting current active context
10421\end_layout
10422
10423\begin_layout Subsubsection*
10424Synopsis:
10425\end_layout
10426
10427\begin_layout LyX-Code
10428SUBROUTINE xios_set_current_context(context_handle)
10429\end_layout
10430
10431\begin_layout LyX-Code
10432TYPE(xios_context),INTENT(IN) :: context_handle
10433\end_layout
10434
10435\begin_layout Standard
10436or
10437\end_layout
10438
10439\begin_layout LyX-Code
10440SUBROUTINE xios_set_current_context(context_id)
10441\end_layout
10442
10443\begin_layout LyX-Code
10444CHARACTER(LEN=*),INTENT(IN) :: context_id
10445\end_layout
10446
10447\begin_layout Subsubsection*
10448Arguments:
10449\end_layout
10450
10451\begin_layout Itemize
10452\begin_inset Flex Code
10453status collapsed
10454
10455\begin_layout Plain Layout
10456context_handle
10457\end_layout
10458
10459\end_inset
10460
10461: handle of the context
10462\end_layout
10463
10464\begin_layout Standard
10465or
10466\end_layout
10467
10468\begin_layout Itemize
10469\begin_inset Flex Code
10470status collapsed
10471
10472\begin_layout Plain Layout
10473context_id
10474\end_layout
10475
10476\end_inset
10477
10478: string context identifier
10479\end_layout
10480
10481\begin_layout Subsubsection*
10482Description:
10483\end_layout
10484
10485\begin_layout Standard
10486These subroutines set the current active context.
10487 All following XIOS calls will refer to this active context.
10488 If only one context is defined, it will be set automatically as the active
10489 context.
10490 
10491\end_layout
10492
10493\begin_layout Subsection*
10494Closing definition
10495\end_layout
10496
10497\begin_layout Subsubsection*
10498Synopsis:
10499\end_layout
10500
10501\begin_layout LyX-Code
10502SUBROUTINE xios_close_context_definition()
10503\end_layout
10504
10505\begin_layout Subsubsection*
10506Arguments:
10507\end_layout
10508
10509\begin_layout Standard
10510None
10511\end_layout
10512
10513\begin_layout Subsubsection*
10514Description:
10515\end_layout
10516
10517\begin_layout Standard
10518This subroutine must be called when all definitions of a context are finished
10519 at the end of the initialization and before entering to the time loop.
10520 A lot of operations are performed internally (inheritance, grid definition,
10521 contacting servers,...) so this call is mandatory.
10522 Any call related to the tree management definition done after will have
10523 an undefined effect.
10524\end_layout
10525
10526\begin_layout Section*
10527Calendar management interface
10528\end_layout
10529
10530\begin_layout Subsection*
10531Creating the calendar
10532\end_layout
10533
10534\begin_layout Subsubsection*
10535Synopsis:
10536\end_layout
10537
10538\begin_layout LyX-Code
10539SUBROUTINE xios_define_calendar(type, timestep, start_date, time_origin,
10540 &
10541\begin_inset Newline newline
10542\end_inset
10543
10544                                day_length, month_lengths, year_length,
10545 &
10546\begin_inset Newline newline
10547\end_inset
10548
10549                                leap_year_month, leap_year_drift, &
10550\begin_inset Newline newline
10551\end_inset
10552
10553                                leap_year_drift_offset)
10554\begin_inset Newline newline
10555\end_inset
10556
10557CHARACTER(len = *),              INTENT(IN) :: type
10558\begin_inset Newline newline
10559\end_inset
10560
10561TYPE(xios_duration),   OPTIONAL, INTENT(IN) :: timestep
10562\begin_inset Newline newline
10563\end_inset
10564
10565TYPE(xios_date),       OPTIONAL, INTENT(IN) :: start_date
10566\begin_inset Newline newline
10567\end_inset
10568
10569TYPE(xios_date),       OPTIONAL, INTENT(IN) :: time_origin
10570\begin_inset Newline newline
10571\end_inset
10572
10573INTEGER,               OPTIONAL, INTENT(IN) :: day_length
10574\begin_inset Newline newline
10575\end_inset
10576
10577INTEGER,               OPTIONAL, INTENT(IN) :: month_lengths(:)
10578\begin_inset Newline newline
10579\end_inset
10580
10581INTEGER,               OPTIONAL, INTENT(IN) :: year_length
10582\begin_inset Newline newline
10583\end_inset
10584
10585DOUBLE PRECISION,      OPTIONAL, INTENT(IN) :: leap_year_drift
10586\begin_inset Newline newline
10587\end_inset
10588
10589DOUBLE PRECISION,      OPTIONAL, INTENT(IN) :: leap_year_drift_offset
10590\begin_inset Newline newline
10591\end_inset
10592
10593INTEGER,               OPTIONAL, INTENT(IN) :: leap_year_month
10594\end_layout
10595
10596\begin_layout Subsubsection*
10597Arguments:
10598\end_layout
10599
10600\begin_layout Itemize
10601\begin_inset Flex Code
10602status collapsed
10603
10604\begin_layout Plain Layout
10605type
10606\end_layout
10607
10608\end_inset
10609
10610: the calendar type, one of
10611\begin_inset Flex Code
10612status collapsed
10613
10614\begin_layout Plain Layout
10615"Gregorian"
10616\end_layout
10617
10618\end_inset
10619
10620,
10621\begin_inset Flex Code
10622status collapsed
10623
10624\begin_layout Plain Layout
10625"Julian"
10626\end_layout
10627
10628\end_inset
10629
10630,
10631\begin_inset Flex Code
10632status collapsed
10633
10634\begin_layout Plain Layout
10635"D360"
10636\end_layout
10637
10638\end_inset
10639
10640,
10641\begin_inset Flex Code
10642status collapsed
10643
10644\begin_layout Plain Layout
10645"AllLeap"
10646\end_layout
10647
10648\end_inset
10649
10650,
10651\begin_inset Flex Code
10652status collapsed
10653
10654\begin_layout Plain Layout
10655"NoLeap"
10656\end_layout
10657
10658\end_inset
10659
10660,
10661\begin_inset Flex Code
10662status collapsed
10663
10664\begin_layout Plain Layout
10665"user_defined"
10666\end_layout
10667
10668\end_inset
10669
10670
10671\end_layout
10672
10673\begin_layout Itemize
10674\begin_inset Flex Code
10675status collapsed
10676
10677\begin_layout Plain Layout
10678timestep
10679\end_layout
10680
10681\end_inset
10682
10683: the time step of the simulation (optional, can be set later)
10684\end_layout
10685
10686\begin_layout Itemize
10687\begin_inset Flex Code
10688status collapsed
10689
10690\begin_layout Plain Layout
10691start_date
10692\end_layout
10693
10694\end_inset
10695
10696: the start date of the simulation (optional,
10697\begin_inset Flex Code
10698status collapsed
10699
10700\begin_layout Plain Layout
10701xios_date(0000, 01, 01, 00, 00, 00)
10702\end_layout
10703
10704\end_inset
10705
10706 is used by default)
10707\end_layout
10708
10709\begin_layout Itemize
10710\begin_inset Flex Code
10711status collapsed
10712
10713\begin_layout Plain Layout
10714time_origin
10715\end_layout
10716
10717\end_inset
10718
10719: the origin of the time axis (optional,
10720\begin_inset Flex Code
10721status collapsed
10722
10723\begin_layout Plain Layout
10724xios_date(0000, 01, 01, 00, 00, 00)
10725\end_layout
10726
10727\end_inset
10728
10729 is used by default)
10730\end_layout
10731
10732\begin_layout Itemize
10733\begin_inset Flex Code
10734status collapsed
10735
10736\begin_layout Plain Layout
10737day_length
10738\end_layout
10739
10740\end_inset
10741
10742: the length of a day in seconds (mandatory when creating an user defined
10743 calendar, must not be set otherwise)
10744\end_layout
10745
10746\begin_layout Itemize
10747\begin_inset Flex Code
10748status collapsed
10749
10750\begin_layout Plain Layout
10751month_lengths
10752\end_layout
10753
10754\end_inset
10755
10756: the length of each month of the year in days (either
10757\begin_inset Flex Code
10758status collapsed
10759
10760\begin_layout Plain Layout
10761month_lengths
10762\end_layout
10763
10764\end_inset
10765
10766 or
10767\begin_inset Flex Code
10768status collapsed
10769
10770\begin_layout Plain Layout
10771year_length
10772\end_layout
10773
10774\end_inset
10775
10776 must be set when creating an user defined calendar, must not be set otherwise)
10777\end_layout
10778
10779\begin_layout Itemize
10780\begin_inset Flex Code
10781status collapsed
10782
10783\begin_layout Plain Layout
10784year_length
10785\end_layout
10786
10787\end_inset
10788
10789: the length of a year in seconds (either
10790\begin_inset Flex Code
10791status collapsed
10792
10793\begin_layout Plain Layout
10794month_lengths
10795\end_layout
10796
10797\end_inset
10798
10799 or
10800\begin_inset Flex Code
10801status collapsed
10802
10803\begin_layout Plain Layout
10804year_length
10805\end_layout
10806
10807\end_inset
10808
10809 must be set when creating an user defined calendar, must not be set otherwise)
10810\end_layout
10811
10812\begin_layout Itemize
10813\begin_inset Flex Code
10814status collapsed
10815
10816\begin_layout Plain Layout
10817leap_year_drift
10818\end_layout
10819
10820\end_inset
10821
10822: the yearly drift between the user defined calendar and the astronomical
10823 calendar, expressed as a fraction of day (can optionally be set when creating
10824 an user defined calendar in which case
10825\begin_inset Flex Code
10826status collapsed
10827
10828\begin_layout Plain Layout
10829leap_year_month
10830\end_layout
10831
10832\end_inset
10833
10834 must be set too)
10835\end_layout
10836
10837\begin_layout Itemize
10838\begin_inset Flex Code
10839status collapsed
10840
10841\begin_layout Plain Layout
10842leap_year_drift_offset
10843\end_layout
10844
10845\end_inset
10846
10847: the initial drift between the user defined calendar and the astronomical
10848 calendar at the time origin, expressed as a fraction of day (can optionally
10849 be set if
10850\begin_inset Flex Code
10851status collapsed
10852
10853\begin_layout Plain Layout
10854leap_year_drift
10855\end_layout
10856
10857\end_inset
10858
10859 and
10860\begin_inset Flex Code
10861status collapsed
10862
10863\begin_layout Plain Layout
10864leap_year_month
10865\end_layout
10866
10867\end_inset
10868
10869 are set)
10870\end_layout
10871
10872\begin_layout Itemize
10873\begin_inset Flex Code
10874status collapsed
10875
10876\begin_layout Plain Layout
10877leap_year_month
10878\end_layout
10879
10880\end_inset
10881
10882: the month to which an extra day must be added in case of leap year (can
10883 optionally be set when creating an user defined calendar in which case
10884 
10885\begin_inset Flex Code
10886status collapsed
10887
10888\begin_layout Plain Layout
10889leap_year_drift
10890\end_layout
10891
10892\end_inset
10893
10894 must be set too)
10895\end_layout
10896
10897\begin_layout Standard
10898For a more detailed description of those arguments, see the description
10899 of the corresponding attributes in section 1.2
10900\begin_inset Quotes eld
10901\end_inset
10902
10903Calendar attribute reference
10904\begin_inset Quotes erd
10905\end_inset
10906
10907.
10908\end_layout
10909
10910\begin_layout Subsubsection*
10911Description:
10912\end_layout
10913
10914\begin_layout Standard
10915This subroutine creates the calendar for the current context.
10916 Note that the calendar is created once and for all, either from the XML
10917 configuration file or the Fortran interface.
10918 If it was not created from the configuration file, then this subroutine
10919 must be called once and only once before the context definition is closed.
10920 The calendar features can be used immediately after the calendar was created.
10921\begin_inset Newline newline
10922\end_inset
10923
10924
10925\begin_inset Newline newline
10926\end_inset
10927
10928If an user defined calendar is created, the following arguments must also
10929 be provided:
10930\begin_inset Flex Code
10931status collapsed
10932
10933\begin_layout Plain Layout
10934day_length
10935\end_layout
10936
10937\end_inset
10938
10939 and either
10940\begin_inset Flex Code
10941status collapsed
10942
10943\begin_layout Plain Layout
10944month_lengths
10945\end_layout
10946
10947\end_inset
10948
10949 or
10950\begin_inset Flex Code
10951status collapsed
10952
10953\begin_layout Plain Layout
10954year_length
10955\end_layout
10956
10957\end_inset
10958
10959.
10960 Optionally it is possible to configure the user defined calendar to have
10961 leap years.
10962 In this case,
10963\begin_inset Flex Code
10964status collapsed
10965
10966\begin_layout Plain Layout
10967leap_year_drift
10968\end_layout
10969
10970\end_inset
10971
10972 and
10973\begin_inset Flex Code
10974status collapsed
10975
10976\begin_layout Plain Layout
10977leap_year_month
10978\end_layout
10979
10980\end_inset
10981
10982 must also be provided and
10983\begin_inset Flex Code
10984status collapsed
10985
10986\begin_layout Plain Layout
10987leap_year_drift_offset
10988\end_layout
10989
10990\end_inset
10991
10992 might be used.
10993\end_layout
10994
10995\begin_layout Subsection*
10996Accessing the calendar type of the current calendar
10997\end_layout
10998
10999\begin_layout Subsubsection*
11000Synopsis:
11001\end_layout
11002
11003\begin_layout LyX-Code
11004SUBROUTINE xios_get_calendar_type(calendar_type)
11005\begin_inset Newline newline
11006\end_inset
11007
11008CHARACTER(len=*), INTENT(OUT) :: calendar_type
11009\end_layout
11010
11011\begin_layout Subsubsection*
11012Arguments:
11013\end_layout
11014
11015\begin_layout Itemize
11016\begin_inset Flex Code
11017status collapsed
11018
11019\begin_layout Plain Layout
11020calendar_type
11021\end_layout
11022
11023\end_inset
11024
11025: on output, the type of the calendar attached to the current context
11026\end_layout
11027
11028\begin_layout Subsubsection*
11029Description:
11030\end_layout
11031
11032\begin_layout Standard
11033This subroutine gets the calendar type associated to the current context.
11034 It will raise an error if used before the calendar was created.
11035\end_layout
11036
11037\begin_layout Subsection*
11038Accessing and defining the time step of the current calendar
11039\end_layout
11040
11041\begin_layout Subsubsection*
11042Synopsis:
11043\end_layout
11044
11045\begin_layout LyX-Code
11046SUBROUTINE xios_get_timestep(timestep)
11047\begin_inset Newline newline
11048\end_inset
11049
11050TYPE(xios_duration), INTENT(OUT) :: timestep
11051\end_layout
11052
11053\begin_layout Standard
11054and
11055\end_layout
11056
11057\begin_layout LyX-Code
11058SUBROUTINE xios_set_timestep(timestep)
11059\begin_inset Newline newline
11060\end_inset
11061
11062TYPE(xios_duration), INTENT(IN) :: timestep
11063\end_layout
11064
11065\begin_layout Subsubsection*
11066Arguments:
11067\end_layout
11068
11069\begin_layout Itemize
11070\begin_inset Flex Code
11071status collapsed
11072
11073\begin_layout Plain Layout
11074timestep
11075\end_layout
11076
11077\end_inset
11078
11079: a duration corresponding to the time step of the simulation
11080\end_layout
11081
11082\begin_layout Subsubsection*
11083Description:
11084\end_layout
11085
11086\begin_layout Standard
11087Those subroutines respectively gets and sets the time step associated to
11088 the calendar of the current context.
11089 Note that the time step must always be set before the context definition
11090 is closed and that an error will be raised if the getter subroutine is
11091 used before the time step is defined.
11092\end_layout
11093
11094\begin_layout Subsection*
11095Accessing and defining the start date of the current calendar
11096\end_layout
11097
11098\begin_layout Subsubsection*
11099Synopsis:
11100\end_layout
11101
11102\begin_layout LyX-Code
11103SUBROUTINE xios_get_start_date(start_date)
11104\begin_inset Newline newline
11105\end_inset
11106
11107TYPE(xios_date), INTENT(OUT) :: start_date
11108\end_layout
11109
11110\begin_layout Standard
11111and
11112\end_layout
11113
11114\begin_layout LyX-Code
11115SUBROUTINE xios_set_start_date(start_date)
11116\begin_inset Newline newline
11117\end_inset
11118
11119TYPE(xios_date), INTENT(IN) :: start_date
11120\end_layout
11121
11122\begin_layout Subsubsection*
11123Arguments:
11124\end_layout
11125
11126\begin_layout Itemize
11127\begin_inset Flex Code
11128status collapsed
11129
11130\begin_layout Plain Layout
11131start_date
11132\end_layout
11133
11134\end_inset
11135
11136: a date corresponding to the beginning of the simulation
11137\end_layout
11138
11139\begin_layout Subsubsection*
11140Description:
11141\end_layout
11142
11143\begin_layout Standard
11144Those subroutines respectively gets and sets the start date associated to
11145 the calendar of the current context.
11146 They must not be used before the calendar was created.
11147\end_layout
11148
11149\begin_layout Subsection*
11150Accessing and defining the time origin of the current calendar
11151\end_layout
11152
11153\begin_layout Subsubsection*
11154Synopsis:
11155\end_layout
11156
11157\begin_layout LyX-Code
11158SUBROUTINE xios_get_time_origin(time_origin)
11159\begin_inset Newline newline
11160\end_inset
11161
11162TYPE(xios_date), INTENT(OUT) :: time_origin
11163\end_layout
11164
11165\begin_layout Standard
11166and
11167\end_layout
11168
11169\begin_layout LyX-Code
11170SUBROUTINE xios_set_time_date(time_origin)
11171\begin_inset Newline newline
11172\end_inset
11173
11174TYPE(xios_date), INTENT(IN) :: time_origin
11175\end_layout
11176
11177\begin_layout Subsubsection*
11178Arguments:
11179\end_layout
11180
11181\begin_layout Itemize
11182\begin_inset Flex Code
11183status collapsed
11184
11185\begin_layout Plain Layout
11186start_date
11187\end_layout
11188
11189\end_inset
11190
11191: a date corresponding to the origin of the time axis
11192\end_layout
11193
11194\begin_layout Subsubsection*
11195Description:
11196\end_layout
11197
11198\begin_layout Standard
11199Those subroutines respectively gets and sets the origin of time associated
11200 to the calendar of the current context.
11201 They must not be used before the calendar was created.
11202\end_layout
11203
11204\begin_layout Subsection*
11205Updating the current date of the current calendar
11206\end_layout
11207
11208\begin_layout Subsubsection*
11209Synopsis:
11210\end_layout
11211
11212\begin_layout LyX-Code
11213SUBROUTINE xios_update_calendar(step)
11214\begin_inset Newline newline
11215\end_inset
11216
11217INTEGER, INTENT(IN) :: step
11218\end_layout
11219
11220\begin_layout Subsubsection*
11221Arguments:
11222\end_layout
11223
11224\begin_layout Itemize
11225\begin_inset Flex Code
11226status collapsed
11227
11228\begin_layout Plain Layout
11229step
11230\end_layout
11231
11232\end_inset
11233
11234: the current iteration number
11235\end_layout
11236
11237\begin_layout Subsubsection*
11238Description:
11239\end_layout
11240
11241\begin_layout Standard
11242This subroutine sets the current date associated to the calendar of the
11243 current context based on the current iteration number:
11244\begin_inset Formula $current\_date=start\_date+step\times timestep$
11245\end_inset
11246
11247.
11248 It must not be used before the calendar was created.
11249\end_layout
11250
11251\begin_layout Subsection*
11252Accessing the current date of the current calendar
11253\end_layout
11254
11255\begin_layout Subsubsection*
11256Synopsis:
11257\end_layout
11258
11259\begin_layout LyX-Code
11260SUBROUTINE xios_get_current_date(current_date)
11261\begin_inset Newline newline
11262\end_inset
11263
11264TYPE(xios_date), INTENT(OUT) :: current_date
11265\end_layout
11266
11267\begin_layout Subsubsection*
11268Arguments:
11269\end_layout
11270
11271\begin_layout Itemize
11272\begin_inset Flex Code
11273status collapsed
11274
11275\begin_layout Plain Layout
11276current_date
11277\end_layout
11278
11279\end_inset
11280
11281: on output, the current date
11282\end_layout
11283
11284\begin_layout Subsubsection*
11285Description:
11286\end_layout
11287
11288\begin_layout Standard
11289This subroutine gets the current date associated to the calendar of the
11290 current context.
11291 It must not be used before the calendar was created.
11292\end_layout
11293
11294\begin_layout Subsection*
11295Accessing the year length of the current calendar
11296\end_layout
11297
11298\begin_layout Subsubsection*
11299Synopsis:
11300\end_layout
11301
11302\begin_layout LyX-Code
11303INTEGER FUNCTION xios_get_year_length_in_seconds(year)
11304\begin_inset Newline newline
11305\end_inset
11306
11307INTEGER, INTENT(IN) :: year
11308\end_layout
11309
11310\begin_layout Subsubsection*
11311Arguments:
11312\end_layout
11313
11314\begin_layout Itemize
11315\begin_inset Flex Code
11316status collapsed
11317
11318\begin_layout Plain Layout
11319year
11320\end_layout
11321
11322\end_inset
11323
11324: the year whose length is requested
11325\end_layout
11326
11327\begin_layout Subsubsection*
11328Description:
11329\end_layout
11330
11331\begin_layout Standard
11332This function returns the duration in seconds of the specified year, taking
11333 leap years into account based on the calendar of the current context.
11334 It must not be used before the calendar was created.
11335\end_layout
11336
11337\begin_layout Subsection*
11338Accessing the day length of the current calendar
11339\end_layout
11340
11341\begin_layout Subsubsection*
11342Synopsis:
11343\end_layout
11344
11345\begin_layout LyX-Code
11346INTEGER FUNCTION xios_get_day_length_in_seconds()
11347\end_layout
11348
11349\begin_layout Subsubsection*
11350Arguments: None
11351\end_layout
11352
11353\begin_layout Subsubsection*
11354Description:
11355\end_layout
11356
11357\begin_layout Standard
11358This function returns the duration in seconds of a day, based on the calendar
11359 of the current context.
11360 It must not be used before the calendar was created.
11361\end_layout
11362
11363\begin_layout Section*
11364Duration handling interface
11365\end_layout
11366
11367\begin_layout Subsection*
11368Duration constants
11369\end_layout
11370
11371\begin_layout Standard
11372Some duration constants are available to ease duration handling:
11373\end_layout
11374
11375\begin_layout Itemize
11376\begin_inset Flex Code
11377status collapsed
11378
11379\begin_layout Plain Layout
11380xios_year
11381\end_layout
11382
11383\end_inset
11384
11385
11386\end_layout
11387
11388\begin_layout Itemize
11389\begin_inset Flex Code
11390status collapsed
11391
11392\begin_layout Plain Layout
11393xios_month
11394\end_layout
11395
11396\end_inset
11397
11398
11399\end_layout
11400
11401\begin_layout Itemize
11402\begin_inset Flex Code
11403status collapsed
11404
11405\begin_layout Plain Layout
11406xios_day
11407\end_layout
11408
11409\end_inset
11410
11411
11412\end_layout
11413
11414\begin_layout Itemize
11415\begin_inset Flex Code
11416status collapsed
11417
11418\begin_layout Plain Layout
11419xios_hour
11420\end_layout
11421
11422\end_inset
11423
11424
11425\end_layout
11426
11427\begin_layout Itemize
11428\begin_inset Flex Code
11429status collapsed
11430
11431\begin_layout Plain Layout
11432xios_minute
11433\end_layout
11434
11435\end_inset
11436
11437
11438\end_layout
11439
11440\begin_layout Itemize
11441\begin_inset Flex Code
11442status collapsed
11443
11444\begin_layout Plain Layout
11445xios_second
11446\end_layout
11447
11448\end_inset
11449
11450
11451\end_layout
11452
11453\begin_layout Itemize
11454\begin_inset Flex Code
11455status collapsed
11456
11457\begin_layout Plain Layout
11458xios_timestep
11459\end_layout
11460
11461\end_inset
11462
11463
11464\end_layout
11465
11466\begin_layout Subsection*
11467Arithmetic operations on durations
11468\end_layout
11469
11470\begin_layout Standard
11471The following arithmetic operations on durations are available:
11472\end_layout
11473
11474\begin_layout Itemize
11475Addition:
11476\begin_inset Flex Code
11477status collapsed
11478
11479\begin_layout Plain Layout
11480xios_duration = xios_duration + xios_duration
11481\end_layout
11482
11483\end_inset
11484
11485
11486\end_layout
11487
11488\begin_layout Itemize
11489Subtraction:
11490\begin_inset Flex Code
11491status collapsed
11492
11493\begin_layout Plain Layout
11494xios_duration = xios_duration - xios_duration
11495\end_layout
11496
11497\end_inset
11498
11499
11500\end_layout
11501
11502\begin_layout Itemize
11503Multiplication by a scalar value:
11504\begin_inset Flex Code
11505status collapsed
11506
11507\begin_layout Plain Layout
11508xios_duration = scalar * xios_duration
11509\end_layout
11510
11511\end_inset
11512
11513 or
11514\begin_inset Flex Code
11515status collapsed
11516
11517\begin_layout Plain Layout
11518xios_duration = xios_duration * scalar
11519\end_layout
11520
11521\end_inset
11522
11523
11524\end_layout
11525
11526\begin_layout Itemize
11527Negation:
11528\begin_inset Flex Code
11529status collapsed
11530
11531\begin_layout Plain Layout
11532xios_duration = -xios_duration
11533\end_layout
11534
11535\end_inset
11536
11537
11538\end_layout
11539
11540\begin_layout Subsection*
11541Comparison operations on durations
11542\end_layout
11543
11544\begin_layout Standard
11545The following comparison operations on durations are available:
11546\end_layout
11547
11548\begin_layout Itemize
11549Equality:
11550\begin_inset Flex Code
11551status collapsed
11552
11553\begin_layout Plain Layout
11554LOGICAL = xios_duration == xios_duration
11555\end_layout
11556
11557\end_inset
11558
11559
11560\end_layout
11561
11562\begin_layout Itemize
11563Inequality:
11564\begin_inset Flex Code
11565status collapsed
11566
11567\begin_layout Plain Layout
11568LOGICAL = xios_duration /= xios_duration
11569\end_layout
11570
11571\end_inset
11572
11573
11574\end_layout
11575
11576\begin_layout Section*
11577Interface relative to date handling
11578\end_layout
11579
11580\begin_layout Subsection*
11581Arithmetic operations on dates
11582\end_layout
11583
11584\begin_layout Standard
11585The following arithmetic operations on dates are available:
11586\end_layout
11587
11588\begin_layout Itemize
11589Addition of a duration:
11590\begin_inset Flex Code
11591status collapsed
11592
11593\begin_layout Plain Layout
11594xios_date = xios_date + xios_duration
11595\end_layout
11596
11597\end_inset
11598
11599
11600\end_layout
11601
11602\begin_layout Itemize
11603Subtraction of a duration:
11604\begin_inset Flex Code
11605status collapsed
11606
11607\begin_layout Plain Layout
11608xios_date = xios_date - xios_duration
11609\end_layout
11610
11611\end_inset
11612
11613
11614\end_layout
11615
11616\begin_layout Itemize
11617Subtraction of two dates:
11618\begin_inset Flex Code
11619status collapsed
11620
11621\begin_layout Plain Layout
11622xios_duration = xios_date - xios_date
11623\end_layout
11624
11625\end_inset
11626
11627
11628\end_layout
11629
11630\begin_layout Subsection*
11631Comparison operations on dates
11632\end_layout
11633
11634\begin_layout Standard
11635The following comparison operations on dates are available:
11636\end_layout
11637
11638\begin_layout Itemize
11639Equality:
11640\begin_inset Flex Code
11641status collapsed
11642
11643\begin_layout Plain Layout
11644LOGICAL = xios_date == xios_date
11645\end_layout
11646
11647\end_inset
11648
11649
11650\end_layout
11651
11652\begin_layout Itemize
11653Inequality:
11654\begin_inset Flex Code
11655status collapsed
11656
11657\begin_layout Plain Layout
11658LOGICAL = xios_date /= xios_date
11659\end_layout
11660
11661\end_inset
11662
11663
11664\end_layout
11665
11666\begin_layout Itemize
11667Less than:
11668\begin_inset Flex Code
11669status collapsed
11670
11671\begin_layout Plain Layout
11672LOGICAL = xios_date < xios_date
11673\end_layout
11674
11675\end_inset
11676
11677
11678\end_layout
11679
11680\begin_layout Itemize
11681Less or equal:
11682\begin_inset Flex Code
11683status collapsed
11684
11685\begin_layout Plain Layout
11686LOGICAL = xios_date <= xios_date
11687\end_layout
11688
11689\end_inset
11690
11691
11692\end_layout
11693
11694\begin_layout Itemize
11695Greater than:
11696\begin_inset Flex Code
11697status collapsed
11698
11699\begin_layout Plain Layout
11700LOGICAL = xios_date > xios_date
11701\end_layout
11702
11703\end_inset
11704
11705
11706\end_layout
11707
11708\begin_layout Itemize
11709Greater or equal:
11710\begin_inset Flex Code
11711status collapsed
11712
11713\begin_layout Plain Layout
11714LOGICAL = xios_date >= xios_date
11715\end_layout
11716
11717\end_inset
11718
11719
11720\end_layout
11721
11722\begin_layout Subsection*
11723Converting a date to a number of seconds since the time origin
11724\end_layout
11725
11726\begin_layout Subsubsection*
11727Synopsis:
11728\end_layout
11729
11730\begin_layout LyX-Code
11731FUNCTION INTEGER(kind = 8) xios_date_convert_to_seconds(date)
11732\begin_inset Newline newline
11733\end_inset
11734
11735TYPE(xios_date), INTENT(IN) :: date
11736\end_layout
11737
11738\begin_layout Subsubsection*
11739Arguments:
11740\end_layout
11741
11742\begin_layout Itemize
11743\begin_inset Flex Code
11744status collapsed
11745
11746\begin_layout Plain Layout
11747date
11748\end_layout
11749
11750\end_inset
11751
11752: the date to convert
11753\end_layout
11754
11755\begin_layout Subsubsection*
11756Description:
11757\end_layout
11758
11759\begin_layout Standard
11760This function returns the number of seconds since the time origin for the
11761 specified date, based on the calendar of the current context.
11762 It must not be used before the calendar was created.
11763\end_layout
11764
11765\begin_layout Subsection*
11766Converting a date to a number of seconds since the beginning of the year
11767\end_layout
11768
11769\begin_layout Subsubsection*
11770Synopsis:
11771\end_layout
11772
11773\begin_layout LyX-Code
11774FUNCTION INTEGER xios(date_get_second_of_year)(date)
11775\begin_inset Newline newline
11776\end_inset
11777
11778TYPE(xios_date), INTENT(IN) :: date
11779\end_layout
11780
11781\begin_layout Subsubsection*
11782Arguments:
11783\end_layout
11784
11785\begin_layout Itemize
11786\begin_inset Flex Code
11787status collapsed
11788
11789\begin_layout Plain Layout
11790date
11791\end_layout
11792
11793\end_inset
11794
11795: the date to convert
11796\end_layout
11797
11798\begin_layout Subsubsection*
11799Description:
11800\end_layout
11801
11802\begin_layout Standard
11803This function returns the number of seconds since the beginning of the year
11804 for the specified date, based on the calendar of the current context.
11805 It must not be used before the calendar was created.
11806\end_layout
11807
11808\begin_layout Subsection*
11809Converting a date to a number of days since the beginning of the year
11810\end_layout
11811
11812\begin_layout Subsubsection*
11813Synopsis:
11814\end_layout
11815
11816\begin_layout LyX-Code
11817FUNCTION DOUBLE_PRECISION xios_date_get_day_of_year(date)
11818\begin_inset Newline newline
11819\end_inset
11820
11821TYPE(xios_date), INTENT(IN) :: date
11822\end_layout
11823
11824\begin_layout Subsubsection*
11825Arguments:
11826\end_layout
11827
11828\begin_layout Itemize
11829\begin_inset Flex Code
11830status collapsed
11831
11832\begin_layout Plain Layout
11833date
11834\end_layout
11835
11836\end_inset
11837
11838: the date to convert
11839\end_layout
11840
11841\begin_layout Subsubsection*
11842Description:
11843\end_layout
11844
11845\begin_layout Standard
11846This function returns the number of days since the beginning of the year
11847 for the specified date, based on the calendar of the current context.
11848 It must not be used before the calendar was created.
11849\end_layout
11850
11851\begin_layout Subsection*
11852Converting a date to a fraction of the current year
11853\end_layout
11854
11855\begin_layout Subsubsection*
11856Synopsis:
11857\end_layout
11858
11859\begin_layout LyX-Code
11860FUNCTION DOUBLE_PRECISION xios_date_get_fraction_of_year(date)
11861\begin_inset Newline newline
11862\end_inset
11863
11864TYPE(xios_date), INTENT(IN) :: date
11865\end_layout
11866
11867\begin_layout Subsubsection*
11868Arguments:
11869\end_layout
11870
11871\begin_layout Itemize
11872\begin_inset Flex Code
11873status collapsed
11874
11875\begin_layout Plain Layout
11876date
11877\end_layout
11878
11879\end_inset
11880
11881: the date to convert
11882\end_layout
11883
11884\begin_layout Subsubsection*
11885Description:
11886\end_layout
11887
11888\begin_layout Standard
11889This function returns the fraction of year corresponding to the specified
11890 date, based on the calendar of the current context.
11891 It must not be used before the calendar was created.
11892\end_layout
11893
11894\begin_layout Subsection*
11895Converting a date to a number of seconds since the beginning of the day
11896\end_layout
11897
11898\begin_layout Subsubsection*
11899Synopsis:
11900\end_layout
11901
11902\begin_layout LyX-Code
11903FUNCTION INTEGER xios(date_get_second_of_day)(date)
11904\begin_inset Newline newline
11905\end_inset
11906
11907TYPE(xios_date), INTENT(IN) :: date
11908\end_layout
11909
11910\begin_layout Subsubsection*
11911Arguments:
11912\end_layout
11913
11914\begin_layout Itemize
11915\begin_inset Flex Code
11916status collapsed
11917
11918\begin_layout Plain Layout
11919date
11920\end_layout
11921
11922\end_inset
11923
11924: the date to convert
11925\end_layout
11926
11927\begin_layout Subsubsection*
11928Description:
11929\end_layout
11930
11931\begin_layout Standard
11932This function returns the number of seconds since the beginning of the day
11933 for the specified date, based on the calendar of the current context.
11934 It should not be used before the calendar was created.
11935\end_layout
11936
11937\begin_layout Subsection*
11938Converting a date to a fraction of the current day
11939\end_layout
11940
11941\begin_layout Subsubsection*
11942Synopsis:
11943\end_layout
11944
11945\begin_layout LyX-Code
11946FUNCTION DOUBLE_PRECISION xios_date_get_fraction_of_day(date)
11947\begin_inset Newline newline
11948\end_inset
11949
11950TYPE(xios_date), INTENT(IN) :: date
11951\end_layout
11952
11953\begin_layout Subsubsection*
11954Arguments:
11955\end_layout
11956
11957\begin_layout Itemize
11958\begin_inset Flex Code
11959status collapsed
11960
11961\begin_layout Plain Layout
11962date
11963\end_layout
11964
11965\end_inset
11966
11967: the date to convert
11968\end_layout
11969
11970\begin_layout Subsubsection*
11971Description:
11972\end_layout
11973
11974\begin_layout Standard
11975This function returns the fraction of day corresponding to the specified
11976 date based on the calendar of the current context.
11977 It should not be used before the calendar was created.
11978\end_layout
11979
11980\end_body
11981\end_document
Note: See TracBrowser for help on using the repository browser.