- Timestamp:
- 2011-08-01T15:40:24+02:00 (13 years ago)
- Location:
- branches/ORCHIDEE_EXT/ORCHIDEE
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/ORCHIDEE_EXT/ORCHIDEE/src_parallel/transfert_para.f90
r303 r381 196 196 IMPLICIT NONE 197 197 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) 203 206 #endif 204 207 END SUBROUTINE bcast_l -
branches/ORCHIDEE_EXT/ORCHIDEE/src_sechiba/slowproc.f90
r326 r381 2564 2564 ! et PFT naturel / (somme des vegets - somme des vegets anthropiques) 2565 2565 ! 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. 2569 2569 IF (sumf > min_sechiba) THEN 2570 2570 sumvAnthro_old = zero … … 2573 2573 IF ( .NOT. natural(jv) ) THEN 2574 2574 veget_next(ib,jv) = veget_next(ib,jv) / sumf 2575 sumvAnthro = sumvAnthro + veget_ last(ib,jv)2575 sumvAnthro = sumvAnthro + veget_next(ib,jv) 2576 2576 sumvAnthro_old = sumvAnthro_old + veget_last(ib,jv) 2577 2577 ENDIF 2578 2578 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 2586 2599 ! test 2587 2600 IF ( ABS( SUM(veget_next(ib,:)) - sum_veg ) > 10*EPSILON(un) ) THEN … … 2589 2602 WRITE(numout,*) "last sum of veget ",sum_veg," new sum of veget ",SUM(veget_next(ib,:))," error : ",& 2590 2603 & 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 2592 2605 CALL ipslerr (3,'slowproc_update', & 2593 2606 & 'No conservation of sum of veget_next', & 2594 2607 & "The sum of veget_next is different after reading Land Use map.", & 2595 & '(verify the dgvm case model.)')2608 & '(verify the dgvm case model.)') 2596 2609 ENDIF 2597 2610 ELSE … … 2770 2783 ! 2771 2784 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' 2775 2788 ELSE IF ( MAXVAL(vegmap) .GT. nolson) THEN 2776 WRITE( *,*) 'More vegetation types in file than the code can'2777 WRITE( *,*) 'deal with.: ', MAXVAL(vegmap), nolson2789 WRITE(numout,*) 'More vegetation types in file than the code can' 2790 WRITE(numout,*) 'deal with.: ', MAXVAL(vegmap), nolson 2778 2791 STOP 'slowproc_interpol' 2779 2792 ENDIF -
branches/ORCHIDEE_EXT/ORCHIDEE/src_stomate/stomate.f90
r366 r381 1706 1706 ! allocation error 1707 1707 LOGICAL :: l_error 1708 ! Global world fraction of vegetation type map1709 REAL(r_std),DIMENSION(360,180,nvm) :: veget_ori_on_disk1710 1708 INTEGER(i_std) :: ier 1711 1709 ! indices
Note: See TracChangeset
for help on using the changeset viewer.