Changeset 1005
- Timestamp:
- 11/25/16 14:12:20 (7 years ago)
- Location:
- XIOS/trunk/src/interface
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/interface/c_attr/icfield_attr.cpp
r991 r1005 237 237 238 238 239 void cxios_set_field_expr(field_Ptr field_hdl, const char * expr, int expr_size) 240 { 241 std::string expr_str; 242 if (!cstr2string(expr, expr_size, expr_str)) return; 243 CTimer::get("XIOS").resume(); 244 field_hdl->expr.setValue(expr_str); 245 CTimer::get("XIOS").suspend(); 246 } 247 248 void cxios_get_field_expr(field_Ptr field_hdl, char * expr, int expr_size) 249 { 250 CTimer::get("XIOS").resume(); 251 if (!string_copy(field_hdl->expr.getInheritedValue(), expr, expr_size)) 252 ERROR("void cxios_get_field_expr(field_Ptr field_hdl, char * expr, int expr_size)", << "Input string is too short"); 253 CTimer::get("XIOS").suspend(); 254 } 255 256 bool cxios_is_defined_field_expr(field_Ptr field_hdl) 257 { 258 CTimer::get("XIOS").resume(); 259 bool isDefined = field_hdl->expr.hasInheritedValue(); 260 CTimer::get("XIOS").suspend(); 261 return isDefined; 262 } 263 264 239 265 void cxios_set_field_field_ref(field_Ptr field_hdl, const char * field_ref, int field_ref_size) 240 266 { -
XIOS/trunk/src/interface/c_attr/icfieldgroup_attr.cpp
r991 r1005 237 237 238 238 239 void cxios_set_fieldgroup_expr(fieldgroup_Ptr fieldgroup_hdl, const char * expr, int expr_size) 240 { 241 std::string expr_str; 242 if (!cstr2string(expr, expr_size, expr_str)) return; 243 CTimer::get("XIOS").resume(); 244 fieldgroup_hdl->expr.setValue(expr_str); 245 CTimer::get("XIOS").suspend(); 246 } 247 248 void cxios_get_fieldgroup_expr(fieldgroup_Ptr fieldgroup_hdl, char * expr, int expr_size) 249 { 250 CTimer::get("XIOS").resume(); 251 if (!string_copy(fieldgroup_hdl->expr.getInheritedValue(), expr, expr_size)) 252 ERROR("void cxios_get_fieldgroup_expr(fieldgroup_Ptr fieldgroup_hdl, char * expr, int expr_size)", << "Input string is too short"); 253 CTimer::get("XIOS").suspend(); 254 } 255 256 bool cxios_is_defined_fieldgroup_expr(fieldgroup_Ptr fieldgroup_hdl) 257 { 258 CTimer::get("XIOS").resume(); 259 bool isDefined = fieldgroup_hdl->expr.hasInheritedValue(); 260 CTimer::get("XIOS").suspend(); 261 return isDefined; 262 } 263 264 239 265 void cxios_set_fieldgroup_field_ref(fieldgroup_Ptr fieldgroup_hdl, const char * field_ref, int field_ref_size) 240 266 { -
XIOS/trunk/src/interface/c_attr/icinterpolate_domain_attr.cpp
r991 r1005 114 114 return isDefined; 115 115 } 116 117 118 void cxios_set_interpolate_domain_weight_filename(interpolate_domain_Ptr interpolate_domain_hdl, const char * weight_filename, int weight_filename_size) 119 { 120 std::string weight_filename_str; 121 if (!cstr2string(weight_filename, weight_filename_size, weight_filename_str)) return; 122 CTimer::get("XIOS").resume(); 123 interpolate_domain_hdl->weight_filename.setValue(weight_filename_str); 124 CTimer::get("XIOS").suspend(); 125 } 126 127 void cxios_get_interpolate_domain_weight_filename(interpolate_domain_Ptr interpolate_domain_hdl, char * weight_filename, int weight_filename_size) 128 { 129 CTimer::get("XIOS").resume(); 130 if (!string_copy(interpolate_domain_hdl->weight_filename.getInheritedValue(), weight_filename, weight_filename_size)) 131 ERROR("void cxios_get_interpolate_domain_weight_filename(interpolate_domain_Ptr interpolate_domain_hdl, char * weight_filename, int weight_filename_size)", << "Input string is too short"); 132 CTimer::get("XIOS").suspend(); 133 } 134 135 bool cxios_is_defined_interpolate_domain_weight_filename(interpolate_domain_Ptr interpolate_domain_hdl) 136 { 137 CTimer::get("XIOS").resume(); 138 bool isDefined = interpolate_domain_hdl->weight_filename.hasInheritedValue(); 139 CTimer::get("XIOS").suspend(); 140 return isDefined; 141 } 142 143 144 void cxios_set_interpolate_domain_write_weight(interpolate_domain_Ptr interpolate_domain_hdl, bool write_weight) 145 { 146 CTimer::get("XIOS").resume(); 147 interpolate_domain_hdl->write_weight.setValue(write_weight); 148 CTimer::get("XIOS").suspend(); 149 } 150 151 void cxios_get_interpolate_domain_write_weight(interpolate_domain_Ptr interpolate_domain_hdl, bool* write_weight) 152 { 153 CTimer::get("XIOS").resume(); 154 *write_weight = interpolate_domain_hdl->write_weight.getInheritedValue(); 155 CTimer::get("XIOS").suspend(); 156 } 157 158 bool cxios_is_defined_interpolate_domain_write_weight(interpolate_domain_Ptr interpolate_domain_hdl) 159 { 160 CTimer::get("XIOS").resume(); 161 bool isDefined = interpolate_domain_hdl->write_weight.hasInheritedValue(); 162 CTimer::get("XIOS").suspend(); 163 return isDefined; 164 } 116 165 } -
XIOS/trunk/src/interface/fortran_attr/field_interface_attr.F90
r991 r1005 189 189 190 190 191 SUBROUTINE cxios_set_field_expr(field_hdl, expr, expr_size) BIND(C) 192 USE ISO_C_BINDING 193 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 194 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: expr 195 INTEGER (kind = C_INT) , VALUE :: expr_size 196 END SUBROUTINE cxios_set_field_expr 197 198 SUBROUTINE cxios_get_field_expr(field_hdl, expr, expr_size) BIND(C) 199 USE ISO_C_BINDING 200 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 201 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: expr 202 INTEGER (kind = C_INT) , VALUE :: expr_size 203 END SUBROUTINE cxios_get_field_expr 204 205 FUNCTION cxios_is_defined_field_expr(field_hdl) BIND(C) 206 USE ISO_C_BINDING 207 LOGICAL(kind=C_BOOL) :: cxios_is_defined_field_expr 208 INTEGER (kind = C_INTPTR_T), VALUE :: field_hdl 209 END FUNCTION cxios_is_defined_field_expr 210 211 191 212 SUBROUTINE cxios_set_field_field_ref(field_hdl, field_ref, field_ref_size) BIND(C) 192 213 USE ISO_C_BINDING -
XIOS/trunk/src/interface/fortran_attr/fieldgroup_interface_attr.F90
r991 r1005 189 189 190 190 191 SUBROUTINE cxios_set_fieldgroup_expr(fieldgroup_hdl, expr, expr_size) BIND(C) 192 USE ISO_C_BINDING 193 INTEGER (kind = C_INTPTR_T), VALUE :: fieldgroup_hdl 194 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: expr 195 INTEGER (kind = C_INT) , VALUE :: expr_size 196 END SUBROUTINE cxios_set_fieldgroup_expr 197 198 SUBROUTINE cxios_get_fieldgroup_expr(fieldgroup_hdl, expr, expr_size) BIND(C) 199 USE ISO_C_BINDING 200 INTEGER (kind = C_INTPTR_T), VALUE :: fieldgroup_hdl 201 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: expr 202 INTEGER (kind = C_INT) , VALUE :: expr_size 203 END SUBROUTINE cxios_get_fieldgroup_expr 204 205 FUNCTION cxios_is_defined_fieldgroup_expr(fieldgroup_hdl) BIND(C) 206 USE ISO_C_BINDING 207 LOGICAL(kind=C_BOOL) :: cxios_is_defined_fieldgroup_expr 208 INTEGER (kind = C_INTPTR_T), VALUE :: fieldgroup_hdl 209 END FUNCTION cxios_is_defined_fieldgroup_expr 210 211 191 212 SUBROUTINE cxios_set_fieldgroup_field_ref(fieldgroup_hdl, field_ref, field_ref_size) BIND(C) 192 213 USE ISO_C_BINDING -
XIOS/trunk/src/interface/fortran_attr/ifield_attr.F90
r991 r1005 13 13 SUBROUTINE xios(set_field_attr) & 14 14 ( field_id, add_offset, axis_ref, cell_methods, cell_methods_mode, compression_level, default_value & 15 , detect_missing_value, domain_ref, enabled, field_ref, freq_offset, freq_op, grid_path, grid_ref&16 , indexed_output, level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor&17 , s tandard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min )15 , detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op, grid_path & 16 , grid_ref, indexed_output, level, long_name, name, operation, prec, read_access, scalar_ref & 17 , scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 18 18 19 19 IMPLICIT NONE … … 31 31 LOGICAL , OPTIONAL, INTENT(IN) :: enabled 32 32 LOGICAL (KIND=C_BOOL) :: enabled_tmp 33 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: expr 33 34 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: field_ref 34 35 TYPE(txios(duration)) , OPTIONAL, INTENT(IN) :: freq_offset … … 59 60 CALL xios(set_field_attr_hdl_) & 60 61 ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, compression_level, default_value & 61 , detect_missing_value, domain_ref, enabled, field_ref, freq_offset, freq_op, grid_path, grid_ref&62 , indexed_output, level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor&63 , s tandard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min )62 , detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op, grid_path & 63 , grid_ref, indexed_output, level, long_name, name, operation, prec, read_access, scalar_ref & 64 , scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 64 65 65 66 END SUBROUTINE xios(set_field_attr) … … 67 68 SUBROUTINE xios(set_field_attr_hdl) & 68 69 ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, compression_level, default_value & 69 , detect_missing_value, domain_ref, enabled, field_ref, freq_offset, freq_op, grid_path, grid_ref&70 , indexed_output, level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor&71 , s tandard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min )70 , detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op, grid_path & 71 , grid_ref, indexed_output, level, long_name, name, operation, prec, read_access, scalar_ref & 72 , scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 72 73 73 74 IMPLICIT NONE … … 84 85 LOGICAL , OPTIONAL, INTENT(IN) :: enabled 85 86 LOGICAL (KIND=C_BOOL) :: enabled_tmp 87 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: expr 86 88 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: field_ref 87 89 TYPE(txios(duration)) , OPTIONAL, INTENT(IN) :: freq_offset … … 110 112 CALL xios(set_field_attr_hdl_) & 111 113 ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, compression_level, default_value & 112 , detect_missing_value, domain_ref, enabled, field_ref, freq_offset, freq_op, grid_path, grid_ref&113 , indexed_output, level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor&114 , s tandard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min )114 , detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op, grid_path & 115 , grid_ref, indexed_output, level, long_name, name, operation, prec, read_access, scalar_ref & 116 , scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 115 117 116 118 END SUBROUTINE xios(set_field_attr_hdl) … … 118 120 SUBROUTINE xios(set_field_attr_hdl_) & 119 121 ( field_hdl, add_offset_, axis_ref_, cell_methods_, cell_methods_mode_, compression_level_, default_value_ & 120 , detect_missing_value_, domain_ref_, enabled_, field_ref_, freq_offset_, freq_op_, grid_path_ &122 , detect_missing_value_, domain_ref_, enabled_, expr_, field_ref_, freq_offset_, freq_op_, grid_path_ & 121 123 , grid_ref_, indexed_output_, level_, long_name_, name_, operation_, prec_, read_access_, scalar_ref_ & 122 124 , scale_factor_, standard_name_, ts_enabled_, ts_split_freq_, unit_, valid_max_, valid_min_ & … … 136 138 LOGICAL , OPTIONAL, INTENT(IN) :: enabled_ 137 139 LOGICAL (KIND=C_BOOL) :: enabled__tmp 140 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: expr_ 138 141 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: field_ref_ 139 142 TYPE(txios(duration)) , OPTIONAL, INTENT(IN) :: freq_offset_ … … 207 210 ENDIF 208 211 212 IF (PRESENT(expr_)) THEN 213 CALL cxios_set_field_expr & 214 (field_hdl%daddr, expr_, len(expr_)) 215 ENDIF 216 209 217 IF (PRESENT(field_ref_)) THEN 210 218 CALL cxios_set_field_field_ref & … … 314 322 SUBROUTINE xios(get_field_attr) & 315 323 ( field_id, add_offset, axis_ref, cell_methods, cell_methods_mode, compression_level, default_value & 316 , detect_missing_value, domain_ref, enabled, field_ref, freq_offset, freq_op, grid_path, grid_ref&317 , indexed_output, level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor&318 , s tandard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min )324 , detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op, grid_path & 325 , grid_ref, indexed_output, level, long_name, name, operation, prec, read_access, scalar_ref & 326 , scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 319 327 320 328 IMPLICIT NONE … … 332 340 LOGICAL , OPTIONAL, INTENT(OUT) :: enabled 333 341 LOGICAL (KIND=C_BOOL) :: enabled_tmp 342 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: expr 334 343 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: field_ref 335 344 TYPE(txios(duration)) , OPTIONAL, INTENT(OUT) :: freq_offset … … 360 369 CALL xios(get_field_attr_hdl_) & 361 370 ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, compression_level, default_value & 362 , detect_missing_value, domain_ref, enabled, field_ref, freq_offset, freq_op, grid_path, grid_ref&363 , indexed_output, level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor&364 , s tandard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min )371 , detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op, grid_path & 372 , grid_ref, indexed_output, level, long_name, name, operation, prec, read_access, scalar_ref & 373 , scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 365 374 366 375 END SUBROUTINE xios(get_field_attr) … … 368 377 SUBROUTINE xios(get_field_attr_hdl) & 369 378 ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, compression_level, default_value & 370 , detect_missing_value, domain_ref, enabled, field_ref, freq_offset, freq_op, grid_path, grid_ref&371 , indexed_output, level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor&372 , s tandard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min )379 , detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op, grid_path & 380 , grid_ref, indexed_output, level, long_name, name, operation, prec, read_access, scalar_ref & 381 , scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 373 382 374 383 IMPLICIT NONE … … 385 394 LOGICAL , OPTIONAL, INTENT(OUT) :: enabled 386 395 LOGICAL (KIND=C_BOOL) :: enabled_tmp 396 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: expr 387 397 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: field_ref 388 398 TYPE(txios(duration)) , OPTIONAL, INTENT(OUT) :: freq_offset … … 411 421 CALL xios(get_field_attr_hdl_) & 412 422 ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, compression_level, default_value & 413 , detect_missing_value, domain_ref, enabled, field_ref, freq_offset, freq_op, grid_path, grid_ref&414 , indexed_output, level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor&415 , s tandard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min )423 , detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op, grid_path & 424 , grid_ref, indexed_output, level, long_name, name, operation, prec, read_access, scalar_ref & 425 , scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 416 426 417 427 END SUBROUTINE xios(get_field_attr_hdl) … … 419 429 SUBROUTINE xios(get_field_attr_hdl_) & 420 430 ( field_hdl, add_offset_, axis_ref_, cell_methods_, cell_methods_mode_, compression_level_, default_value_ & 421 , detect_missing_value_, domain_ref_, enabled_, field_ref_, freq_offset_, freq_op_, grid_path_ &431 , detect_missing_value_, domain_ref_, enabled_, expr_, field_ref_, freq_offset_, freq_op_, grid_path_ & 422 432 , grid_ref_, indexed_output_, level_, long_name_, name_, operation_, prec_, read_access_, scalar_ref_ & 423 433 , scale_factor_, standard_name_, ts_enabled_, ts_split_freq_, unit_, valid_max_, valid_min_ & … … 437 447 LOGICAL , OPTIONAL, INTENT(OUT) :: enabled_ 438 448 LOGICAL (KIND=C_BOOL) :: enabled__tmp 449 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: expr_ 439 450 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: field_ref_ 440 451 TYPE(txios(duration)) , OPTIONAL, INTENT(OUT) :: freq_offset_ … … 508 519 ENDIF 509 520 521 IF (PRESENT(expr_)) THEN 522 CALL cxios_get_field_expr & 523 (field_hdl%daddr, expr_, len(expr_)) 524 ENDIF 525 510 526 IF (PRESENT(field_ref_)) THEN 511 527 CALL cxios_get_field_field_ref & … … 615 631 SUBROUTINE xios(is_defined_field_attr) & 616 632 ( field_id, add_offset, axis_ref, cell_methods, cell_methods_mode, compression_level, default_value & 617 , detect_missing_value, domain_ref, enabled, field_ref, freq_offset, freq_op, grid_path, grid_ref&618 , indexed_output, level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor&619 , s tandard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min )633 , detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op, grid_path & 634 , grid_ref, indexed_output, level, long_name, name, operation, prec, read_access, scalar_ref & 635 , scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 620 636 621 637 IMPLICIT NONE … … 640 656 LOGICAL, OPTIONAL, INTENT(OUT) :: enabled 641 657 LOGICAL(KIND=C_BOOL) :: enabled_tmp 658 LOGICAL, OPTIONAL, INTENT(OUT) :: expr 659 LOGICAL(KIND=C_BOOL) :: expr_tmp 642 660 LOGICAL, OPTIONAL, INTENT(OUT) :: field_ref 643 661 LOGICAL(KIND=C_BOOL) :: field_ref_tmp … … 685 703 CALL xios(is_defined_field_attr_hdl_) & 686 704 ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, compression_level, default_value & 687 , detect_missing_value, domain_ref, enabled, field_ref, freq_offset, freq_op, grid_path, grid_ref&688 , indexed_output, level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor&689 , s tandard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min )705 , detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op, grid_path & 706 , grid_ref, indexed_output, level, long_name, name, operation, prec, read_access, scalar_ref & 707 , scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 690 708 691 709 END SUBROUTINE xios(is_defined_field_attr) … … 693 711 SUBROUTINE xios(is_defined_field_attr_hdl) & 694 712 ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, compression_level, default_value & 695 , detect_missing_value, domain_ref, enabled, field_ref, freq_offset, freq_op, grid_path, grid_ref&696 , indexed_output, level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor&697 , s tandard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min )713 , detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op, grid_path & 714 , grid_ref, indexed_output, level, long_name, name, operation, prec, read_access, scalar_ref & 715 , scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 698 716 699 717 IMPLICIT NONE … … 717 735 LOGICAL, OPTIONAL, INTENT(OUT) :: enabled 718 736 LOGICAL(KIND=C_BOOL) :: enabled_tmp 737 LOGICAL, OPTIONAL, INTENT(OUT) :: expr 738 LOGICAL(KIND=C_BOOL) :: expr_tmp 719 739 LOGICAL, OPTIONAL, INTENT(OUT) :: field_ref 720 740 LOGICAL(KIND=C_BOOL) :: field_ref_tmp … … 760 780 CALL xios(is_defined_field_attr_hdl_) & 761 781 ( field_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, compression_level, default_value & 762 , detect_missing_value, domain_ref, enabled, field_ref, freq_offset, freq_op, grid_path, grid_ref&763 , indexed_output, level, long_name, name, operation, prec, read_access, scalar_ref, scale_factor&764 , s tandard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min )782 , detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op, grid_path & 783 , grid_ref, indexed_output, level, long_name, name, operation, prec, read_access, scalar_ref & 784 , scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 765 785 766 786 END SUBROUTINE xios(is_defined_field_attr_hdl) … … 768 788 SUBROUTINE xios(is_defined_field_attr_hdl_) & 769 789 ( field_hdl, add_offset_, axis_ref_, cell_methods_, cell_methods_mode_, compression_level_, default_value_ & 770 , detect_missing_value_, domain_ref_, enabled_, field_ref_, freq_offset_, freq_op_, grid_path_ &790 , detect_missing_value_, domain_ref_, enabled_, expr_, field_ref_, freq_offset_, freq_op_, grid_path_ & 771 791 , grid_ref_, indexed_output_, level_, long_name_, name_, operation_, prec_, read_access_, scalar_ref_ & 772 792 , scale_factor_, standard_name_, ts_enabled_, ts_split_freq_, unit_, valid_max_, valid_min_ & … … 793 813 LOGICAL, OPTIONAL, INTENT(OUT) :: enabled_ 794 814 LOGICAL(KIND=C_BOOL) :: enabled__tmp 815 LOGICAL, OPTIONAL, INTENT(OUT) :: expr_ 816 LOGICAL(KIND=C_BOOL) :: expr__tmp 795 817 LOGICAL, OPTIONAL, INTENT(OUT) :: field_ref_ 796 818 LOGICAL(KIND=C_BOOL) :: field_ref__tmp … … 888 910 ENDIF 889 911 912 IF (PRESENT(expr_)) THEN 913 expr__tmp = cxios_is_defined_field_expr & 914 (field_hdl%daddr) 915 expr_ = expr__tmp 916 ENDIF 917 890 918 IF (PRESENT(field_ref_)) THEN 891 919 field_ref__tmp = cxios_is_defined_field_field_ref & -
XIOS/trunk/src/interface/fortran_attr/ifieldgroup_attr.F90
r991 r1005 13 13 SUBROUTINE xios(set_fieldgroup_attr) & 14 14 ( fieldgroup_id, add_offset, axis_ref, cell_methods, cell_methods_mode, compression_level, default_value & 15 , detect_missing_value, domain_ref, enabled, field_ref, freq_offset, freq_op, grid_path, grid_ref & 16 , group_ref, indexed_output, level, long_name, name, operation, prec, read_access, scalar_ref & 17 , scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 15 , detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op, grid_path & 16 , grid_ref, group_ref, indexed_output, level, long_name, name, operation, prec, read_access & 17 , scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min & 18 ) 18 19 19 20 IMPLICIT NONE … … 31 32 LOGICAL , OPTIONAL, INTENT(IN) :: enabled 32 33 LOGICAL (KIND=C_BOOL) :: enabled_tmp 34 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: expr 33 35 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: field_ref 34 36 TYPE(txios(duration)) , OPTIONAL, INTENT(IN) :: freq_offset … … 60 62 CALL xios(set_fieldgroup_attr_hdl_) & 61 63 ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, compression_level, default_value & 62 , detect_missing_value, domain_ref, enabled, field_ref, freq_offset, freq_op, grid_path, grid_ref & 63 , group_ref, indexed_output, level, long_name, name, operation, prec, read_access, scalar_ref & 64 , scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 64 , detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op, grid_path & 65 , grid_ref, group_ref, indexed_output, level, long_name, name, operation, prec, read_access & 66 , scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min & 67 ) 65 68 66 69 END SUBROUTINE xios(set_fieldgroup_attr) … … 68 71 SUBROUTINE xios(set_fieldgroup_attr_hdl) & 69 72 ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, compression_level, default_value & 70 , detect_missing_value, domain_ref, enabled, field_ref, freq_offset, freq_op, grid_path, grid_ref & 71 , group_ref, indexed_output, level, long_name, name, operation, prec, read_access, scalar_ref & 72 , scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 73 , detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op, grid_path & 74 , grid_ref, group_ref, indexed_output, level, long_name, name, operation, prec, read_access & 75 , scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min & 76 ) 73 77 74 78 IMPLICIT NONE … … 85 89 LOGICAL , OPTIONAL, INTENT(IN) :: enabled 86 90 LOGICAL (KIND=C_BOOL) :: enabled_tmp 91 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: expr 87 92 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: field_ref 88 93 TYPE(txios(duration)) , OPTIONAL, INTENT(IN) :: freq_offset … … 112 117 CALL xios(set_fieldgroup_attr_hdl_) & 113 118 ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, compression_level, default_value & 114 , detect_missing_value, domain_ref, enabled, field_ref, freq_offset, freq_op, grid_path, grid_ref & 115 , group_ref, indexed_output, level, long_name, name, operation, prec, read_access, scalar_ref & 116 , scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 119 , detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op, grid_path & 120 , grid_ref, group_ref, indexed_output, level, long_name, name, operation, prec, read_access & 121 , scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min & 122 ) 117 123 118 124 END SUBROUTINE xios(set_fieldgroup_attr_hdl) … … 120 126 SUBROUTINE xios(set_fieldgroup_attr_hdl_) & 121 127 ( fieldgroup_hdl, add_offset_, axis_ref_, cell_methods_, cell_methods_mode_, compression_level_ & 122 , default_value_, detect_missing_value_, domain_ref_, enabled_, field_ref_, freq_offset_, freq_op_ &123 , grid_path_, grid_ref_, group_ref_, indexed_output_, level_, long_name_, name_, operation_ &128 , default_value_, detect_missing_value_, domain_ref_, enabled_, expr_, field_ref_, freq_offset_ & 129 , freq_op_, grid_path_, grid_ref_, group_ref_, indexed_output_, level_, long_name_, name_, operation_ & 124 130 , prec_, read_access_, scalar_ref_, scale_factor_, standard_name_, ts_enabled_, ts_split_freq_ & 125 131 , unit_, valid_max_, valid_min_ ) … … 138 144 LOGICAL , OPTIONAL, INTENT(IN) :: enabled_ 139 145 LOGICAL (KIND=C_BOOL) :: enabled__tmp 146 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: expr_ 140 147 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: field_ref_ 141 148 TYPE(txios(duration)) , OPTIONAL, INTENT(IN) :: freq_offset_ … … 210 217 ENDIF 211 218 219 IF (PRESENT(expr_)) THEN 220 CALL cxios_set_fieldgroup_expr & 221 (fieldgroup_hdl%daddr, expr_, len(expr_)) 222 ENDIF 223 212 224 IF (PRESENT(field_ref_)) THEN 213 225 CALL cxios_set_fieldgroup_field_ref & … … 322 334 SUBROUTINE xios(get_fieldgroup_attr) & 323 335 ( fieldgroup_id, add_offset, axis_ref, cell_methods, cell_methods_mode, compression_level, default_value & 324 , detect_missing_value, domain_ref, enabled, field_ref, freq_offset, freq_op, grid_path, grid_ref & 325 , group_ref, indexed_output, level, long_name, name, operation, prec, read_access, scalar_ref & 326 , scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 336 , detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op, grid_path & 337 , grid_ref, group_ref, indexed_output, level, long_name, name, operation, prec, read_access & 338 , scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min & 339 ) 327 340 328 341 IMPLICIT NONE … … 340 353 LOGICAL , OPTIONAL, INTENT(OUT) :: enabled 341 354 LOGICAL (KIND=C_BOOL) :: enabled_tmp 355 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: expr 342 356 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: field_ref 343 357 TYPE(txios(duration)) , OPTIONAL, INTENT(OUT) :: freq_offset … … 369 383 CALL xios(get_fieldgroup_attr_hdl_) & 370 384 ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, compression_level, default_value & 371 , detect_missing_value, domain_ref, enabled, field_ref, freq_offset, freq_op, grid_path, grid_ref & 372 , group_ref, indexed_output, level, long_name, name, operation, prec, read_access, scalar_ref & 373 , scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 385 , detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op, grid_path & 386 , grid_ref, group_ref, indexed_output, level, long_name, name, operation, prec, read_access & 387 , scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min & 388 ) 374 389 375 390 END SUBROUTINE xios(get_fieldgroup_attr) … … 377 392 SUBROUTINE xios(get_fieldgroup_attr_hdl) & 378 393 ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, compression_level, default_value & 379 , detect_missing_value, domain_ref, enabled, field_ref, freq_offset, freq_op, grid_path, grid_ref & 380 , group_ref, indexed_output, level, long_name, name, operation, prec, read_access, scalar_ref & 381 , scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 394 , detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op, grid_path & 395 , grid_ref, group_ref, indexed_output, level, long_name, name, operation, prec, read_access & 396 , scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min & 397 ) 382 398 383 399 IMPLICIT NONE … … 394 410 LOGICAL , OPTIONAL, INTENT(OUT) :: enabled 395 411 LOGICAL (KIND=C_BOOL) :: enabled_tmp 412 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: expr 396 413 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: field_ref 397 414 TYPE(txios(duration)) , OPTIONAL, INTENT(OUT) :: freq_offset … … 421 438 CALL xios(get_fieldgroup_attr_hdl_) & 422 439 ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, compression_level, default_value & 423 , detect_missing_value, domain_ref, enabled, field_ref, freq_offset, freq_op, grid_path, grid_ref & 424 , group_ref, indexed_output, level, long_name, name, operation, prec, read_access, scalar_ref & 425 , scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 440 , detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op, grid_path & 441 , grid_ref, group_ref, indexed_output, level, long_name, name, operation, prec, read_access & 442 , scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min & 443 ) 426 444 427 445 END SUBROUTINE xios(get_fieldgroup_attr_hdl) … … 429 447 SUBROUTINE xios(get_fieldgroup_attr_hdl_) & 430 448 ( fieldgroup_hdl, add_offset_, axis_ref_, cell_methods_, cell_methods_mode_, compression_level_ & 431 , default_value_, detect_missing_value_, domain_ref_, enabled_, field_ref_, freq_offset_, freq_op_ &432 , grid_path_, grid_ref_, group_ref_, indexed_output_, level_, long_name_, name_, operation_ &449 , default_value_, detect_missing_value_, domain_ref_, enabled_, expr_, field_ref_, freq_offset_ & 450 , freq_op_, grid_path_, grid_ref_, group_ref_, indexed_output_, level_, long_name_, name_, operation_ & 433 451 , prec_, read_access_, scalar_ref_, scale_factor_, standard_name_, ts_enabled_, ts_split_freq_ & 434 452 , unit_, valid_max_, valid_min_ ) … … 447 465 LOGICAL , OPTIONAL, INTENT(OUT) :: enabled_ 448 466 LOGICAL (KIND=C_BOOL) :: enabled__tmp 467 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: expr_ 449 468 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: field_ref_ 450 469 TYPE(txios(duration)) , OPTIONAL, INTENT(OUT) :: freq_offset_ … … 519 538 ENDIF 520 539 540 IF (PRESENT(expr_)) THEN 541 CALL cxios_get_fieldgroup_expr & 542 (fieldgroup_hdl%daddr, expr_, len(expr_)) 543 ENDIF 544 521 545 IF (PRESENT(field_ref_)) THEN 522 546 CALL cxios_get_fieldgroup_field_ref & … … 631 655 SUBROUTINE xios(is_defined_fieldgroup_attr) & 632 656 ( fieldgroup_id, add_offset, axis_ref, cell_methods, cell_methods_mode, compression_level, default_value & 633 , detect_missing_value, domain_ref, enabled, field_ref, freq_offset, freq_op, grid_path, grid_ref & 634 , group_ref, indexed_output, level, long_name, name, operation, prec, read_access, scalar_ref & 635 , scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 657 , detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op, grid_path & 658 , grid_ref, group_ref, indexed_output, level, long_name, name, operation, prec, read_access & 659 , scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min & 660 ) 636 661 637 662 IMPLICIT NONE … … 656 681 LOGICAL, OPTIONAL, INTENT(OUT) :: enabled 657 682 LOGICAL(KIND=C_BOOL) :: enabled_tmp 683 LOGICAL, OPTIONAL, INTENT(OUT) :: expr 684 LOGICAL(KIND=C_BOOL) :: expr_tmp 658 685 LOGICAL, OPTIONAL, INTENT(OUT) :: field_ref 659 686 LOGICAL(KIND=C_BOOL) :: field_ref_tmp … … 703 730 CALL xios(is_defined_fieldgroup_attr_hdl_) & 704 731 ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, compression_level, default_value & 705 , detect_missing_value, domain_ref, enabled, field_ref, freq_offset, freq_op, grid_path, grid_ref & 706 , group_ref, indexed_output, level, long_name, name, operation, prec, read_access, scalar_ref & 707 , scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 732 , detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op, grid_path & 733 , grid_ref, group_ref, indexed_output, level, long_name, name, operation, prec, read_access & 734 , scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min & 735 ) 708 736 709 737 END SUBROUTINE xios(is_defined_fieldgroup_attr) … … 711 739 SUBROUTINE xios(is_defined_fieldgroup_attr_hdl) & 712 740 ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, compression_level, default_value & 713 , detect_missing_value, domain_ref, enabled, field_ref, freq_offset, freq_op, grid_path, grid_ref & 714 , group_ref, indexed_output, level, long_name, name, operation, prec, read_access, scalar_ref & 715 , scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 741 , detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op, grid_path & 742 , grid_ref, group_ref, indexed_output, level, long_name, name, operation, prec, read_access & 743 , scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min & 744 ) 716 745 717 746 IMPLICIT NONE … … 735 764 LOGICAL, OPTIONAL, INTENT(OUT) :: enabled 736 765 LOGICAL(KIND=C_BOOL) :: enabled_tmp 766 LOGICAL, OPTIONAL, INTENT(OUT) :: expr 767 LOGICAL(KIND=C_BOOL) :: expr_tmp 737 768 LOGICAL, OPTIONAL, INTENT(OUT) :: field_ref 738 769 LOGICAL(KIND=C_BOOL) :: field_ref_tmp … … 780 811 CALL xios(is_defined_fieldgroup_attr_hdl_) & 781 812 ( fieldgroup_hdl, add_offset, axis_ref, cell_methods, cell_methods_mode, compression_level, default_value & 782 , detect_missing_value, domain_ref, enabled, field_ref, freq_offset, freq_op, grid_path, grid_ref & 783 , group_ref, indexed_output, level, long_name, name, operation, prec, read_access, scalar_ref & 784 , scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min ) 813 , detect_missing_value, domain_ref, enabled, expr, field_ref, freq_offset, freq_op, grid_path & 814 , grid_ref, group_ref, indexed_output, level, long_name, name, operation, prec, read_access & 815 , scalar_ref, scale_factor, standard_name, ts_enabled, ts_split_freq, unit, valid_max, valid_min & 816 ) 785 817 786 818 END SUBROUTINE xios(is_defined_fieldgroup_attr_hdl) … … 788 820 SUBROUTINE xios(is_defined_fieldgroup_attr_hdl_) & 789 821 ( fieldgroup_hdl, add_offset_, axis_ref_, cell_methods_, cell_methods_mode_, compression_level_ & 790 , default_value_, detect_missing_value_, domain_ref_, enabled_, field_ref_, freq_offset_, freq_op_ &791 , grid_path_, grid_ref_, group_ref_, indexed_output_, level_, long_name_, name_, operation_ &822 , default_value_, detect_missing_value_, domain_ref_, enabled_, expr_, field_ref_, freq_offset_ & 823 , freq_op_, grid_path_, grid_ref_, group_ref_, indexed_output_, level_, long_name_, name_, operation_ & 792 824 , prec_, read_access_, scalar_ref_, scale_factor_, standard_name_, ts_enabled_, ts_split_freq_ & 793 825 , unit_, valid_max_, valid_min_ ) … … 813 845 LOGICAL, OPTIONAL, INTENT(OUT) :: enabled_ 814 846 LOGICAL(KIND=C_BOOL) :: enabled__tmp 847 LOGICAL, OPTIONAL, INTENT(OUT) :: expr_ 848 LOGICAL(KIND=C_BOOL) :: expr__tmp 815 849 LOGICAL, OPTIONAL, INTENT(OUT) :: field_ref_ 816 850 LOGICAL(KIND=C_BOOL) :: field_ref__tmp … … 910 944 ENDIF 911 945 946 IF (PRESENT(expr_)) THEN 947 expr__tmp = cxios_is_defined_fieldgroup_expr & 948 (fieldgroup_hdl%daddr) 949 expr_ = expr__tmp 950 ENDIF 951 912 952 IF (PRESENT(field_ref_)) THEN 913 953 field_ref__tmp = cxios_is_defined_fieldgroup_field_ref & -
XIOS/trunk/src/interface/fortran_attr/iinterpolate_domain_attr.F90
r991 r1005 12 12 13 13 SUBROUTINE xios(set_interpolate_domain_attr) & 14 ( interpolate_domain_id, file, mode, order, renormalize )14 ( interpolate_domain_id, file, mode, order, renormalize, weight_filename, write_weight ) 15 15 16 16 IMPLICIT NONE … … 22 22 LOGICAL , OPTIONAL, INTENT(IN) :: renormalize 23 23 LOGICAL (KIND=C_BOOL) :: renormalize_tmp 24 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: weight_filename 25 LOGICAL , OPTIONAL, INTENT(IN) :: write_weight 26 LOGICAL (KIND=C_BOOL) :: write_weight_tmp 24 27 25 28 CALL xios(get_interpolate_domain_handle) & 26 29 (interpolate_domain_id,interpolate_domain_hdl) 27 30 CALL xios(set_interpolate_domain_attr_hdl_) & 28 ( interpolate_domain_hdl, file, mode, order, renormalize )31 ( interpolate_domain_hdl, file, mode, order, renormalize, weight_filename, write_weight ) 29 32 30 33 END SUBROUTINE xios(set_interpolate_domain_attr) 31 34 32 35 SUBROUTINE xios(set_interpolate_domain_attr_hdl) & 33 ( interpolate_domain_hdl, file, mode, order, renormalize )36 ( interpolate_domain_hdl, file, mode, order, renormalize, weight_filename, write_weight ) 34 37 35 38 IMPLICIT NONE … … 40 43 LOGICAL , OPTIONAL, INTENT(IN) :: renormalize 41 44 LOGICAL (KIND=C_BOOL) :: renormalize_tmp 45 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: weight_filename 46 LOGICAL , OPTIONAL, INTENT(IN) :: write_weight 47 LOGICAL (KIND=C_BOOL) :: write_weight_tmp 42 48 43 49 CALL xios(set_interpolate_domain_attr_hdl_) & 44 ( interpolate_domain_hdl, file, mode, order, renormalize )50 ( interpolate_domain_hdl, file, mode, order, renormalize, weight_filename, write_weight ) 45 51 46 52 END SUBROUTINE xios(set_interpolate_domain_attr_hdl) 47 53 48 54 SUBROUTINE xios(set_interpolate_domain_attr_hdl_) & 49 ( interpolate_domain_hdl, file_, mode_, order_, renormalize_ ) 55 ( interpolate_domain_hdl, file_, mode_, order_, renormalize_, weight_filename_, write_weight_ & 56 ) 50 57 51 58 IMPLICIT NONE … … 56 63 LOGICAL , OPTIONAL, INTENT(IN) :: renormalize_ 57 64 LOGICAL (KIND=C_BOOL) :: renormalize__tmp 65 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: weight_filename_ 66 LOGICAL , OPTIONAL, INTENT(IN) :: write_weight_ 67 LOGICAL (KIND=C_BOOL) :: write_weight__tmp 58 68 59 69 IF (PRESENT(file_)) THEN … … 78 88 ENDIF 79 89 90 IF (PRESENT(weight_filename_)) THEN 91 CALL cxios_set_interpolate_domain_weight_filename & 92 (interpolate_domain_hdl%daddr, weight_filename_, len(weight_filename_)) 93 ENDIF 94 95 IF (PRESENT(write_weight_)) THEN 96 write_weight__tmp = write_weight_ 97 CALL cxios_set_interpolate_domain_write_weight & 98 (interpolate_domain_hdl%daddr, write_weight__tmp) 99 ENDIF 100 80 101 END SUBROUTINE xios(set_interpolate_domain_attr_hdl_) 81 102 82 103 SUBROUTINE xios(get_interpolate_domain_attr) & 83 ( interpolate_domain_id, file, mode, order, renormalize )104 ( interpolate_domain_id, file, mode, order, renormalize, weight_filename, write_weight ) 84 105 85 106 IMPLICIT NONE … … 91 112 LOGICAL , OPTIONAL, INTENT(OUT) :: renormalize 92 113 LOGICAL (KIND=C_BOOL) :: renormalize_tmp 114 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: weight_filename 115 LOGICAL , OPTIONAL, INTENT(OUT) :: write_weight 116 LOGICAL (KIND=C_BOOL) :: write_weight_tmp 93 117 94 118 CALL xios(get_interpolate_domain_handle) & 95 119 (interpolate_domain_id,interpolate_domain_hdl) 96 120 CALL xios(get_interpolate_domain_attr_hdl_) & 97 ( interpolate_domain_hdl, file, mode, order, renormalize )121 ( interpolate_domain_hdl, file, mode, order, renormalize, weight_filename, write_weight ) 98 122 99 123 END SUBROUTINE xios(get_interpolate_domain_attr) 100 124 101 125 SUBROUTINE xios(get_interpolate_domain_attr_hdl) & 102 ( interpolate_domain_hdl, file, mode, order, renormalize )126 ( interpolate_domain_hdl, file, mode, order, renormalize, weight_filename, write_weight ) 103 127 104 128 IMPLICIT NONE … … 109 133 LOGICAL , OPTIONAL, INTENT(OUT) :: renormalize 110 134 LOGICAL (KIND=C_BOOL) :: renormalize_tmp 135 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: weight_filename 136 LOGICAL , OPTIONAL, INTENT(OUT) :: write_weight 137 LOGICAL (KIND=C_BOOL) :: write_weight_tmp 111 138 112 139 CALL xios(get_interpolate_domain_attr_hdl_) & 113 ( interpolate_domain_hdl, file, mode, order, renormalize )140 ( interpolate_domain_hdl, file, mode, order, renormalize, weight_filename, write_weight ) 114 141 115 142 END SUBROUTINE xios(get_interpolate_domain_attr_hdl) 116 143 117 144 SUBROUTINE xios(get_interpolate_domain_attr_hdl_) & 118 ( interpolate_domain_hdl, file_, mode_, order_, renormalize_ ) 145 ( interpolate_domain_hdl, file_, mode_, order_, renormalize_, weight_filename_, write_weight_ & 146 ) 119 147 120 148 IMPLICIT NONE … … 125 153 LOGICAL , OPTIONAL, INTENT(OUT) :: renormalize_ 126 154 LOGICAL (KIND=C_BOOL) :: renormalize__tmp 155 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: weight_filename_ 156 LOGICAL , OPTIONAL, INTENT(OUT) :: write_weight_ 157 LOGICAL (KIND=C_BOOL) :: write_weight__tmp 127 158 128 159 IF (PRESENT(file_)) THEN … … 147 178 ENDIF 148 179 180 IF (PRESENT(weight_filename_)) THEN 181 CALL cxios_get_interpolate_domain_weight_filename & 182 (interpolate_domain_hdl%daddr, weight_filename_, len(weight_filename_)) 183 ENDIF 184 185 IF (PRESENT(write_weight_)) THEN 186 CALL cxios_get_interpolate_domain_write_weight & 187 (interpolate_domain_hdl%daddr, write_weight__tmp) 188 write_weight_ = write_weight__tmp 189 ENDIF 190 149 191 END SUBROUTINE xios(get_interpolate_domain_attr_hdl_) 150 192 151 193 SUBROUTINE xios(is_defined_interpolate_domain_attr) & 152 ( interpolate_domain_id, file, mode, order, renormalize )194 ( interpolate_domain_id, file, mode, order, renormalize, weight_filename, write_weight ) 153 195 154 196 IMPLICIT NONE … … 163 205 LOGICAL, OPTIONAL, INTENT(OUT) :: renormalize 164 206 LOGICAL(KIND=C_BOOL) :: renormalize_tmp 207 LOGICAL, OPTIONAL, INTENT(OUT) :: weight_filename 208 LOGICAL(KIND=C_BOOL) :: weight_filename_tmp 209 LOGICAL, OPTIONAL, INTENT(OUT) :: write_weight 210 LOGICAL(KIND=C_BOOL) :: write_weight_tmp 165 211 166 212 CALL xios(get_interpolate_domain_handle) & 167 213 (interpolate_domain_id,interpolate_domain_hdl) 168 214 CALL xios(is_defined_interpolate_domain_attr_hdl_) & 169 ( interpolate_domain_hdl, file, mode, order, renormalize )215 ( interpolate_domain_hdl, file, mode, order, renormalize, weight_filename, write_weight ) 170 216 171 217 END SUBROUTINE xios(is_defined_interpolate_domain_attr) 172 218 173 219 SUBROUTINE xios(is_defined_interpolate_domain_attr_hdl) & 174 ( interpolate_domain_hdl, file, mode, order, renormalize )220 ( interpolate_domain_hdl, file, mode, order, renormalize, weight_filename, write_weight ) 175 221 176 222 IMPLICIT NONE … … 184 230 LOGICAL, OPTIONAL, INTENT(OUT) :: renormalize 185 231 LOGICAL(KIND=C_BOOL) :: renormalize_tmp 232 LOGICAL, OPTIONAL, INTENT(OUT) :: weight_filename 233 LOGICAL(KIND=C_BOOL) :: weight_filename_tmp 234 LOGICAL, OPTIONAL, INTENT(OUT) :: write_weight 235 LOGICAL(KIND=C_BOOL) :: write_weight_tmp 186 236 187 237 CALL xios(is_defined_interpolate_domain_attr_hdl_) & 188 ( interpolate_domain_hdl, file, mode, order, renormalize )238 ( interpolate_domain_hdl, file, mode, order, renormalize, weight_filename, write_weight ) 189 239 190 240 END SUBROUTINE xios(is_defined_interpolate_domain_attr_hdl) 191 241 192 242 SUBROUTINE xios(is_defined_interpolate_domain_attr_hdl_) & 193 ( interpolate_domain_hdl, file_, mode_, order_, renormalize_ ) 243 ( interpolate_domain_hdl, file_, mode_, order_, renormalize_, weight_filename_, write_weight_ & 244 ) 194 245 195 246 IMPLICIT NONE … … 203 254 LOGICAL, OPTIONAL, INTENT(OUT) :: renormalize_ 204 255 LOGICAL(KIND=C_BOOL) :: renormalize__tmp 256 LOGICAL, OPTIONAL, INTENT(OUT) :: weight_filename_ 257 LOGICAL(KIND=C_BOOL) :: weight_filename__tmp 258 LOGICAL, OPTIONAL, INTENT(OUT) :: write_weight_ 259 LOGICAL(KIND=C_BOOL) :: write_weight__tmp 205 260 206 261 IF (PRESENT(file_)) THEN … … 228 283 ENDIF 229 284 285 IF (PRESENT(weight_filename_)) THEN 286 weight_filename__tmp = cxios_is_defined_interpolate_domain_weight_filename & 287 (interpolate_domain_hdl%daddr) 288 weight_filename_ = weight_filename__tmp 289 ENDIF 290 291 IF (PRESENT(write_weight_)) THEN 292 write_weight__tmp = cxios_is_defined_interpolate_domain_write_weight & 293 (interpolate_domain_hdl%daddr) 294 write_weight_ = write_weight__tmp 295 ENDIF 296 230 297 END SUBROUTINE xios(is_defined_interpolate_domain_attr_hdl_) 231 298 -
XIOS/trunk/src/interface/fortran_attr/interpolate_domain_interface_attr.F90
r991 r1005 89 89 END FUNCTION cxios_is_defined_interpolate_domain_renormalize 90 90 91 92 SUBROUTINE cxios_set_interpolate_domain_weight_filename(interpolate_domain_hdl, weight_filename, weight_filename_size) BIND(C) 93 USE ISO_C_BINDING 94 INTEGER (kind = C_INTPTR_T), VALUE :: interpolate_domain_hdl 95 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: weight_filename 96 INTEGER (kind = C_INT) , VALUE :: weight_filename_size 97 END SUBROUTINE cxios_set_interpolate_domain_weight_filename 98 99 SUBROUTINE cxios_get_interpolate_domain_weight_filename(interpolate_domain_hdl, weight_filename, weight_filename_size) BIND(C) 100 USE ISO_C_BINDING 101 INTEGER (kind = C_INTPTR_T), VALUE :: interpolate_domain_hdl 102 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: weight_filename 103 INTEGER (kind = C_INT) , VALUE :: weight_filename_size 104 END SUBROUTINE cxios_get_interpolate_domain_weight_filename 105 106 FUNCTION cxios_is_defined_interpolate_domain_weight_filename(interpolate_domain_hdl) BIND(C) 107 USE ISO_C_BINDING 108 LOGICAL(kind=C_BOOL) :: cxios_is_defined_interpolate_domain_weight_filename 109 INTEGER (kind = C_INTPTR_T), VALUE :: interpolate_domain_hdl 110 END FUNCTION cxios_is_defined_interpolate_domain_weight_filename 111 112 113 SUBROUTINE cxios_set_interpolate_domain_write_weight(interpolate_domain_hdl, write_weight) BIND(C) 114 USE ISO_C_BINDING 115 INTEGER (kind = C_INTPTR_T), VALUE :: interpolate_domain_hdl 116 LOGICAL (KIND=C_BOOL) , VALUE :: write_weight 117 END SUBROUTINE cxios_set_interpolate_domain_write_weight 118 119 SUBROUTINE cxios_get_interpolate_domain_write_weight(interpolate_domain_hdl, write_weight) BIND(C) 120 USE ISO_C_BINDING 121 INTEGER (kind = C_INTPTR_T), VALUE :: interpolate_domain_hdl 122 LOGICAL (KIND=C_BOOL) :: write_weight 123 END SUBROUTINE cxios_get_interpolate_domain_write_weight 124 125 FUNCTION cxios_is_defined_interpolate_domain_write_weight(interpolate_domain_hdl) BIND(C) 126 USE ISO_C_BINDING 127 LOGICAL(kind=C_BOOL) :: cxios_is_defined_interpolate_domain_write_weight 128 INTEGER (kind = C_INTPTR_T), VALUE :: interpolate_domain_hdl 129 END FUNCTION cxios_is_defined_interpolate_domain_write_weight 130 91 131 END INTERFACE 92 132
Note: See TracChangeset
for help on using the changeset viewer.