Changeset 4606 for LMDZ6/trunk/libf/phylmd
- Timestamp:
- Jul 5, 2023, 11:35:57 AM (17 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90
r4575 r4606 486 486 CHARACTER(LEN=maxlen) :: varname, dn 487 487 488 #ifdef CPP_XIOS489 TYPE(xios_fieldgroup) :: group_handle490 TYPE(xios_field) :: child491 #endif492 488 #ifdef CPP_StratAer 493 489 LOGICAL, PARAMETER :: debug_strataer=.FALSE. … … 545 541 END DO 546 542 547 #ifdef CPP_XIOS548 #ifdef CPP_StratAer549 !$OMP MASTER550 IF (.NOT.vars_defined) THEN551 !On ajoute les variables 3D traceurs par l interface fortran552 CALL xios_get_handle("fields_strataer_trac_3D", group_handle)553 ! On boucle sur les traceurs pour les ajouter au groupe puis fixer les attributs554 DO iq = 1, nqtot555 IF(.NOT.(tracers(iq)%isAdvected .AND. tracers(iq)%isInPhysics)) CYCLE556 dn = 'd'//TRIM(tracers(iq)%name)//'_'557 WRITE (lunout,*) 'XIOS var=', nqo, iq, nqtot, tracers(iq)%name558 559 unt = "kg kg-1"560 varname=trim(tracers(iq)%name)561 CALL xios_add_child(group_handle, child, varname)562 CALL xios_set_attr(child, name=varname, unit=unt)563 564 unt = "kg kg-1 s-1"565 varname=TRIM(dn)//'vdf'566 CALL xios_add_child(group_handle, child, varname)567 CALL xios_set_attr(child, name=varname, unit=unt)568 varname=TRIM(dn)//'the'569 CALL xios_add_child(group_handle, child, varname)570 CALL xios_set_attr(child, name=varname, unit=unt)571 varname=TRIM(dn)//'con'572 CALL xios_add_child(group_handle, child, varname)573 CALL xios_set_attr(child, name=varname, unit=unt)574 varname=TRIM(dn)//'lessi_impa'575 CALL xios_add_child(group_handle, child, varname)576 CALL xios_set_attr(child, name=varname, unit=unt)577 varname=TRIM(dn)//'lessi_nucl'578 CALL xios_add_child(group_handle, child, varname)579 CALL xios_set_attr(child, name=varname, unit=unt)580 varname=TRIM(dn)//'insc'581 CALL xios_add_child(group_handle, child, varname)582 CALL xios_set_attr(child, name=varname, unit=unt)583 varname=TRIM(dn)//'bcscav'584 CALL xios_add_child(group_handle, child, varname)585 CALL xios_set_attr(child, name=varname, unit=unt)586 varname=TRIM(dn)//'evapls'587 CALL xios_add_child(group_handle, child, varname)588 CALL xios_set_attr(child, name=varname, unit=unt)589 varname=TRIM(dn)//'ls'590 CALL xios_add_child(group_handle, child, varname)591 CALL xios_set_attr(child, name=varname, unit=unt)592 varname=TRIM(dn)//'trsp'593 CALL xios_add_child(group_handle, child, varname)594 CALL xios_set_attr(child, name=varname, unit=unt)595 varname=TRIM(dn)//'sscav'596 CALL xios_add_child(group_handle, child, varname)597 CALL xios_set_attr(child, name=varname, unit=unt)598 varname=TRIM(dn)//'sat'599 CALL xios_add_child(group_handle, child, varname)600 CALL xios_set_attr(child, name=varname, unit=unt)601 varname=TRIM(dn)//'uscav'602 CALL xios_add_child(group_handle, child, varname)603 CALL xios_set_attr(child, name=varname, unit=unt)604 END DO605 !On ajoute les variables 2D traceurs par l interface fortran606 CALL xios_get_handle("fields_strataer_trac_2D", group_handle)607 ! On boucle sur les traceurs pour les ajouter au groupe puis fixer les attributs608 DO iq = 1, nqtot609 IF(.NOT.(tracers(iq)%isAdvected .AND. tracers(iq)%isInPhysics)) CYCLE610 611 unt = "kg m-2"612 varname='cum'//trim(tracers(iq)%name)613 WRITE (lunout,*) 'XIOS var=', iq, nqtot, varname614 CALL xios_add_child(group_handle, child, varname)615 CALL xios_set_attr(child, name=varname, unit=unt)616 617 unt = "kg m-2 s-1"618 varname='cumd'//trim(tracers(iq)%name)//'_dry'619 CALL xios_add_child(group_handle, child, varname)620 CALL xios_set_attr(child, name=varname, unit=unt)621 ENDDO622 ENDIF623 !$OMP END MASTER624 #endif625 #endif626 543 627 544 ! ug la boucle qui suit ne sert qu'une fois, pour l'initialisation, sinon il n'y a toujours qu'un seul passage:
Note: See TracChangeset
for help on using the changeset viewer.