Changeset 586 for XIOS/trunk/src/interface
- Timestamp:
- 04/01/15 17:53:02 (9 years ago)
- Location:
- XIOS/trunk/src/interface
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/interface/c/icdata.cpp
r576 r586 365 365 // ---------------------- Ecriture des données ------------------------------ 366 366 367 void cxios_write_data_k8 1(const char * fieldid, int fieldid_size, double * data_k8, int data_Xsize)367 void cxios_write_data_k80(const char * fieldid, int fieldid_size, double * data_k8, int data_Xsize) 368 368 { 369 369 std::string fieldid_str; … … 380 380 } 381 381 382 void cxios_write_data_k82(const char * fieldid, int fieldid_size, double * data_k8, int data_Xsize, int data_Ysize) 383 { 384 std::string fieldid_str; 385 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 386 387 CTimer::get("XIOS").resume() ; 388 CTimer::get("XIOS send field").resume() ; 389 CContext* context = CContext::getCurrent() ; 390 if (!context->hasServer) context->client->checkBuffers() ; 391 392 CArray<double,2>data(data_k8,shape(data_Xsize,data_Ysize),neverDeleteData) ; 393 CField::get(fieldid_str)->setData(data) ; 394 CTimer::get("XIOS send field").suspend() ; 395 CTimer::get("XIOS").suspend() ; 396 } 397 398 void cxios_write_data_k83(const char * fieldid, int fieldid_size, double * data_k8, int data_Xsize, int data_Ysize, int data_Zsize) 399 { 400 std::string fieldid_str; 401 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 402 403 CTimer::get("XIOS").resume() ; 404 CTimer::get("XIOS send field").resume() ; 405 CContext* context = CContext::getCurrent() ; 406 if (!context->hasServer) context->client->checkBuffers() ; 407 408 CArray<double,3>data(data_k8,shape(data_Xsize,data_Ysize,data_Zsize),neverDeleteData) ; 409 CField::get(fieldid_str)->setData(data) ; 410 CTimer::get("XIOS send field").suspend() ; 411 CTimer::get("XIOS").suspend() ; 412 } 413 414 void cxios_write_data_k41(const char * fieldid, int fieldid_size, float * data_k4, int data_Xsize) 382 void cxios_write_data_k40(const char * fieldid, int fieldid_size, float * data_k4, int data_Xsize) 415 383 { 416 384 std::string fieldid_str; … … 430 398 } 431 399 400 void cxios_write_data_k81(const char * fieldid, int fieldid_size, double * data_k8, int data_Xsize) 401 { 402 std::string fieldid_str; 403 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 404 405 CTimer::get("XIOS").resume() ; 406 CTimer::get("XIOS send field").resume() ; 407 CContext* context = CContext::getCurrent() ; 408 if (!context->hasServer) context->client->checkBuffers() ; 409 CArray<double,(StdSize)1> data(data_k8,shape(data_Xsize),neverDeleteData) ; 410 CField::get(fieldid_str)->setData(data) ; 411 CTimer::get("XIOS send field").suspend() ; 412 CTimer::get("XIOS").suspend() ; 413 } 414 415 void cxios_write_data_k82(const char * fieldid, int fieldid_size, double * data_k8, int data_Xsize, int data_Ysize) 416 { 417 std::string fieldid_str; 418 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 419 420 CTimer::get("XIOS").resume() ; 421 CTimer::get("XIOS send field").resume() ; 422 CContext* context = CContext::getCurrent() ; 423 if (!context->hasServer) context->client->checkBuffers() ; 424 425 CArray<double,2>data(data_k8,shape(data_Xsize,data_Ysize),neverDeleteData) ; 426 CField::get(fieldid_str)->setData(data) ; 427 CTimer::get("XIOS send field").suspend() ; 428 CTimer::get("XIOS").suspend() ; 429 } 430 431 void cxios_write_data_k83(const char * fieldid, int fieldid_size, double * data_k8, int data_Xsize, int data_Ysize, int data_Zsize) 432 { 433 std::string fieldid_str; 434 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 435 436 CTimer::get("XIOS").resume() ; 437 CTimer::get("XIOS send field").resume() ; 438 CContext* context = CContext::getCurrent() ; 439 if (!context->hasServer) context->client->checkBuffers() ; 440 441 CArray<double,3>data(data_k8,shape(data_Xsize,data_Ysize,data_Zsize),neverDeleteData) ; 442 CField::get(fieldid_str)->setData(data) ; 443 CTimer::get("XIOS send field").suspend() ; 444 CTimer::get("XIOS").suspend() ; 445 } 446 447 void cxios_write_data_k41(const char * fieldid, int fieldid_size, float * data_k4, int data_Xsize) 448 { 449 std::string fieldid_str; 450 if (!cstr2string(fieldid, fieldid_size, fieldid_str)) return; 451 452 CTimer::get("XIOS").resume() ; 453 CTimer::get("XIOS send field").resume() ; 454 CContext* context = CContext::getCurrent() ; 455 if (!context->hasServer) context->client->checkBuffers() ; 456 457 CArray<float,1> data_tmp(data_k4,shape(data_Xsize),neverDeleteData) ; 458 CArray<double,1> data(data_Xsize) ; 459 data=data_tmp ; 460 CField::get(fieldid_str)->setData(data) ; 461 CTimer::get("XIOS send field").suspend() ; 462 CTimer::get("XIOS").suspend() ; 463 } 464 432 465 void cxios_write_data_k42(const char * fieldid, int fieldid_size, float * data_k4, int data_Xsize, int data_Ysize) 433 466 { -
XIOS/trunk/src/interface/fortran/idata.F90
r501 r586 48 48 SUBROUTINE cxios_solve_inheritance() BIND(C) 49 49 END SUBROUTINE cxios_solve_inheritance 50 51 SUBROUTINE cxios_write_data_k80(fieldid, fieldid_size, data_k8, data_Xsize) BIND(C) 52 USE ISO_C_BINDING 53 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: fieldid 54 REAL (kind = C_DOUBLE) :: data_k8 55 INTEGER (kind = C_INT) , VALUE :: fieldid_size 56 INTEGER (kind = C_INT) , VALUE :: data_Xsize 57 END SUBROUTINE cxios_write_data_k80 58 59 SUBROUTINE cxios_write_data_k40(fieldid, fieldid_size, data_k4, data_Xsize) BIND(C) 60 USE ISO_C_BINDING 61 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: fieldid 62 REAL (kind = C_FLOAT) :: data_k4 63 INTEGER (kind = C_INT) , VALUE :: fieldid_size 64 INTEGER (kind = C_INT) , VALUE :: data_Xsize 65 END SUBROUTINE cxios_write_data_k40 50 66 51 67 … … 261 277 262 278 279 SUBROUTINE xios(send_field_r8)(fieldid, data_k8) 280 IMPLICIT NONE 281 CHARACTER(len = *) , INTENT(IN) :: fieldid 282 REAL (kind = 8), INTENT(IN) :: data_k8 283 CALL cxios_write_data_k80(fieldid, len(fieldid), data_k8, 1) 284 END SUBROUTINE xios(send_field_r8) 285 286 SUBROUTINE xios(send_field_r4)(fieldid, data_k4) 287 IMPLICIT NONE 288 CHARACTER(len = *) , INTENT(IN) :: fieldid 289 REAL (kind = 4), INTENT(IN) :: data_k4 290 CALL cxios_write_data_k40(fieldid, len(fieldid), data_k4, 1) 291 END SUBROUTINE xios(send_field_r4) 292 293 294 263 295 SUBROUTINE xios(send_field_r8_1d)(fieldid, data1d_k8) 264 296 IMPLICIT NONE -
XIOS/trunk/src/interface/fortran/ixios.F90
- Property svn:executable set to *
r576 r586 11 11 12 12 USE icontext_attr, ONLY : xios(set_context_attr), xios(get_context_attr), xios(is_defined_context_attr) 13 xios(setVar_logic), xios(setVar_char), xios(send_field_r8), xios(send_field_r4) 13 14 14 15 USE idata, ONLY : xios(initialize), xios(init_server), xios(finalize), xios(context_initialize), xios(context_is_initialized), & … … 38 39 39 40 USE ifield, ONLY : txios(field), txios(fieldgroup), xios(is_valid_field), xios(is_valid_fieldgroup) 41 xios(send_field_r4_1d), xios(send_field_r4_2d), xios(send_field_r4_3d), & 42 xios(send_field_r8), xios(send_field_r4) 40 43 41 44 USE ifield_attr, ONLY : xios(set_field_attr), xios(get_field_attr), xios(is_defined_field_attr)
Note: See TracChangeset
for help on using the changeset viewer.