- Timestamp:
- 2011-02-11T15:13:52+01:00 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/ORCHIDEE_EXT/ORCHIDEE/src_parameters/pft_parameters.f90
r72 r101 386 386 SUBROUTINE pft_main 387 387 388 IMPLICIT NONE 389 388 390 ! Local 389 391 INTEGER(i_std) :: i 390 391 392 392 393 393 !---------------------- … … 461 461 !- pheno_gdd_crit 462 462 pheno_gdd_crit(:,:) = zero 463 pheno_gdd_crit(:,1) = pheno_gdd_crit_c 464 pheno_gdd_crit(:,2) = pheno_gdd_crit_b465 pheno_gdd_crit(:,3) = pheno_gdd_crit_a463 !!$ pheno_gdd_crit(:,1) = pheno_gdd_crit_c(:) 464 !!$ pheno_gdd_crit(:,2) = pheno_gdd_crit_b(:) 465 !!$ pheno_gdd_crit(:,3) = pheno_gdd_crit_a(:) 466 466 ! 467 467 !- senescence_temp 468 468 senescence_temp(:,:) = zero 469 senescence_temp(:,1) = senescence_temp_c 470 senescence_temp(:,2) = senescence_temp_b 471 senescence_temp(:,3) = senescence_temp_a 469 !!$ senescence_temp(:,1) = senescence_temp_c(:) 470 !!$ senescence_temp(:,2) = senescence_temp_b(:) 471 !!$ senescence_temp(:,3) = senescence_temp_a(:) 472 472 ! 473 473 !- maint_resp_slope 474 474 maint_resp_slope(:,:) = zero 475 maint_resp_slope(:,1)= maint_resp_slope_c476 maint_resp_slope(:,2) = maint_resp_slope_b 477 maint_resp_slope(:,3) = maint_resp_slope_a 475 !!$ maint_resp_slope(:,1)= maint_resp_slope_c(:) 476 !!$ maint_resp_slope(:,2) = maint_resp_slope_b(:) 477 !!$ maint_resp_slope(:,3) = maint_resp_slope_a(:) 478 478 ! 479 479 !-coeff_maint_zero 480 coeff_maint_zero 481 coeff_maint_zero(:,ileaf) = cm_zero_leaf 482 coeff_maint_zero(:,isapabove) = cm_zero_sapabove 483 coeff_maint_zero(:,isapbelow) = cm_zero_sapbelow 484 coeff_maint_zero(:,iheartabove) = cm_zero_heartabove 485 coeff_maint_zero(:,iheartbelow) = cm_zero_heartbelow 486 coeff_maint_zero(:,iroot) = cm_zero_root 487 coeff_maint_zero(:,ifruit) = cm_zero_fruit 488 coeff_maint_zero(:,icarbres) = cm_zero_carbres 480 coeff_maint_zero(:,:) = zero 481 !!$ coeff_maint_zero(:,ileaf) = cm_zero_leaf(:) 482 !!$ coeff_maint_zero(:,isapabove) = cm_zero_sapabove(:) 483 !!$ coeff_maint_zero(:,isapbelow) = cm_zero_sapbelow(:) 484 !!$ coeff_maint_zero(:,iheartabove) = cm_zero_heartabove(:) 485 !!$ coeff_maint_zero(:,iheartbelow) = cm_zero_heartbelow(:) 486 !!$ coeff_maint_zero(:,iroot) = cm_zero_root(:) 487 !!$ coeff_maint_zero(:,ifruit) = cm_zero_fruit(:) 488 !!$ coeff_maint_zero(:,icarbres) = cm_zero_carbres(:) 489 489 ! 490 490 !-alb_leaf 491 alb_leaf(1:nvm) = alb_leaf_vis(1:nvm) 492 DO i = nvm+1, 2*nvm 493 alb_leaf(i) = alb_leaf_nir(i-nvm) 494 ENDDO 491 alb_leaf(:) = zero 492 !!$ alb_leaf(1:nvm) = alb_leaf_vis(1:nvm) 493 !!$ DO i = nvm+1, 2*nvm 494 !!$ alb_leaf(i) = alb_leaf_nir(i-nvm) 495 !!$ ENDDO 495 496 !- pref_soil_veg (see slowproc) 496 497 497 498 498 ELSE … … 503 503 504 504 ENDIF 505 506 507 508 505 509 506 END SUBROUTINE pft_main … … 513 510 SUBROUTINE pft_init 514 511 512 IMPLICIT NONE 513 515 514 !------------ 516 515 ! local … … 526 525 ! 1 .Sechiba 527 526 !- 528 veget_ori_fixed_test_1 = zero527 veget_ori_fixed_test_1(:) = zero 529 528 llaimax(:) = zero 530 529 llaimin(:) = zero … … 657 656 alb_leaf_vis(:) = zero 658 657 alb_leaf_nir(:) = zero 659 alb_leaf(:) = zero660 658 !------------------------ 661 659 ! Soil - vegetation … … 739 737 ! Respiration - stomate 740 738 !---------------------- 741 maint_resp_slope_c = maint_resp_slope_c_mtc(pft_to_mtc(j))742 maint_resp_slope_b = maint_resp_slope_b_mtc(pft_to_mtc(j))743 maint_resp_slope_a = maint_resp_slope_a_mtc(pft_to_mtc(j))739 maint_resp_slope_c(j) = maint_resp_slope_c_mtc(pft_to_mtc(j)) 740 maint_resp_slope_b(j) = maint_resp_slope_b_mtc(pft_to_mtc(j)) 741 maint_resp_slope_a(j) = maint_resp_slope_a_mtc(pft_to_mtc(j)) 744 742 cm_zero_leaf(j)= cm_zero_leaf_mtc(pft_to_mtc(j)) 745 743 cm_zero_sapabove(j) = cm_zero_sapabove_mtc(pft_to_mtc(j)) … … 747 745 cm_zero_heartabove(j) = cm_zero_heartabove_mtc(pft_to_mtc(j)) 748 746 cm_zero_heartbelow(j) = cm_zero_heartbelow_mtc(pft_to_mtc(j)) 749 cm_zero_root(j) = cm_zero_root_mtc(pft_to_mtc(j))750 cm_zero_fruit(j) = cm_zero_fruit_mtc(pft_to_mtc(j))747 cm_zero_root(j) = cm_zero_root_mtc(pft_to_mtc(j)) 748 cm_zero_fruit(j) = cm_zero_fruit_mtc(pft_to_mtc(j)) 751 749 cm_zero_carbres(j) = cm_zero_carbres_mtc(pft_to_mtc(j)) 752 750 !---------------- … … 841 839 rveg_pft(j) = rveg_mtc(pft_to_mtc(j)) 842 840 843 841 ! end loop over nvm 844 842 ENDDO 845 846 843 847 844 END SUBROUTINE pft_init … … 851 848 SUBROUTINE pft_alloc 852 849 850 IMPLICIT NONE 853 851 !------------------ 854 852 ! local … … 1083 1081 ALLOCATE (rveg_pft(nvm),stat=ier) 1084 1082 l_error = l_error .OR. (ier .NE. 0) 1085 1086 1087 1083 ! 1088 1084 IF (l_error) THEN 1089 1085 STOP 'pft _alloc : error in memory allocation' … … 1221 1217 IF (ALLOCATED(rveg_pft))DEALLOCATE(rveg_pft) 1222 1218 1223 1224 1219 END SUBROUTINE pft_clear 1225 1220 ! 1221 != 1222 ! 1226 1223 SUBROUTINE getin_sechiba_pft_parameters 1224 1225 IMPLICIT NONE 1227 1226 1228 LOGICAL, SAVE :: first_call = .TRUE.1227 LOGICAL, SAVE :: first_call = .TRUE. 1229 1228 1230 1229 IF(first_call) THEN … … 1254 1253 CALL getin('CO2_TMAX_FIX',co2_tmax_fix) 1255 1254 CALL getin('EXT_COEFF',ext_coeff) 1256 1257 1255 !------------------------------- 1258 1256 ! Evapotranspiration - sechiba … … 1261 1259 CALL getin('RSTRUCT_CONST',rstruct_const) 1262 1260 CALL getin('KZERO',kzero) 1263 1261 CALL getin('RVEG_PFT', rveg_pft) 1264 1262 !------------------- 1265 1263 ! Water - sechiba … … 1267 1265 ! 1268 1266 CALL getin('WMAX_VEG',wmax_veg) 1267 CALL getin("HYDROL_HUMCSTE", humcste) 1269 1268 ! humcste is called in slowproc.f90 (problem with the flag) 1270 1271 1269 !------------------ 1272 1270 ! Albedo - sechiba … … 1286 1284 CALL getin('PREF_SOIL_VEG_CLAY',pref_soil_veg_clay) 1287 1285 1286 first_call = .FALSE. 1287 1288 1288 ENDIF 1289 1289 1290 1290 END SUBROUTINE getin_sechiba_pft_parameters 1291 1292 1291 ! 1292 != 1293 ! 1293 1294 SUBROUTINE getin_stomate_pft_parameters 1295 1296 IMPLICIT NONE 1294 1297 1295 1298 LOGICAL, SAVE :: first_call = .TRUE. … … 1304 1307 CALL getin('SLA',sla) 1305 1308 CALL getin('NATURAL',natural) 1306 1307 1309 !----------------- 1308 1310 ! Photosynthesis … … 1320 1322 CALL getin('TPHOTO_MAX_B',tphoto_max_b) 1321 1323 CALL getin('TPHOTO_MAX_C',tphoto_max_c) 1322 1323 1324 !---------------------- 1324 1325 ! Respiration - stomate … … 1343 1344 CALL getin('FLAM',flam) 1344 1345 CALL getin('RESIST',resist) 1345 1346 1346 !---------------- 1347 1347 ! Flux - LUC … … 1392 1392 CALL getin('SENESCENCE_TEMP_B',senescence_temp_b) 1393 1393 CALL getin('SENESCENCE_TEMP_A',senescence_temp_a) 1394 1395 1394 !----------- 1396 1395 ! DGVM … … 1399 1398 CALL getin('TMIN_CRIT',tmin_crit) 1400 1399 CALL getin('TCM_CRIT',tcm_crit) 1400 1401 first_call = .FALSE. 1401 1402 1402 1403 ENDIF 1403 1404 1404 1405 END SUBROUTINE getin_stomate_pft_parameters 1405 1406 1406 1407 END MODULE pft_parameters
Note: See TracChangeset
for help on using the changeset viewer.