Ignore:
Timestamp:
Mar 14, 2019, 10:34:31 AM (5 years ago)
Author:
Laurent Fairhead
Message:

Further modifications for DYNAMICO/LMDZ convergence. These are based
on Yann's LMDZ6_V2 sources. Compiles on irene and converges with revision 3459
in a bucket configuration
YM/LF

File:
1 edited

Legend:

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

    r3462 r3465  
    243243#endif
    244244    USE indice_sol_mod
    245     USE phytrac_mod, ONLY : phytrac
     245    USE phytrac_mod, ONLY : phytrac_init, phytrac
    246246    USE carbon_cycle_mod, ONLY : infocfields_init, RCO2_glo, carbon_cycle_rad
    247247
     
    14881488       ENDIF
    14891489       ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    1490        IF (grid_type/=unstructured) CALL init_iophy_new(latitude_deg,longitude_deg)
     1490       CALL init_iophy_new(latitude_deg,longitude_deg)
    14911491
    14921492          !===================================================================
     
    15811581       CALL init_readaerosolstrato(flag_aerosol_strat)  !! initialise aero strato from file for XIOS interpolation (unstructured_grid)
    15821582
    1583        IF(read_climoz>=1 .AND. create_etat0_limit .AND. grid_type==unstructured) CALL regr_horiz_time_climoz(read_climoz,ok_daily_climoz)
    1584        CALL create_etat0_limit_unstruct
    1585        CALL phyetat0 ("startphy.nc",clesphy0,tabcntr0)
    1586        IF (grid_type==unstructured) CALL init_iophy_new(latitude_deg,longitude_deg)
    1587 
    1588 !jyg<
    1589        IF (klon_glo==1) THEN
    1590           IF (iflag_pbl > 1) THEN         
    1591               pbl_tke(:,:,is_ave) = 0.
    1592               DO nsrf=1,nbsrf
    1593                 DO k = 1,klev+1
    1594                      pbl_tke(:,k,is_ave) = pbl_tke(:,k,is_ave) &
    1595                          +pctsrf(:,nsrf)*pbl_tke(:,k,nsrf)
    1596                 ENDDO
    1597               ENDDO
    1598           ELSE   ! (iflag_pbl > 1)
    1599               pbl_tke(:,:,:) = 0.
    1600           ENDIF  ! (iflag_pbl > 1)
    1601         ELSE
    1602           pbl_tke(:,:,is_ave) = 0. !ym missing init : maybe must be initialized in the same way that for klon_glo==1 ??
    1603 !>jyg
    1604        ENDIF
    16051583#ifdef CPP_COSP
    1606 
    16071584      IF (ok_cosp) THEN
    1608          CALL phys_cosp(itap,phys_tstep,freq_cosp, &
     1585        CALL phys_cosp(itap,phys_tstep,freq_cosp, &
    16091586               ok_mensuelCOSP,ok_journeCOSP,ok_hfCOSP, &
    16101587               ecrit_mth,ecrit_day,ecrit_hf, ok_all_xml, missing_val, &
     
    16201597      ENDIF
    16211598#endif
    1622 
    1623        !
    1624        ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     1599       !
     1600       !
     1601!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    16251602       ! Nouvelle initialisation pour le rayonnement RRTM
    1626        ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
     1603       !
     1604!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    16271605
    16281606       CALL iniradia(klon,klev,paprs(1,1:klev+1))
    1629 
     1607       ! Initialisation des champs dans phytrac qui sont utilisés par phys_output_write
     1608       IF (iflag_phytrac == 1 ) THEN
     1609          CALL phytrac_init()
     1610        ENDIF
     1611
     1612       CALL phys_output_write(itap, pdtphys, paprs, pphis,                    &
     1613                              pplay, lmax_th, aerosol_couple,                 &
     1614                              ok_ade, ok_aie, ivap, iliq, isol, new_aod, ok_sync,&
     1615                              ptconv, read_climoz, clevSTD,                   &
     1616                              ptconvth, d_u, d_t, qx, d_qx, zmasse,           &
     1617                              flag_aerosol, flag_aerosol_strat, ok_cdnc)
    16301618
    16311619#ifdef CPP_XIOS
    16321620       IF (is_omp_master) CALL xios_update_calendar(1)
    16331621#endif
    1634 
     1622       IF(read_climoz>=1 .AND. create_etat0_limit) CALL regr_horiz_time_climoz(read_climoz,ok_daily_climoz)
     1623       CALL create_etat0_limit_unstruct
     1624       CALL phyetat0 ("startphy.nc",clesphy0,tabcntr0)
     1625
     1626!jyg<
     1627       IF (klon_glo==1) THEN
     1628          pbl_tke(:,:,is_ave) = 0.
     1629          DO nsrf=1,nbsrf
     1630            DO k = 1,klev+1
     1631                 pbl_tke(:,k,is_ave) = pbl_tke(:,k,is_ave) &
     1632                     +pctsrf(:,nsrf)*pbl_tke(:,k,nsrf)
     1633            ENDDO
     1634          ENDDO
     1635        ELSE
     1636          pbl_tke(:,:,is_ave) = 0. !ym missing init : maybe must be initialized in the same way that for klon_glo==1 ??
     1637!>jyg
     1638       ENDIF
    16351639       !IM begin
    16361640       print*,'physiq: clwcon rnebcon ratqs',clwcon(1,1),rnebcon(1,1) &
     
    17781782       tave = 'ave(X)'
    17791783       !IM cf. AM 081204 BEG
     1784       write(lunout,*)'AVANT HIST IFLAG_CON=',iflag_con
    17801785       !IM cf. AM 081204 END
    17811786       !
     
    17831788       !   Initialisation des sorties
    17841789       !=============================================================
    1785 
    1786        CALL phys_output_write(itap, pdtphys, paprs, pphis,                    &
    1787                               pplay, lmax_th, aerosol_couple,                 &
    1788                               ok_ade, ok_aie, ivap, iliq, isol, new_aod, ok_sync,&
    1789                               ptconv, read_climoz, clevSTD,                   &
    1790                               ptconvth, d_u, d_t, qx, d_qx, zmasse,           &
    1791                               flag_aerosol, flag_aerosol_strat, ok_cdnc)
    17921790
    17931791#ifdef CPP_XIOS
     
    18741872#endif
    18751873       ENDIF
     1874
    18761875       !$omp single
    18771876       IF (read_climoz >= 1) CALL open_climoz(ncid_climoz, press_cen_climoz,   &
Note: See TracChangeset for help on using the changeset viewer.