Changeset 4285 for LMDZ6/trunk


Ignore:
Timestamp:
Sep 27, 2022, 10:39:25 AM (2 years ago)
Author:
jghattas
Message:

Reported modifications done in rev [4283] into phydlmdiso which now compiles again.

Location:
LMDZ6/trunk/libf/phylmdiso
Files:
1 added
3 edited

Legend:

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

    r4143 r4285  
    1414  USE mod_grid_phy_lmdz,   ONLY : klon_glo
    1515  USE ioipsl
    16   USE surface_data,        ONLY : type_ocean, ok_veget
     16  USE surface_data,        ONLY : type_ocean, ok_veget, landice_opt
    1717  USE surf_land_mod,       ONLY : surf_land
    1818  USE surf_landice_mod,    ONLY : surf_landice
     
    23822382       CASE(is_lic)
    23832383          ! Martin
    2384           CALL surf_landice(itap, dtime, knon, ni, &
    2385                rlon, rlat, debut, lafin, &
    2386                yrmu0, ylwdown, yalb, zgeo1, &
    2387                ysolsw, ysollw, yts, ypplay(:,1), &
    2388 !!jyg               ycdragh, ycdragm, yrain_f, ysnow_f, yt(:,1), yq(:,1),&
    2389                ycdragh, ycdragm, yrain_f, ysnow_f, yt1, yq1,&
    2390                AcoefH, AcoefQ, BcoefH, BcoefQ, &
    2391                AcoefU, AcoefV, BcoefU, BcoefV, &
    2392                ypsref, yu1, yv1, ygustiness, yrugoro, pctsrf, &
    2393                ysnow, yqsurf, yqsol, yagesno, &
    2394                ytsoil, yz0m, yz0h, SFRWL, yalb_dir_new, yalb_dif_new, yevap,yfluxsens,yfluxlat, &
    2395                ytsurf_new, y_dflux_t, y_dflux_q, &
    2396                yzmea, yzsig, ycldt, &
    2397                ysnowhgt, yqsnow, ytoice, ysissnow, &
    2398                yalb3_new, yrunoff, &
    2399                y_flux_u1, y_flux_v1 &
    2400 #ifdef ISO
    2401            &    ,yxtrain_f, yxtsnow_f,yxt1,yRland_ice &
    2402            &    ,yxtsnow,yxtsol,yxtevap &
     2384          IF (landice_opt .LT. 2) THEN
     2385             ! Land ice is treated by LMDZ and not by ORCHIDEE
     2386             
     2387             CALL surf_landice(itap, dtime, knon, ni, &
     2388                  rlon, rlat, debut, lafin, &
     2389                  yrmu0, ylwdown, yalb, zgeo1, &
     2390                  ysolsw, ysollw, yts, ypplay(:,1), &
     2391                  !!jyg               ycdragh, ycdragm, yrain_f, ysnow_f, yt(:,1), yq(:,1),&
     2392                  ycdragh, ycdragm, yrain_f, ysnow_f, yt1, yq1,&
     2393                  AcoefH, AcoefQ, BcoefH, BcoefQ, &
     2394                  AcoefU, AcoefV, BcoefU, BcoefV, &
     2395                  ypsref, yu1, yv1, ygustiness, yrugoro, pctsrf, &
     2396                  ysnow, yqsurf, yqsol, yagesno, &
     2397                  ytsoil, yz0m, yz0h, SFRWL, yalb_dir_new, yalb_dif_new, yevap,yfluxsens,yfluxlat, &
     2398                  ytsurf_new, y_dflux_t, y_dflux_q, &
     2399                  yzmea, yzsig, ycldt, &
     2400                  ysnowhgt, yqsnow, ytoice, ysissnow, &
     2401                  yalb3_new, yrunoff, &
     2402                  y_flux_u1, y_flux_v1 &
     2403#ifdef ISO
     2404                  &    ,yxtrain_f, yxtsnow_f,yxt1,yRland_ice &
     2405                  &    ,yxtsnow,yxtsol,yxtevap &
    24032406#endif             
    2404            &    )
    2405 
    2406 !jyg<
    2407 !!          alb3_lic(:)=0.
    2408 !>jyg
    2409           DO j = 1, knon
    2410              i = ni(j)
    2411              alb3_lic(i) = yalb3_new(j)
    2412              snowhgt(i)   = ysnowhgt(j)
    2413              qsnow(i)     = yqsnow(j)
    2414              to_ice(i)    = ytoice(j)
    2415              sissnow(i)   = ysissnow(j)
    2416              runoff(i)    = yrunoff(j)
    2417           ENDDO
    2418           ! Martin
    2419 ! Special DICE MPL 05082013 puis BOMEX MPL 20150410
    2420        IF (ok_prescr_ust) THEN
    2421           DO j=1,knon
    2422           y_flux_u1(j)=ycdragm(j)*(1.+sqrt(yu(j,1)*yu(j,1)+yv(j,1)*yv(j,1)))*yu(j,1)*ypplay(j,1)/RD/yt(j,1)
    2423           y_flux_v1(j)=ycdragm(j)*(1.+sqrt(yu(j,1)*yu(j,1)+yv(j,1)*yv(j,1)))*yv(j,1)*ypplay(j,1)/RD/yt(j,1)
    2424           ENDDO
    2425       ENDIF
    2426 
     2407                  &    )
     2408             
     2409             !jyg<
     2410             !!          alb3_lic(:)=0.
     2411             !>jyg
     2412             DO j = 1, knon
     2413                i = ni(j)
     2414                alb3_lic(i) = yalb3_new(j)
     2415                snowhgt(i)   = ysnowhgt(j)
     2416                qsnow(i)     = yqsnow(j)
     2417                to_ice(i)    = ytoice(j)
     2418                sissnow(i)   = ysissnow(j)
     2419                runoff(i)    = yrunoff(j)
     2420             ENDDO
     2421             ! Martin
     2422             ! Special DICE MPL 05082013 puis BOMEX MPL 20150410
     2423             IF (ok_prescr_ust) THEN
     2424                DO j=1,knon
     2425                   y_flux_u1(j)=ycdragm(j)*(1.+sqrt(yu(j,1)*yu(j,1)+yv(j,1)*yv(j,1)))*yu(j,1)*ypplay(j,1)/RD/yt(j,1)
     2426                   y_flux_v1(j)=ycdragm(j)*(1.+sqrt(yu(j,1)*yu(j,1)+yv(j,1)*yv(j,1)))*yv(j,1)*ypplay(j,1)/RD/yt(j,1)
     2427                ENDDO
     2428             ENDIF
     2429             
    24272430#ifdef ISOVERIF
    2428         do j=1,knon
    2429           do ixt=1,ntraciso
    2430             call iso_verif_noNaN(yxtevap(ixt,j), &
    2431          &      'pbl_surface 1095a: apres surf_landice')
    2432             call iso_verif_noNaN(yxtsol(ixt,j), &
    2433          &      'pbl_surface 1095b: apres surf_landice')
    2434           enddo
    2435         enddo
     2431             do j=1,knon
     2432                do ixt=1,ntraciso
     2433                   call iso_verif_noNaN(yxtevap(ixt,j), &
     2434                        &      'pbl_surface 1095a: apres surf_landice')
     2435                   call iso_verif_noNaN(yxtsol(ixt,j), &
     2436                        &      'pbl_surface 1095b: apres surf_landice')
     2437                enddo
     2438             enddo
    24362439#endif
    24372440#ifdef ISOVERIF
    2438         !write(*,*) 'pbl_surface_mod 1060: sortie surf_landice'
    2439         do j=1,knon
    2440           if (iso_eau.gt.0) then     
    2441                  call iso_verif_egalite(yxtsnow(iso_eau,j), &
    2442      &                  ysnow(j),'pbl_surf_mod 1064')
    2443            endif !if (iso_eau.gt.0) then
    2444         enddo !do i=1,klon
    2445 #endif
    2446          
     2441             !write(*,*) 'pbl_surface_mod 1060: sortie surf_landice'
     2442             do j=1,knon
     2443                if (iso_eau.gt.0) then     
     2444                   call iso_verif_egalite(yxtsnow(iso_eau,j), &
     2445                        &                  ysnow(j),'pbl_surf_mod 1064')
     2446                endif !if (iso_eau.gt.0) then
     2447             enddo !do i=1,klon
     2448#endif
     2449          END IF
    24472450       CASE(is_oce)
    24482451           CALL surf_ocean(rlon, rlat, ysolsw, ysollw, yalb_vis, &
  • LMDZ6/trunk/libf/phylmdiso/surf_land_mod.F90

    r4143 r4285  
    3030    USE dimphy
    3131    USE surface_data, ONLY    : ok_veget
    32 ! >> PC
    3332    USE carbon_cycle_mod
    34 ! << PC
    3533
    3634    ! See comments in each module surf_land_orchidee_xxx for compatiblity with ORCHIDEE
     
    5149    USE surf_land_orchidee_nounstruct_mod
    5250#else
     51#if ORCHIDEE_NOLIC
     52    ! Compilation with cpp key ORCHIDEE_NOLIC
     53    USE surf_land_orchidee_nolic_mod
     54#else
     55    ! Default version#else
    5356    USE surf_land_orchidee_mod
     57#endif
    5458#endif
    5559#endif
     
    6771#endif
    6872#endif
    69 
    70 ! >> PC
     73   
    7174    USE print_control_mod, ONLY: lunout
    72 ! << PC
    7375
    7476    INCLUDE "dimsoil.h"
  • LMDZ6/trunk/libf/phylmdiso/surf_landice_mod.F90

    r4143 r4285  
    144144    INTEGER                  :: i,j,nt
    145145    REAL, DIMENSION(klon)    :: fqfonte,ffonte
     146    REAL, DIMENSION(klon)    :: run_off_lic_frac
    146147#ifdef ISO       
    147148      real, parameter :: t_coup = 273.15
     
    484485! Send run-off on land-ice to coupler if coupled ocean.
    485486! run_off_lic has been calculated in fonte_neige or surf_inlandsis
    486 !
    487 !****************************************************************************************
    488     IF (type_ocean=='couple') THEN
    489        CALL cpl_send_landice_fields(itime, knon, knindex, run_off_lic)
     487! If landice_opt>=2, corresponding call is done from surf_land_orchidee
     488!****************************************************************************************
     489    IF (type_ocean=='couple' .AND. landice_opt .LT. 2) THEN
     490       ! Compress fraction where run_off_lic is active (here all pctsrf(is_lic))
     491       run_off_lic_frac(:)=0.0
     492       DO j = 1, knon
     493          i = knindex(j)
     494          run_off_lic_frac(j) = pctsrf(i,is_lic)
     495       ENDDO
     496       
     497       CALL cpl_send_landice_fields(itime, knon, knindex, run_off_lic, run_off_lic_frac)
    490498    ENDIF
    491499
Note: See TracChangeset for help on using the changeset viewer.