[325] | 1 | #include "xios_fortran_prefix.hpp" |
---|
| 2 | |
---|
| 3 | MODULE XIOS |
---|
| 4 | |
---|
[576] | 5 | USE icalendar, ONLY : xios(define_calendar), xios(set_timestep), xios(set_start_date), xios(set_time_origin), & |
---|
[549] | 6 | xios(get_calendar_type), xios(get_timestep), xios(get_start_date), xios(get_time_origin), & |
---|
[576] | 7 | xios(update_calendar), xios(get_current_date), & |
---|
[549] | 8 | xios(get_year_length_in_seconds), xios(get_day_length_in_seconds) |
---|
[325] | 9 | |
---|
[1673] | 10 | USE icontext, ONLY : txios(context), xios(set_current_context), xios(get_current_context), xios(is_valid_context) |
---|
[325] | 11 | |
---|
[576] | 12 | USE icontext_attr, ONLY : xios(set_context_attr), xios(get_context_attr), xios(is_defined_context_attr) |
---|
[489] | 13 | |
---|
[576] | 14 | USE idata, ONLY : xios(initialize), xios(init_server), xios(finalize), xios(context_initialize), xios(context_is_initialized), & |
---|
[1587] | 15 | xios(close_context_definition), xios(context_finalize), xios(solve_inheritance), xios(oasis_enddef) |
---|
[325] | 16 | |
---|
[576] | 17 | USE idomain, ONLY : txios(domain), txios(domaingroup), xios(is_valid_domain), xios(is_valid_domaingroup) |
---|
[325] | 18 | |
---|
[576] | 19 | USE idomain_attr, ONLY : xios(set_domain_attr), xios(get_domain_attr), xios(is_defined_domain_attr) |
---|
[325] | 20 | |
---|
[576] | 21 | USE idomaingroup_attr, ONLY : xios(set_domaingroup_attr), xios(get_domaingroup_attr), xios(is_defined_domaingroup_attr) |
---|
[325] | 22 | |
---|
[576] | 23 | USE iduration, ONLY: txios(duration), & |
---|
[545] | 24 | xios(year), xios(month), xios(day), xios(hour), xios(minute), xios(second), xios(timestep), & |
---|
[801] | 25 | xios(duration_convert_to_string), xios(duration_convert_from_string), & |
---|
[576] | 26 | xios(duration_add), xios(duration_sub), xios(duration_mult), xios(duration_neg), & |
---|
| 27 | xios(duration_eq), xios(duration_neq), & |
---|
[545] | 28 | OPERATOR(+), OPERATOR(-), OPERATOR(*) |
---|
| 29 | |
---|
[801] | 30 | USE idate, ONLY : txios(date), & |
---|
| 31 | xios(date_convert_to_seconds), xios(date_convert_to_string), xios(date_convert_from_string), & |
---|
| 32 | xios(date_add_duration), xios(date_sub_duration), xios(date_sub), & |
---|
| 33 | xios(date_eq), xios(date_neq), xios(date_lt), xios(date_le), xios(date_gt), xios(date_ge), & |
---|
| 34 | xios(date_get_second_of_year), xios(date_get_day_of_year), xios(date_get_fraction_of_year), & |
---|
| 35 | xios(date_get_second_of_day), xios(date_get_fraction_of_day), & |
---|
| 36 | OPERATOR(+), OPERATOR(-), & |
---|
| 37 | OPERATOR(==), OPERATOR(/=), OPERATOR(<), OPERATOR(<=), OPERATOR(>), OPERATOR(>=), & |
---|
[576] | 38 | ASSIGNMENT(=) |
---|
[1849] | 39 | USE itimer, ONLY : xios(timer_resume), xios(timer_suspend), xios(timer_reset), xios(timer_get_time) |
---|
[325] | 40 | |
---|
[576] | 41 | USE ifield, ONLY : txios(field), txios(fieldgroup), xios(is_valid_field), xios(is_valid_fieldgroup) |
---|
[489] | 42 | |
---|
[576] | 43 | USE ifield_attr, ONLY : xios(set_field_attr), xios(get_field_attr), xios(is_defined_field_attr) |
---|
[325] | 44 | |
---|
[576] | 45 | USE ifieldgroup_attr, ONLY : xios(set_fieldgroup_attr), xios(get_fieldgroup_attr), xios(is_defined_fieldgroup_attr) |
---|
[472] | 46 | |
---|
[576] | 47 | USE ivariable, ONLY : txios(variable), txios(variablegroup), xios(is_valid_variable), xios(is_valid_variablegroup) |
---|
[489] | 48 | |
---|
[576] | 49 | USE ivariable_attr, ONLY : xios(set_variable_attr), xios(get_variable_attr), xios(is_defined_variable_attr) |
---|
[489] | 50 | |
---|
[576] | 51 | USE ivariablegroup_attr, ONLY : xios(set_variablegroup_attr), xios(get_variablegroup_attr), xios(is_defined_variablegroup_attr) |
---|
[325] | 52 | |
---|
[576] | 53 | USE ifile, ONLY : txios(file), txios(filegroup), xios(is_valid_file), xios(is_valid_filegroup) |
---|
[325] | 54 | |
---|
[576] | 55 | USE ifile_attr, ONLY : xios(set_file_attr), xios(get_file_attr), xios(is_defined_file_attr) |
---|
[489] | 56 | |
---|
[576] | 57 | USE ifilegroup_attr, ONLY : xios(set_filegroup_attr), xios(get_filegroup_attr), xios(is_defined_filegroup_attr) |
---|
[325] | 58 | |
---|
[576] | 59 | USE igrid, ONLY : txios(grid), txios(gridgroup), xios(is_valid_grid), xios(is_valid_gridgroup) |
---|
[325] | 60 | |
---|
[576] | 61 | USE igrid_attr, ONLY : xios(set_grid_attr), xios(get_grid_attr), xios(is_defined_grid_attr) |
---|
[325] | 62 | |
---|
[576] | 63 | USE igridgroup_attr, ONLY : xios(set_gridgroup_attr), xios(get_gridgroup_attr), xios(is_defined_gridgroup_attr) |
---|
[325] | 64 | |
---|
[576] | 65 | USE iaxis, ONLY : txios(axis), txios(axisgroup), xios(is_valid_axis), xios(is_valid_axisgroup) |
---|
[325] | 66 | |
---|
[576] | 67 | USE iaxis_attr, ONLY : xios(set_axis_attr), xios(get_axis_attr), xios(is_defined_axis_attr) |
---|
[325] | 68 | |
---|
[576] | 69 | USE iaxisgroup_attr, ONLY : xios(set_axisgroup_attr), xios(get_axisgroup_attr), xios(is_defined_axisgroup_attr) |
---|
[325] | 70 | |
---|
[891] | 71 | USE iscalar, ONLY : txios(scalar), txios(scalargroup), xios(is_valid_scalar), xios(is_valid_scalargroup) |
---|
| 72 | |
---|
| 73 | USE iscalar_attr, ONLY : xios(set_scalar_attr), xios(get_scalar_attr), xios(is_defined_scalar_attr) |
---|
| 74 | |
---|
| 75 | USE iscalargroup_attr, ONLY : xios(set_scalargroup_attr), xios(get_scalargroup_attr), xios(is_defined_scalargroup_attr) |
---|
| 76 | |
---|
[981] | 77 | !------------------------------------------------------------------------------- |
---|
| 78 | !!! Transformation INTERFACES |
---|
| 79 | !------------------------------------------------------------------------------- |
---|
| 80 | !!! DOMAIN TRANSFORMATIONS |
---|
| 81 | USE izoom_domain, ONLY : txios(zoom_domain), xios(is_valid_zoom_domain) |
---|
| 82 | |
---|
| 83 | USE izoom_domain_attr, ONLY : xios(set_zoom_domain_attr), xios(get_zoom_domain_attr), xios(is_defined_zoom_domain_attr) |
---|
| 84 | |
---|
| 85 | USE iinterpolate_domain, ONLY : txios(interpolate_domain), xios(is_valid_interpolate_domain) |
---|
| 86 | |
---|
| 87 | USE iinterpolate_domain_attr, ONLY : xios(set_interpolate_domain_attr), xios(get_interpolate_domain_attr), & |
---|
| 88 | xios(is_defined_interpolate_domain_attr) |
---|
| 89 | |
---|
| 90 | USE igenerate_rectilinear_domain, ONLY : txios(generate_rectilinear_domain), xios(is_valid_generate_rectilinear_domain) |
---|
| 91 | |
---|
| 92 | USE igenerate_rectilinear_domain_attr, ONLY : xios(set_generate_rectilinear_domain_attr), & |
---|
| 93 | xios(get_generate_rectilinear_domain_attr), & |
---|
| 94 | xios(is_defined_generate_rectilinear_domain_attr) |
---|
| 95 | |
---|
| 96 | USE icompute_connectivity_domain, ONLY : txios(compute_connectivity_domain), xios(is_valid_compute_connectivity_domain) |
---|
| 97 | |
---|
| 98 | USE icompute_connectivity_domain_attr, ONLY : xios(set_compute_connectivity_domain_attr), & |
---|
| 99 | xios(get_compute_connectivity_domain_attr), & |
---|
| 100 | xios(is_defined_compute_connectivity_domain_attr) |
---|
| 101 | |
---|
| 102 | USE iexpand_domain, ONLY : txios(expand_domain), xios(is_valid_expand_domain) |
---|
| 103 | |
---|
| 104 | USE iexpand_domain_attr, ONLY : xios(set_expand_domain_attr), & |
---|
| 105 | xios(get_expand_domain_attr), & |
---|
| 106 | xios(is_defined_expand_domain_attr) |
---|
| 107 | |
---|
| 108 | !!! AXIS TRANSFORMATIONS |
---|
[784] | 109 | USE izoom_axis, ONLY : txios(zoom_axis), xios(is_valid_zoom_axis) |
---|
| 110 | |
---|
| 111 | USE izoom_axis_attr, ONLY : xios(set_zoom_axis_attr), xios(get_zoom_axis_attr), xios(is_defined_zoom_axis_attr) |
---|
| 112 | |
---|
| 113 | |
---|
[786] | 114 | USE iinterpolate_axis, ONLY : txios(interpolate_axis), xios(is_valid_interpolate_axis) |
---|
| 115 | |
---|
| 116 | USE iinterpolate_axis_attr, ONLY : xios(set_interpolate_axis_attr), xios(get_interpolate_axis_attr), & |
---|
| 117 | xios(is_defined_interpolate_axis_attr) |
---|
| 118 | |
---|
| 119 | USE iinverse_axis, ONLY : txios(inverse_axis), xios(is_valid_inverse_axis) |
---|
| 120 | |
---|
| 121 | USE iinverse_axis_attr, ONLY : xios(set_inverse_axis_attr), xios(get_inverse_axis_attr), xios(is_defined_inverse_axis_attr) |
---|
| 122 | |
---|
[981] | 123 | USE ireduce_domain_to_axis, ONLY : txios(reduce_domain_to_axis), xios(is_valid_reduce_domain_to_axis) |
---|
[786] | 124 | |
---|
[981] | 125 | USE ireduce_domain_to_axis_attr, ONLY : xios(set_reduce_domain_to_axis_attr), & |
---|
| 126 | xios(get_reduce_domain_to_axis_attr), & |
---|
| 127 | xios(is_defined_reduce_domain_to_axis_attr) |
---|
| 128 | |
---|
| 129 | USE iextract_domain_to_axis, ONLY : txios(extract_domain_to_axis), xios(is_valid_extract_domain_to_axis) |
---|
| 130 | |
---|
| 131 | USE iextract_domain_to_axis_attr, ONLY : xios(set_extract_domain_to_axis_attr), & |
---|
| 132 | xios(get_extract_domain_to_axis_attr), & |
---|
| 133 | xios(is_defined_extract_domain_to_axis_attr) |
---|
| 134 | |
---|
| 135 | !!! SCALAR TRANSFORMATIONS |
---|
| 136 | USE ireduce_domain_to_scalar, ONLY : txios(reduce_domain_to_scalar), xios(is_valid_reduce_domain_to_scalar) |
---|
| 137 | |
---|
| 138 | USE ireduce_domain_to_scalar_attr, ONLY : xios(set_reduce_domain_to_scalar_attr), xios(get_reduce_domain_to_scalar_attr), & |
---|
| 139 | xios(is_defined_reduce_domain_to_scalar_attr) |
---|
| 140 | |
---|
[891] | 141 | USE ireduce_axis_to_scalar, ONLY : txios(reduce_axis_to_scalar), xios(is_valid_reduce_axis_to_scalar) |
---|
[786] | 142 | |
---|
[891] | 143 | USE ireduce_axis_to_scalar_attr, ONLY : xios(set_reduce_axis_to_scalar_attr), xios(get_reduce_axis_to_scalar_attr), & |
---|
| 144 | xios(is_defined_reduce_axis_to_scalar_attr) |
---|
| 145 | |
---|
[981] | 146 | USE iextract_axis_to_scalar, ONLY : txios(extract_axis_to_scalar), xios(is_valid_extract_axis_to_scalar) |
---|
[934] | 147 | |
---|
[981] | 148 | USE iextract_axis_to_scalar_attr, ONLY : xios(set_extract_axis_to_scalar_attr), & |
---|
| 149 | xios(get_extract_axis_to_scalar_attr), & |
---|
| 150 | xios(is_defined_extract_axis_to_scalar_attr) |
---|
[934] | 151 | |
---|
[593] | 152 | USE XIOS_INTERFACES, ONLY : xios(set_attr), xios(get_attr), xios(is_defined_attr), xios(get_handle), xios(add_child), & |
---|
[943] | 153 | xios(send_field), xios(recv_field), xios(field_is_active), xios(getVar), xios(setVar), & |
---|
| 154 | xios(field_get_domain),xios(field_get_axis),xios(field_get_scalar) |
---|
[325] | 155 | |
---|
| 156 | END MODULE XIOS |
---|