Changeset 3906


Ignore:
Timestamp:
May 19, 2021, 12:35:18 PM (3 years ago)
Author:
jyg
Message:

1/ Bug fix in wx_pbl_mod.F90

2/ New pbl_split option:
iflag_pbl_split=3 ==> iflag_split=1 over ocean,

iflag_split=0 everywhere else.

Location:
LMDZ6/trunk/libf/phylmd
Files:
3 edited

Legend:

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

    r3903 r3906  
    546546    INTEGER                            :: n
    547547! << PC
    548     INTEGER                            :: iflag_split
     548    INTEGER                            :: iflag_split, iflag_split_ref
    549549    INTEGER                            :: i, k, nsrf
    550550    INTEGER                            :: knon, j
     
    889889!
    890890!!jyg      iflag_split = mod(iflag_pbl_split,2)
    891       iflag_split = mod(iflag_pbl_split,10)
     891!!jyg      iflag_split = mod(iflag_pbl_split,10)
     892      iflag_split_ref = mod(iflag_pbl_split,10)
    892893
    893894!****************************************************************************************
     
    12971298!
    12981299!****************************************************************************************
    1299    
    1300     loop_nbsrf: DO nsrf = 1, nbsrf
     1300                                                                          !<<<<<<<<<<<<<
     1301    loop_nbsrf: DO nsrf = 1, nbsrf                                        !<<<<<<<<<<<<<
     1302                                                                          !<<<<<<<<<<<<<
    13011303       IF (prt_level >=10) print *,' Loop nsrf ',nsrf
     1304!
     1305       IF (iflag_split_ref == 3) THEN
     1306         IF (nsrf == is_oce) THEN
     1307            iflag_split = 1
     1308         ELSE
     1309            iflag_split=0
     1310         ENDIF   !! (nsrf == is_oce)
     1311       ELSE                     
     1312         iflag_split = iflag_split_ref
     1313       ENDIF   !! (iflag_split_ref == 3)
    13021314
    13031315! Search for index(ni) and size(knon) of domaine to treat
  • LMDZ6/trunk/libf/phylmd/surf_ocean_mod.F90

    r3815 r3906  
    5656    REAL, DIMENSION(klon), INTENT(IN)        :: rmu0 
    5757    REAL, DIMENSION(klon), INTENT(IN)        :: fder
    58     REAL, INTENT(IN):: tsurf_in(klon) ! defined only for subscripts 1:knon
     58    REAL, DIMENSION(klon), INTENT(IN)        :: tsurf_in    ! defined only for subscripts 1:knon
    5959    REAL, DIMENSION(klon), INTENT(IN)        :: p1lay,z1lay ! pression (Pa) et altitude (m) du premier niveau
    6060    REAL, DIMENSION(klon), INTENT(IN)        :: cdragh
     
    7474    REAL, DIMENSION(klon), INTENT(INOUT)     :: qsurf
    7575    REAL, DIMENSION(klon), INTENT(INOUT)     :: agesno
    76     REAL, DIMENSION(klon), INTENT(inOUT):: z0h
     76    REAL, DIMENSION(klon), INTENT(inOUT)     :: z0h
    7777
    7878    REAL, intent(inout):: delta_sst(:) ! (knon)
     
    9898    REAL, DIMENSION(klon), INTENT(OUT)       :: z0m
    9999    !albedo SB >>>
    100     !    REAL, DIMENSION(klon), INTENT(OUT)       :: alb1_new  ! new albedo in visible SW interval
    101     !    REAL, DIMENSION(klon), INTENT(OUT)       :: alb2_new  ! new albedo in near IR interval
    102     REAL, DIMENSION(6), INTENT(IN)          :: SFRWL
    103     REAL, DIMENSION(klon,nsw), INTENT(OUT)       :: alb_dir_new,alb_dif_new
     100    !    REAL, DIMENSION(klon), INTENT(OUT)  :: alb1_new  ! new albedo in visible SW interval
     101    !    REAL, DIMENSION(klon), INTENT(OUT)  :: alb2_new  ! new albedo in near IR interval
     102    REAL, DIMENSION(6), INTENT(IN)           :: SFRWL
     103    REAL, DIMENSION(klon,nsw), INTENT(OUT)   :: alb_dir_new,alb_dif_new
    104104    !albedo SB <<<     
    105105    REAL, DIMENSION(klon), INTENT(OUT)       :: evap, fluxsens, fluxlat
    106     REAL, INTENT(OUT):: tsurf_new(klon) ! sea surface temperature, in K
     106    REAL, DIMENSION(klon), INTENT(OUT)       :: tsurf_new    ! sea surface temperature, in K
    107107    REAL, DIMENSION(klon), INTENT(OUT)       :: dflux_s, dflux_l     
    108108    REAL, DIMENSION(klon), INTENT(OUT)       :: lmt_bils
  • LMDZ6/trunk/libf/phylmd/wx_pbl_mod.F90

    r3888 r3906  
    122122       BcoefT(j) = BcoefT_x(j) + sigw(j)*(sigx(j)*dd_Kh*dd_KTp(j)*BcoefT_x(j) + &
    123123                                  Kech_h_w(j)*Kech_T_pw(j)*dd_BT(j))/(Kech_h(j)*Kech_Tp(j))
    124        BcoefQ(j) = BcoefQ_x(j) + sigw(j)*(sigx(j)*dd_Kh*dd_KQs(j)*BcoefQ_x(j) + &
     124       BcoefQ(j) = BcoefQ_x(j) + sigw(j)*(sigx(j)*dd_Kq*dd_KQs(j)*BcoefQ_x(j) + &
    125125                                  Kech_q_w(j)*Kech_Q_sw(j)*dd_BQ(j))/(Kech_q(j)*Kech_Qs(j))
    126126       BcoefU(j) = BcoefU_x(j) + sigw(j)*(sigx(j)*dd_Km*dd_KUp(j)*BcoefU_x(j) + &
     
    691691!!          print *,' wx_pbl_split, dqsatsrf, dqsatdT0*dTs ', dqsatsrf, dqsatdT0*dTs
    692692        ENDIF
     693!
     694!!    IF (knon .NE. 0) THEN
     695!!       call  iophys_ecrit('sigw', 1,'sigw', '.',sigw)
     696!!       call  iophys_ecrit('phit', 1,'phit', 'W/m2',phit)
     697!!       call  iophys_ecrit('phit_w', 1,'phit_w', 'W/m2',phit_w)
     698!!       call  iophys_ecrit('phit_x', 1,'phit_x', 'W/m2',phit_x)
     699!!       call  iophys_ecrit('phiq', 1,'phiq', 'kg/m2/s',phiq)
     700!!       call  iophys_ecrit('phiq_w', 1,'phiq_w', 'kg/m2/s',phiq_w)
     701!!       call  iophys_ecrit('phiq_x', 1,'phiq_x', 'kg/m2/s',phiq_x)
     702!!       call  iophys_ecrit('q1_w', 1,'q1_w', '.',q1_w)
     703!!       call  iophys_ecrit('q1_x', 1,'q1_x', '.',q1_x)
     704!!    ENDIF  ! (knon .NE. 0)
    693705!
    694706        RETURN
Note: See TracChangeset for help on using the changeset viewer.