Changeset 381


Ignore:
Timestamp:
2011-08-01T15:40:24+02:00 (13 years ago)
Author:
didier.solyga
Message:

Merge revisions 370 to 372 from the trunk in the externalized version

Location:
branches/ORCHIDEE_EXT/ORCHIDEE
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/ORCHIDEE_EXT/ORCHIDEE/src_parallel/transfert_para.f90

    r303 r381  
    196196  IMPLICIT NONE 
    197197    LOGICAL,INTENT(INOUT) :: Var 
    198     
    199 #ifndef CPP_PARA 
    200     RETURN 
    201 #else 
    202     CALL bcast_lgen(Var,1) 
     198    LOGICAL,DIMENSION(1) :: Var1 
     199#ifndef CPP_PARA 
     200    RETURN 
     201#else 
     202    IF (is_root_prc) & 
     203         Var1(1)=Var 
     204    CALL bcast_lgen(Var1,1) 
     205    Var=Var1(1) 
    203206#endif 
    204207  END SUBROUTINE bcast_l 
  • branches/ORCHIDEE_EXT/ORCHIDEE/src_sechiba/slowproc.f90

    r326 r381  
    25642564          !    et PFT naturel / (somme des vegets - somme des vegets anthropiques) 
    25652565          !       est conservee. 
    2566           ! Sum veget_next = old (sum veget_next Naturel) + (sum veget_next Anthropic)  
    2567           !           = new (sum veget_next Naturel) + (sum veget_next Anthropic) 
    2568           !    a / (S-A) = e / (S-B) ; b/(S-A) = f/(S-B) 
     2566          ! Modification de Nathalie :  
     2567          ! Si les PFTs anthropique diminue, on les remplace plutôt par du sol nu. 
     2568          ! Le DGVM est chargé de ré-introduire les PFTs naturels. 
    25692569          IF (sumf > min_sechiba) THEN 
    25702570             sumvAnthro_old = zero 
     
    25732573                IF ( .NOT. natural(jv) ) THEN 
    25742574                   veget_next(ib,jv) = veget_next(ib,jv) / sumf 
    2575                    sumvAnthro = sumvAnthro + veget_last(ib,jv) 
     2575                   sumvAnthro = sumvAnthro + veget_next(ib,jv) 
    25762576                   sumvAnthro_old = sumvAnthro_old + veget_last(ib,jv) 
    25772577                ENDIF 
    25782578             ENDDO 
    2579              ! conservation : 
    2580              rapport = ( sum_veg - sumvAnthro ) / ( sum_veg - sumvAnthro_old ) 
    2581              DO jv = 1, nvm 
    2582                 IF ( natural(jv) ) THEN 
    2583                    veget_next(ib,jv) = veget_last(ib,jv) * rapport 
    2584                 ENDIF 
    2585              ENDDO 
     2579 
     2580             IF ( sumvAnthro_old < sumvAnthro ) THEN 
     2581                ! deforestation 
     2582                ! conservation : 
     2583                rapport = ( sum_veg - sumvAnthro ) / ( sum_veg - sumvAnthro_old ) 
     2584                DO jv = 1, nvm 
     2585                   IF ( natural(jv) ) THEN 
     2586                      veget_next(ib,jv) = veget_last(ib,jv) * rapport 
     2587                   ENDIF 
     2588                ENDDO 
     2589             ELSE 
     2590                ! reforestation 
     2591                DO jv = 1, nvm 
     2592                   IF ( natural(jv) ) THEN 
     2593                      veget_next(ib,jv) = veget_last(ib,jv) 
     2594                   ENDIF 
     2595                ENDDO 
     2596                veget_next(ib,1) = veget_next(ib,1) + sumvAnthro_old - sumvAnthro 
     2597             ENDIF 
     2598 
    25862599             ! test 
    25872600             IF ( ABS( SUM(veget_next(ib,:)) - sum_veg ) > 10*EPSILON(un) ) THEN 
     
    25892602                WRITE(numout,*) "last sum of veget ",sum_veg," new sum of veget ",SUM(veget_next(ib,:))," error : ",& 
    25902603                     &                         SUM(veget_next(ib,:)) - sum_veg 
    2591                 WRITE(numout,*) "Anthropic modifications : last ",sumvAnthro_old," new ",sumvAnthro   
     2604                WRITE(numout,*) "Anthropic modifications : last ",sumvAnthro_old," new ",sumvAnthro      
    25922605                CALL ipslerr (3,'slowproc_update', & 
    25932606                     &          'No conservation of sum of veget_next', & 
    25942607                     &          "The sum of veget_next is different after reading Land Use map.", & 
    2595                   &          '(verify the dgvm case model.)') 
     2608                     &          '(verify the dgvm case model.)') 
    25962609             ENDIF 
    25972610          ELSE 
     
    27702783    ! 
    27712784    IF (MAXVAL(vegmap) .LT. nolson) THEN 
    2772        WRITE(*,*) 'WARNING -- WARNING' 
    2773        WRITE(*,*) 'The vegetation map has to few vegetation types.' 
    2774        WRITE(*,*) 'If you are lucky it will work but please check' 
     2785       WRITE(numout,*) 'WARNING -- WARNING' 
     2786       WRITE(numout,*) 'The vegetation map has to few vegetation types.' 
     2787       WRITE(numout,*) 'If you are lucky it will work but please check' 
    27752788    ELSE IF ( MAXVAL(vegmap) .GT. nolson) THEN 
    2776        WRITE(*,*) 'More vegetation types in file than the code can' 
    2777        WRITE(*,*) 'deal with.: ',  MAXVAL(vegmap),  nolson 
     2789       WRITE(numout,*) 'More vegetation types in file than the code can' 
     2790       WRITE(numout,*) 'deal with.: ',  MAXVAL(vegmap),  nolson 
    27782791       STOP 'slowproc_interpol' 
    27792792    ENDIF 
  • branches/ORCHIDEE_EXT/ORCHIDEE/src_stomate/stomate.f90

    r366 r381  
    17061706    ! allocation error 
    17071707    LOGICAL                                     :: l_error 
    1708     ! Global world fraction of vegetation type map 
    1709     REAL(r_std),DIMENSION(360,180,nvm)           :: veget_ori_on_disk 
    17101708    INTEGER(i_std)                              :: ier 
    17111709    ! indices 
Note: See TracChangeset for help on using the changeset viewer.