Changeset 381 for branches/ORCHIDEE_EXT/ORCHIDEE/src_sechiba
- Timestamp:
- 2011-08-01T15:40:24+02:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
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
Note: See TracChangeset
for help on using the changeset viewer.