Changeset 4046 for LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90
- Timestamp:
- Dec 15, 2021, 11:18:49 PM (2 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90
r3956 r4046 25 25 26 26 USE dimphy, ONLY: klon, klev, klevp1 27 USE infotrac_phy, ONLY: nbtr 27 USE infotrac_phy, ONLY: nbtr, nqtot, nqo, type_trac, tracers, niadv 28 USE strings_mod, ONLY: maxlen 28 29 USE mod_phys_lmdz_para, ONLY: is_north_pole_phy,is_south_pole_phy 29 30 USE mod_grid_phy_lmdz, ONLY : nbp_lon, nbp_lat … … 366 367 USE pbl_surface_mod, ONLY: snow 367 368 USE indice_sol_mod, ONLY: nbsrf 368 USE infotrac_phy, ONLY: nqtot, nqo, type_trac, tname, niadv369 369 USE geometry_mod, ONLY: cell_area, latitude_deg, longitude_deg 370 370 USE surface_data, ONLY: type_ocean, version_ocean, ok_veget, landice_opt … … 441 441 INTEGER ISW 442 442 CHARACTER*1 ch1 443 CHARACTER *20 varname443 CHARACTER(LEN=maxlen) :: varname, dn 444 444 445 445 #ifdef CPP_XIOS … … 454 454 455 455 INTEGER :: nqup 456 456 457 457 458 ! On calcul le nouveau tau: … … 512 513 DO iq=nqo+1, nqtot 513 514 iiq=niadv(iq) 514 varname=trim(tname(iiq)) 515 WRITE (lunout,*) 'XIOS var=', nqo, iq, nqtot, varname 515 dn = 'd'//TRIM(tracers(iiq)%name)//'_' 516 WRITE (lunout,*) 'XIOS var=', nqo, iq, nqtot, tracers(iiq)%name 517 518 unt = "kg kg-1" 519 varname=trim(tracers(iiq)%name) 516 520 CALL xios_add_child(group_handle, child, varname) 517 CALL xios_set_attr(child, name=varname, unit="kg kg-1") 518 varname='d'//trim(tname(iiq))//'_vdf' 521 CALL xios_set_attr(child, name=varname, unit=unt) 522 523 unt = "kg kg-1 s-1" 524 varname=TRIM(dn)//'vdf' 519 525 CALL xios_add_child(group_handle, child, varname) 520 CALL xios_set_attr(child, name=varname, unit= "kg kg-1 s-1")521 varname= 'd'//trim(tname(iiq))//'_the'526 CALL xios_set_attr(child, name=varname, unit=unt) 527 varname=TRIM(dn)//'the' 522 528 CALL xios_add_child(group_handle, child, varname) 523 CALL xios_set_attr(child, name=varname, unit= "kg kg-1 s-1")524 varname= 'd'//trim(tname(iiq))//'_con'529 CALL xios_set_attr(child, name=varname, unit=unt) 530 varname=TRIM(dn)//'con' 525 531 CALL xios_add_child(group_handle, child, varname) 526 CALL xios_set_attr(child, name=varname, unit= "kg kg-1 s-1")527 varname= 'd'//trim(tname(iiq))//'_lessi_impa'532 CALL xios_set_attr(child, name=varname, unit=unt) 533 varname=TRIM(dn)//'lessi_impa' 528 534 CALL xios_add_child(group_handle, child, varname) 529 CALL xios_set_attr(child, name=varname, unit= "kg kg-1 s-1")530 varname= 'd'//trim(tname(iiq))//'_lessi_nucl'535 CALL xios_set_attr(child, name=varname, unit=unt) 536 varname=TRIM(dn)//'lessi_nucl' 531 537 CALL xios_add_child(group_handle, child, varname) 532 CALL xios_set_attr(child, name=varname, unit= "kg kg-1 s-1")533 varname= 'd'//trim(tname(iiq))//'_insc'538 CALL xios_set_attr(child, name=varname, unit=unt) 539 varname=TRIM(dn)//'insc' 534 540 CALL xios_add_child(group_handle, child, varname) 535 CALL xios_set_attr(child, name=varname, unit= "kg kg-1 s-1")536 varname= 'd'//trim(tname(iiq))//'_bcscav'541 CALL xios_set_attr(child, name=varname, unit=unt) 542 varname=TRIM(dn)//'bcscav' 537 543 CALL xios_add_child(group_handle, child, varname) 538 CALL xios_set_attr(child, name=varname, unit= "kg kg-1 s-1")539 varname= 'd'//trim(tname(iiq))//'_evapls'544 CALL xios_set_attr(child, name=varname, unit=unt) 545 varname=TRIM(dn)//'evapls' 540 546 CALL xios_add_child(group_handle, child, varname) 541 CALL xios_set_attr(child, name=varname, unit= "kg kg-1 s-1")542 varname= 'd'//trim(tname(iiq))//'_ls'547 CALL xios_set_attr(child, name=varname, unit=unt) 548 varname=TRIM(dn)//'ls' 543 549 CALL xios_add_child(group_handle, child, varname) 544 CALL xios_set_attr(child, name=varname, unit= "kg kg-1 s-1")545 varname= 'd'//trim(tname(iiq))//'_trsp'550 CALL xios_set_attr(child, name=varname, unit=unt) 551 varname=TRIM(dn)//'trsp' 546 552 CALL xios_add_child(group_handle, child, varname) 547 CALL xios_set_attr(child, name=varname, unit= "kg kg-1 s-1")548 varname= 'd'//trim(tname(iiq))//'_sscav'553 CALL xios_set_attr(child, name=varname, unit=unt) 554 varname=TRIM(dn)//'sscav' 549 555 CALL xios_add_child(group_handle, child, varname) 550 CALL xios_set_attr(child, name=varname, unit= "kg kg-1 s-1")551 varname= 'd'//trim(tname(iiq))//'_sat'556 CALL xios_set_attr(child, name=varname, unit=unt) 557 varname=TRIM(dn)//'sat' 552 558 CALL xios_add_child(group_handle, child, varname) 553 CALL xios_set_attr(child, name=varname, unit= "kg kg-1 s-1")554 varname= 'd'//trim(tname(iiq))//'_uscav'559 CALL xios_set_attr(child, name=varname, unit=unt) 560 varname=TRIM(dn)//'uscav' 555 561 CALL xios_add_child(group_handle, child, varname) 556 CALL xios_set_attr(child, name=varname, unit= "kg kg-1 s-1")562 CALL xios_set_attr(child, name=varname, unit=unt) 557 563 ENDDO 558 564 !On ajoute les variables 2D traceurs par l interface fortran … … 561 567 DO iq=nqo+1, nqtot 562 568 iiq=niadv(iq) 563 varname='cum'//trim(tname(iiq)) 569 570 unt = "kg m-2" 571 varname='cum'//trim(tracers(iiq)%name) 564 572 WRITE (lunout,*) 'XIOS var=', iq, nqtot, varname 565 573 CALL xios_add_child(group_handle, child, varname) 566 CALL xios_set_attr(child, name=varname, unit="kg m-2") 567 varname='cumd'//trim(tname(iiq))//'_dry' 574 CALL xios_set_attr(child, name=varname, unit=unt) 575 576 unt = "kg m-2 s-1" 577 varname='cumd'//trim(tracers(iiq)%name)//'_dry' 568 578 CALL xios_add_child(group_handle, child, varname) 569 CALL xios_set_attr(child, name=varname, unit= "kg m-2 s-1")579 CALL xios_set_attr(child, name=varname, unit=unt) 570 580 ENDDO 571 581 ENDIF … … 573 583 #endif 574 584 #endif 585 575 586 ! ug la boucle qui suit ne sert qu'une fois, pour l'initialisation, sinon il n'y a toujours qu'un seul passage: 576 587 DO iinit=1, iinitend … … 600 611 ENDIf 601 612 CALL histwrite_phy(o_aire, zx_tmp_fi2d) 602 603 613 IF (vars_defined) THEN 604 614 DO i=1, klon
Note: See TracChangeset
for help on using the changeset viewer.