48 USE resist, ONLY:
g1,
g2,
g3,
g4,
g5,
g6,
th,
tl,
s1,
s2,
kmax,
gsmodel 76 REAL(KIND(1d0)):: FCskip = -999
80 CHARACTER(len=20):: grid_txt
81 CHARACTER(len=4):: year_txt
82 CHARACTER(len=12)::SsG_YYYY
84 CHARACTER(len=4):: iy_text
85 CHARACTER(len=3):: id_text
86 CHARACTER(len=2):: it_text, imin_text
124 IF (sum(
sfr) > 1.001 .OR. sum(
sfr) < 0.999) &
338 endDLS = INT(SurfaceChar(Gridiv, c_EndDLS))
348 ohm_coef(1:nsurf, 1, 1) = surfacechar(gridiv, c_a1_swet(1:nsurf))
349 ohm_coef(nsurf + 1, 1, 1) = surfacechar(gridiv, c_a1_swet(nsurf + 1))
350 ohm_coef(1:nsurf, 1, 2) = surfacechar(gridiv, c_a2_swet(1:nsurf))
351 ohm_coef(nsurf + 1, 1, 2) = surfacechar(gridiv, c_a2_swet(nsurf + 1))
352 ohm_coef(1:nsurf, 1, 3) = surfacechar(gridiv, c_a3_swet(1:nsurf))
353 ohm_coef(nsurf + 1, 1, 3) = surfacechar(gridiv, c_a3_swet(nsurf + 1))
355 ohm_coef(1:nsurf, 2, 1) = surfacechar(gridiv, c_a1_sdry(1:nsurf))
356 ohm_coef(nsurf + 1, 2, 1) = surfacechar(gridiv, c_a1_sdry(nsurf + 1))
357 ohm_coef(1:nsurf, 2, 2) = surfacechar(gridiv, c_a2_sdry(1:nsurf))
358 ohm_coef(nsurf + 1, 2, 2) = surfacechar(gridiv, c_a2_sdry(nsurf + 1))
359 ohm_coef(1:nsurf, 2, 3) = surfacechar(gridiv, c_a3_sdry(1:nsurf))
360 ohm_coef(nsurf + 1, 2, 3) = surfacechar(gridiv, c_a3_sdry(nsurf + 1))
362 ohm_coef(1:nsurf, 3, 1) = surfacechar(gridiv, c_a1_wwet(1:nsurf))
363 ohm_coef(nsurf + 1, 3, 1) = surfacechar(gridiv, c_a1_wwet(nsurf + 1))
364 ohm_coef(1:nsurf, 3, 2) = surfacechar(gridiv, c_a2_wwet(1:nsurf))
365 ohm_coef(nsurf + 1, 3, 2) = surfacechar(gridiv, c_a2_wwet(nsurf + 1))
366 ohm_coef(1:nsurf, 3, 3) = surfacechar(gridiv, c_a3_wwet(1:nsurf))
367 ohm_coef(nsurf + 1, 3, 3) = surfacechar(gridiv, c_a3_wwet(nsurf + 1))
369 ohm_coef(1:nsurf, 4, 1) = surfacechar(gridiv, c_a1_wdry(1:nsurf))
370 ohm_coef(nsurf + 1, 4, 1) = surfacechar(gridiv, c_a1_wdry(nsurf + 1))
371 ohm_coef(1:nsurf, 4, 2) = surfacechar(gridiv, c_a2_wdry(1:nsurf))
372 ohm_coef(nsurf + 1, 4, 2) = surfacechar(gridiv, c_a2_wdry(nsurf + 1))
373 ohm_coef(1:nsurf, 4, 3) = surfacechar(gridiv, c_a3_wdry(1:nsurf))
374 ohm_coef(nsurf + 1, 4, 3) = surfacechar(gridiv, c_a3_wdry(nsurf + 1))
376 ohm_threshsw(1:nsurf) = surfacechar(gridiv, c_ohmthresh_sw(1:nsurf))
377 ohm_threshsw(nsurf + 1) = surfacechar(gridiv, c_ohmthresh_sw(nsurf + 1))
378 ohm_threshwd(1:nsurf) = surfacechar(gridiv, c_ohmthresh_wd(1:nsurf))
379 ohm_threshwd(nsurf + 1) = surfacechar(gridiv, c_ohmthresh_wd(nsurf + 1))
384 IF (storageheatmethod == 4 .OR. storageheatmethod == 14)
THEN 385 areawall = surfacechar(gridiv, c_areawall)
386 fwall = areawall/surfacearea
389 estmsfr_paved = surfacechar(gridiv, c_fr_estmclass_paved)
390 estmsfr_bldgs = surfacechar(gridiv, c_fr_estmclass_bldgs)
392 IF (sfr(pavsurf) > 0)
THEN 393 IF (sum(estmsfr_paved) > 1.001 .OR. sum(estmsfr_paved) < 0.999)
THEN 394 CALL errorhint(10,
'Surface fractions (Fr_ESTMClass_Paved) should sum to 1.', sum(estmsfr_paved), notused, notusedi)
396 ELSEIF (sfr(pavsurf) == 0)
THEN 397 IF (sum(estmsfr_paved) > 1.001 .OR. sum(estmsfr_paved) < 0.999)
THEN 398 estmsfr_paved(1) = 1.000
399 estmsfr_paved(2:3) = 0.000
400 CALL errorhint(67,
'ESTM Paved classes do not sum to 1 (but no Paved surface present).', &
401 sum(estmsfr_paved), notused, notusedi)
404 IF (sfr(bldgsurf) > 0)
THEN 405 IF (sum(estmsfr_bldgs) > 1.001 .OR. sum(estmsfr_bldgs) < 0.999)
THEN 406 CALL errorhint(10,
'Surface fractions (Fr_ESTMClass_Bldgs) should sum to 1.', sum(estmsfr_bldgs), notused, notusedi)
408 ELSEIF (sfr(bldgsurf) == 0)
THEN 409 IF (sum(estmsfr_bldgs) > 1.001 .OR. sum(estmsfr_bldgs) < 0.999)
THEN 410 estmsfr_bldgs(1) = 1.000
411 estmsfr_bldgs(2:5) = 0.000
412 CALL errorhint(67,
'ESTM Bldgs classes do not sum to 1 (but no Bldgs surface present).', &
413 sum(estmsfr_bldgs), notused, notusedi)
419 IF (surfacechar(gridiv, c_estmcode(pavsurf)) == 0)
THEN 422 zsurf_paved(:, i) = surfacechar(gridiv, (/c_surf_thick1_paved(i), c_surf_thick2_paved(i), c_surf_thick3_paved(i), &
423 c_surf_thick4_paved(i), c_surf_thick5_paved(i)/))
424 ksurf_paved(:, i) = surfacechar(gridiv, (/c_surf_k1_paved(i), c_surf_k2_paved(i), c_surf_k3_paved(i), &
425 c_surf_k4_paved(i), c_surf_k5_paved(i)/))
426 rsurf_paved(:, i) = surfacechar(gridiv, (/c_surf_rhocp1_paved(i), c_surf_rhocp2_paved(i), c_surf_rhocp3_paved(i), &
427 c_surf_rhocp4_paved(i), c_surf_rhocp5_paved(i)/))
430 zsurf_suewssurfs(:, pavsurf) = zsurf_paved(:, 1)*estmsfr_paved(1) &
431 + zsurf_paved(:, 2)*estmsfr_paved(2) &
432 + zsurf_paved(:, 3)*estmsfr_paved(3)
433 ksurf_suewssurfs(:, pavsurf) = ksurf_paved(:, 1)*estmsfr_paved(1) &
434 + ksurf_paved(:, 2)*estmsfr_paved(2) &
435 + ksurf_paved(:, 3)*estmsfr_paved(3)
436 rsurf_suewssurfs(:, pavsurf) = rsurf_paved(:, 1)*estmsfr_paved(1) &
437 + rsurf_paved(:, 2)*estmsfr_paved(2) &
438 + rsurf_paved(:, 3)*estmsfr_paved(3)
439 ELSEIF (surfacechar(gridiv, c_estmcode(pavsurf)) /= 0)
THEN 440 zsurf_suewssurfs(:, pavsurf) = surfacechar(gridiv, &
441 (/c_surf_thick1(pavsurf), c_surf_thick2(pavsurf), c_surf_thick3(pavsurf), &
442 c_surf_thick4(pavsurf), c_surf_thick5(pavsurf)/))
443 ksurf_suewssurfs(:, pavsurf) = surfacechar(gridiv, &
444 (/c_surf_k1(pavsurf), c_surf_k2(pavsurf), c_surf_k3(pavsurf), &
445 c_surf_k4(pavsurf), c_surf_k5(pavsurf)/))
446 rsurf_suewssurfs(:, pavsurf) = surfacechar(gridiv, &
447 (/c_surf_rhocp1(pavsurf), c_surf_rhocp2(pavsurf), c_surf_rhocp3(pavsurf), &
448 c_surf_rhocp4(pavsurf), c_surf_rhocp5(pavsurf)/))
453 IF (surfacechar(gridiv, c_estmcode(bldgsurf)) == 0)
THEN 456 zsurf_bldgs(:, i) = surfacechar(gridiv, (/c_surf_thick1_bldgs(i), c_surf_thick2_bldgs(i), c_surf_thick3_bldgs(i), &
457 c_surf_thick4_bldgs(i), c_surf_thick5_bldgs(i)/))
458 ksurf_bldgs(:, i) = surfacechar(gridiv, (/c_surf_k1_bldgs(i), c_surf_k2_bldgs(i), c_surf_k3_bldgs(i), &
459 c_surf_k4_bldgs(i), c_surf_k5_bldgs(i)/))
460 rsurf_bldgs(:, i) = surfacechar(gridiv, (/c_surf_rhocp1_bldgs(i), c_surf_rhocp2_bldgs(i), c_surf_rhocp3_bldgs(i), &
461 c_surf_rhocp4_bldgs(i), c_surf_rhocp5_bldgs(i)/))
462 zwall_bldgs(:, i) = surfacechar(gridiv, (/c_wall_thick1_bldgs(i), c_wall_thick2_bldgs(i), c_wall_thick3_bldgs(i), &
463 c_wall_thick4_bldgs(i), c_wall_thick5_bldgs(i)/))
464 kwall_bldgs(:, i) = surfacechar(gridiv, (/c_wall_k1_bldgs(i), c_wall_k2_bldgs(i), c_wall_k3_bldgs(i), &
465 c_wall_k4_bldgs(i), c_wall_k5_bldgs(i)/))
466 rwall_bldgs(:, i) = surfacechar(gridiv, (/c_wall_rhocp1_bldgs(i), c_wall_rhocp2_bldgs(i), c_wall_rhocp3_bldgs(i), &
467 c_wall_rhocp4_bldgs(i), c_wall_rhocp5_bldgs(i)/))
468 zibld_bldgs(:, i) = surfacechar(gridiv, (/c_internal_thick1_bldgs(i), c_internal_thick2_bldgs(i), &
469 c_internal_thick3_bldgs(i), &
470 c_internal_thick4_bldgs(i), c_internal_thick5_bldgs(i)/))
471 kibld_bldgs(:, i) = surfacechar(gridiv, (/c_internal_k1_bldgs(i), c_internal_k2_bldgs(i), c_internal_k3_bldgs(i), &
472 c_internal_k4_bldgs(i), c_internal_k5_bldgs(i)/))
473 ribld_bldgs(:, i) = surfacechar(gridiv, (/c_internal_rhocp1_bldgs(i), c_internal_rhocp2_bldgs(i), &
474 c_internal_rhocp3_bldgs(i), &
475 c_internal_rhocp4_bldgs(i), c_internal_rhocp5_bldgs(i)/))
476 nroom_bldgs(i) = surfacechar(gridiv, c_nroom_bldgs(i))
477 alb_ibld_bldgs(i) = surfacechar(gridiv, c_alb_ibld_bldgs(i))
478 em_ibld_bldgs(i) = surfacechar(gridiv, c_em_ibld_bldgs(i))
479 ch_iwall_bldgs(i) = surfacechar(gridiv, c_ch_iwall_bldgs(i))
480 ch_iroof_bldgs(i) = surfacechar(gridiv, c_ch_iroof_bldgs(i))
481 ch_ibld_bldgs(i) = surfacechar(gridiv, c_ch_ibld_bldgs(i))
484 zsurf_suewssurfs(:, bldgsurf) = zsurf_bldgs(:, 1)*estmsfr_bldgs(1) &
485 + zsurf_bldgs(:, 2)*estmsfr_bldgs(2) &
486 + zsurf_bldgs(:, 3)*estmsfr_bldgs(3) &
487 + zsurf_bldgs(:, 4)*estmsfr_bldgs(4) &
488 + zsurf_bldgs(:, 5)*estmsfr_bldgs(5)
489 ksurf_suewssurfs(:, bldgsurf) = ksurf_bldgs(:, 1)*estmsfr_bldgs(1) &
490 + ksurf_bldgs(:, 2)*estmsfr_bldgs(2) &
491 + ksurf_bldgs(:, 3)*estmsfr_bldgs(3) &
492 + ksurf_bldgs(:, 4)*estmsfr_bldgs(4) &
493 + ksurf_bldgs(:, 5)*estmsfr_bldgs(5)
494 rsurf_suewssurfs(:, bldgsurf) = rsurf_bldgs(:, 1)*estmsfr_bldgs(1) &
495 + rsurf_bldgs(:, 2)*estmsfr_bldgs(2) &
496 + rsurf_bldgs(:, 3)*estmsfr_bldgs(3) &
497 + rsurf_bldgs(:, 4)*estmsfr_bldgs(4) &
498 + rsurf_bldgs(:, 5)*estmsfr_bldgs(5)
500 zwall = zwall_bldgs(:, 1)*estmsfr_bldgs(1) &
501 + zwall_bldgs(:, 2)*estmsfr_bldgs(2) &
502 + zwall_bldgs(:, 3)*estmsfr_bldgs(3) &
503 + zwall_bldgs(:, 4)*estmsfr_bldgs(4) &
504 + zwall_bldgs(:, 5)*estmsfr_bldgs(5)
505 kwall = kwall_bldgs(:, 1)*estmsfr_bldgs(1) &
506 + kwall_bldgs(:, 2)*estmsfr_bldgs(2) &
507 + kwall_bldgs(:, 3)*estmsfr_bldgs(3) &
508 + kwall_bldgs(:, 4)*estmsfr_bldgs(4) &
509 + kwall_bldgs(:, 5)*estmsfr_bldgs(5)
510 rwall = rwall_bldgs(:, 1)*estmsfr_bldgs(1) &
511 + rwall_bldgs(:, 2)*estmsfr_bldgs(2) &
512 + rwall_bldgs(:, 3)*estmsfr_bldgs(3) &
513 + rwall_bldgs(:, 4)*estmsfr_bldgs(4) &
514 + rwall_bldgs(:, 5)*estmsfr_bldgs(5)
516 zibld = zibld_bldgs(:, 1)*estmsfr_bldgs(1) &
517 + zibld_bldgs(:, 2)*estmsfr_bldgs(2) &
518 + zibld_bldgs(:, 3)*estmsfr_bldgs(3) &
519 + zibld_bldgs(:, 4)*estmsfr_bldgs(4) &
520 + zibld_bldgs(:, 5)*estmsfr_bldgs(5)
521 kibld = kibld_bldgs(:, 1)*estmsfr_bldgs(1) &
522 + kibld_bldgs(:, 2)*estmsfr_bldgs(2) &
523 + kibld_bldgs(:, 3)*estmsfr_bldgs(3) &
524 + kibld_bldgs(:, 4)*estmsfr_bldgs(4) &
525 + kibld_bldgs(:, 5)*estmsfr_bldgs(5)
526 ribld = ribld_bldgs(:, 1)*estmsfr_bldgs(1) &
527 + ribld_bldgs(:, 2)*estmsfr_bldgs(2) &
528 + ribld_bldgs(:, 3)*estmsfr_bldgs(3) &
529 + ribld_bldgs(:, 4)*estmsfr_bldgs(4) &
530 + ribld_bldgs(:, 5)*estmsfr_bldgs(5)
532 nroom = nroom_bldgs(1)*estmsfr_bldgs(1) &
533 + nroom_bldgs(2)*estmsfr_bldgs(2) &
534 + nroom_bldgs(3)*estmsfr_bldgs(3) &
535 + nroom_bldgs(4)*estmsfr_bldgs(4) &
536 + nroom_bldgs(5)*estmsfr_bldgs(5)
537 alb_ibld = alb_ibld_bldgs(1)*estmsfr_bldgs(1) &
538 + alb_ibld_bldgs(2)*estmsfr_bldgs(2) &
539 + alb_ibld_bldgs(3)*estmsfr_bldgs(3) &
540 + alb_ibld_bldgs(4)*estmsfr_bldgs(4) &
541 + alb_ibld_bldgs(5)*estmsfr_bldgs(5)
542 em_ibld = em_ibld_bldgs(1)*estmsfr_bldgs(1) &
543 + em_ibld_bldgs(2)*estmsfr_bldgs(2) &
544 + em_ibld_bldgs(3)*estmsfr_bldgs(3) &
545 + em_ibld_bldgs(4)*estmsfr_bldgs(4) &
546 + em_ibld_bldgs(5)*estmsfr_bldgs(5)
547 ch_iwall = ch_iwall_bldgs(1)*estmsfr_bldgs(1) &
548 + ch_iwall_bldgs(2)*estmsfr_bldgs(2) &
549 + ch_iwall_bldgs(3)*estmsfr_bldgs(3) &
550 + ch_iwall_bldgs(4)*estmsfr_bldgs(4) &
551 + ch_iwall_bldgs(5)*estmsfr_bldgs(5)
552 ch_iroof = ch_iroof_bldgs(1)*estmsfr_bldgs(1) &
553 + ch_iroof_bldgs(2)*estmsfr_bldgs(2) &
554 + ch_iroof_bldgs(3)*estmsfr_bldgs(3) &
555 + ch_iroof_bldgs(4)*estmsfr_bldgs(4) &
556 + ch_iroof_bldgs(5)*estmsfr_bldgs(5)
557 ch_ibld = ch_ibld_bldgs(1)*estmsfr_bldgs(1) &
558 + ch_ibld_bldgs(2)*estmsfr_bldgs(2) &
559 + ch_ibld_bldgs(3)*estmsfr_bldgs(3) &
560 + ch_ibld_bldgs(4)*estmsfr_bldgs(4) &
561 + ch_ibld_bldgs(5)*estmsfr_bldgs(5)
563 ELSEIF (surfacechar(gridiv, c_estmcode(bldgsurf)) /= 0)
THEN 564 zsurf_suewssurfs(:, bldgsurf) = surfacechar(gridiv, (/c_surf_thick1(bldgsurf), c_surf_thick2(bldgsurf), &
565 c_surf_thick3(bldgsurf), &
566 c_surf_thick4(bldgsurf), c_surf_thick5(bldgsurf)/))
567 ksurf_suewssurfs(:, bldgsurf) = surfacechar(gridiv, (/c_surf_k1(bldgsurf), c_surf_k2(bldgsurf), c_surf_k3(bldgsurf), &
568 c_surf_k4(bldgsurf), c_surf_k5(bldgsurf)/))
569 rsurf_suewssurfs(:, bldgsurf) = surfacechar(gridiv, (/c_surf_rhocp1(bldgsurf), c_surf_rhocp2(bldgsurf), &
570 c_surf_rhocp3(bldgsurf), &
571 c_surf_rhocp4(bldgsurf), c_surf_rhocp5(bldgsurf)/))
572 zwall = surfacechar(gridiv, (/c_wall_thick1, c_wall_thick2, c_wall_thick3, c_wall_thick4, c_wall_thick5/))
573 kwall = surfacechar(gridiv, (/c_wall_k1, c_wall_k2, c_wall_k3, c_wall_k4, c_wall_k5/))
574 rwall = surfacechar(gridiv, (/c_wall_rhocp1, c_wall_rhocp2, c_wall_rhocp3, c_wall_rhocp4, c_wall_rhocp5/))
575 zibld = surfacechar(gridiv, &
576 (/c_internal_thick1, c_internal_thick2, c_internal_thick3, c_internal_thick4, c_internal_thick5/))
577 kibld = surfacechar(gridiv, (/c_internal_k1, c_internal_k2, c_internal_k3, c_internal_k4, c_internal_k5/))
578 ribld = surfacechar(gridiv, &
579 (/c_internal_rhocp1, c_internal_rhocp2, c_internal_rhocp3, c_internal_rhocp4, c_internal_rhocp5/))
581 nroom = surfacechar(gridiv, c_nroom)
582 alb_ibld = surfacechar(gridiv, c_alb_ibld)
583 em_ibld = surfacechar(gridiv, c_em_ibld)
584 ch_iwall = surfacechar(gridiv, c_ch_iwall)
585 ch_iroof = surfacechar(gridiv, c_ch_iroof)
586 ch_ibld = surfacechar(gridiv, c_ch_ibld)
590 DO iv = conifsurf, nsurfincsnow
591 zsurf_suewssurfs(:, iv) = surfacechar(gridiv, (/c_surf_thick1(iv), c_surf_thick2(iv), c_surf_thick3(iv), &
592 c_surf_thick4(iv), c_surf_thick5(iv)/))
593 ksurf_suewssurfs(:, iv) = surfacechar(gridiv, (/c_surf_k1(iv), c_surf_k2(iv), c_surf_k3(iv), &
594 c_surf_k4(iv), c_surf_k5(iv)/))
595 rsurf_suewssurfs(:, iv) = surfacechar(gridiv, (/c_surf_rhocp1(iv), c_surf_rhocp2(iv), c_surf_rhocp3(iv), &
596 c_surf_rhocp4(iv), c_surf_rhocp5(iv)/))
602 froof = sfr(bldgsurf)
604 fground = sfr(pavsurf) + sfr(conifsurf) + sfr(decidsurf) + sfr(grasssurf) + sfr(bsoilsurf) + sfr(watersurf)
606 fveg = sfr(conifsurf) + sfr(decidsurf) + sfr(grasssurf)
613 IF (iv /= bldgsurf .AND. fground /= 0)
THEN 614 zground = zground + zsurf_suewssurfs(:, iv)*sfr(iv)/fground
615 kground = kground + ksurf_suewssurfs(:, iv)*sfr(iv)/fground
616 rground = rground + rsurf_suewssurfs(:, iv)*sfr(iv)/fground
617 ELSEIF (fground == 0.)
THEN 618 zground = zground + 0.01
619 kground = kground + 0.01
620 rground = rground + 0.01
627 zroof = zsurf_suewssurfs(:, bldgsurf)
628 kroof = ksurf_suewssurfs(:, bldgsurf)
629 rroof = rsurf_suewssurfs(:, bldgsurf)
639 IF (zground(i) <= 0)
THEN 645 IF (zroof(i) <= 0)
THEN 651 IF (zwall(i) <= 0)
THEN 657 IF (zibld(i) <= 0)
THEN 665 IF (storageheatmethod == 3)
THEN 666 cpanohm(1:nsurf) = surfacechar(gridiv, c_cpanohm)
667 kkanohm(1:nsurf) = surfacechar(gridiv, c_kkanohm)
668 chanohm(1:nsurf) = surfacechar(gridiv, c_chanohm)
731 basethdd = surfacechar(gridiv, c_basethdd)
732 qf_a = surfacechar(gridiv, (/c_qf_a1, c_qf_a2/))
733 qf_b = surfacechar(gridiv, (/c_qf_b1, c_qf_b2/))
734 qf_c = surfacechar(gridiv, (/c_qf_c1, c_qf_c2/))
735 ah_min = surfacechar(gridiv, (/c_ahmin_wd, c_ahmin_we/))
736 ah_slope_heating = surfacechar(gridiv, (/c_ahslopeheating_wd, c_ahslopeheating_we/))
737 ah_slope_cooling = surfacechar(gridiv, (/c_ahslopecooling_wd, c_ahslopecooling_we/))
738 t_critic_heating = surfacechar(gridiv, (/c_tcriticheating_wd, c_tcriticheating_we/))
739 t_critic_cooling = surfacechar(gridiv, (/c_tcriticcooling_wd, c_tcriticcooling_we/))
740 enprofwd = surfacechar(gridiv, c_enprofwd)
741 enprofwe = surfacechar(gridiv, c_enprofwe)
742 co2mwd = surfacechar(gridiv, c_co2mwd)
743 co2mwe = surfacechar(gridiv, c_co2mwe)
744 traffprofwd = surfacechar(gridiv, c_traffprofwd)
745 traffprofwe = surfacechar(gridiv, c_traffprofwe)
746 popprofwd = surfacechar(gridiv, c_popprofwd)
747 popprofwe = surfacechar(gridiv, c_popprofwe)
748 minqfmetab = surfacechar(gridiv, c_minqfmetab)
749 maxqfmetab = surfacechar(gridiv, c_maxqfmetab)
750 minfcmetab = surfacechar(gridiv, c_minfcmetab)
751 maxfcmetab = surfacechar(gridiv, c_maxfcmetab)
752 frfossilfuel_heat = surfacechar(gridiv, c_frfossilfuel_heat)
753 frfossilfuel_nonheat = surfacechar(gridiv, c_frfossilfuel_nonheat)
754 ef_umolco2perj = surfacechar(gridiv, c_ef_umolco2perj)
755 enef_v_jkm = surfacechar(gridiv, c_enef_v_jkm)
756 fcef_v_kgkm = surfacechar(gridiv, (/c_fcef_v_kgkmwd, c_fcef_v_kgkmwe/))
757 co2pointsource = surfacechar(gridiv, c_co2pointsource)
758 trafficunits = surfacechar(gridiv, c_trafficunits)
761 ie_start = int(surfacechar(gridiv, c_iestart))
762 ie_end = int(surfacechar(gridiv, c_ieend))
763 internalwateruse_h = surfacechar(gridiv, c_intwu)
764 faut = surfacechar(gridiv, c_faut)
765 ie_a = surfacechar(gridiv, c_ie_a)
766 ie_m = surfacechar(gridiv, c_ie_m)
767 daywat = surfacechar(gridiv, c_daywat)
768 daywatper = surfacechar(gridiv, c_daywatper)
771 ahprof_24hr(0:23, 1) = surfacechar(gridiv, c_hrprofenusewd)
772 ahprof_24hr(0:23, 2) = surfacechar(gridiv, c_hrprofenusewe)
773 wuprofm_24hr(0:23, 1) = surfacechar(gridiv, c_hrprofwumanuwd)
774 wuprofm_24hr(0:23, 2) = surfacechar(gridiv, c_hrprofwumanuwe)
775 wuprofa_24hr(0:23, 1) = surfacechar(gridiv, c_hrprofwuautowd)
776 wuprofa_24hr(0:23, 2) = surfacechar(gridiv, c_hrprofwuautowe)
777 snowprof_24hr(0:23, 1) = surfacechar(gridiv, c_hrprofsnowcwd)
778 snowprof_24hr(0:23, 2) = surfacechar(gridiv, c_hrprofsnowcwe)
779 humactivity_24hr(0:23, 1) = surfacechar(gridiv, c_hrprofhumactivitywd)
780 humactivity_24hr(0:23, 2) = surfacechar(gridiv, c_hrprofhumactivitywe)
781 traffprof_24hr(0:23, 1) = surfacechar(gridiv, c_hrproftraffwd)
782 traffprof_24hr(0:23, 2) = surfacechar(gridiv, c_hrproftraffwe)
783 popprof_24hr(0:23, 1) = surfacechar(gridiv, c_hrprofpopwd)
784 popprof_24hr(0:23, 2) = surfacechar(gridiv, c_hrprofpopwe)
806 waterdist(pavsurf, 1:(nsurf - 1)) = surfacechar(gridiv, c_wgtopaved(1:(nsurf - 1)))
807 waterdist(bldgsurf, 1:(nsurf - 1)) = surfacechar(gridiv, c_wgtobldgs(1:(nsurf - 1)))
808 waterdist(conifsurf, 1:(nsurf - 1)) = surfacechar(gridiv, c_wgtoevetr(1:(nsurf - 1)))
809 waterdist(decidsurf, 1:(nsurf - 1)) = surfacechar(gridiv, c_wgtodectr(1:(nsurf - 1)))
810 waterdist(grasssurf, 1:(nsurf - 1)) = surfacechar(gridiv, c_wgtograss(1:(nsurf - 1)))
811 waterdist(bsoilsurf, 1:(nsurf - 1)) = surfacechar(gridiv, c_wgtobsoil(1:(nsurf - 1)))
812 waterdist(watersurf, 1:(nsurf - 1)) = surfacechar(gridiv, c_wgtowater(1:(nsurf - 1)))
814 DO iv = 1, (nsurf - 1)
815 IF (surfacechar(gridiv, c_wgtorunoff(iv)) /= 0)
THEN 816 waterdist((nsurf + 1), iv) = surfacechar(gridiv, c_wgtorunoff(iv))
818 waterdist((nsurf + 1), iv) = surfacechar(gridiv, c_wgtosoilstore(iv))
852 if (snowuse == 1) narp_emis_snow = surfacechar(gridiv, c_snowemis)
854 IF (netradiationmethod > 0)
THEN 855 narp_lat = surfacechar(gridiv, c_lat)
856 narp_long = surfacechar(gridiv, c_lng)
857 narp_year = int(surfacechar(gridiv, c_year))
859 narp_trans_site = trans_site
886 id_prev = int(modeldailystate(gridiv, cmds_id_prev))
888 snowfallcum = modeldailystate(gridiv, cmds_snowfallcum)
889 snowalb = modeldailystate(gridiv, cmds_snowalb)
891 porosity_id = modeldailystate(gridiv, cmds_porosity)
892 albdectr_id = modeldailystate(gridiv, cmds_albdectr)
893 albevetr_id = modeldailystate(gridiv, cmds_albevetr)
894 albgrass_id = modeldailystate(gridiv, cmds_albgrass)
895 decidcap_id = modeldailystate(gridiv, cmds_decidcap)
897 decidcap_id_grids(gridiv) = decidcap_id
898 albdectr_id_grids(gridiv) = albdectr_id
899 albevetr_id_grids(gridiv) = albevetr_id
900 albgrass_id_grids(gridiv) = albgrass_id
901 porosity_id_grids(gridiv) = porosity_id
906 lai_id(ivconif) = modeldailystate(gridiv, cmds_laiinitialevetr)
907 lai_id(ivdecid) = modeldailystate(gridiv, cmds_laiinitialdectr)
908 lai_id(ivgrass) = modeldailystate(gridiv, cmds_laiinitialgrass)
911 gdd_id = modeldailystate(gridiv, cmds_gdd1_0)
913 sdd_id = modeldailystate(gridiv, cmds_gdd2_0)
915 tmin_id = modeldailystate(gridiv, cmds_gddmin)
916 tmax_id = modeldailystate(gridiv, cmds_gddmax)
943 hdd_id_grids(:, gridiv) = hdd_id(:)
944 gdd_id_grids(:, gridiv) = gdd_id(:)
945 sdd_id_grids(:, gridiv) = sdd_id(:)
946 tmin_id_grids(gridiv) = tmin_id
947 tmax_id_grids(gridiv) = tmax_id
948 lenday_id_grids(gridiv) = lenday_id
949 lai_id_grids(:, gridiv) = lai_id(:)
953 wuday_id_grids(:, gridiv) = wuday_id(:)
962 snowdens(1:nsurf) = modeldailystate(gridiv, cmds_snowdens(1:nsurf))
968 state_id(1:nsurf) = modeloutputdata(0, cmod_state(1:nsurf), gridiv)
971 soilstore_id(1:nsurf) = modeloutputdata(0, cmod_soilstate(1:nsurf), gridiv)
974 snowfrac(1:nsurf) = modeloutputdata(0, cmod_snowfrac(1:nsurf), gridiv)
976 snowpack(1:nsurf) = modeloutputdata(0, cmod_snowpack(1:nsurf), gridiv)
978 snowwater(1:nsurf) = modeloutputdata(0, cmod_snowwaterstate(1:nsurf), gridiv)
986 IF (ir == 1 .AND. imb == 1)
THEN 988 filechoices = trim(fileoutputpath)//trim(filecode)//
'_FileChoices.txt' 989 OPEN (12, file=filechoices, position=
'append')
991 WRITE (grid_txt,
'(I5)') int(surfacechar(gridiv, c_grid))
992 WRITE (year_txt,
'(I4)') int(surfacechar(gridiv, c_year))
993 WRITE (ssg_yyyy,
'(A12)') trim(filecode)//trim(adjustl(grid_txt))//
'_'//trim(adjustl(year_txt))
996 WRITE (12, *)
'----- '//trim(adjustl(ssg_yyyy))//
' Surface characteristics'//
' -----' 998 WRITE (12,
'(8a10,a16)')
'Paved',
'Bldgs',
'EveTr',
'DecTr',
'Grass',
'BSoil',
'Water',
'Snow',
' SurfType' 999 WRITE (12, 120) (sfr(iv), iv=1, nsurf), fcskip,
' SurfFr' 1000 WRITE (12, 120) fcskip, fcskip, irrfracconif, irrfracdecid, irrfracgrass, fcskip, fcskip, fcskip,
' IrrFr' 1001 WRITE (12, 120) fcskip, fcskip, wuareaevetr_m2, wuareadectr_m2, wuareagrass_m2, fcskip, fcskip, fcskip,
' WaterUseArea' 1002 WRITE (12, 120) fcskip, bldgh, evetreeh, dectreeh, fcskip, fcskip, fcskip, fcskip,
' H' 1003 WRITE (12, 120) fcskip, faibldg, faievetree, faidectree, fcskip, fcskip, fcskip, fcskip,
' FAI' 1004 WRITE (12, 120) fcskip, fcskip, albmin_evetr, albmin_dectr, albmin_grass, fcskip, fcskip, snowalbmin,
' AlbedoMin' 1005 WRITE (12, 120) fcskip, fcskip, albmax_evetr, albmax_dectr, albmax_grass, fcskip, fcskip, snowalbmax,
' AlbedoMax' 1007 WRITE (12, 120) (emis(iv), iv=1, nsurf), emis_snow,
' Emissivity' 1008 WRITE (12, 120) fcskip, fcskip, (baset(iv), iv=1, nvegsurf), fcskip, fcskip, fcskip,
' BaseT' 1009 WRITE (12, 120) fcskip, fcskip, (basete(iv), iv=1, nvegsurf), fcskip, fcskip, fcskip,
' BaseTe' 1010 WRITE (12, 120) (storedrainprm(1, iv), iv=1, nsurf), fcskip,
' StorageMin' 1011 WRITE (12, 120) (storedrainprm(5, iv), iv=1, nsurf), fcskip,
' StorageMax' 1012 WRITE (12, 120) (wetthresh(iv), iv=1, nsurf), fcskip,
' WetThreshold' 1013 WRITE (12, 120) (statelimit(iv), iv=1, nsurf), fcskip,
' StateLimit' 1014 WRITE (12, 120) (storedrainprm(2, iv), iv=1, nsurf), fcskip,
' DrainageEq' 1015 WRITE (12, 120) (storedrainprm(3, iv), iv=1, nsurf), fcskip,
' DrainageCoef1' 1016 WRITE (12, 120) (storedrainprm(4, iv), iv=1, nsurf), fcskip,
' DrainageCoef2' 1017 WRITE (12, 120) fcskip, fcskip, (gddfull(iv), iv=1, nvegsurf), fcskip, fcskip, fcskip,
' GDDFull' 1018 WRITE (12, 120) fcskip, fcskip, (sddfull(iv), iv=1, nvegsurf), fcskip, fcskip, fcskip,
' SDDFull' 1019 WRITE (12, 120) fcskip, fcskip, (laimin(iv), iv=1, nvegsurf), fcskip, fcskip, fcskip,
' LAIMin' 1020 WRITE (12, 120) fcskip, fcskip, (laimax(iv), iv=1, nvegsurf), fcskip, fcskip, fcskip,
' LAIMax' 1021 WRITE (12, 120) fcskip, fcskip, fcskip, pormin_dec, fcskip, fcskip, fcskip, fcskip,
' PorosityMin' 1022 WRITE (12, 120) fcskip, fcskip, fcskip, pormax_dec, fcskip, fcskip, fcskip, fcskip,
' PorosityMax' 1023 WRITE (12,
'(2f10.3,3i10, 3f10.3,a16)') fcskip, fcskip, laitype(1:nvegsurf), fcskip, fcskip, fcskip,
' LAIEq' 1024 WRITE (12,
'(2f10.3,3f10.5,3f10.3,a16)') fcskip, fcskip, laipower(1, 1:nvegsurf), fcskip, fcskip, fcskip,
' LAI_LeafGP1' 1025 WRITE (12,
'(2f10.3,3f10.5,3f10.3,a16)') fcskip, fcskip, laipower(2, 1:nvegsurf), fcskip, fcskip, fcskip,
' LAI_LeafGP2' 1026 WRITE (12,
'(2f10.3,3f10.5,3f10.3,a16)') fcskip, fcskip, laipower(3, 1:nvegsurf), fcskip, fcskip, fcskip,
' LAI_LeafOP1' 1027 WRITE (12,
'(2f10.3,3f10.5,3f10.3,a16)') fcskip, fcskip, laipower(4, 1:nvegsurf), fcskip, fcskip, fcskip,
' LAI_LeafOP2' 1028 WRITE (12, 120) fcskip, fcskip, (maxconductance(iv), iv=1, nvegsurf), fcskip, fcskip, fcskip,
' MaxCond' 1029 WRITE (12, 120) (soildepth(iv), iv=1, (nsurf - 1)), fcskip, fcskip,
' SoilDepth' 1030 WRITE (12, 120) (soilstorecap(iv), iv=1, (nsurf - 1)), fcskip, fcskip,
' SoilStoreCap' 1031 WRITE (12,
'(6f10.5,2f10.3,a16)') (sathydraulicconduct(iv), iv=1, (nsurf - 1)), fcskip, fcskip,
' SatHydraulicConduct' 1033 WRITE (12, 120) (snowpacklimit(iv), iv=1, (nsurf - 1)), fcskip, fcskip,
' SnowLimPatch' 1034 WRITE (12, 120) snowlimpaved, snowlimbldg, fcskip, fcskip, fcskip, fcskip, fcskip, fcskip,
' SnowLimRemove' 1035 WRITE (12, 120) (ohm_coef(1:nsurf, 1, 1)), ohm_coef(nsurf + 1, 1, 1),
' OHM_a1_Sum_Wet' 1036 WRITE (12, 120) (ohm_coef(1:nsurf, 2, 1)), ohm_coef(nsurf + 1, 2, 1),
' OHM_a1_Sum_Dry' 1037 WRITE (12, 120) (ohm_coef(1:nsurf, 3, 1)), ohm_coef(nsurf + 1, 3, 1),
' OHM_a1_Win_Wet' 1038 WRITE (12, 120) (ohm_coef(1:nsurf, 4, 1)), ohm_coef(nsurf + 1, 4, 1),
' OHM_a1_Win_Dry' 1039 WRITE (12, 120) (ohm_coef(1:nsurf, 1, 2)), ohm_coef(nsurf + 1, 1, 2),
' OHM_a2_Sum_Wet' 1040 WRITE (12, 120) (ohm_coef(1:nsurf, 2, 2)), ohm_coef(nsurf + 1, 2, 2),
' OHM_a2_Sum_Dry' 1041 WRITE (12, 120) (ohm_coef(1:nsurf, 3, 2)), ohm_coef(nsurf + 1, 3, 2),
' OHM_a2_Win_Wet' 1042 WRITE (12, 120) (ohm_coef(1:nsurf, 4, 2)), ohm_coef(nsurf + 1, 4, 2),
' OHM_a2_Win_Dry' 1043 WRITE (12, 120) (ohm_coef(1:nsurf, 1, 3)), ohm_coef(nsurf + 1, 1, 3),
' OHM_a3_Sum_Wet' 1044 WRITE (12, 120) (ohm_coef(1:nsurf, 2, 3)), ohm_coef(nsurf + 1, 2, 3),
' OHM_a3_Sum_Dry' 1045 WRITE (12, 120) (ohm_coef(1:nsurf, 3, 3)), ohm_coef(nsurf + 1, 3, 3),
' OHM_a3_Win_Wet' 1046 WRITE (12, 120) (ohm_coef(1:nsurf, 4, 3)), ohm_coef(nsurf + 1, 4, 3),
' OHM_a3_Win_Dry' 1047 WRITE (12, 120) (ohm_threshsw(1:nsurf)), ohm_threshsw(nsurf + 1),
' OHMthreshold_SW' 1048 WRITE (12, 120) (ohm_threshwd(1:nsurf)), ohm_threshwd(nsurf + 1),
' OHMthreshold_WD' 1050 WRITE (12, *)
'----- '//trim(adjustl(ssg_yyyy))//
' Snow parameters'//
' -----' 1051 WRITE (12,
'(a12,11a10)')
'Grid',
'RadMeltF',
'TempMeltF',
'tau_a',
'tau_f',
'PLimAlb',
'SDensMin',
'SDensMax', &
1052 'tau_r',
'CRWMin',
'CRWMax',
'PLimSnow' 1053 WRITE (12,
'(a12,11f10.4)') ssg_yyyy, radmeltfact, tempmeltfact, tau_a, tau_f, preciplimitalb, snowdensmin, snowdensmax, &
1054 tau_r, crwmin, crwmax, preciplimit
1056 WRITE (12, *)
'----- '//trim(adjustl(ssg_yyyy))//
' Conductance parameters'//
' -----' 1057 WRITE (12,
'(a12,12a10)')
'Grid',
'G1',
'G2',
'G3',
'G4',
'G5',
'G6',
'TH',
'TL',
'S1',
'S2',
'Kmax',
'gsModel' 1058 WRITE (12,
'(a12,11f10.3,i3)') ssg_yyyy, g1, g2, g3, g4, g5, g6, th, tl, s1, s2, kmax, gsmodel
1060 WRITE (12, *)
'----- '//trim(adjustl(ssg_yyyy))//
' Energy-use parameters'//
' -----' 1061 WRITE (12,
'(a12,11a10)')
'Grid',
'PopDensDaytime',
'BaseTHDD',
'QF_A_WD',
'QF_A_WE',
'QF_B_WD',
'QF_B_WE',
'QF_C_WD', &
1062 'QF_C_WE',
'AH_Min',
'AH_Slope',
'T_critic_Heating' 1063 WRITE (12,
'(a12,11f10.3)') ssg_yyyy, popdensdaytime, basethdd, qf_a(1:2), qf_b(1:2), qf_c(1:2), &
1064 ah_min, ah_slope_heating, t_critic_heating
1066 WRITE (12, *)
'----- '//trim(adjustl(ssg_yyyy))//
' Water-use parameters'//
' -----' 1067 WRITE (12,
'(a12,10a10)')
'Grid',
'IeStart',
'IeEnd',
'IntWatUse',
'Faut', &
1068 'Ie_a1',
'Ie_a2',
'Ie_a3',
'Ie_m1',
'Ie_m2',
'Ie_m3' 1069 WRITE (12,
'(a12,2i10,8f10.3)') ssg_yyyy, ie_start, ie_end, internalwateruse_h, faut, &
1070 ie_a(1:3), ie_m(1:3)
1072 WRITE (12, *)
'----- '//trim(adjustl(ssg_yyyy))//
' Weekly profiles'//
' -----' 1073 WRITE (12,
'(a12,7a10, a16)')
'Grid',
'1_Sun',
'2_Mon',
'3_Tue',
'4_Wed',
'5_Thu',
'6_Fri',
'7_Sat',
' DayOfWeek' 1074 WRITE (12,
'(a12,7f10.3,a16)') ssg_yyyy, daywat(1:7),
' Irr allowed' 1075 WRITE (12,
'(a12,7f10.3,a16)') ssg_yyyy, daywatper(1:7),
' Frac properties' 1077 WRITE (12, *)
'----- '//trim(adjustl(ssg_yyyy))//
' Hourly profiles'//
' -----' 1078 WRITE (12,
'(a12,24i10,a20)')
'Grid', (iv, iv=0, 23),
'HourOfDay' 1079 WRITE (12, 121) ssg_yyyy, ahprof_24hr(0:23, 1),
' Anthrop heat WD' 1080 WRITE (12, 121) ssg_yyyy, ahprof_24hr(0:23, 2),
' Anthrop heat WE' 1081 WRITE (12, 121) ssg_yyyy, wuprofm_24hr(0:23, 1),
' Manual water use WD' 1082 WRITE (12, 121) ssg_yyyy, wuprofm_24hr(0:23, 2),
' Manual water use WE' 1083 WRITE (12, 121) ssg_yyyy, wuprofa_24hr(0:23, 1),
' Auto. water use WD' 1084 WRITE (12, 121) ssg_yyyy, wuprofa_24hr(0:23, 2),
' Auto. water use WE' 1085 WRITE (12, 121) ssg_yyyy, snowprof_24hr(0:23, 1),
' Snow clearing WD' 1086 WRITE (12, 121) ssg_yyyy, snowprof_24hr(0:23, 2),
' Snow clearing WE' 1088 WRITE (12, *)
'----- '//trim(adjustl(ssg_yyyy))//
' Within-grid water distribution'//
' -----' 1089 WRITE (12,
'(9a10)')
'ToPaved',
'ToBldgs',
'ToEveTr',
'ToDecTr',
'ToGrass',
'ToBSoil',
'ToWater',
'ToROorSS' 1091 DO iv = 1, (nsurf - 1)
1092 WRITE (12,
'(8f10.4)') (waterdist(j, iv), j=1, nsurf + 1)
1095 WRITE (12, *)
'----- '//trim(adjustl(ssg_yyyy))//
' Other parameters'//
' -----' 1096 WRITE (12,
'(a12,7a10)')
'Grid',
'FlowChange',
'ROToWater',
'PipeCap', &
1097 'DrRate',
'Cover',
'MaxRes', &
1099 WRITE (12,
'(a12,7f10.3)') ssg_yyyy, flowchange, runofftowater, pipecapacity, &
1100 drainrt, raincover, rainmaxres, &
1103 WRITE (12, *)
'----- '//trim(adjustl(ssg_yyyy))//
' Site parameters'//
' -----' 1104 WRITE (12,
'(a12,9a10)') &
1105 'Grid',
'lat',
'lon',
'tz',
'alt',
'SurfA_ha',
'z',
'PopDensNighttime',
'z0_input',
'zd_input',
'StartDLS',
'EndDLS' 1106 WRITE (12,
'(a12,4f10.4,f10.2,4f10.4,2i10)') &
1107 ssg_yyyy, lat, lng*(-1.0), timezone, alt, surfacearea_ha, z, popdensnighttime, z0m_in, zdm_in, &
1118 IF (emissionsmethod == 1)
THEN 1119 IF (ah_min(1) == 0 .AND. ah_slope_heating(1) == 0 .AND. t_critic_heating(1) == 0)
THEN 1120 CALL errorhint(53,
'Check QF calculation coefficients.', notused, notused, emissionsmethod)
1123 ELSEIF (emissionsmethod == 2)
THEN 1124 IF (sum(qf_a) == 0 .AND. sum(qf_b) == 0 .AND. sum(qf_c) == 0)
THEN 1125 CALL errorhint(54,
'Check QF calculation coefficients.', notused, notused, emissionsmethod)
1130 IF (roughlenmommethod == 1)
THEN 1132 IF (z0m < 0.00001)
CALL errorhint(1,
'z0 value provided is very small (RoughLenMomMethod=1).', z0m, notused, gridid)
1133 IF (zdm < 0.00001)
CALL errorhint(1,
'zd value provided is very small (RoughLenMomMethod=1).', zdm, notused, gridid)
1135 ELSEIF (roughlenmommethod == 3)
THEN 1138 'FAI_Bldgs value provided is very small (RoughLenMomMethod=3)', &
1139 faibldg, notused, gridid)
1141 'FAI_EveTr/DecTr value provided is very small (RoughLenMomMethod=3)', &
1142 faitree, notused, gridid)
1154 iy = int(metforcingdata(ir, 1, gridiv))
1155 id = int(metforcingdata(ir, 2, gridiv))
1156 it = int(metforcingdata(ir, 3, gridiv))
1157 imin = int(metforcingdata(ir, 4, gridiv))
1159 qn1_obs = metforcingdata(ir, 5, gridiv)
1160 qh_obs = metforcingdata(ir, 6, gridiv)
1161 qe_obs = metforcingdata(ir, 7, gridiv)
1162 qs_obs = metforcingdata(ir, 8, gridiv)
1163 qf_obs = metforcingdata(ir, 9, gridiv)
1164 avu1 = metforcingdata(ir, 10, gridiv)
1165 avrh = metforcingdata(ir, 11, gridiv)
1166 temp_c = metforcingdata(ir, 12, gridiv)
1167 press_hpa = metforcingdata(ir, 13, gridiv)
1168 precip = metforcingdata(ir, 14, gridiv)
1169 avkdn = metforcingdata(ir, 15, gridiv)
1170 snowfrac_obs = metforcingdata(ir, 16, gridiv)
1171 ldown_obs = metforcingdata(ir, 17, gridiv)
1172 fcld_obs = metforcingdata(ir, 18, gridiv)
1173 wu_m3 = metforcingdata(ir, 19, gridiv)
1174 xsmd = metforcingdata(ir, 20, gridiv)
1175 lai_obs = metforcingdata(ir, 21, gridiv)
1176 kdiff = metforcingdata(ir, 22, gridiv)
1177 kdir = metforcingdata(ir, 23, gridiv)
1178 wdir = metforcingdata(ir, 24, gridiv)
1181 dqndt = dqndt_grids(gridiv)
1182 qn1_av = qn1_av_grids(gridiv)
1183 tair_av = tair_av_grids(gridiv)
1185 IF (snowuse == 1)
THEN 1186 dqnsdt = dqnsdt_grids(gridiv)
1187 qn1_s_av = qn1_s_av_grids(gridiv)
1191 gdd_id = gdd_id_grids(:, gridiv)
1192 sdd_id = sdd_id_grids(:, gridiv)
1193 tmin_id = tmin_id_grids(gridiv)
1194 tmax_id = tmax_id_grids(gridiv)
1195 lenday_id = lenday_id_grids(gridiv)
1196 hdd_id = hdd_id_grids(:, gridiv)
1197 lai_id = lai_id_grids(:, gridiv)
1198 wuday_id = wuday_id_grids(:, gridiv)
1200 decidcap_id = decidcap_id_grids(gridiv)
1201 albdectr_id = albdectr_id_grids(gridiv)
1202 albevetr_id = albevetr_id_grids(gridiv)
1203 albgrass_id = albgrass_id_grids(gridiv)
1204 porosity_id = porosity_id_grids(gridiv)
1207 metforcingdata_grid = metforcingdata(:, :, gridiv)
1210 dectime =
REAL(id - 1, KIND(1d0)) +
REAL(it, kind(1d0))/24 +
REAL(imin, kind(1d0))/(60*24)
1212 WRITE (iy_text,
'(i4)') iy
1213 WRITE (id_text,
'(i3)') id
1214 WRITE (it_text,
'(i2)') it
1215 WRITE (imin_text,
'(i2)') imin
1217 WRITE (gridid_text,
'(i10)') gridid
1229 snowfallcum = modeldailystate(gridiv, cmds_snowfallcum)
1231 snowdens(1:nsurf) = modeldailystate(gridiv, cmds_snowdens(1:nsurf))
1233 snowalb = modeldailystate(gridiv, cmds_snowalb)
1239 state_id(1:nsurf) = modeloutputdata(ir - 1, cmod_state(1:nsurf), gridiv)
1241 soilstore_id(1:nsurf) = modeloutputdata(ir - 1, cmod_soilstate(1:nsurf), gridiv)
1243 snowfrac(1:nsurf) = modeloutputdata(ir - 1, cmod_snowfrac(1:nsurf), gridiv)
1245 snowpack(1:nsurf) = modeloutputdata(ir - 1, cmod_snowpack(1:nsurf), gridiv)
1247 snowwater(1:nsurf) = modeloutputdata(ir - 1, cmod_snowwaterstate(1:nsurf), gridiv)
1250 icefrac = icefrac_grids(:, gridiv)
1253 IF (storageheatmethod == 4 .OR. storageheatmethod == 14)
THEN 1255 ts5mindata(ir, 1:ncolsestmdata) = estmforcingdata(ir, 1:ncolsestmdata, gridiv)
1256 ts5mindata_ir(1:ncolsestmdata) = estmforcingdata(ir, 1:ncolsestmdata, gridiv)
1257 CALL estm_translate(gridiv)
1264 IF (ir == 1 .AND. imb == 1)
THEN 1271 if (ir == 1 .and. imb == 1)
then 1272 filestateinit = trim(fileoutputpath)//trim(filecode)//trim(adjustl(grid_txt))//
'_'//trim(adjustl(year_txt))//
'_state_init.txt' 1273 OPEN (12, file=filestateinit, position=
'rewind')
1275 write (12, *)
'&state_init' 1276 write (12, *)
'aerodynamicresistancemethod=', aerodynamicresistancemethod
1277 write (12, *)
'ah_min=', ah_min
1278 write (12, *)
'ahprof_24hr=', ahprof_24hr
1279 write (12, *)
'ah_slope_cooling=', ah_slope_cooling
1280 write (12, *)
'ah_slope_heating=', ah_slope_heating
1281 write (12, *)
'alb=', alb
1282 write (12, *)
'albmax_dectr=', albmax_dectr
1283 write (12, *)
'albmax_evetr=', albmax_evetr
1284 write (12, *)
'albmax_grass=', albmax_grass
1285 write (12, *)
'albmin_dectr=', albmin_dectr
1286 write (12, *)
'albmin_evetr=', albmin_evetr
1287 write (12, *)
'albmin_grass=', albmin_grass
1288 write (12, *)
'alpha_bioco2=', alpha_bioco2
1289 write (12, *)
'alpha_enh_bioco2=', alpha_enh_bioco2
1290 write (12, *)
'alt=', alt
1291 write (12, *)
'avkdn=', avkdn
1292 write (12, *)
'avrh=', avrh
1293 write (12, *)
'avu1=', avu1
1294 write (12, *)
'baset=', baset
1295 write (12, *)
'basete=', basete
1296 write (12, *)
'basethdd=', basethdd
1297 write (12, *)
'beta_bioco2=', beta_bioco2
1298 write (12, *)
'beta_enh_bioco2=', beta_enh_bioco2
1299 write (12, *)
'bldgh=', bldgh
1300 write (12, *)
'capmax_dec=', capmax_dec
1301 write (12, *)
'capmin_dec=', capmin_dec
1302 write (12, *)
'chanohm=', chanohm
1303 write (12, *)
'co2pointsource=', co2pointsource
1304 write (12, *)
'cpanohm=', cpanohm
1305 write (12, *)
'crwmax=', crwmax
1306 write (12, *)
'crwmin=', crwmin
1307 write (12, *)
'daywat=', daywat
1308 write (12, *)
'daywatper=', daywatper
1309 write (12, *)
'dectreeh=', dectreeh
1310 write (12, *)
'diagnose=', diagnose
1311 write (12, *)
'diagqn=', diagqn
1312 write (12, *)
'diagqs=', diagqs
1313 write (12, *)
'drainrt=', drainrt
1314 write (12, *)
'dt_since_start=', dt_since_start
1315 write (12, *)
'dqndt=', dqndt
1316 write (12, *)
'qn1_av=', qn1_av
1317 write (12, *)
'dqnsdt=', dqnsdt
1318 write (12, *)
'qn1_s_av=', qn1_s_av
1319 write (12, *)
'ef_umolco2perj=', ef_umolco2perj
1320 write (12, *)
'emis=', emis
1321 write (12, *)
'emissionsmethod=', emissionsmethod
1322 write (12, *)
'enef_v_jkm=', enef_v_jkm
1323 write (12, *)
'enddls=', enddls
1324 write (12, *)
'evetreeh=', evetreeh
1325 write (12, *)
'faibldg=', faibldg
1326 write (12, *)
'faidectree=', faidectree
1327 write (12, *)
'faievetree=', faievetree
1328 write (12, *)
'faut=', faut
1329 write (12, *)
'fcef_v_kgkm=', fcef_v_kgkm
1330 write (12, *)
'fcld_obs=', fcld_obs
1331 write (12, *)
'flowchange=', flowchange
1332 write (12, *)
'frfossilfuel_heat=', frfossilfuel_heat
1333 write (12, *)
'frfossilfuel_nonheat=', frfossilfuel_nonheat
1334 write (12, *)
'g1=', g1
1335 write (12, *)
'g2=', g2
1336 write (12, *)
'g3=', g3
1337 write (12, *)
'g4=', g4
1338 write (12, *)
'g5=', g5
1339 write (12, *)
'g6=', g6
1340 write (12, *)
'gdd_id=', gdd_id
1341 write (12, *)
'gddfull=', gddfull
1342 write (12, *)
'gridiv=', gridiv
1343 write (12, *)
'gsmodel=', gsmodel
1344 write (12, *)
'hdd_id=', hdd_id
1345 write (12, *)
'humactivity_24hr=', humactivity_24hr
1346 write (12, *)
'icefrac=', icefrac
1347 write (12, *)
'id=', id
1348 write (12, *)
'ie_a=', ie_a
1349 write (12, *)
'ie_end=', ie_end
1350 write (12, *)
'ie_m=', ie_m
1351 write (12, *)
'ie_start=', ie_start
1352 write (12, *)
'imin=', imin
1353 write (12, *)
'internalwateruse_h=', internalwateruse_h
1354 write (12, *)
'irrfracconif=', irrfracconif
1355 write (12, *)
'irrfracdecid=', irrfracdecid
1356 write (12, *)
'irrfracgrass=', irrfracgrass
1357 write (12, *)
'isec=', isec
1358 write (12, *)
'it=', it
1359 write (12, *)
'evapmethod=', evapmethod
1360 write (12, *)
'iy=', iy
1361 write (12, *)
'kkanohm=', kkanohm
1362 write (12, *)
'kmax=', kmax
1363 write (12, *)
'lai_id=', lai_id
1364 write (12, *)
'laicalcyes=', laicalcyes
1365 write (12, *)
'laimax=', laimax
1366 write (12, *)
'laimin=', laimin
1367 write (12, *)
'lai_obs=', lai_obs
1368 write (12, *)
'laipower=', laipower
1369 write (12, *)
'laitype=', laitype
1370 write (12, *)
'lat=', lat
1371 write (12, *)
'lenday_id=', lenday_id
1372 write (12, *)
'ldown_obs=', ldown_obs
1373 write (12, *)
'lng=', lng
1374 write (12, *)
'maxconductance=', maxconductance
1375 write (12, *)
'maxfcmetab=', maxfcmetab
1376 write (12, *)
'maxqfmetab=', maxqfmetab
1377 write (12, *)
'snowwater=', snowwater
1379 write (12, *)
'minfcmetab=', minfcmetab
1380 write (12, *)
'minqfmetab=', minqfmetab
1381 write (12, *)
'min_res_bioco2=', min_res_bioco2
1382 write (12, *)
'narp_emis_snow=', narp_emis_snow
1383 write (12, *)
'narp_trans_site=', narp_trans_site
1384 write (12, *)
'netradiationmethod=', netradiationmethod
1385 write (12, *)
'ohm_coef=', ohm_coef
1386 write (12, *)
'ohmincqf=', ohmincqf
1387 write (12, *)
'ohm_threshsw=', ohm_threshsw
1388 write (12, *)
'ohm_threshwd=', ohm_threshwd
1389 write (12, *)
'pipecapacity=', pipecapacity
1390 write (12, *)
'popdensdaytime=', popdensdaytime
1391 write (12, *)
'popdensnighttime=', popdensnighttime
1392 write (12, *)
'popprof_24hr=', popprof_24hr
1393 write (12, *)
'pormax_dec=', pormax_dec
1394 write (12, *)
'pormin_dec=', pormin_dec
1395 write (12, *)
'precip=', precip
1396 write (12, *)
'preciplimit=', preciplimit
1397 write (12, *)
'preciplimitalb=', preciplimitalb
1398 write (12, *)
'press_hpa=', press_hpa
1399 write (12, *)
'qf0_beu=', qf0_beu
1400 write (12, *)
'qf_a=', qf_a
1401 write (12, *)
'qf_b=', qf_b
1402 write (12, *)
'qf_c=', qf_c
1403 write (12, *)
'qn1_obs=', qn1_obs
1404 write (12, *)
'qh_obs=', qh_obs
1405 write (12, *)
'qs_obs=', qs_obs
1406 write (12, *)
'qf_obs=', qf_obs
1407 write (12, *)
'radmeltfact=', radmeltfact
1408 write (12, *)
'raincover=', raincover
1409 write (12, *)
'rainmaxres=', rainmaxres
1410 write (12, *)
'resp_a=', resp_a
1411 write (12, *)
'resp_b=', resp_b
1412 write (12, *)
'roughlenheatmethod=', roughlenheatmethod
1413 write (12, *)
'roughlenmommethod=', roughlenmommethod
1414 write (12, *)
'runofftowater=', runofftowater
1415 write (12, *)
's1=', s1
1416 write (12, *)
's2=', s2
1417 write (12, *)
'sathydraulicconduct=', sathydraulicconduct
1418 write (12, *)
'sddfull=', sddfull
1419 write (12, *)
'sdd_id=', sdd_id
1420 write (12, *)
'sfr=', sfr
1421 write (12, *)
'smdmethod=', smdmethod
1422 write (12, *)
'snowalb=', snowalb
1423 write (12, *)
'snowalbmax=', snowalbmax
1424 write (12, *)
'snowalbmin=', snowalbmin
1425 write (12, *)
'snowpacklimit=', snowpacklimit
1426 write (12, *)
'snowdens=', snowdens
1427 write (12, *)
'snowdensmax=', snowdensmax
1428 write (12, *)
'snowdensmin=', snowdensmin
1429 write (12, *)
'snowfallcum=', snowfallcum
1430 write (12, *)
'snowfrac=', snowfrac
1431 write (12, *)
'snowlimbldg=', snowlimbldg
1432 write (12, *)
'snowlimpaved=', snowlimpaved
1433 write (12, *)
'snowfrac_obs=', snowfrac_obs
1434 write (12, *)
'snowpack=', snowpack
1435 write (12, *)
'snowprof_24hr=', snowprof_24hr
1436 write (12, *)
'snowuse=', snowuse
1437 write (12, *)
'soildepth=', soildepth
1438 write (12, *)
'soilstore_id=', soilstore_id
1439 write (12, *)
'soilstorecap=', soilstorecap
1440 write (12, *)
'stabilitymethod=', stabilitymethod
1441 write (12, *)
'startdls=', startdls
1442 write (12, *)
'state_id=', state_id
1443 write (12, *)
'statelimit=', statelimit
1444 write (12, *)
'storageheatmethod=', storageheatmethod
1445 write (12, *)
'storedrainprm=', storedrainprm
1446 write (12, *)
'surfacearea=', surfacearea
1447 write (12, *)
'tair_av=', tair_av
1448 write (12, *)
'tau_a=', tau_a
1449 write (12, *)
'tau_f=', tau_f
1450 write (12, *)
'tau_r=', tau_r
1451 write (12, *)
'tmax_id=', tmax_id
1452 write (12, *)
'tmin_id=', tmin_id
1453 write (12, *)
't_critic_cooling=', t_critic_cooling
1454 write (12, *)
't_critic_heating=', t_critic_heating
1455 write (12, *)
'temp_c=', temp_c
1456 write (12, *)
'tempmeltfact=', tempmeltfact
1457 write (12, *)
'th=', th
1458 write (12, *)
'theta_bioco2=', theta_bioco2
1459 write (12, *)
'timezone=', timezone
1460 write (12, *)
'tl=', tl
1461 write (12, *)
'trafficrate=', trafficrate
1462 write (12, *)
'trafficunits=', trafficunits
1463 write (12, *)
'traffprof_24hr=', traffprof_24hr
1465 write (12, *)
'tstep=', tstep
1466 write (12, *)
'tstep_prev=', tstep_prev
1467 write (12, *)
'veg_type=', veg_type
1468 write (12, *)
'waterdist=', waterdist
1469 write (12, *)
'waterusemethod=', waterusemethod
1470 write (12, *)
'wetthresh=', wetthresh
1471 write (12, *)
'wu_m3=', wu_m3
1472 write (12, *)
'wuday_id=', wuday_id
1473 write (12, *)
'decidcap_id=', decidcap_id
1474 write (12, *)
'albdectr_id=', albdectr_id
1475 write (12, *)
'albevetr_id=', albevetr_id
1476 write (12, *)
'albgrass_id=', albgrass_id
1477 write (12, *)
'porosity_id=', porosity_id
1478 write (12, *)
'wuprofa_24hr=', wuprofa_24hr
1479 write (12, *)
'wuprofm_24hr=', wuprofm_24hr
1480 write (12, *)
'xsmd=', xsmd
1481 write (12, *)
'z=', z
1482 write (12, *)
'z0m_in=', z0m_in
1483 write (12, *)
'zdm_in=', zdm_in
1496 120
FORMAT(8f10.3, a16)
1497 121
FORMAT(a12, 24f10.4, a20)
1609 IF (ir == irmax)
THEN
integer, dimension(nvegsurf) c_theta_bioco2
integer, dimension(nvegsurf) c_resp_b
real(kind(1d0)) impervfraction
real(kind(1d0)), dimension(nsurf) snowdens
integer, dimension(nvegsurf) c_leafgp2
integer, dimension(nsurf) c_dreq
real(kind(1d0)), dimension(maxnumberofgrids) tmin_id_grids
real(kind(1d0)) trans_site
real(kind(1d0)), dimension(nvegsurf) theta_bioco2
real(kind(1d0)), dimension(3) ie_m
integer, dimension(nsurf) c_snowlimpat
real(kind(1d0)), dimension(nsurf) icefrac
integer, dimension(nvegsurf) c_alpha_bioco2
real(kind(1d0)), dimension(nsurf) snowwater
integer, dimension(nvegsurf) c_leafop2
real(kind(1d0)) albmin_grass
real(kind(1d0)) snowfallcum
real(kind(1d0)) albmin_evetr
real(kind(1d0)), dimension(nsurf) state_id
real(kind(1d0)) vegfraction
real(kind(1d0)) pipecapacity
integer, dimension(nsurf) c_wetthresh
real(kind(1d0)), dimension(:), allocatable qn1_s_av_grids
integer, dimension(nsurf) c_soildepth
integer, dimension(nsurf) c_snowlimrem
integer, dimension(nsurf) c_obssmdepth
real(kind(1d0)), dimension(nvegsurf) laimax
real(kind(1d0)), dimension(:), allocatable qn1_av_grids
real(kind(1d0)), dimension(1) waterdepth
integer, dimension(nvegsurf) c_beta_enh_bioco2
real(kind(1d0)) snowlimpaved
real(kind(1d0)), dimension(2) popdensdaytime
integer, parameter bsoilsurf
real(kind(1d0)), dimension(nvegsurf) maxconductance
real(kind(1d0)) tempmeltfact
real(kind(1d0)), dimension(nsurf) soilstore_id
real(kind(1d0)) preciplimit
real(kind(1d0)), dimension(nvegsurf) alpha_enh_bioco2
integer, dimension(nvegsurf) c_sddfull
real(kind(1d0)), dimension(4, nvegsurf) laipower
subroutine suews_translateback(Gridiv, ir, irMax)
integer, dimension(nsurf) c_albmin
real(kind(1d0)) emis_snow
real(kind(1d0)), dimension(maxnumberofgrids) albevetr_id_grids
real(kind(1d0)), dimension(nvegsurf, maxnumberofgrids) lai_id_grids
real(kind(1d0)), dimension(maxnumberofgrids) lenday_id_grids
subroutine estm_translate(Gridiv)
real(kind(1d0)), dimension(nsurf) snowpacklimit
real(kind(1d0)) internalwateruse_h
real(kind(1d0)) surfacearea_ha
real(kind(1d0)), dimension(12, maxnumberofgrids) hdd_id_grids
real(kind(1d0)) soilrocks
real(kind(1d0)) albmax_evetr
real(kind(1d0)), dimension(nvegsurf) alpha_bioco2
real(kind(1d0)), dimension(maxnumberofgrids) albdectr_id_grids
real(kind(1d0)) albevetr_id
integer, dimension(nvegsurf) c_porositymin
real(kind(1d0)), dimension(nvegsurf) resp_a
real(kind(1d0)) wuareagrass_m2
real(kind(1d0)), dimension(:, :), allocatable surfacechar
integer, dimension(nvegsurf) c_porositymax
integer, dimension(nvegsurf) c_laimax
integer, dimension(nsurf) c_drcoef2
integer, dimension(nsurf) c_obssmmax
real(kind(1d0)), dimension(nsurf) soilstorecap
real(kind(1d0)), dimension(nvegsurf) sdd_id
real(kind(1d0)), dimension(nsurf, maxnumberofgrids) icefrac_grids
real(kind(1d0)) nonwaterfraction
real(kind(1d0)) snowdensmin
integer aerodynamicresistancemethod
subroutine suews_translate(Gridiv, ir, iMB)
real(kind(1d0)) faievetree
real(kind(1d0)) soildensity
real(kind(1d0)) wuareadectr_m2
real(kind(1d0)) albmax_grass
integer, parameter conifsurf
real(kind(1d0)), dimension(nsurf) sathydraulicconduct
real(kind(1d0)), dimension(nsurf) statelimit
integer, dimension(nvegsurf) c_leafgp1
real(kind(1d0)), dimension(nvegsurf) gddfull
real(kind(1d0)) rainmaxres
real(kind(1d0)), dimension(12) hdd_id
real(kind(1d0)) capmax_dec
integer, dimension(nvegsurf) laitype
real(kind(1d0)) raincover
real(kind(1d0)) snowalbmax
real(kind(1d0)), dimension(maxnumberofgrids) porosity_id_grids
real(kind(1d0)), dimension(nvegsurf) resp_b
real(kind(1d0)) pormax_dec
integer, dimension(nsurf) c_ksat
real(kind(1d0)) soildepthmeas
integer, dimension(nsurf) c_soildens
real(kind(1d0)), dimension(nsurf) emis
real(kind(1d0)), dimension(nsurf) soildepth
integer, parameter grasssurf
real(kind(1d0)) radmeltfact
integer, dimension(nvegsurf) c_laimin
real(kind(1d0)) irrfracgrass
real(kind(1d0)), dimension(0:23, 2) snowprof_24hr
real(kind(1d0)), dimension(:, :), allocatable modeldailystate
integer, dimension(nvegsurf) c_laieq
real(kind(1d0)) wuareaevetr_m2
integer, dimension(nsurf) cmod_state
real(kind(1d0)), dimension(nsurf) snowfrac
integer roughlenheatmethod
integer, dimension(nvegsurf) c_min_res_bioco2
integer, dimension(nsurf) c_stormin
integer, dimension(nsurf) c_soilstcap
real(kind(1d0)) faidectree
real(kind(1d0)), dimension(nvegsurf) laimin
integer, dimension(nsurf) c_obssnrfrac
real(kind(1d0)) surfacearea
integer, parameter nvegsurf
real(kind(1d0)), dimension(nsurf) wetthresh
integer, dimension(nsurf) c_albmax
real(kind(1d0)) pervfraction
integer, dimension(nsurf) cmod_snowfrac
character(len=10) gridid_text
real(kind(1d0)), dimension(3) ie_a
real(kind(1d0)), dimension(nvegsurf) lai_id
integer, dimension(nsurf) c_stormax
integer, dimension(nvegsurf) c_gsmax
real(kind(1d0)), dimension(2) trafficrate
integer, dimension(nsurf) c_statelimit
real(kind(1d0)), dimension(9, maxnumberofgrids) wuday_id_grids
integer, dimension(nsurf) cmod_snowwaterstate
real(kind(1d0)) lenday_id
real(kind(1d0)) popdensnighttime
real(kind(1d0)) porosity_id
real(kind(1d0)), dimension(maxnumberofgrids) decidcap_id_grids
integer, dimension(nvegsurf) c_leafop1
integer, dimension(nvegsurf) c_resp_a
real(kind(1d0)) albmin_dectr
integer, dimension(nsurf) cmod_snowpack
real(kind(1d0)), dimension(nvegsurf) basete
real(kind(1d0)) albgrass_id
real(kind(1d0)), dimension(:), allocatable dqnsdt_grids
real(kind(1d0)), dimension(nsurf) snowpack
integer, dimension(nvegsurf) c_basete
real(kind(1d0)), dimension(6, nsurf) storedrainprm
integer, dimension(nvegsurf) c_alpha_enh_bioco2
real(kind(1d0)), dimension(nvegsurf, maxnumberofgrids) sdd_id_grids
real(kind(1d0)), dimension(maxnumberofgrids) albgrass_id_grids
real(kind(1d0)), dimension(7) daywatper
real(kind(1d0)), dimension(nsurf) sfr
real(kind(1d0)) snowlimbldg
integer, dimension(nvegsurf) c_beta_bioco2
integer, dimension(nsurf) cmod_soilstate
real(kind(1d0)), dimension(9) wuday_id
real(kind(1d0)), dimension(nvegsurf) min_res_bioco2
real(kind(1d0)) snowdensmax
integer, parameter decidsurf
real(kind(1d0)), dimension(:), allocatable tair_av_grids
integer, parameter pavsurf
integer, dimension(nsurf) cmds_snowdens
real(kind(1d0)), dimension(nsurf) alb
real(kind(1d0)) irrfracdecid
real(kind(1d0)) preciplimitalb
real(kind(1d0)) pormin_dec
real(kind(1d0)), dimension(nvegsurf) beta_enh_bioco2
integer, dimension(nvegsurf) c_baset
real(kind(1d0)), dimension(:), allocatable dqndt_grids
subroutine errorhint(errh, ProblemFile, VALUE, value2, valueI)
real(kind(1d0)), dimension(:, :, :), allocatable modeloutputdata
real(kind(1d0)) capmin_dec
integer, parameter bldgsurf
integer, parameter watersurf
integer, dimension(nsurf) c_drcoef1
real(kind(1d0)), dimension(nvegsurf) gdd_id
real(kind(1d0)), dimension(nvegsurf) sddfull
integer, dimension(nvegsurf) c_gddfull
real(kind(1d0)), dimension(maxnumberofgrids) tmax_id_grids
real(kind(1d0)), dimension(2) qf0_beu
real(kind(1d0)), dimension(nvegsurf) baset
integer, dimension(nsurf) c_emis
real(kind(1d0)) snowalbmin
real(kind(1d0)), dimension(7) daywat
real(kind(1d0)) runofftowater
real(kind(1d0)) flowchange
real(kind(1d0)), dimension(nvegsurf, maxnumberofgrids) gdd_id_grids
real(kind(1d0)), dimension(nvegsurf) beta_bioco2
real(kind(1d0)) albdectr_id
real(kind(1d0)) irrfracconif
integer, parameter ivdecid
real(kind(1d0)) decidcap_id
real(kind(1d0)) albmax_dectr