Changeset 5119 for LMDZ6/branches/Amaury_dev/libf/misc/lmdz_xios.F90
- Timestamp:
- Jul 24, 2024, 6:46:45 PM (2 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/libf/misc/lmdz_xios.F90
r5066 r5119 2 2 3 3 MODULE lmdz_xios 4 USE xios 4 USE xios ! no ONLY, on purpose 5 5 6 6 LOGICAL,PARAMETER :: using_xios = .TRUE. … … 14 14 !! => must be replaced later by official xios wrapper when available 15 15 16 LOGICAL,PARAMETER :: using_xios = .FALSE. 17 18 INTERFACE xios_send_field 19 MODULE PROCEDURE xios_send_field_scalar, xios_send_field_1d, xios_send_field_2d, xios_send_field_3d, & 20 xios_send_field_4d, xios_send_field_5d 21 END INTERFACE xios_send_field 22 23 INTERFACE xios_recv_field 24 MODULE PROCEDURE xios_recv_field_scalar, xios_recv_field_1d, xios_recv_field_2d, xios_recv_field_3d, & 25 xios_recv_field_4d 26 END INTERFACE xios_recv_field 27 28 INTERFACE xios_field_is_active 29 MODULE PROCEDURE xios_field_is_active_id,xios_field_is_active_hdl 30 END INTERFACE xios_field_is_active 31 32 INTERFACE xios_set_attr 33 MODULE PROCEDURE xios_set_fieldgroup_attr_hdl, xios_set_field_attr_hdl, xios_set_domain_attr_hdl, & 34 xios_set_axis_attr_hdl, xios_set_file_attr_hdl 35 END INTERFACE xios_set_attr 36 37 INTERFACE xios_get_handle 38 MODULE PROCEDURE xios_get_context_handle, xios_get_field_handle, xios_get_fieldgroup_handle, & 39 xios_get_domain_handle,xios_get_file_handle, xios_get_filegroup_handle 40 END INTERFACE xios_get_handle 41 42 INTERFACE xios_add_child 43 MODULE PROCEDURE xios_fieldgroup_add_child, xios_add_fieldtofile, xios_add_file 44 END INTERFACE xios_add_child 45 46 INTERFACE xios_set_current_context 47 MODULE PROCEDURE xios_set_current_context_hdl, xios_set_current_context_id 48 END INTERFACE xios_set_current_context 49 50 INTERFACE xios_get_current_context 51 MODULE PROCEDURE xios_get_current_context_hdl, xios_get_current_context_id 52 END INTERFACE xios_get_current_context 53 54 INTERFACE xios_set_start_date 55 MODULE PROCEDURE xios_set_start_date_date, xios_set_start_date_dur 56 END INTERFACE xios_set_start_date 57 58 INTERFACE xios_set_time_origin 59 MODULE PROCEDURE xios_set_time_origin_date, xios_set_time_origin_dur 60 END INTERFACE xios_set_time_origin 61 62 INTERFACE xios_is_defined_attr 63 MODULE PROCEDURE xios_is_defined_domain_attr_hdl 64 END INTERFACE xios_is_defined_attr 65 66 TYPE xios_duration 67 DOUBLE PRECISION :: year=0, month=0, day=0, hour=0, minute=0, second=0, timestep=0 68 END TYPE xios_duration 69 70 TYPE xios_date 71 INTEGER :: year=0, month=0, day=0, hour=0, minute=0, second=0 72 END TYPE xios_date 73 74 75 REAL,PARAMETER :: xios_timestep=1. 76 REAL,PARAMETER :: xios_second=1. 77 78 TYPE xios_fieldgroup 79 END TYPE xios_fieldgroup 80 81 TYPE xios_filegroup 82 END TYPE xios_filegroup 83 84 TYPE xios_context 85 END TYPE xios_context 86 87 TYPE xios_domain 88 END TYPE xios_domain 89 90 TYPE xios_axis 91 END TYPE xios_axis 92 93 TYPE xios_file 94 END TYPE xios_file 95 96 TYPE xios_field 97 END TYPE 98 99 100 CONTAINS 101 102 16 LOGICAL, PARAMETER :: using_xios = .FALSE. 17 18 INTERFACE xios_send_field 19 MODULE PROCEDURE xios_send_field_scalar, xios_send_field_1d, xios_send_field_2d, xios_send_field_3d, & 20 xios_send_field_4d, xios_send_field_5d 21 END INTERFACE xios_send_field 22 23 INTERFACE xios_recv_field 24 MODULE PROCEDURE xios_recv_field_scalar, xios_recv_field_1d, xios_recv_field_2d, xios_recv_field_3d, & 25 xios_recv_field_4d 26 END INTERFACE xios_recv_field 27 28 INTERFACE xios_field_is_active 29 MODULE PROCEDURE xios_field_is_active_id, xios_field_is_active_hdl 30 END INTERFACE xios_field_is_active 31 32 INTERFACE xios_set_attr 33 MODULE PROCEDURE xios_set_fieldgroup_attr_hdl, xios_set_field_attr_hdl, xios_set_domain_attr_hdl, & 34 xios_set_axis_attr_hdl, xios_set_file_attr_hdl 35 END INTERFACE xios_set_attr 36 37 INTERFACE xios_get_handle 38 MODULE PROCEDURE xios_get_context_handle, xios_get_field_handle, xios_get_fieldgroup_handle, & 39 xios_get_domain_handle, xios_get_file_handle, xios_get_filegroup_handle 40 END INTERFACE xios_get_handle 41 42 INTERFACE xios_add_child 43 MODULE PROCEDURE xios_fieldgroup_add_child, xios_add_fieldtofile, xios_add_file 44 END INTERFACE xios_add_child 45 46 INTERFACE xios_set_current_context 47 MODULE PROCEDURE xios_set_current_context_hdl, xios_set_current_context_id 48 END INTERFACE xios_set_current_context 49 50 INTERFACE xios_get_current_context 51 MODULE PROCEDURE xios_get_current_context_hdl, xios_get_current_context_id 52 END INTERFACE xios_get_current_context 53 54 INTERFACE xios_set_start_date 55 MODULE PROCEDURE xios_set_start_date_date, xios_set_start_date_dur 56 END INTERFACE xios_set_start_date 57 58 INTERFACE xios_set_time_origin 59 MODULE PROCEDURE xios_set_time_origin_date, xios_set_time_origin_dur 60 END INTERFACE xios_set_time_origin 61 62 INTERFACE xios_is_defined_attr 63 MODULE PROCEDURE xios_is_defined_domain_attr_hdl 64 END INTERFACE xios_is_defined_attr 65 66 TYPE xios_duration 67 DOUBLE PRECISION :: year = 0, month = 0, day = 0, hour = 0, minute = 0, second = 0, timestep = 0 68 END TYPE xios_duration 69 70 TYPE xios_date 71 INTEGER :: year = 0, month = 0, day = 0, hour = 0, minute = 0, second = 0 72 END TYPE xios_date 73 74 REAL, PARAMETER :: xios_timestep = 1. 75 REAL, PARAMETER :: xios_second = 1. 76 77 TYPE xios_fieldgroup 78 END TYPE xios_fieldgroup 79 80 TYPE xios_filegroup 81 END TYPE xios_filegroup 82 83 TYPE xios_context 84 END TYPE xios_context 85 86 TYPE xios_domain 87 END TYPE xios_domain 88 89 TYPE xios_axis 90 END TYPE xios_axis 91 92 TYPE xios_file 93 END TYPE xios_file 94 95 TYPE xios_field 96 END TYPE 97 98 99 CONTAINS 100 101 103 102 SUBROUTINE xios_initialize(client_id, local_comm, return_comm) 104 IMPLICIT NONE105 CHARACTER(LEN=*),INTENT(IN) :: client_id106 INTEGER,INTENT(IN),OPTIONAL:: local_comm107 INTEGER,INTENT(OUT),OPTIONAL:: return_comm108 INTEGER :: f_local_comm109 INTEGER :: f_return_comm110 111 END SUBROUTINE xios_initialize 112 113 SUBROUTINE xios_define_calendar(type, timestep, start_date, time_origin, &114 115 116 117 CHARACTER(len = *),INTENT(IN) :: type118 119 TYPE(xios_date),OPTIONAL, INTENT(IN) :: start_date120 TYPE(xios_date),OPTIONAL, INTENT(IN) :: time_origin121 INTEGER,OPTIONAL, INTENT(IN) :: day_length122 INTEGER,OPTIONAL, INTENT(IN) :: month_lengths(:)123 INTEGER,OPTIONAL, INTENT(IN) :: year_length124 REAL (KIND=8),OPTIONAL, INTENT(IN) :: leap_year_drift125 REAL (KIND=8),OPTIONAL, INTENT(IN) :: leap_year_drift_offset126 INTEGER,OPTIONAL, INTENT(IN) :: leap_year_month127 128 129 103 IMPLICIT NONE 104 CHARACTER(LEN = *), INTENT(IN) :: client_id 105 INTEGER, INTENT(IN), OPTIONAL :: local_comm 106 INTEGER, INTENT(OUT), OPTIONAL :: return_comm 107 INTEGER :: f_local_comm 108 INTEGER :: f_return_comm 109 110 END SUBROUTINE xios_initialize 111 112 SUBROUTINE xios_define_calendar(type, timestep, start_date, time_origin, & 113 day_length, month_lengths, year_length, & 114 leap_year_month, leap_year_drift, leap_year_drift_offset) 115 IMPLICIT NONE 116 CHARACTER(len = *), INTENT(IN) :: type 117 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: timestep 118 TYPE(xios_date), OPTIONAL, INTENT(IN) :: start_date 119 TYPE(xios_date), OPTIONAL, INTENT(IN) :: time_origin 120 INTEGER, OPTIONAL, INTENT(IN) :: day_length 121 INTEGER, OPTIONAL, INTENT(IN) :: month_lengths(:) 122 INTEGER, OPTIONAL, INTENT(IN) :: year_length 123 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: leap_year_drift 124 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: leap_year_drift_offset 125 INTEGER, OPTIONAL, INTENT(IN) :: leap_year_month 126 127 END SUBROUTINE xios_define_calendar 128 130 129 SUBROUTINE xios_duration_convert_to_string(dur, str) 131 130 IMPLICIT NONE 132 131 TYPE(xios_duration), INTENT(IN) :: dur 133 132 CHARACTER(len = *), INTENT(OUT) :: str 134 str =''133 str = '' 135 134 END SUBROUTINE xios_duration_convert_to_string 136 135 … … 142 141 END FUNCTION xios_duration_convert_from_string 143 142 144 145 146 147 148 143 SUBROUTINE xios_set_timestep(timestep) 144 IMPLICIT NONE 145 TYPE(xios_duration), INTENT(IN) :: timestep 146 END SUBROUTINE xios_set_timestep 147 149 148 SUBROUTINE xios_set_start_date_date(start_date) 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 SUBROUTINE xios_send_field_scalar(name, field)170 IMPLICIT NONE171 CHARACTER(LEN =*),INTENT(IN) :: name172 REAL, INTENT(IN) :: field173 END SUBROUTINE xios_send_field_scalar 174 175 SUBROUTINE xios_send_field_1d(name, field)176 IMPLICIT NONE177 CHARACTER(LEN =*),INTENT(IN) :: name178 REAL, INTENT(IN) :: field(:)179 END SUBROUTINE xios_send_field_1d 180 181 SUBROUTINE xios_send_field_2d(name, field)182 IMPLICIT NONE183 CHARACTER(LEN =*),INTENT(IN) :: name184 REAL, INTENT(IN) :: field(:,:)185 END SUBROUTINE xios_send_field_2d 186 187 SUBROUTINE xios_send_field_3d(name, field)188 IMPLICIT NONE189 CHARACTER(LEN =*),INTENT(IN) :: name190 REAL, INTENT(IN) :: field(:,:,:)191 END SUBROUTINE xios_send_field_3d 192 193 SUBROUTINE xios_send_field_4d(name, field)194 IMPLICIT NONE195 CHARACTER(LEN =*),INTENT(IN) :: name196 REAL, INTENT(IN) :: field(:,:,:,:)197 END SUBROUTINE xios_send_field_4d 198 199 SUBROUTINE xios_send_field_5d(name, field)200 IMPLICIT NONE201 CHARACTER(LEN =*),INTENT(IN) :: name202 REAL, INTENT(IN) :: field(:,:,:,:,:)203 END SUBROUTINE xios_send_field_5d 204 205 206 SUBROUTINE xios_recv_field_scalar(name, field)207 IMPLICIT NONE208 CHARACTER(LEN =*),INTENT(IN) :: name209 REAL, INTENT(OUT) :: field210 field =0211 END SUBROUTINE xios_recv_field_scalar 212 213 SUBROUTINE xios_recv_field_1d(name, field)214 IMPLICIT NONE215 CHARACTER(LEN =*),INTENT(IN) :: name216 REAL, INTENT(OUT) :: field(:)217 field =0218 END SUBROUTINE xios_recv_field_1d 219 220 SUBROUTINE xios_recv_field_2d(name, field)221 IMPLICIT NONE222 CHARACTER(LEN =*),INTENT(IN) :: name223 REAL, INTENT(OUT) :: field(:,:)224 field =0225 END SUBROUTINE xios_recv_field_2d 226 227 SUBROUTINE xios_recv_field_3d(name, field)228 IMPLICIT NONE229 CHARACTER(LEN =*),INTENT(IN) :: name230 REAL, INTENT(OUT) :: field(:,:,:)231 field =0232 END SUBROUTINE xios_recv_field_3d 233 234 SUBROUTINE xios_recv_field_4d(name, field)235 IMPLICIT NONE236 CHARACTER(LEN =*),INTENT(IN) :: name237 REAL, INTENT(OUT) :: field(:,:,:,:)238 field =0239 END SUBROUTINE xios_recv_field_4d 149 IMPLICIT NONE 150 TYPE(xios_date), INTENT(IN) :: start_date 151 END SUBROUTINE xios_set_start_date_date 152 153 SUBROUTINE xios_set_start_date_dur(start_date) 154 IMPLICIT NONE 155 TYPE(xios_duration), INTENT(IN) :: start_date 156 END SUBROUTINE xios_set_start_date_dur 157 158 SUBROUTINE xios_set_time_origin_date(time_origin) 159 IMPLICIT NONE 160 TYPE(xios_date), INTENT(IN) :: time_origin 161 END SUBROUTINE xios_set_time_origin_date 162 163 SUBROUTINE xios_set_time_origin_dur(time_origin) 164 IMPLICIT NONE 165 TYPE(xios_duration), INTENT(IN) :: time_origin 166 END SUBROUTINE xios_set_time_origin_dur 167 168 SUBROUTINE xios_send_field_scalar(name, field) 169 IMPLICIT NONE 170 CHARACTER(LEN = *), INTENT(IN) :: name 171 REAL, INTENT(IN) :: field 172 END SUBROUTINE xios_send_field_scalar 173 174 SUBROUTINE xios_send_field_1d(name, field) 175 IMPLICIT NONE 176 CHARACTER(LEN = *), INTENT(IN) :: name 177 REAL, INTENT(IN) :: field(:) 178 END SUBROUTINE xios_send_field_1d 179 180 SUBROUTINE xios_send_field_2d(name, field) 181 IMPLICIT NONE 182 CHARACTER(LEN = *), INTENT(IN) :: name 183 REAL, INTENT(IN) :: field(:, :) 184 END SUBROUTINE xios_send_field_2d 185 186 SUBROUTINE xios_send_field_3d(name, field) 187 IMPLICIT NONE 188 CHARACTER(LEN = *), INTENT(IN) :: name 189 REAL, INTENT(IN) :: field(:, :, :) 190 END SUBROUTINE xios_send_field_3d 191 192 SUBROUTINE xios_send_field_4d(name, field) 193 IMPLICIT NONE 194 CHARACTER(LEN = *), INTENT(IN) :: name 195 REAL, INTENT(IN) :: field(:, :, :, :) 196 END SUBROUTINE xios_send_field_4d 197 198 SUBROUTINE xios_send_field_5d(name, field) 199 IMPLICIT NONE 200 CHARACTER(LEN = *), INTENT(IN) :: name 201 REAL, INTENT(IN) :: field(:, :, :, :, :) 202 END SUBROUTINE xios_send_field_5d 203 204 205 SUBROUTINE xios_recv_field_scalar(name, field) 206 IMPLICIT NONE 207 CHARACTER(LEN = *), INTENT(IN) :: name 208 REAL, INTENT(OUT) :: field 209 field = 0 210 END SUBROUTINE xios_recv_field_scalar 211 212 SUBROUTINE xios_recv_field_1d(name, field) 213 IMPLICIT NONE 214 CHARACTER(LEN = *), INTENT(IN) :: name 215 REAL, INTENT(OUT) :: field(:) 216 field = 0 217 END SUBROUTINE xios_recv_field_1d 218 219 SUBROUTINE xios_recv_field_2d(name, field) 220 IMPLICIT NONE 221 CHARACTER(LEN = *), INTENT(IN) :: name 222 REAL, INTENT(OUT) :: field(:, :) 223 field = 0 224 END SUBROUTINE xios_recv_field_2d 225 226 SUBROUTINE xios_recv_field_3d(name, field) 227 IMPLICIT NONE 228 CHARACTER(LEN = *), INTENT(IN) :: name 229 REAL, INTENT(OUT) :: field(:, :, :) 230 field = 0 231 END SUBROUTINE xios_recv_field_3d 232 233 SUBROUTINE xios_recv_field_4d(name, field) 234 IMPLICIT NONE 235 CHARACTER(LEN = *), INTENT(IN) :: name 236 REAL, INTENT(OUT) :: field(:, :, :, :) 237 field = 0 238 END SUBROUTINE xios_recv_field_4d 240 239 241 240 242 241 FUNCTION xios_is_active_field(field_id) 243 IMPLICIT NONE244 LOGICAL ::xios_is_active_field245 CHARACTER(LEN=*) :: field_id242 IMPLICIT NONE 243 LOGICAL :: xios_is_active_field 244 CHARACTER(LEN = *) :: field_id 246 245 xios_is_active_field = .TRUE. 247 246 END FUNCTION xios_is_active_field … … 249 248 LOGICAL FUNCTION xios_is_valid_field(idt) 250 249 IMPLICIT NONE 251 CHARACTER(len = *), INTENT(IN) :: idt250 CHARACTER(len = *), INTENT(IN) :: idt 252 251 xios_is_valid_field = .FALSE. 253 252 END FUNCTION xios_is_valid_field … … 255 254 LOGICAL FUNCTION xios_is_valid_file(idt) 256 255 IMPLICIT NONE 257 CHARACTER(len = *), INTENT(IN) :: idt256 CHARACTER(len = *), INTENT(IN) :: idt 258 257 xios_is_valid_file = .FALSE. 259 258 END FUNCTION xios_is_valid_file … … 261 260 LOGICAL FUNCTION xios_is_valid_axis(idt) 262 261 IMPLICIT NONE 263 CHARACTER(len = *), INTENT(IN) :: idt262 CHARACTER(len = *), INTENT(IN) :: idt 264 263 xios_is_valid_axis = .FALSE. 265 264 END FUNCTION xios_is_valid_axis … … 267 266 LOGICAL FUNCTION xios_is_valid_domain(idt) 268 267 IMPLICIT NONE 269 CHARACTER(len = *), INTENT(IN) :: idt268 CHARACTER(len = *), INTENT(IN) :: idt 270 269 xios_is_valid_domain = .FALSE. 271 270 END FUNCTION xios_is_valid_domain 272 271 273 272 274 SUBROUTINE xios_context_initialize(context_id,comm) 275 IMPLICIT NONE 276 CHARACTER(LEN=*),INTENT(IN) :: context_id 277 INTEGER, INTENT(IN) :: comm 278 279 END SUBROUTINE xios_context_initialize 280 281 282 SUBROUTINE xios_finalize 283 IMPLICIT NONE 284 285 END SUBROUTINE xios_finalize 286 287 288 SUBROUTINE xios_oasis_enddef 289 IMPLICIT NONE 290 291 END SUBROUTINE xios_oasis_enddef 292 293 294 SUBROUTINE xios_close_context_definition 295 IMPLICIT NONE 296 297 END SUBROUTINE xios_close_context_definition 298 299 300 SUBROUTINE xios_set_current_context_hdl(context, withswap) 301 IMPLICIT NONE 302 TYPE(xios_context) , INTENT(IN) :: context 303 LOGICAL , OPTIONAL, INTENT(IN) :: withswap 304 END SUBROUTINE xios_set_current_context_hdl 305 306 SUBROUTINE xios_set_current_context_id(idt) 307 IMPLICIT NONE 308 309 CHARACTER(len = *) , INTENT(IN) :: idt 310 LOGICAL :: withswap 311 END SUBROUTINE xios_set_current_context_id 312 313 314 SUBROUTINE xios_get_current_context_hdl(context) 315 IMPLICIT NONE 316 TYPE(xios_context), INTENT(OUT) :: context 317 END SUBROUTINE xios_get_current_context_hdl 318 319 SUBROUTINE xios_get_current_context_id(idt) 320 IMPLICIT NONE 321 CHARACTER(len = *) , INTENT(OUT) :: idt 322 TYPE(xios_context) :: context 323 END SUBROUTINE xios_get_current_context_id 324 325 SUBROUTINE xios_context_finalize() 326 IMPLICIT NONE 327 328 END SUBROUTINE xios_context_finalize 329 330 331 SUBROUTINE xios_solve_inheritance() 332 IMPLICIT NONE 333 334 END SUBROUTINE xios_solve_inheritance 335 336 337 338 339 273 SUBROUTINE xios_context_initialize(context_id, comm) 274 IMPLICIT NONE 275 CHARACTER(LEN = *), INTENT(IN) :: context_id 276 INTEGER, INTENT(IN) :: comm 277 278 END SUBROUTINE xios_context_initialize 279 280 281 SUBROUTINE xios_finalize 282 IMPLICIT NONE 283 284 END SUBROUTINE xios_finalize 285 286 287 SUBROUTINE xios_oasis_enddef 288 IMPLICIT NONE 289 290 END SUBROUTINE xios_oasis_enddef 291 292 293 SUBROUTINE xios_close_context_definition 294 IMPLICIT NONE 295 296 END SUBROUTINE xios_close_context_definition 297 298 299 SUBROUTINE xios_set_current_context_hdl(context, withswap) 300 IMPLICIT NONE 301 TYPE(xios_context), INTENT(IN) :: context 302 LOGICAL, OPTIONAL, INTENT(IN) :: withswap 303 END SUBROUTINE xios_set_current_context_hdl 304 305 SUBROUTINE xios_set_current_context_id(idt) 306 IMPLICIT NONE 307 308 CHARACTER(len = *), INTENT(IN) :: idt 309 LOGICAL :: withswap 310 END SUBROUTINE xios_set_current_context_id 311 312 313 SUBROUTINE xios_get_current_context_hdl(context) 314 IMPLICIT NONE 315 TYPE(xios_context), INTENT(OUT) :: context 316 END SUBROUTINE xios_get_current_context_hdl 317 318 SUBROUTINE xios_get_current_context_id(idt) 319 IMPLICIT NONE 320 CHARACTER(len = *), INTENT(OUT) :: idt 321 TYPE(xios_context) :: context 322 END SUBROUTINE xios_get_current_context_id 323 324 SUBROUTINE xios_context_finalize() 325 IMPLICIT NONE 326 327 END SUBROUTINE xios_context_finalize 328 329 330 SUBROUTINE xios_solve_inheritance() 331 IMPLICIT NONE 332 333 END SUBROUTINE xios_solve_inheritance 334 335 340 336 SUBROUTINE xios_update_calendar(step) 341 IMPLICIT NONE342 INTEGER, INTENT(IN):: step337 IMPLICIT NONE 338 INTEGER, INTENT(IN) :: step 343 339 END SUBROUTINE xios_update_calendar 344 340 345 SUBROUTINE xios_set_filegroup_attr(name, enabled)346 CHARACTER(LEN =*) :: name347 LOGICAL, OPTIONAL:: enabled341 SUBROUTINE xios_set_filegroup_attr(name, enabled) 342 CHARACTER(LEN = *) :: name 343 LOGICAL, OPTIONAL :: enabled 348 344 END SUBROUTINE xios_set_filegroup_attr 349 345 350 SUBROUTINE xios_get_axis_attr(name, n_glo,value)351 CHARACTER(LEN =*) :: name352 INTEGER, OPTIONAL:: n_glo353 REAL, OPTIONAL:: value(:)346 SUBROUTINE xios_get_axis_attr(name, n_glo, value) 347 CHARACTER(LEN = *) :: name 348 INTEGER, OPTIONAL :: n_glo 349 REAL, OPTIONAL :: value(:) 354 350 END SUBROUTINE xios_get_axis_attr 355 351 356 SUBROUTINE xios_get_context_handle(idt,ret) 357 IMPLICIT NONE 358 CHARACTER(len = *) , INTENT(IN) :: idt 359 TYPE(xios_context), INTENT(OUT):: ret 360 TYPE(xios_context) :: nothing 361 362 ret=nothing 363 END SUBROUTINE xios_get_context_handle 364 365 SUBROUTINE xios_get_domain_handle(idt,ret) 366 IMPLICIT NONE 367 CHARACTER(len = *) , INTENT(IN) :: idt 368 TYPE(xios_domain), INTENT(OUT):: ret 369 TYPE(xios_domain) :: hdl 370 ret=hdl 371 END SUBROUTINE xios_get_domain_handle 372 373 SUBROUTINE xios_get_field_handle(idt,ret) 374 IMPLICIT NONE 375 CHARACTER(len = *) , INTENT(IN) :: idt 376 TYPE(xios_field), INTENT(OUT):: ret 377 TYPE(xios_field) :: hdl 378 ret=hdl 379 END SUBROUTINE xios_get_field_handle 380 381 SUBROUTINE xios_get_fieldgroup_handle(idt,ret) 382 IMPLICIT NONE 383 CHARACTER(len = *) , INTENT(IN) :: idt 384 TYPE(xios_fieldgroup), INTENT(OUT):: ret 385 TYPE(xios_fieldgroup) :: hdl 386 ret=hdl 387 END SUBROUTINE xios_get_fieldgroup_handle 388 389 SUBROUTINE xios_get_file_handle(idt,ret) 390 IMPLICIT NONE 391 CHARACTER(len = *) , INTENT(IN) :: idt 392 TYPE(xios_file), INTENT(OUT):: ret 393 TYPE(xios_file) :: hdl 394 ret=hdl 395 END SUBROUTINE xios_get_file_handle 396 397 SUBROUTINE xios_get_filegroup_handle(idt,ret) 398 IMPLICIT NONE 399 CHARACTER(len = *) , INTENT(IN) :: idt 400 TYPE(xios_filegroup), INTENT(OUT):: ret 401 TYPE(xios_filegroup) :: hdl 402 ret=hdl 403 END SUBROUTINE xios_get_filegroup_handle 404 352 SUBROUTINE xios_get_context_handle(idt, ret) 353 IMPLICIT NONE 354 CHARACTER(len = *), INTENT(IN) :: idt 355 TYPE(xios_context), INTENT(OUT) :: ret 356 TYPE(xios_context) :: nothing 357 358 ret = nothing 359 END SUBROUTINE xios_get_context_handle 360 361 SUBROUTINE xios_get_domain_handle(idt, ret) 362 IMPLICIT NONE 363 CHARACTER(len = *), INTENT(IN) :: idt 364 TYPE(xios_domain), INTENT(OUT) :: ret 365 TYPE(xios_domain) :: hdl 366 ret = hdl 367 END SUBROUTINE xios_get_domain_handle 368 369 SUBROUTINE xios_get_field_handle(idt, ret) 370 IMPLICIT NONE 371 CHARACTER(len = *), INTENT(IN) :: idt 372 TYPE(xios_field), INTENT(OUT) :: ret 373 TYPE(xios_field) :: hdl 374 ret = hdl 375 END SUBROUTINE xios_get_field_handle 376 377 SUBROUTINE xios_get_fieldgroup_handle(idt, ret) 378 IMPLICIT NONE 379 CHARACTER(len = *), INTENT(IN) :: idt 380 TYPE(xios_fieldgroup), INTENT(OUT) :: ret 381 TYPE(xios_fieldgroup) :: hdl 382 ret = hdl 383 END SUBROUTINE xios_get_fieldgroup_handle 384 385 SUBROUTINE xios_get_file_handle(idt, ret) 386 IMPLICIT NONE 387 CHARACTER(len = *), INTENT(IN) :: idt 388 TYPE(xios_file), INTENT(OUT) :: ret 389 TYPE(xios_file) :: hdl 390 ret = hdl 391 END SUBROUTINE xios_get_file_handle 392 393 SUBROUTINE xios_get_filegroup_handle(idt, ret) 394 IMPLICIT NONE 395 CHARACTER(len = *), INTENT(IN) :: idt 396 TYPE(xios_filegroup), INTENT(OUT) :: ret 397 TYPE(xios_filegroup) :: hdl 398 ret = hdl 399 END SUBROUTINE xios_get_filegroup_handle 405 400 406 401 407 402 SUBROUTINE xios_fieldgroup_add_child(fieldgroup_hdl, field_hdl, id) 408 TYPE(xios_fieldgroup) 409 TYPE(xios_field) 410 CHARACTER(LEN =*),OPTIONAL :: id403 TYPE(xios_fieldgroup) :: fieldgroup_hdl 404 TYPE(xios_field) :: field_hdl 405 CHARACTER(LEN = *), OPTIONAL :: id 411 406 END SUBROUTINE xios_fieldgroup_add_child 412 407 413 408 SUBROUTINE xios_add_file(parent_hdl, child_hdl, child_id) 414 TYPE(xios_filegroup), INTENT(IN) :: parent_hdl415 TYPE(xios_file) , INTENT(OUT):: child_hdl416 CHARACTER(len = *), OPTIONAL, INTENT(IN):: child_id417 418 409 TYPE(xios_filegroup), INTENT(IN) :: parent_hdl 410 TYPE(xios_file), INTENT(OUT) :: child_hdl 411 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: child_id 412 TYPE(xios_file) :: hdl 413 child_hdl = hdl 419 414 END SUBROUTINE xios_add_file 420 415 421 416 SUBROUTINE xios_add_field(parent_hdl, child_hdl, child_id) 422 TYPE(xios_fieldgroup) , INTENT(IN) :: parent_hdl 423 TYPE(xios_field) , INTENT(OUT):: child_hdl 424 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: child_id 425 TYPE(xios_field) :: hdl 426 child_hdl = hdl 427 END SUBROUTINE xios_add_field 428 429 SUBROUTINE xios_add_fieldtofile(parent_hdl, child_hdl, child_id) 430 TYPE(xios_file) , INTENT(IN) :: parent_hdl 431 TYPE(xios_field) , INTENT(OUT):: child_hdl 432 CHARACTER(len = *), OPTIONAL , INTENT(IN) :: child_id 417 TYPE(xios_fieldgroup), INTENT(IN) :: parent_hdl 418 TYPE(xios_field), INTENT(OUT) :: child_hdl 419 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: child_id 433 420 TYPE(xios_field) :: hdl 434 421 child_hdl = hdl 422 END SUBROUTINE xios_add_field 423 424 SUBROUTINE xios_add_fieldtofile(parent_hdl, child_hdl, child_id) 425 TYPE(xios_file), INTENT(IN) :: parent_hdl 426 TYPE(xios_field), INTENT(OUT) :: child_hdl 427 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: child_id 428 TYPE(xios_field) :: hdl 429 child_hdl = hdl 435 430 436 431 END SUBROUTINE xios_add_fieldtofile 437 432 438 433 LOGICAL FUNCTION xios_field_is_active_id(field_id, at_current_timestep_arg) 439 440 CHARACTER(len = *), INTENT(IN) :: field_id441 LOGICAL, OPTIONAL, INTENT(IN) :: at_current_timestep_arg442 443 xios_field_is_active_id=.FALSE.444 445 446 447 448 TYPE(xios_field), INTENT(IN) :: field_hdl449 LOGICAL, OPTIONAL, INTENT(IN) :: at_current_timestep_arg450 451 452 453 454 455 SUBROUTINE xios_set_generate_rectilinear_domain_attr(id, bounds_lon_start, bounds_lon_end, bounds_lat_start,bounds_lat_end)456 CHARACTER(LEN =*) :: id434 IMPLICIT NONE 435 CHARACTER(len = *), INTENT(IN) :: field_id 436 LOGICAL, OPTIONAL, INTENT(IN) :: at_current_timestep_arg 437 438 xios_field_is_active_id = .FALSE. 439 END FUNCTION xios_field_is_active_id 440 441 LOGICAL FUNCTION xios_field_is_active_hdl(field_hdl, at_current_timestep_arg) 442 IMPLICIT NONE 443 TYPE(xios_field), INTENT(IN) :: field_hdl 444 LOGICAL, OPTIONAL, INTENT(IN) :: at_current_timestep_arg 445 446 xios_field_is_active_hdl = .FALSE. 447 END FUNCTION xios_field_is_active_hdl 448 449 450 SUBROUTINE xios_set_generate_rectilinear_domain_attr(id, bounds_lon_start, bounds_lon_end, bounds_lat_start, bounds_lat_end) 451 CHARACTER(LEN = *) :: id 457 452 REAL, OPTIONAL :: bounds_lon_start 458 453 REAL, OPTIONAL :: bounds_lon_end 459 454 REAL, OPTIONAL :: bounds_lat_start 460 455 REAL, OPTIONAL :: bounds_lat_end 461 END SUBROUTINE xios_set_generate_rectilinear_domain_attr 456 END SUBROUTINE xios_set_generate_rectilinear_domain_attr 462 457 463 458 SUBROUTINE xios_set_domain_attr & 464 (domain_id, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d &465 , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni &466 , data_nj, dim_i_name, dim_j_name, domain_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d &467 , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo &468 , nj, nj_glo, nvertex, prec, radius, standard_name, type)469 470 IMPLICIT NONE 471 TYPE(xios_domain):: domain_hdl472 CHARACTER(LEN=*), INTENT(IN) ::domain_id473 REAL (KIND=8) , OPTIONAL, INTENT(IN) :: area(:,:)474 REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_1d(:,:)475 REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_2d(:,:,:)476 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: bounds_lat_name477 REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_1d(:,:)478 REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_2d(:,:,:)479 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: bounds_lon_name480 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: comment481 INTEGER, OPTIONAL, INTENT(IN) :: data_dim482 INTEGER, OPTIONAL, INTENT(IN) :: data_i_index(:)483 INTEGER, OPTIONAL, INTENT(IN) :: data_ibegin484 INTEGER, OPTIONAL, INTENT(IN) :: data_j_index(:)485 INTEGER, OPTIONAL, INTENT(IN) :: data_jbegin486 INTEGER, OPTIONAL, INTENT(IN) :: data_ni487 INTEGER, OPTIONAL, INTENT(IN) :: data_nj488 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: dim_i_name489 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: dim_j_name490 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: domain_ref491 INTEGER, OPTIONAL, INTENT(IN) :: i_index(:)492 INTEGER, OPTIONAL, INTENT(IN) :: ibegin493 INTEGER, OPTIONAL, INTENT(IN) :: j_index(:)494 INTEGER, OPTIONAL, INTENT(IN) :: jbegin495 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: lat_name496 REAL (KIND=8), OPTIONAL, INTENT(IN) :: latvalue_1d(:)497 REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_2d(:,:)498 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: lon_name499 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: long_name500 REAL (KIND=8), OPTIONAL, INTENT(IN) :: lonvalue_1d(:)501 REAL (KIND=8) , OPTIONAL, INTENT(IN) :: lonvalue_2d(:,:)502 LOGICAL, OPTIONAL, INTENT(IN) :: mask_1d(:)503 LOGICAL , OPTIONAL, INTENT(IN) :: mask_2d(:,:)504 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: name505 INTEGER, OPTIONAL, INTENT(IN) :: ni506 INTEGER, OPTIONAL, INTENT(IN) :: ni_glo507 INTEGER, OPTIONAL, INTENT(IN) :: nj508 INTEGER, OPTIONAL, INTENT(IN) :: nj_glo509 INTEGER, OPTIONAL, INTENT(IN) :: nvertex510 INTEGER, OPTIONAL, INTENT(IN) :: prec511 REAL (KIND=8), OPTIONAL, INTENT(IN) :: radius512 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: standard_name513 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: type514 515 END SUBROUTINE xios_set_domain_attr 459 (domain_id, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d & 460 , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni & 461 , data_nj, dim_i_name, dim_j_name, domain_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d & 462 , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo & 463 , nj, nj_glo, nvertex, prec, radius, standard_name, type) 464 465 IMPLICIT NONE 466 TYPE(xios_domain) :: domain_hdl 467 CHARACTER(LEN = *), INTENT(IN) :: domain_id 468 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: area(:, :) 469 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: bounds_lat_1d(:, :) 470 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: bounds_lat_2d(:, :, :) 471 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: bounds_lat_name 472 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: bounds_lon_1d(:, :) 473 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: bounds_lon_2d(:, :, :) 474 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: bounds_lon_name 475 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: comment 476 INTEGER, OPTIONAL, INTENT(IN) :: data_dim 477 INTEGER, OPTIONAL, INTENT(IN) :: data_i_index(:) 478 INTEGER, OPTIONAL, INTENT(IN) :: data_ibegin 479 INTEGER, OPTIONAL, INTENT(IN) :: data_j_index(:) 480 INTEGER, OPTIONAL, INTENT(IN) :: data_jbegin 481 INTEGER, OPTIONAL, INTENT(IN) :: data_ni 482 INTEGER, OPTIONAL, INTENT(IN) :: data_nj 483 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: dim_i_name 484 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: dim_j_name 485 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: domain_ref 486 INTEGER, OPTIONAL, INTENT(IN) :: i_index(:) 487 INTEGER, OPTIONAL, INTENT(IN) :: ibegin 488 INTEGER, OPTIONAL, INTENT(IN) :: j_index(:) 489 INTEGER, OPTIONAL, INTENT(IN) :: jbegin 490 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: lat_name 491 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: latvalue_1d(:) 492 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: latvalue_2d(:, :) 493 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: lon_name 494 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: long_name 495 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: lonvalue_1d(:) 496 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: lonvalue_2d(:, :) 497 LOGICAL, OPTIONAL, INTENT(IN) :: mask_1d(:) 498 LOGICAL, OPTIONAL, INTENT(IN) :: mask_2d(:, :) 499 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: name 500 INTEGER, OPTIONAL, INTENT(IN) :: ni 501 INTEGER, OPTIONAL, INTENT(IN) :: ni_glo 502 INTEGER, OPTIONAL, INTENT(IN) :: nj 503 INTEGER, OPTIONAL, INTENT(IN) :: nj_glo 504 INTEGER, OPTIONAL, INTENT(IN) :: nvertex 505 INTEGER, OPTIONAL, INTENT(IN) :: prec 506 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: radius 507 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: standard_name 508 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: type 509 510 END SUBROUTINE xios_set_domain_attr 516 511 517 512 SUBROUTINE xios_set_domain_attr_hdl & 518 (domain_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d &519 , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni &520 , data_nj, dim_i_name, dim_j_name, domain_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d &521 , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo &522 , nj, nj_glo, nvertex, prec, radius, standard_name, type)523 524 IMPLICIT NONE 525 TYPE(xios_domain), INTENT(IN) :: domain_hdl526 REAL (KIND=8) , OPTIONAL, INTENT(IN) :: area(:,:)527 REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_1d(:,:)528 REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_2d(:,:,:)529 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: bounds_lat_name530 REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_1d(:,:)531 REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_2d(:,:,:)532 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: bounds_lon_name533 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: comment534 INTEGER, OPTIONAL, INTENT(IN) :: data_dim535 INTEGER, OPTIONAL, INTENT(IN) :: data_i_index(:)536 INTEGER, OPTIONAL, INTENT(IN) :: data_ibegin537 INTEGER, OPTIONAL, INTENT(IN) :: data_j_index(:)538 INTEGER, OPTIONAL, INTENT(IN) :: data_jbegin539 INTEGER, OPTIONAL, INTENT(IN) :: data_ni540 INTEGER, OPTIONAL, INTENT(IN) :: data_nj541 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: dim_i_name542 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: dim_j_name543 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: domain_ref544 INTEGER, OPTIONAL, INTENT(IN) :: i_index(:)545 INTEGER, OPTIONAL, INTENT(IN) :: ibegin546 INTEGER, OPTIONAL, INTENT(IN) :: j_index(:)547 INTEGER, OPTIONAL, INTENT(IN) :: jbegin548 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: lat_name549 REAL (KIND=8), OPTIONAL, INTENT(IN) :: latvalue_1d(:)550 REAL (KIND=8) , OPTIONAL, INTENT(IN) :: latvalue_2d(:,:)551 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: lon_name552 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: long_name553 REAL (KIND=8), OPTIONAL, INTENT(IN) :: lonvalue_1d(:)554 REAL (KIND=8) , OPTIONAL, INTENT(IN) :: lonvalue_2d(:,:)555 LOGICAL, OPTIONAL, INTENT(IN) :: mask_1d(:)556 LOGICAL , OPTIONAL, INTENT(IN) :: mask_2d(:,:)557 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: name558 INTEGER, OPTIONAL, INTENT(IN) :: ni559 INTEGER, OPTIONAL, INTENT(IN) :: ni_glo560 INTEGER, OPTIONAL, INTENT(IN) :: nj561 INTEGER, OPTIONAL, INTENT(IN) :: nj_glo562 INTEGER, OPTIONAL, INTENT(IN) :: nvertex563 INTEGER, OPTIONAL, INTENT(IN) :: prec564 REAL (KIND=8), OPTIONAL, INTENT(IN) :: radius565 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: standard_name566 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: type567 513 (domain_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d & 514 , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni & 515 , data_nj, dim_i_name, dim_j_name, domain_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d & 516 , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo & 517 , nj, nj_glo, nvertex, prec, radius, standard_name, type) 518 519 IMPLICIT NONE 520 TYPE(xios_domain), INTENT(IN) :: domain_hdl 521 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: area(:, :) 522 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: bounds_lat_1d(:, :) 523 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: bounds_lat_2d(:, :, :) 524 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: bounds_lat_name 525 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: bounds_lon_1d(:, :) 526 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: bounds_lon_2d(:, :, :) 527 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: bounds_lon_name 528 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: comment 529 INTEGER, OPTIONAL, INTENT(IN) :: data_dim 530 INTEGER, OPTIONAL, INTENT(IN) :: data_i_index(:) 531 INTEGER, OPTIONAL, INTENT(IN) :: data_ibegin 532 INTEGER, OPTIONAL, INTENT(IN) :: data_j_index(:) 533 INTEGER, OPTIONAL, INTENT(IN) :: data_jbegin 534 INTEGER, OPTIONAL, INTENT(IN) :: data_ni 535 INTEGER, OPTIONAL, INTENT(IN) :: data_nj 536 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: dim_i_name 537 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: dim_j_name 538 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: domain_ref 539 INTEGER, OPTIONAL, INTENT(IN) :: i_index(:) 540 INTEGER, OPTIONAL, INTENT(IN) :: ibegin 541 INTEGER, OPTIONAL, INTENT(IN) :: j_index(:) 542 INTEGER, OPTIONAL, INTENT(IN) :: jbegin 543 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: lat_name 544 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: latvalue_1d(:) 545 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: latvalue_2d(:, :) 546 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: lon_name 547 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: long_name 548 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: lonvalue_1d(:) 549 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: lonvalue_2d(:, :) 550 LOGICAL, OPTIONAL, INTENT(IN) :: mask_1d(:) 551 LOGICAL, OPTIONAL, INTENT(IN) :: mask_2d(:, :) 552 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: name 553 INTEGER, OPTIONAL, INTENT(IN) :: ni 554 INTEGER, OPTIONAL, INTENT(IN) :: ni_glo 555 INTEGER, OPTIONAL, INTENT(IN) :: nj 556 INTEGER, OPTIONAL, INTENT(IN) :: nj_glo 557 INTEGER, OPTIONAL, INTENT(IN) :: nvertex 558 INTEGER, OPTIONAL, INTENT(IN) :: prec 559 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: radius 560 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: standard_name 561 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: type 562 568 563 END SUBROUTINE xios_set_domain_attr_hdl 569 564 570 565 571 572 566 SUBROUTINE xios_set_axis_attr & 573 (axis_id, axis_ref, axis_type, begin, bounds, bounds_name, comment, data_begin, data_index &574 , data_n, dim_name, formula, formula_bounds, formula_term, formula_term_bounds, index, label &575 , long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit &576 , value)577 578 IMPLICIT NONE 579 TYPE(xios_axis):: axis_hdl580 CHARACTER(LEN=*), INTENT(IN) ::axis_id581 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: axis_ref582 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: axis_type583 INTEGER, OPTIONAL, INTENT(IN) :: begin584 REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds(:,:)585 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: bounds_name586 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: comment587 INTEGER, OPTIONAL, INTENT(IN) :: data_begin588 INTEGER, OPTIONAL, INTENT(IN) :: data_index(:)589 INTEGER, OPTIONAL, INTENT(IN) :: data_n590 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: dim_name591 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: formula592 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: formula_bounds593 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: formula_term594 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: formula_term_bounds595 INTEGER, OPTIONAL, INTENT(IN) :: index(:)596 CHARACTER(len=*), OPTIONAL, INTENT(IN) :: label(:)597 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: long_name598 LOGICAL, OPTIONAL, INTENT(IN) :: mask(:)599 INTEGER, OPTIONAL, INTENT(IN) :: n600 INTEGER, OPTIONAL, INTENT(IN) :: n_distributed_partition601 INTEGER, OPTIONAL, INTENT(IN) :: n_glo602 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: name603 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: positive604 INTEGER, OPTIONAL, INTENT(IN) :: prec605 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: standard_name606 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: unit607 REAL (KIND=8), OPTIONAL, INTENT(IN) :: value(:)567 (axis_id, axis_ref, axis_type, begin, bounds, bounds_name, comment, data_begin, data_index & 568 , data_n, dim_name, formula, formula_bounds, formula_term, formula_term_bounds, index, label & 569 , long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit & 570 , value) 571 572 IMPLICIT NONE 573 TYPE(xios_axis) :: axis_hdl 574 CHARACTER(LEN = *), INTENT(IN) :: axis_id 575 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: axis_ref 576 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: axis_type 577 INTEGER, OPTIONAL, INTENT(IN) :: begin 578 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: bounds(:, :) 579 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: bounds_name 580 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: comment 581 INTEGER, OPTIONAL, INTENT(IN) :: data_begin 582 INTEGER, OPTIONAL, INTENT(IN) :: data_index(:) 583 INTEGER, OPTIONAL, INTENT(IN) :: data_n 584 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: dim_name 585 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: formula 586 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: formula_bounds 587 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: formula_term 588 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: formula_term_bounds 589 INTEGER, OPTIONAL, INTENT(IN) :: index(:) 590 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: label(:) 591 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: long_name 592 LOGICAL, OPTIONAL, INTENT(IN) :: mask(:) 593 INTEGER, OPTIONAL, INTENT(IN) :: n 594 INTEGER, OPTIONAL, INTENT(IN) :: n_distributed_partition 595 INTEGER, OPTIONAL, INTENT(IN) :: n_glo 596 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: name 597 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: positive 598 INTEGER, OPTIONAL, INTENT(IN) :: prec 599 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: standard_name 600 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: unit 601 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: value(:) 608 602 609 603 END SUBROUTINE xios_set_axis_attr 610 604 611 605 SUBROUTINE xios_set_axis_attr_hdl & 612 (axis_hdl, axis_ref, axis_type, begin, bounds, bounds_name, comment, data_begin, data_index &613 , data_n, dim_name, formula, formula_bounds, formula_term, formula_term_bounds, index, label &614 , long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit &615 , value)616 617 IMPLICIT NONE 618 TYPE(xios_axis), INTENT(IN) :: axis_hdl619 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: axis_ref620 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: axis_type621 INTEGER, OPTIONAL, INTENT(IN) :: begin622 REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds(:,:)623 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: bounds_name624 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: comment625 INTEGER, OPTIONAL, INTENT(IN) :: data_begin626 INTEGER, OPTIONAL, INTENT(IN) :: data_index(:)627 INTEGER, OPTIONAL, INTENT(IN) :: data_n628 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: dim_name629 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: formula630 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: formula_bounds631 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: formula_term632 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: formula_term_bounds633 INTEGER, OPTIONAL, INTENT(IN) :: index(:)634 CHARACTER(len=*), OPTIONAL, INTENT(IN) :: label(:)635 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: long_name636 LOGICAL, OPTIONAL, INTENT(IN) :: mask(:)637 INTEGER, OPTIONAL, INTENT(IN) :: n638 INTEGER, OPTIONAL, INTENT(IN) :: n_distributed_partition639 INTEGER, OPTIONAL, INTENT(IN) :: n_glo640 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: name641 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: positive642 INTEGER, OPTIONAL, INTENT(IN) :: prec643 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: standard_name644 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: unit645 REAL (KIND=8), OPTIONAL, INTENT(IN) :: value(:)606 (axis_hdl, axis_ref, axis_type, begin, bounds, bounds_name, comment, data_begin, data_index & 607 , data_n, dim_name, formula, formula_bounds, formula_term, formula_term_bounds, index, label & 608 , long_name, mask, n, n_distributed_partition, n_glo, name, positive, prec, standard_name, unit & 609 , value) 610 611 IMPLICIT NONE 612 TYPE(xios_axis), INTENT(IN) :: axis_hdl 613 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: axis_ref 614 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: axis_type 615 INTEGER, OPTIONAL, INTENT(IN) :: begin 616 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: bounds(:, :) 617 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: bounds_name 618 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: comment 619 INTEGER, OPTIONAL, INTENT(IN) :: data_begin 620 INTEGER, OPTIONAL, INTENT(IN) :: data_index(:) 621 INTEGER, OPTIONAL, INTENT(IN) :: data_n 622 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: dim_name 623 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: formula 624 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: formula_bounds 625 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: formula_term 626 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: formula_term_bounds 627 INTEGER, OPTIONAL, INTENT(IN) :: index(:) 628 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: label(:) 629 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: long_name 630 LOGICAL, OPTIONAL, INTENT(IN) :: mask(:) 631 INTEGER, OPTIONAL, INTENT(IN) :: n 632 INTEGER, OPTIONAL, INTENT(IN) :: n_distributed_partition 633 INTEGER, OPTIONAL, INTENT(IN) :: n_glo 634 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: name 635 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: positive 636 INTEGER, OPTIONAL, INTENT(IN) :: prec 637 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: standard_name 638 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: unit 639 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: value(:) 646 640 647 641 END SUBROUTINE xios_set_axis_attr_hdl 648 642 649 643 SUBROUTINE xios_set_field_attr & 650 (field_id, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode, check_if_active &651 , comment, compression_level, default_value, detect_missing_value, domain_ref, enabled, expr &652 , field_ref, freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name &653 , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq &654 , unit, valid_max, valid_min)655 656 IMPLICIT NONE 657 TYPE(xios_field):: field_hdl658 CHARACTER(LEN=*), INTENT(IN) ::field_id659 REAL (KIND=8), OPTIONAL, INTENT(IN) :: add_offset660 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: axis_ref661 LOGICAL, OPTIONAL, INTENT(IN) :: build_workflow_graph662 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: cell_methods663 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: cell_methods_mode664 LOGICAL, OPTIONAL, INTENT(IN) :: check_if_active665 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: comment666 INTEGER, OPTIONAL, INTENT(IN) :: compression_level667 REAL (KIND=8), OPTIONAL, INTENT(IN) :: default_value668 LOGICAL, OPTIONAL, INTENT(IN) :: detect_missing_value669 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: domain_ref670 LOGICAL, OPTIONAL, INTENT(IN) :: enabled671 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: expr672 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: field_ref673 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: freq_offset674 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: freq_op675 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: grid_path676 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: grid_ref677 LOGICAL, OPTIONAL, INTENT(IN) :: indexed_output678 INTEGER, OPTIONAL, INTENT(IN) :: level679 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: long_name680 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: name681 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: operation682 INTEGER, OPTIONAL, INTENT(IN) :: prec683 LOGICAL, OPTIONAL, INTENT(IN) :: read_access684 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: scalar_ref685 REAL (KIND=8), OPTIONAL, INTENT(IN) :: scale_factor686 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: standard_name687 LOGICAL, OPTIONAL, INTENT(IN) :: ts_enabled688 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: ts_split_freq689 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: unit690 REAL (KIND=8), OPTIONAL, INTENT(IN) :: valid_max691 REAL (KIND=8), OPTIONAL, INTENT(IN) :: valid_min644 (field_id, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode, check_if_active & 645 , comment, compression_level, default_value, detect_missing_value, domain_ref, enabled, expr & 646 , field_ref, freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name & 647 , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq & 648 , unit, valid_max, valid_min) 649 650 IMPLICIT NONE 651 TYPE(xios_field) :: field_hdl 652 CHARACTER(LEN = *), INTENT(IN) :: field_id 653 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: add_offset 654 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: axis_ref 655 LOGICAL, OPTIONAL, INTENT(IN) :: build_workflow_graph 656 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: cell_methods 657 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: cell_methods_mode 658 LOGICAL, OPTIONAL, INTENT(IN) :: check_if_active 659 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: comment 660 INTEGER, OPTIONAL, INTENT(IN) :: compression_level 661 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: default_value 662 LOGICAL, OPTIONAL, INTENT(IN) :: detect_missing_value 663 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: domain_ref 664 LOGICAL, OPTIONAL, INTENT(IN) :: enabled 665 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: expr 666 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: field_ref 667 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: freq_offset 668 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: freq_op 669 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: grid_path 670 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: grid_ref 671 LOGICAL, OPTIONAL, INTENT(IN) :: indexed_output 672 INTEGER, OPTIONAL, INTENT(IN) :: level 673 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: long_name 674 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: name 675 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: operation 676 INTEGER, OPTIONAL, INTENT(IN) :: prec 677 LOGICAL, OPTIONAL, INTENT(IN) :: read_access 678 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: scalar_ref 679 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: scale_factor 680 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: standard_name 681 LOGICAL, OPTIONAL, INTENT(IN) :: ts_enabled 682 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: ts_split_freq 683 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: unit 684 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: valid_max 685 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: valid_min 692 686 693 687 END SUBROUTINE xios_set_field_attr 694 688 695 689 SUBROUTINE xios_set_field_attr_hdl & 696 ( field_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode, check_if_active & 697 , comment, compression_level, default_value, detect_missing_value, domain_ref, enabled, expr & 698 , field_ref, freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name & 699 , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq & 700 , unit, valid_max, valid_min ) 701 702 IMPLICIT NONE 703 TYPE(xios_field) , INTENT(IN) :: field_hdl 704 REAL (KIND=8) , OPTIONAL, INTENT(IN) :: add_offset 705 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref 706 LOGICAL , OPTIONAL, INTENT(IN) :: build_workflow_graph 707 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: cell_methods 708 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: cell_methods_mode 709 LOGICAL , OPTIONAL, INTENT(IN) :: check_if_active 710 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment 711 INTEGER , OPTIONAL, INTENT(IN) :: compression_level 712 REAL (KIND=8) , OPTIONAL, INTENT(IN) :: default_value 713 LOGICAL , OPTIONAL, INTENT(IN) :: detect_missing_value 714 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref 715 LOGICAL , OPTIONAL, INTENT(IN) :: enabled 716 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: expr 717 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: field_ref 718 TYPE(xios_duration) , OPTIONAL, INTENT(IN) :: freq_offset 719 TYPE(xios_duration) , OPTIONAL, INTENT(IN) :: freq_op 720 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: grid_path 721 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: grid_ref 722 LOGICAL , OPTIONAL, INTENT(IN) :: indexed_output 723 INTEGER , OPTIONAL, INTENT(IN) :: level 724 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name 725 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 726 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: operation 727 INTEGER , OPTIONAL, INTENT(IN) :: prec 728 LOGICAL , OPTIONAL, INTENT(IN) :: read_access 729 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: scalar_ref 730 REAL (KIND=8) , OPTIONAL, INTENT(IN) :: scale_factor 731 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name 732 LOGICAL , OPTIONAL, INTENT(IN) :: ts_enabled 733 TYPE(xios_duration) , OPTIONAL, INTENT(IN) :: ts_split_freq 734 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit 735 REAL (KIND=8) , OPTIONAL, INTENT(IN) :: valid_max 736 REAL (KIND=8) , OPTIONAL, INTENT(IN) :: valid_min 737 690 (field_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode, check_if_active & 691 , comment, compression_level, default_value, detect_missing_value, domain_ref, enabled, expr & 692 , field_ref, freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name & 693 , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq & 694 , unit, valid_max, valid_min) 695 696 IMPLICIT NONE 697 TYPE(xios_field), INTENT(IN) :: field_hdl 698 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: add_offset 699 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: axis_ref 700 LOGICAL, OPTIONAL, INTENT(IN) :: build_workflow_graph 701 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: cell_methods 702 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: cell_methods_mode 703 LOGICAL, OPTIONAL, INTENT(IN) :: check_if_active 704 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: comment 705 INTEGER, OPTIONAL, INTENT(IN) :: compression_level 706 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: default_value 707 LOGICAL, OPTIONAL, INTENT(IN) :: detect_missing_value 708 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: domain_ref 709 LOGICAL, OPTIONAL, INTENT(IN) :: enabled 710 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: expr 711 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: field_ref 712 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: freq_offset 713 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: freq_op 714 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: grid_path 715 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: grid_ref 716 LOGICAL, OPTIONAL, INTENT(IN) :: indexed_output 717 INTEGER, OPTIONAL, INTENT(IN) :: level 718 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: long_name 719 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: name 720 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: operation 721 INTEGER, OPTIONAL, INTENT(IN) :: prec 722 LOGICAL, OPTIONAL, INTENT(IN) :: read_access 723 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: scalar_ref 724 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: scale_factor 725 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: standard_name 726 LOGICAL, OPTIONAL, INTENT(IN) :: ts_enabled 727 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: ts_split_freq 728 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: unit 729 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: valid_max 730 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: valid_min 738 731 739 732 END SUBROUTINE xios_set_field_attr_hdl … … 741 734 742 735 SUBROUTINE xios_set_fieldgroup_attr & 743 (fieldgroup_id, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode &744 , check_if_active, comment, compression_level, default_value, detect_missing_value, domain_ref &745 , enabled, expr, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output &746 , level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name &747 , ts_enabled, ts_split_freq, unit, valid_max, valid_min)748 749 IMPLICIT NONE 750 TYPE(xios_fieldgroup):: fieldgroup_hdl751 CHARACTER(LEN=*), INTENT(IN) ::fieldgroup_id752 REAL (KIND=8), OPTIONAL, INTENT(IN) :: add_offset753 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: axis_ref754 LOGICAL, OPTIONAL, INTENT(IN) :: build_workflow_graph755 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: cell_methods756 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: cell_methods_mode757 LOGICAL, OPTIONAL, INTENT(IN) :: check_if_active758 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: comment759 INTEGER, OPTIONAL, INTENT(IN) :: compression_level760 REAL (KIND=8), OPTIONAL, INTENT(IN) :: default_value761 LOGICAL, OPTIONAL, INTENT(IN) :: detect_missing_value762 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: domain_ref763 LOGICAL, OPTIONAL, INTENT(IN) :: enabled764 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: expr765 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: field_ref766 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: freq_offset767 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: freq_op768 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: grid_path769 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: grid_ref770 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: group_ref771 LOGICAL, OPTIONAL, INTENT(IN) :: indexed_output772 INTEGER, OPTIONAL, INTENT(IN) :: level773 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: long_name774 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: name775 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: operation776 INTEGER, OPTIONAL, INTENT(IN) :: prec777 LOGICAL, OPTIONAL, INTENT(IN) :: read_access778 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: scalar_ref779 REAL (KIND=8), OPTIONAL, INTENT(IN) :: scale_factor780 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: standard_name781 LOGICAL, OPTIONAL, INTENT(IN) :: ts_enabled782 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: ts_split_freq783 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: unit784 REAL (KIND=8), OPTIONAL, INTENT(IN) :: valid_max785 REAL (KIND=8), OPTIONAL, INTENT(IN) :: valid_min736 (fieldgroup_id, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode & 737 , check_if_active, comment, compression_level, default_value, detect_missing_value, domain_ref & 738 , enabled, expr, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output & 739 , level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name & 740 , ts_enabled, ts_split_freq, unit, valid_max, valid_min) 741 742 IMPLICIT NONE 743 TYPE(xios_fieldgroup) :: fieldgroup_hdl 744 CHARACTER(LEN = *), INTENT(IN) :: fieldgroup_id 745 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: add_offset 746 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: axis_ref 747 LOGICAL, OPTIONAL, INTENT(IN) :: build_workflow_graph 748 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: cell_methods 749 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: cell_methods_mode 750 LOGICAL, OPTIONAL, INTENT(IN) :: check_if_active 751 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: comment 752 INTEGER, OPTIONAL, INTENT(IN) :: compression_level 753 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: default_value 754 LOGICAL, OPTIONAL, INTENT(IN) :: detect_missing_value 755 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: domain_ref 756 LOGICAL, OPTIONAL, INTENT(IN) :: enabled 757 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: expr 758 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: field_ref 759 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: freq_offset 760 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: freq_op 761 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: grid_path 762 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: grid_ref 763 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: group_ref 764 LOGICAL, OPTIONAL, INTENT(IN) :: indexed_output 765 INTEGER, OPTIONAL, INTENT(IN) :: level 766 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: long_name 767 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: name 768 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: operation 769 INTEGER, OPTIONAL, INTENT(IN) :: prec 770 LOGICAL, OPTIONAL, INTENT(IN) :: read_access 771 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: scalar_ref 772 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: scale_factor 773 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: standard_name 774 LOGICAL, OPTIONAL, INTENT(IN) :: ts_enabled 775 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: ts_split_freq 776 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: unit 777 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: valid_max 778 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: valid_min 786 779 787 780 END SUBROUTINE xios_set_fieldgroup_attr 788 781 789 782 SUBROUTINE xios_set_fieldgroup_attr_hdl & 790 (fieldgroup_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode &791 , check_if_active, comment, compression_level, default_value, detect_missing_value, domain_ref &792 , enabled, expr, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output &793 , level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name &794 , ts_enabled, ts_split_freq, unit, valid_max, valid_min)795 796 IMPLICIT NONE 797 TYPE(xios_fieldgroup), INTENT(IN) :: fieldgroup_hdl798 REAL (KIND=8), OPTIONAL, INTENT(IN) :: add_offset799 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: axis_ref800 LOGICAL, OPTIONAL, INTENT(IN) :: build_workflow_graph801 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: cell_methods802 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: cell_methods_mode803 LOGICAL, OPTIONAL, INTENT(IN) :: check_if_active804 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: comment805 INTEGER, OPTIONAL, INTENT(IN) :: compression_level806 REAL (KIND=8), OPTIONAL, INTENT(IN) :: default_value807 LOGICAL, OPTIONAL, INTENT(IN) :: detect_missing_value808 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: domain_ref809 LOGICAL, OPTIONAL, INTENT(IN) :: enabled810 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: expr811 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: field_ref812 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: freq_offset813 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: freq_op814 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: grid_path815 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: grid_ref816 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: group_ref817 LOGICAL, OPTIONAL, INTENT(IN) :: indexed_output818 INTEGER, OPTIONAL, INTENT(IN) :: level819 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: long_name820 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: name821 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: operation822 INTEGER, OPTIONAL, INTENT(IN) :: prec823 LOGICAL, OPTIONAL, INTENT(IN) :: read_access824 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: scalar_ref825 REAL (KIND=8), OPTIONAL, INTENT(IN) :: scale_factor826 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: standard_name827 LOGICAL, OPTIONAL, INTENT(IN) :: ts_enabled828 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: ts_split_freq829 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: unit830 REAL (KIND=8), OPTIONAL, INTENT(IN) :: valid_max831 REAL (KIND=8), OPTIONAL, INTENT(IN) :: valid_min783 (fieldgroup_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode & 784 , check_if_active, comment, compression_level, default_value, detect_missing_value, domain_ref & 785 , enabled, expr, field_ref, freq_offset, freq_op, grid_path, grid_ref, group_ref, indexed_output & 786 , level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor, standard_name & 787 , ts_enabled, ts_split_freq, unit, valid_max, valid_min) 788 789 IMPLICIT NONE 790 TYPE(xios_fieldgroup), INTENT(IN) :: fieldgroup_hdl 791 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: add_offset 792 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: axis_ref 793 LOGICAL, OPTIONAL, INTENT(IN) :: build_workflow_graph 794 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: cell_methods 795 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: cell_methods_mode 796 LOGICAL, OPTIONAL, INTENT(IN) :: check_if_active 797 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: comment 798 INTEGER, OPTIONAL, INTENT(IN) :: compression_level 799 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: default_value 800 LOGICAL, OPTIONAL, INTENT(IN) :: detect_missing_value 801 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: domain_ref 802 LOGICAL, OPTIONAL, INTENT(IN) :: enabled 803 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: expr 804 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: field_ref 805 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: freq_offset 806 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: freq_op 807 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: grid_path 808 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: grid_ref 809 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: group_ref 810 LOGICAL, OPTIONAL, INTENT(IN) :: indexed_output 811 INTEGER, OPTIONAL, INTENT(IN) :: level 812 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: long_name 813 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: name 814 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: operation 815 INTEGER, OPTIONAL, INTENT(IN) :: prec 816 LOGICAL, OPTIONAL, INTENT(IN) :: read_access 817 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: scalar_ref 818 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: scale_factor 819 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: standard_name 820 LOGICAL, OPTIONAL, INTENT(IN) :: ts_enabled 821 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: ts_split_freq 822 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: unit 823 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: valid_max 824 REAL (KIND = 8), OPTIONAL, INTENT(IN) :: valid_min 832 825 833 826 END SUBROUTINE xios_set_fieldgroup_attr_hdl … … 835 828 836 829 SUBROUTINE xios_set_file_attr & 837 (file_id, append, comment, compression_level, convention, convention_str, cyclic, description &838 , enabled, format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access &839 , read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format, split_last_date &840 , split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name &841 , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name)842 843 IMPLICIT NONE 844 TYPE(xios_file):: file_hdl845 CHARACTER(LEN=*), INTENT(IN) ::file_id846 LOGICAL, OPTIONAL, INTENT(IN) :: append847 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: comment848 INTEGER, OPTIONAL, INTENT(IN) :: compression_level849 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: convention850 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: convention_str851 LOGICAL, OPTIONAL, INTENT(IN) :: cyclic852 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: description853 LOGICAL, OPTIONAL, INTENT(IN) :: enabled854 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: format855 INTEGER, OPTIONAL, INTENT(IN) :: min_digits856 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: mode857 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: name858 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: name_suffix859 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: output_freq860 INTEGER, OPTIONAL, INTENT(IN) :: output_level861 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: par_access862 LOGICAL, OPTIONAL, INTENT(IN) :: read_metadata_par863 INTEGER, OPTIONAL, INTENT(IN) :: record_offset864 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: split_end_offset865 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: split_freq866 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: split_freq_format867 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: split_last_date868 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: split_start_offset869 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: sync_freq870 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: time_counter871 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: time_counter_name872 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: time_stamp_format873 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: time_stamp_name874 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: time_units875 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: timeseries876 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: ts_prefix877 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: type878 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: uuid_format879 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: uuid_name830 (file_id, append, comment, compression_level, convention, convention_str, cyclic, description & 831 , enabled, format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access & 832 , read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format, split_last_date & 833 , split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name & 834 , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name) 835 836 IMPLICIT NONE 837 TYPE(xios_file) :: file_hdl 838 CHARACTER(LEN = *), INTENT(IN) :: file_id 839 LOGICAL, OPTIONAL, INTENT(IN) :: append 840 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: comment 841 INTEGER, OPTIONAL, INTENT(IN) :: compression_level 842 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: convention 843 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: convention_str 844 LOGICAL, OPTIONAL, INTENT(IN) :: cyclic 845 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: description 846 LOGICAL, OPTIONAL, INTENT(IN) :: enabled 847 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: format 848 INTEGER, OPTIONAL, INTENT(IN) :: min_digits 849 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: mode 850 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: name 851 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: name_suffix 852 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: output_freq 853 INTEGER, OPTIONAL, INTENT(IN) :: output_level 854 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: par_access 855 LOGICAL, OPTIONAL, INTENT(IN) :: read_metadata_par 856 INTEGER, OPTIONAL, INTENT(IN) :: record_offset 857 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: split_end_offset 858 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: split_freq 859 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: split_freq_format 860 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: split_last_date 861 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: split_start_offset 862 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: sync_freq 863 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: time_counter 864 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: time_counter_name 865 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: time_stamp_format 866 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: time_stamp_name 867 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: time_units 868 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: timeseries 869 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: ts_prefix 870 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: type 871 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: uuid_format 872 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: uuid_name 880 873 881 874 END SUBROUTINE xios_set_file_attr 882 875 883 876 SUBROUTINE xios_set_file_attr_hdl & 884 (file_hdl, append, comment, compression_level, convention, convention_str, cyclic, description &885 , enabled, format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access &886 , read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format, split_last_date &887 , split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name &888 , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name)889 890 IMPLICIT NONE 891 TYPE(xios_file), INTENT(IN) :: file_hdl892 LOGICAL, OPTIONAL, INTENT(IN) :: append893 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: comment894 INTEGER, OPTIONAL, INTENT(IN) :: compression_level895 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: convention896 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: convention_str897 LOGICAL, OPTIONAL, INTENT(IN) :: cyclic898 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: description899 LOGICAL, OPTIONAL, INTENT(IN) :: enabled900 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: format901 INTEGER, OPTIONAL, INTENT(IN) :: min_digits902 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: mode903 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: name904 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: name_suffix905 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: output_freq906 INTEGER, OPTIONAL, INTENT(IN) :: output_level907 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: par_access908 LOGICAL, OPTIONAL, INTENT(IN) :: read_metadata_par909 INTEGER, OPTIONAL, INTENT(IN) :: record_offset910 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: split_end_offset911 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: split_freq912 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: split_freq_format913 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: split_last_date914 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: split_start_offset915 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: sync_freq916 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: time_counter917 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: time_counter_name918 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: time_stamp_format919 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: time_stamp_name920 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: time_units921 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: timeseries922 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: ts_prefix923 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: type924 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: uuid_format925 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: uuid_name877 (file_hdl, append, comment, compression_level, convention, convention_str, cyclic, description & 878 , enabled, format, min_digits, mode, name, name_suffix, output_freq, output_level, par_access & 879 , read_metadata_par, record_offset, split_end_offset, split_freq, split_freq_format, split_last_date & 880 , split_start_offset, sync_freq, time_counter, time_counter_name, time_stamp_format, time_stamp_name & 881 , time_units, timeseries, ts_prefix, type, uuid_format, uuid_name) 882 883 IMPLICIT NONE 884 TYPE(xios_file), INTENT(IN) :: file_hdl 885 LOGICAL, OPTIONAL, INTENT(IN) :: append 886 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: comment 887 INTEGER, OPTIONAL, INTENT(IN) :: compression_level 888 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: convention 889 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: convention_str 890 LOGICAL, OPTIONAL, INTENT(IN) :: cyclic 891 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: description 892 LOGICAL, OPTIONAL, INTENT(IN) :: enabled 893 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: format 894 INTEGER, OPTIONAL, INTENT(IN) :: min_digits 895 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: mode 896 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: name 897 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: name_suffix 898 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: output_freq 899 INTEGER, OPTIONAL, INTENT(IN) :: output_level 900 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: par_access 901 LOGICAL, OPTIONAL, INTENT(IN) :: read_metadata_par 902 INTEGER, OPTIONAL, INTENT(IN) :: record_offset 903 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: split_end_offset 904 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: split_freq 905 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: split_freq_format 906 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: split_last_date 907 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: split_start_offset 908 TYPE(xios_duration), OPTIONAL, INTENT(IN) :: sync_freq 909 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: time_counter 910 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: time_counter_name 911 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: time_stamp_format 912 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: time_stamp_name 913 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: time_units 914 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: timeseries 915 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: ts_prefix 916 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: type 917 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: uuid_format 918 CHARACTER(len = *), OPTIONAL, INTENT(IN) :: uuid_name 926 919 927 920 END SUBROUTINE xios_set_file_attr_hdl … … 929 922 930 923 SUBROUTINE xios_is_defined_domain_attr & 931 (domain_id, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d &932 , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni &933 , data_nj, dim_i_name, dim_j_name, domain_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d &934 , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo &935 , nj, nj_glo, nvertex, prec, radius, standard_name, type)936 937 IMPLICIT NONE 938 CHARACTER(LEN=*), INTENT(IN) ::domain_id939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 924 (domain_id, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d & 925 , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni & 926 , data_nj, dim_i_name, dim_j_name, domain_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d & 927 , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo & 928 , nj, nj_glo, nvertex, prec, radius, standard_name, type) 929 930 IMPLICIT NONE 931 CHARACTER(LEN = *), INTENT(IN) :: domain_id 932 LOGICAL, OPTIONAL, INTENT(OUT) :: area 933 LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_1d 934 LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_2d 935 LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_name 936 LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_1d 937 LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_2d 938 LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_name 939 LOGICAL, OPTIONAL, INTENT(OUT) :: comment 940 LOGICAL, OPTIONAL, INTENT(OUT) :: data_dim 941 LOGICAL, OPTIONAL, INTENT(OUT) :: data_i_index 942 LOGICAL, OPTIONAL, INTENT(OUT) :: data_ibegin 943 LOGICAL, OPTIONAL, INTENT(OUT) :: data_j_index 944 LOGICAL, OPTIONAL, INTENT(OUT) :: data_jbegin 945 LOGICAL, OPTIONAL, INTENT(OUT) :: data_ni 946 LOGICAL, OPTIONAL, INTENT(OUT) :: data_nj 947 LOGICAL, OPTIONAL, INTENT(OUT) :: dim_i_name 948 LOGICAL, OPTIONAL, INTENT(OUT) :: dim_j_name 949 LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref 950 LOGICAL, OPTIONAL, INTENT(OUT) :: i_index 951 LOGICAL, OPTIONAL, INTENT(OUT) :: ibegin 952 LOGICAL, OPTIONAL, INTENT(OUT) :: j_index 953 LOGICAL, OPTIONAL, INTENT(OUT) :: jbegin 954 LOGICAL, OPTIONAL, INTENT(OUT) :: lat_name 955 LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_1d 956 LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_2d 957 LOGICAL, OPTIONAL, INTENT(OUT) :: lon_name 958 LOGICAL, OPTIONAL, INTENT(OUT) :: long_name 959 LOGICAL, OPTIONAL, INTENT(OUT) :: lonvalue_1d 960 LOGICAL, OPTIONAL, INTENT(OUT) :: lonvalue_2d 961 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d 962 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_2d 963 LOGICAL, OPTIONAL, INTENT(OUT) :: name 964 LOGICAL, OPTIONAL, INTENT(OUT) :: ni 965 LOGICAL, OPTIONAL, INTENT(OUT) :: ni_glo 966 LOGICAL, OPTIONAL, INTENT(OUT) :: nj 967 LOGICAL, OPTIONAL, INTENT(OUT) :: nj_glo 968 LOGICAL, OPTIONAL, INTENT(OUT) :: nvertex 969 LOGICAL, OPTIONAL, INTENT(OUT) :: prec 970 LOGICAL, OPTIONAL, INTENT(OUT) :: radius 971 LOGICAL, OPTIONAL, INTENT(OUT) :: standard_name 972 LOGICAL, OPTIONAL, INTENT(OUT) :: type 973 974 area = .FALSE. 975 bounds_lat_1d = .FALSE. 976 bounds_lat_2d = .FALSE. 977 bounds_lat_name = .FALSE. 978 bounds_lon_1d = .FALSE. 979 bounds_lon_2d = .FALSE. 980 bounds_lon_name = .FALSE. 981 comment = .FALSE. 982 data_dim = .FALSE. 983 data_i_index = .FALSE. 984 data_ibegin = .FALSE. 985 data_j_index = .FALSE. 986 data_jbegin = .FALSE. 987 data_ni = .FALSE. 988 data_nj = .FALSE. 989 dim_i_name = .FALSE. 990 dim_j_name = .FALSE. 991 domain_ref = .FALSE. 992 i_index = .FALSE. 993 ibegin = .FALSE. 994 j_index = .FALSE. 995 jbegin = .FALSE. 996 lat_name = .FALSE. 997 latvalue_1d = .FALSE. 998 latvalue_2d = .FALSE. 999 lon_name = .FALSE. 1000 long_name = .FALSE. 1001 lonvalue_1d = .FALSE. 1002 lonvalue_2d = .FALSE. 1003 mask_1d = .FALSE. 1004 mask_2d = .FALSE. 1005 name = .FALSE. 1006 ni = .FALSE. 1007 ni_glo = .FALSE. 1008 nj = .FALSE. 1009 nj_glo = .FALSE. 1010 nvertex = .FALSE. 1011 prec = .FALSE. 1012 radius = .FALSE. 1013 standard_name = .FALSE. 1014 type = .FALSE. 1022 1015 1023 1016 END SUBROUTINE xios_is_defined_domain_attr 1024 1017 1025 1018 SUBROUTINE xios_is_defined_domain_attr_hdl & 1026 (domain_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d &1027 , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni &1028 , data_nj, dim_i_name, dim_j_name, domain_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d &1029 , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo &1030 , nj, nj_glo, nvertex, prec, radius, standard_name, type)1031 1032 IMPLICIT NONE 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1019 (domain_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d & 1020 , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni & 1021 , data_nj, dim_i_name, dim_j_name, domain_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d & 1022 , latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo & 1023 , nj, nj_glo, nvertex, prec, radius, standard_name, type) 1024 1025 IMPLICIT NONE 1026 TYPE(xios_domain), INTENT(IN) :: domain_hdl 1027 LOGICAL, OPTIONAL, INTENT(OUT) :: area 1028 LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_1d 1029 LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_2d 1030 LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_name 1031 LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_1d 1032 LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_2d 1033 LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_name 1034 LOGICAL, OPTIONAL, INTENT(OUT) :: comment 1035 LOGICAL, OPTIONAL, INTENT(OUT) :: data_dim 1036 LOGICAL, OPTIONAL, INTENT(OUT) :: data_i_index 1037 LOGICAL, OPTIONAL, INTENT(OUT) :: data_ibegin 1038 LOGICAL, OPTIONAL, INTENT(OUT) :: data_j_index 1039 LOGICAL, OPTIONAL, INTENT(OUT) :: data_jbegin 1040 LOGICAL, OPTIONAL, INTENT(OUT) :: data_ni 1041 LOGICAL, OPTIONAL, INTENT(OUT) :: data_nj 1042 LOGICAL, OPTIONAL, INTENT(OUT) :: dim_i_name 1043 LOGICAL, OPTIONAL, INTENT(OUT) :: dim_j_name 1044 LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref 1045 LOGICAL, OPTIONAL, INTENT(OUT) :: i_index 1046 LOGICAL, OPTIONAL, INTENT(OUT) :: ibegin 1047 LOGICAL, OPTIONAL, INTENT(OUT) :: j_index 1048 LOGICAL, OPTIONAL, INTENT(OUT) :: jbegin 1049 LOGICAL, OPTIONAL, INTENT(OUT) :: lat_name 1050 LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_1d 1051 LOGICAL, OPTIONAL, INTENT(OUT) :: latvalue_2d 1052 LOGICAL, OPTIONAL, INTENT(OUT) :: lon_name 1053 LOGICAL, OPTIONAL, INTENT(OUT) :: long_name 1054 LOGICAL, OPTIONAL, INTENT(OUT) :: lonvalue_1d 1055 LOGICAL, OPTIONAL, INTENT(OUT) :: lonvalue_2d 1056 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_1d 1057 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_2d 1058 LOGICAL, OPTIONAL, INTENT(OUT) :: name 1059 LOGICAL, OPTIONAL, INTENT(OUT) :: ni 1060 LOGICAL, OPTIONAL, INTENT(OUT) :: ni_glo 1061 LOGICAL, OPTIONAL, INTENT(OUT) :: nj 1062 LOGICAL, OPTIONAL, INTENT(OUT) :: nj_glo 1063 LOGICAL, OPTIONAL, INTENT(OUT) :: nvertex 1064 LOGICAL, OPTIONAL, INTENT(OUT) :: prec 1065 LOGICAL, OPTIONAL, INTENT(OUT) :: radius 1066 LOGICAL, OPTIONAL, INTENT(OUT) :: standard_name 1067 LOGICAL, OPTIONAL, INTENT(OUT) :: type 1068 1069 area = .FALSE. 1070 bounds_lat_1d = .FALSE. 1071 bounds_lat_2d = .FALSE. 1072 bounds_lat_name = .FALSE. 1073 bounds_lon_1d = .FALSE. 1074 bounds_lon_2d = .FALSE. 1075 bounds_lon_name = .FALSE. 1076 comment = .FALSE. 1077 data_dim = .FALSE. 1078 data_i_index = .FALSE. 1079 data_ibegin = .FALSE. 1080 data_j_index = .FALSE. 1081 data_jbegin = .FALSE. 1082 data_ni = .FALSE. 1083 data_nj = .FALSE. 1084 dim_i_name = .FALSE. 1085 dim_j_name = .FALSE. 1086 domain_ref = .FALSE. 1087 i_index = .FALSE. 1088 ibegin = .FALSE. 1089 j_index = .FALSE. 1090 jbegin = .FALSE. 1091 lat_name = .FALSE. 1092 latvalue_1d = .FALSE. 1093 latvalue_2d = .FALSE. 1094 lon_name = .FALSE. 1095 long_name = .FALSE. 1096 lonvalue_1d = .FALSE. 1097 lonvalue_2d = .FALSE. 1098 mask_1d = .FALSE. 1099 mask_2d = .FALSE. 1100 name = .FALSE. 1101 ni = .FALSE. 1102 ni_glo = .FALSE. 1103 nj = .FALSE. 1104 nj_glo = .FALSE. 1105 nvertex = .FALSE. 1106 prec = .FALSE. 1107 radius = .FALSE. 1108 standard_name = .FALSE. 1109 type = .FALSE. 1117 1110 1118 1111 END SUBROUTINE xios_is_defined_domain_attr_hdl 1119 1112 1120 1113 SUBROUTINE xios_get_field_attr & 1121 (field_id, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode, check_if_active &1122 , comment, compression_level, default_value, detect_missing_value, domain_ref, enabled, expr &1123 , field_ref, freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name &1124 , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq &1125 , unit, valid_max, valid_min)1126 1127 IMPLICIT NONE 1128 TYPE(xios_field):: field_hdl1129 CHARACTER(LEN=*), INTENT(IN) ::field_id1130 REAL (KIND=8), OPTIONAL, INTENT(OUT) :: add_offset1131 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: axis_ref1132 LOGICAL, OPTIONAL, INTENT(OUT) :: build_workflow_graph1133 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: cell_methods1134 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: cell_methods_mode1135 LOGICAL, OPTIONAL, INTENT(OUT) :: check_if_active1136 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: comment1137 INTEGER, OPTIONAL, INTENT(OUT) :: compression_level1138 REAL (KIND=8), OPTIONAL, INTENT(OUT) :: default_value1139 LOGICAL, OPTIONAL, INTENT(OUT) :: detect_missing_value1140 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: domain_ref1141 LOGICAL, OPTIONAL, INTENT(OUT) :: enabled1142 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: expr1143 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: field_ref1144 TYPE(xios_duration), OPTIONAL, INTENT(OUT) :: freq_offset1145 TYPE(xios_duration), OPTIONAL, INTENT(OUT) :: freq_op1146 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: grid_path1147 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: grid_ref1148 LOGICAL, OPTIONAL, INTENT(OUT) :: indexed_output1149 INTEGER, OPTIONAL, INTENT(OUT) :: level1150 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: long_name1151 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: name1152 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: operation1153 INTEGER, OPTIONAL, INTENT(OUT) :: prec1154 LOGICAL, OPTIONAL, INTENT(OUT) :: read_access1155 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: scalar_ref1156 REAL (KIND=8), OPTIONAL, INTENT(OUT) :: scale_factor1157 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: standard_name1158 LOGICAL, OPTIONAL, INTENT(OUT) :: ts_enabled1159 TYPE(xios_duration), OPTIONAL, INTENT(OUT) :: ts_split_freq1160 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: unit1161 REAL (KIND=8), OPTIONAL, INTENT(OUT) :: valid_max1162 REAL (KIND=8), OPTIONAL, INTENT(OUT) :: valid_min1114 (field_id, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode, check_if_active & 1115 , comment, compression_level, default_value, detect_missing_value, domain_ref, enabled, expr & 1116 , field_ref, freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name & 1117 , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq & 1118 , unit, valid_max, valid_min) 1119 1120 IMPLICIT NONE 1121 TYPE(xios_field) :: field_hdl 1122 CHARACTER(LEN = *), INTENT(IN) :: field_id 1123 REAL (KIND = 8), OPTIONAL, INTENT(OUT) :: add_offset 1124 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: axis_ref 1125 LOGICAL, OPTIONAL, INTENT(OUT) :: build_workflow_graph 1126 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: cell_methods 1127 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: cell_methods_mode 1128 LOGICAL, OPTIONAL, INTENT(OUT) :: check_if_active 1129 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: comment 1130 INTEGER, OPTIONAL, INTENT(OUT) :: compression_level 1131 REAL (KIND = 8), OPTIONAL, INTENT(OUT) :: default_value 1132 LOGICAL, OPTIONAL, INTENT(OUT) :: detect_missing_value 1133 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: domain_ref 1134 LOGICAL, OPTIONAL, INTENT(OUT) :: enabled 1135 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: expr 1136 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: field_ref 1137 TYPE(xios_duration), OPTIONAL, INTENT(OUT) :: freq_offset 1138 TYPE(xios_duration), OPTIONAL, INTENT(OUT) :: freq_op 1139 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: grid_path 1140 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: grid_ref 1141 LOGICAL, OPTIONAL, INTENT(OUT) :: indexed_output 1142 INTEGER, OPTIONAL, INTENT(OUT) :: level 1143 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: long_name 1144 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: name 1145 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: operation 1146 INTEGER, OPTIONAL, INTENT(OUT) :: prec 1147 LOGICAL, OPTIONAL, INTENT(OUT) :: read_access 1148 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: scalar_ref 1149 REAL (KIND = 8), OPTIONAL, INTENT(OUT) :: scale_factor 1150 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: standard_name 1151 LOGICAL, OPTIONAL, INTENT(OUT) :: ts_enabled 1152 TYPE(xios_duration), OPTIONAL, INTENT(OUT) :: ts_split_freq 1153 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: unit 1154 REAL (KIND = 8), OPTIONAL, INTENT(OUT) :: valid_max 1155 REAL (KIND = 8), OPTIONAL, INTENT(OUT) :: valid_min 1163 1156 1164 1157 END SUBROUTINE xios_get_field_attr 1165 1158 1166 1159 SUBROUTINE xios_get_field_attr_hdl & 1167 (field_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode, check_if_active &1168 , comment, compression_level, default_value, detect_missing_value, domain_ref, enabled, expr &1169 , field_ref, freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name &1170 , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq &1171 , unit, valid_max, valid_min)1172 1173 IMPLICIT NONE 1174 TYPE(xios_field), INTENT(IN) :: field_hdl1175 REAL (KIND=8), OPTIONAL, INTENT(OUT) :: add_offset1176 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: axis_ref1177 LOGICAL, OPTIONAL, INTENT(OUT) :: build_workflow_graph1178 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: cell_methods1179 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: cell_methods_mode1180 LOGICAL, OPTIONAL, INTENT(OUT) :: check_if_active1181 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: comment1182 INTEGER, OPTIONAL, INTENT(OUT) :: compression_level1183 REAL (KIND=8), OPTIONAL, INTENT(OUT) :: default_value1184 LOGICAL, OPTIONAL, INTENT(OUT) :: detect_missing_value1185 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: domain_ref1186 LOGICAL, OPTIONAL, INTENT(OUT) :: enabled1187 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: expr1188 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: field_ref1189 TYPE(xios_duration), OPTIONAL, INTENT(OUT) :: freq_offset1190 TYPE(xios_duration), OPTIONAL, INTENT(OUT) :: freq_op1191 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: grid_path1192 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: grid_ref1193 LOGICAL, OPTIONAL, INTENT(OUT) :: indexed_output1194 INTEGER, OPTIONAL, INTENT(OUT) :: level1195 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: long_name1196 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: name1197 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: operation1198 INTEGER, OPTIONAL, INTENT(OUT) :: prec1199 LOGICAL, OPTIONAL, INTENT(OUT) :: read_access1200 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: scalar_ref1201 REAL (KIND=8), OPTIONAL, INTENT(OUT) :: scale_factor1202 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: standard_name1203 LOGICAL, OPTIONAL, INTENT(OUT) :: ts_enabled1204 TYPE(xios_duration), OPTIONAL, INTENT(OUT) :: ts_split_freq1205 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: unit1206 REAL (KIND=8), OPTIONAL, INTENT(OUT) :: valid_max1207 REAL (KIND=8), OPTIONAL, INTENT(OUT) :: valid_min1160 (field_hdl, add_offset, axis_ref, build_workflow_graph, cell_methods, cell_methods_mode, check_if_active & 1161 , comment, compression_level, default_value, detect_missing_value, domain_ref, enabled, expr & 1162 , field_ref, freq_offset, freq_op, grid_path, grid_ref, indexed_output, level, long_name, name & 1163 , operation, prec, read_access, scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq & 1164 , unit, valid_max, valid_min) 1165 1166 IMPLICIT NONE 1167 TYPE(xios_field), INTENT(IN) :: field_hdl 1168 REAL (KIND = 8), OPTIONAL, INTENT(OUT) :: add_offset 1169 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: axis_ref 1170 LOGICAL, OPTIONAL, INTENT(OUT) :: build_workflow_graph 1171 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: cell_methods 1172 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: cell_methods_mode 1173 LOGICAL, OPTIONAL, INTENT(OUT) :: check_if_active 1174 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: comment 1175 INTEGER, OPTIONAL, INTENT(OUT) :: compression_level 1176 REAL (KIND = 8), OPTIONAL, INTENT(OUT) :: default_value 1177 LOGICAL, OPTIONAL, INTENT(OUT) :: detect_missing_value 1178 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: domain_ref 1179 LOGICAL, OPTIONAL, INTENT(OUT) :: enabled 1180 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: expr 1181 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: field_ref 1182 TYPE(xios_duration), OPTIONAL, INTENT(OUT) :: freq_offset 1183 TYPE(xios_duration), OPTIONAL, INTENT(OUT) :: freq_op 1184 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: grid_path 1185 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: grid_ref 1186 LOGICAL, OPTIONAL, INTENT(OUT) :: indexed_output 1187 INTEGER, OPTIONAL, INTENT(OUT) :: level 1188 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: long_name 1189 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: name 1190 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: operation 1191 INTEGER, OPTIONAL, INTENT(OUT) :: prec 1192 LOGICAL, OPTIONAL, INTENT(OUT) :: read_access 1193 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: scalar_ref 1194 REAL (KIND = 8), OPTIONAL, INTENT(OUT) :: scale_factor 1195 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: standard_name 1196 LOGICAL, OPTIONAL, INTENT(OUT) :: ts_enabled 1197 TYPE(xios_duration), OPTIONAL, INTENT(OUT) :: ts_split_freq 1198 CHARACTER(len = *), OPTIONAL, INTENT(OUT) :: unit 1199 REAL (KIND = 8), OPTIONAL, INTENT(OUT) :: valid_max 1200 REAL (KIND = 8), OPTIONAL, INTENT(OUT) :: valid_min 1208 1201 1209 1202 END SUBROUTINE xios_get_field_attr_hdl 1210 1203 1211 1204 END MODULE lmdz_xios 1212 1205
Note: See TracChangeset
for help on using the changeset viewer.