Changeset 4662 for LMDZ6/branches


Ignore:
Timestamp:
Sep 1, 2023, 1:46:55 PM (9 months ago)
Author:
Laurent Fairhead
Message:

Debugging stuff

Location:
LMDZ6/branches/LMDZ_cdrag_LSCE/libf/phylmd
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ6/branches/LMDZ_cdrag_LSCE/libf/phylmd/cdrag_mod.F90

    r4661 r4662  
    122122  REAL                   MU, CM, CH, B, CMstar, CHstar
    123123  REAL                   PM, PH, BPRIME
    124   REAL                   C
    125124  INTEGER                ng_q1                      ! Number of grids that q1 < 0.0
    126125  INTEGER                ng_qsurf                   ! Number of grids that qsurf < 0.0
     
    129128  REAL                   ztvd, zscf
    130129  REAL                   zucf, zcr
    131   REAL                   friv, frih
    132130  REAL, DIMENSION(klon) :: FM, FH                   ! stability functions
    133131  REAL, DIMENSION(klon) :: cdmn, cdhn               ! Drag coefficient in neutral conditions
     
    148146  REAL, DIMENSION(klon)   :: cdhh
    149147
    150 !--------- rajout pour verification --------------------
    151 
    152   REAL, DIMENSION(klon) :: zcdn_h2
    153 
    154 
    155148!------------------RAJOUT POUR ECUME -------------------
    156149
     
    215208
    216209! Consistent with atke scheme
    217 cn=(1./sqrt(cepsilon))**(2/3)
    218 ri0=2./rpi*(cinf - cn)*ric/cn
    219 ri1=-2./rpi * (pr_asym - pr_neut)/pr_slope
     210  cn=(1./sqrt(cepsilon))**(2./3.)
     211  ri0=2./rpi*(cinf - cn)*ric/cn
     212  ri1=-2./rpi * (pr_asym - pr_neut)/pr_slope
    220213
    221214
     
    304297         ENDIF
    305298         call clc_core_cp ( sqrt(zdu2),t1(i)-tsurf(i),q1(i)-qsurf(i),t1(i),q1(i),&
    306              zgeop1(i)/RG, zgeop1(i)/RG,  zgeop1(i)/RG,&
    307              psol(i),nit_bulk,mixte,&
    308              coeffs,z_0m,z_0h)
     299             zgeop1(i)/RG, zgeop1(i)/RG,  zgeop1(i)/RG,&
     300             psol(i),nit_bulk,mixte,&
     301             coeffs,z_0m,z_0h)
    309302         cdmm(i) = coeffs(1)
    310303         cdhh(i) = coeffs(2)
     
    313306         write(*,*) "clc_core cd ch",cdmm(i),cdhh(i)
    314307
    315 !------------------                 Pour ECUME                 --------------------     
     308!------------------                 Pour ECUME                 --------------------
    316309       ELSE IF ((choix_bulk .eq. 4) .and. (nsrf .eq. is_oce)) THEN
    317310         OPRECIP = .false.
     
    328321             PCH,PCE,PRI,PRESA,prain,&
    329322             z_0h,OPERTFLUX,coeffs)
    330        
     323
    331324         cdmm(i) = coeffs(1)
    332325         cdhh(i) = coeffs(2)
    333326         cdm(i)=cdmm(i)
    334          cdh(i)=cdhh(i) 
     327         cdh(i)=cdhh(i)
    335328   
    336329         write(*,*) "ecume cd ch",cdmm(i),cdhh(i)
    337        
     330
    338331!------------------                 Pour COARE CNRM                 --------------------
    339332       ELSE IF ((choix_bulk .eq. 5) .and. (nsrf .eq. is_oce)) THEN
     
    356349           pblh(i) = 1500.
    357350         ENDIF
    358         write(*,*) "debug size",size(coeffs)
     351        write(*,*) "debug size",size(coeffs)
    359352         call coare_cp(sqrt(zdu2),t1(i)-tsurf(i),q1(i)-qsurf(i),&
    360                  t1(i),q1(i),&
    361                  zgeop1(i)/RG,zgeop1(i)/RG,zgeop1(i)/RG,&
    362                  psol(i), pblh(i),&
    363                  nit_bulk,&
    364                  coeffs,z_0m,z_0h)
     353               t1(i),q1(i),&
     354               zgeop1(i)/RG,zgeop1(i)/RG,zgeop1(i)/RG,&
     355               psol(i), pblh(i),&
     356               nit_bulk,&
     357               coeffs,z_0m,z_0h)
    365358         cdmm(i) = coeffs(1)
    366359         cdhh(i) = coeffs(3)
     
    375368         ENDIF
    376369       ENDIF
     370     
    377371
    378372!----------------------- Rajout des itérations --------------
     
    414408                  sm(i) = 2./rpi * (cinf - cn) * atan(-zri(i)/ri0) + cn
    415409                  prandtl(i) = -2./rpi * (pr_asym - pr_neut) * atan(zri(i)/ri1) + pr_neut
    416                   FM(i) = MAX((sm(i)**(3/2) * sqrt(cepsilon) * (1 - zri(i) / prandtl(i))**(1/2)),f_ri_cd_min)
     410                  FM(i) = MAX((sm(i)**(3./2.) * sqrt(cepsilon) * (1 - zri(i) / prandtl(i))**(1./2.)),f_ri_cd_min)
    417411                  FH(i) = MAX((FM(i) / prandtl(i)), f_ri_cd_min)
    418412             CASE default ! Louis 1982
     
    435429             cdmm(i)=MIN(cdmm(i),cdmmax)
    436430             cdhh(i)=MIN(cdhh(i),cdhmax)
    437              write(*,*) "LMDZ cd ch",cdmm(i),cdhh(i)
     431!             write(*,*) "LMDZ cd ch",cdmm(i),cdhh(i)
    438432           END IF
    439433         ELSE                         
     
    473467                  sm(i) = MAX(0.,cn*(1.-zri(i)/ric))
    474468                  prandtl(i) = pr_neut + zri(i) * pr_slope
    475                   FM(i) = MAX((sm(i)**(3/2) * sqrt(cepsilon) * (1 - zri(i) / prandtl(i))**(1/2)),f_ri_cd_min)
     469                  FM(i) = MAX((sm(i)**(3./2.) * sqrt(cepsilon) * (1 - zri(i) / prandtl(i))**(1./2.)),f_ri_cd_min)
    476470                  FH(i) = MAX((FM(i) / prandtl(i)), f_ri_cd_min)
    477471             CASE default ! Louis 1982
     
    480474                  FH(i)= AMAX1(1./ (1.+3.*CB*zri(i)*zscf), f_ri_cd_min )
    481475           END SELECT
     476
    482477! Calcul des drags
     478           
    483479           cdmm(i)=cdmn(i)*FM(i)
    484480           cdhh(i)=f_cdrag_ter*cdhn(i)*FH(i)
     481           IF (choix_bulk == 0) THEN
     482             cdm(i)=cdmn(i)*FM(i)
     483             cdh(i)=f_cdrag_ter*cdhn(i)*FH(i)
     484           ENDIF
     485
    485486           IF (nsrf.EQ.is_oce) THEN
    486487             cdhh(i)=f_cdrag_oce*cdhn(i)*FH(i)
     
    554555                 sm(i) = 2./rpi * (cinf - cn) * atan(-zri(i)/ri0) + cn
    555556                 prandtl(i) = -2./rpi * (pr_asym - pr_neut) * atan(zri(i)/ri1) + pr_neut
    556                  FM(i) = MAX((sm(i)**(3/2) * sqrt(cepsilon) * (1 - zri(i) / prandtl(i))**(1/2)),f_ri_cd_min)
     557                 FM(i) = MAX((sm(i)**(3./2.) * sqrt(cepsilon) * (1 - zri(i) / prandtl(i))**(1./2.)),f_ri_cd_min)
    557558                 FH(i) = MAX((FM(i) / prandtl(i)), f_ri_cd_min)
    558559           CASE default ! Louis 1982
     
    600601                sm(i) = MAX(0.,cn*(1.-zri(i)/ric))
    601602                prandtl(i) = pr_neut + zri(i) * pr_slope
    602                 FM(i) = MAX((sm(i)**(3/2) * sqrt(cepsilon) * (1 - zri(i) / prandtl(i))**(1/2)),f_ri_cd_min)
     603                FM(i) = MAX((sm(i)**(3./2.) * sqrt(cepsilon) * (1 - zri(i) / prandtl(i))**(1./2.)),f_ri_cd_min)
    603604                FH(i) = MAX((FM(i) / prandtl(i)), f_ri_cd_min)
    604605           CASE default ! Louis 1982
  • LMDZ6/branches/LMDZ_cdrag_LSCE/libf/phylmd/pbl_surface_mod.F90

    r4661 r4662  
    10491049!albedo SB <<<
    10501050    yrain_f = 0.0 ; ysnow_f = 0.0    ; yfder = 0.0     ; ysolsw = 0.0
    1051     ysollw = 0.0  ; yz0m = 0.0 ; yz0h = 0.0    ; yu1 = 0.0   
     1051    ysollw = 0.0  ; yz0m = 0.0 ; yz0h = 0.0    ; yz0h_oupas = 0.0 ; yu1 = 0.0   
    10521052    yv1 = 0.0     ; ypaprs = 0.0     ; ypplay = 0.0
    10531053    ydelp = 0.0   ; yu = 0.0         ; yv = 0.0        ; yt = 0.0         
     
    29882988       IF (iflag_split .eq.0) THEN
    29892989        IF (iflag_new_t2mq2m==1) THEN
    2990          CALL stdlevvarn(klon, knon, nsrf, zxli, &
     2990           CALL stdlevvarn(klon, knon, nsrf, zxli, &
    29912991            uzon, vmer, tair1, qair1, zgeo1, &
    29922992            tairsol, qairsol, yz0m, yz0h_oupas, psfce, patm, &
Note: See TracChangeset for help on using the changeset viewer.