Ignore:
Timestamp:
Mar 5, 2018, 5:24:06 PM (6 years ago)
Author:
Laurent Fairhead
Message:

Moving some xios_field_is_active tests as they could not give the right
results at their previous location (the context was not closed yet).
Changing some variables levels in the histmth.xml file to prevent the unecessary
multiple calls to the radiation scheme

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/trunk/libf/phylmd/physiq_mod.F90

    r3208 r3239  
    16571657
    16581658#ifdef CPP_XIOS
    1659        !--setting up swaero_diag to TRUE in XIOS case
    1660        IF (xios_field_is_active("topswad").OR.xios_field_is_active("topswad0").OR. &
    1661            xios_field_is_active("solswad").OR.xios_field_is_active("solswad0").OR. &
    1662            xios_field_is_active("topswai").OR.xios_field_is_active("solswai").OR.  &
    1663              (iflag_rrtm==1.AND.(xios_field_is_active("toplwad").OR.xios_field_is_active("toplwad0").OR. &
    1664                                  xios_field_is_active("sollwad").OR.xios_field_is_active("sollwad0"))))  &
    1665            !!!--for now these fields are not in the XML files so they are omitted
    1666            !!!  xios_field_is_active("toplwai").OR.xios_field_is_active("sollwai") !))) &
    1667            swaero_diag=.TRUE.
    1668 
    1669        !--setting up swaerofree_diag to TRUE in XIOS case
    1670        IF (xios_field_is_active("SWdnSFCcleanclr").OR.xios_field_is_active("SWupSFCcleanclr").OR. &
    1671            xios_field_is_active("SWupTOAcleanclr").OR.xios_field_is_active("rsucsaf").OR.   &
    1672            xios_field_is_active("rsdcsaf") .OR. xios_field_is_active("LWdnSFCcleanclr").OR. &
    1673            xios_field_is_active("LWupTOAcleanclr")) &
    1674            swaerofree_diag=.TRUE.
    1675 
    1676        !--setting up dryaod_diag to TRUE in XIOS case
    1677        DO naero = 1, naero_tot-1
    1678          IF (xios_field_is_active("dryod550_"//name_aero_tau(naero))) dryaod_diag=.TRUE.
    1679        ENDDO
    1680        !
    1681        !--setting up ok_4xCO2atm to TRUE in XIOS case
    1682        IF (xios_field_is_active("rsut4co2").OR.xios_field_is_active("rlut4co2").OR. &
    1683            xios_field_is_active("rsutcs4co2").OR.xios_field_is_active("rlutcs4co2").OR. &
    1684            xios_field_is_active("rsu4co2").OR.xios_field_is_active("rsucs4co2").OR. &
    1685            xios_field_is_active("rsd4co2").OR.xios_field_is_active("rsdcs4co2").OR. &
    1686            xios_field_is_active("rlu4co2").OR.xios_field_is_active("rlucs4co2").OR. &
    1687            xios_field_is_active("rld4co2").OR.xios_field_is_active("rldcs4co2")) &
    1688            ok_4xCO2atm=.TRUE.
    16891659! Need to put this initialisation after phyetat0 as in the coupled model the XIOS context is only
    16901660! initialised at that moment
     
    48484818#endif
    48494819
     4820! On remet des variables a .false. apres un premier appel
     4821    if (debut) then
     4822#ifdef CPP_XIOS
     4823      swaero_diag=.FALSE.
     4824      swaerofree_diag=.FALSE.
     4825      dryaod_diag=.FALSE.
     4826      ok_4xCO2atm= .FALSE.
     4827      if (is_master) write (lunout,*)'ok_4xCO2atm= ',swaero_diag, swaerofree_diag, dryaod_diag, ok_4xCO2atm
     4828
     4829       !--setting up swaero_diag to TRUE in XIOS case
     4830       IF (xios_field_is_active("topswad").OR.xios_field_is_active("topswad0").OR. &
     4831           xios_field_is_active("solswad").OR.xios_field_is_active("solswad0").OR. &
     4832           xios_field_is_active("topswai").OR.xios_field_is_active("solswai").OR.  &
     4833             (iflag_rrtm==1.AND.(xios_field_is_active("toplwad").OR.xios_field_is_active("toplwad0").OR. &
     4834                                 xios_field_is_active("sollwad").OR.xios_field_is_active("sollwad0"))))  &
     4835           !!!--for now these fields are not in the XML files so they are omitted
     4836           !!!  xios_field_is_active("toplwai").OR.xios_field_is_active("sollwai") !))) &
     4837           swaero_diag=.TRUE.
     4838
     4839       !--setting up swaerofree_diag to TRUE in XIOS case
     4840       IF (xios_field_is_active("SWdnSFCcleanclr").OR.xios_field_is_active("SWupSFCcleanclr").OR. &
     4841           xios_field_is_active("SWupTOAcleanclr").OR.xios_field_is_active("rsucsaf").OR.   &
     4842           xios_field_is_active("rsdcsaf") .OR. xios_field_is_active("LWdnSFCcleanclr").OR. &
     4843           xios_field_is_active("LWupTOAcleanclr")) &
     4844           swaerofree_diag=.TRUE.
     4845
     4846       !--setting up dryaod_diag to TRUE in XIOS case
     4847       DO naero = 1, naero_tot-1
     4848         IF (xios_field_is_active("dryod550_"//name_aero_tau(naero))) dryaod_diag=.TRUE.
     4849       ENDDO
     4850       !
     4851       !--setting up ok_4xCO2atm to TRUE in XIOS case
     4852       IF (xios_field_is_active("rsut4co2").OR.xios_field_is_active("rlut4co2").OR. &
     4853           xios_field_is_active("rsutcs4co2").OR.xios_field_is_active("rlutcs4co2").OR. &
     4854           xios_field_is_active("rsu4co2").OR.xios_field_is_active("rsucs4co2").OR. &
     4855           xios_field_is_active("rsd4co2").OR.xios_field_is_active("rsdcs4co2").OR. &
     4856           xios_field_is_active("rlu4co2").OR.xios_field_is_active("rlucs4co2").OR. &
     4857           xios_field_is_active("rld4co2").OR.xios_field_is_active("rldcs4co2")) &
     4858           ok_4xCO2atm=.TRUE.
     4859      if (is_master) write (lunout,*)'ok_4xCO2atm= ',swaero_diag, swaerofree_diag, dryaod_diag, ok_4xCO2atm
     4860#endif
     4861    endif
    48504862
    48514863    !====================================================================
Note: See TracChangeset for help on using the changeset viewer.