Page 1 Source Listing SURFCE 2014-12-17 20:47 /tmpnwprd/ifortRRLbq5.i 1 # 1 "SURFCE.F" 2 SUBROUTINE SURFCE(APE,ZINT,CKLQ) 3 C$$$ SUBPROGRAM DOCUMENTATION BLOCK 4 C . . . 5 C SUBPROGRAM: SURFCE CALCULATE SURFACE CONDITIONS 6 C PRGRMMR: JANJIC ORG: W/NP22 DATE: 95-03-23 7 C 8 C ABSTRACT: 9 C THIS ROUTINE IS THE DRIVER FOR COMPUTATION OF GROUND 10 C CONDITIONS. FOR GCIP, ACCUMULATOR AND OTHER 11 C INSTANTANEOUS HOLDING ARRAYS ARE INCLUDED. 12 C 13 C PROGRAM HISTORY LOG: 14 C 95-03-23 JANJIC - ORIGINATOR 15 C 95-03-28 BLACK - CONVERSION FROM 1-D TO 2-D IN HORIZONTAL 16 C 96-03-29 BLACK - REMOVED SCRCH COMMON 17 C 12-11-14 EBISUZAKI INITIALIZE IERR1 and IERR2 18 C 19 C USAGE: CALL SURFCE FROM SUBROUTINE TURBL 20 C INPUT ARGUMENT LIST: 21 C APE - EXNER FUNCTION 22 C ZINT - INTERFACE HEIGHTS 23 C CKLQ - MASK VALUE 24 C 25 C OUTPUT ARGUMENT LIST: 26 C NONE 27 C 28 C OUTPUT FILES: 29 C NONE 30 C 31 C SUBPROGRAMS CALLED: 32 C SFLX 33 C 34 C UTILITIES: 35 C NONE 36 C LIBRARY: 37 C COMMON - CTLBLK 38 C LOOPS 39 C MASKS 40 C PHYS 41 C VRBLS 42 C PVRBLS 43 C SOIL 44 C ACMSFC 45 C ACMPRE 46 C ACMRDS 47 C ACMRDL 48 C OPTIONS 49 C 50 C 51 C ATTRIBUTES: 52 C LANGUAGE: FORTRAN 90 53 C MACHINE : IBM SP 54 C$$$ 55 C 56 C SET LOCAL PARAMETERS. 57 C----------------------------------------------------------------------- Page 2 Source Listing SURFCE 2014-12-17 20:47 SURFCE.F 58 P A R A M E T E R 59 & (EPSWET=.001 60 &, PQ0=379.90516,SEAFC=.98,TRESH=.95 61 &, A2=17.2693882,A3=273.16,A4=35.86 62 &, T0=273.16,T1=274.16,CAPA=0.28589641 63 &, CP=1004.6,STBOL=5.67E-8,R=287.04,ROW=1.E3 64 &, ELWV=2.50E6,ELIV=2.834E6,ELIW=.334E6) 65 C 66 P A R A M E T E R 67 & (A23M4=A2*(A3-A4),PQ0SEA=PQ0*SEAFC,PQ0C=PQ0*TRESH 68 &, RLIVWV=ELIV/ELWV,ROWLIW=ROW*ELIW,ROWLIV=ROW*ELIV) 69 C----------------------------------------------------------------------- 70 C*** INCLUDE GLOBAL PARAMETERS. 71 C----------------------------------------------------------------------- 72 INCLUDE "parmeta" 95 INCLUDE "parm.tbl" 97 INCLUDE "parmsoil" 99 INCLUDE "mpp.h" 100 # 1 "./sp.h" 1 101 # 4 102 103 # 76 "SURFCE.F" 2 104 C----------------------------------------------------------------------- 105 C*** SET LOCAL PARAMETERS DEPENDENT ON GLOBAL PARAMETERS. 106 C----------------------------------------------------------------------- 165 P A R A M E T E R 166 & (LP1=LM+1,JAM=6+2*(JM-10)) 167 C----------------------------------------------------------------------- 168 L O G I C A L 169 & RUN,FIRST,RESTRT,SIGMA 170 C----------------------------------------------------------------------- 171 D I M E N S I O N 172 & ZLM (idim1:idim2,jdim1:jdim2) 173 &,PS (idim1:idim2,jdim1:jdim2),APES (idim1:idim2,jdim1:jdim2) 174 &,ETALM (idim1:idim2,jdim1:jdim2),PLM (idim1:idim2,jdim1:jdim2) 175 &,APELM (idim1:idim2,jdim1:jdim2),RDSIN (idim1:idim2,jdim1:jdim2) 176 &,TLM (idim1:idim2,jdim1:jdim2),THLM (idim1:idim2,jdim1:jdim2) 177 &,QLM (idim1:idim2,jdim1:jdim2),QLMS (idim1:idim2,jdim1:jdim2) 178 &,DQSDT (idim1:idim2,jdim1:jdim2) 179 &,CKLQ (idim1:idim2,jdim1:jdim2) 180 &,FFS (idim1:idim2,jdim1:jdim2),QFC1 (idim1:idim2,jdim1:jdim2) 181 &,APE (idim1:idim2,jdim1:jdim2,LM) 182 &,ZINT (idim1:idim2,jdim1:jdim2,LP1) 183 C----------------------------------------------------------------------- 184 D I M E N S I O N 185 c Ek 18 Jan 2000 - add SH2OK array 186 & SMCK (NSOIL),STCK (NSOIL), SH2OK (NSOIL) 187 C----------------------------------------------------------------------- 188 C 189 c Ek 10 Feb 2000 - add declarations 190 C DECLARATIONS 191 C 192 LOGICAL LFIRST 193 LOGICAL LFIRSTa 194 C 195 INTEGER ICE 196 INTEGER ISLTPK Page 3 Source Listing SURFCE 2014-12-17 20:47 SURFCE.F 197 INTEGER IVGTPK 198 C 12-12 WNE defined in parmsoil INTEGER NSOIL 199 INTEGER ISPTPK 200 C 201 REAL ALB 202 REAL ALB2D 203 REAL ALBASE 204 REAL ALBEDO 205 REAL DQSDTK 206 REAL DTK 207 REAL CHK 208 REAL CMCK 209 REAL ELFLX 210 REAL GFLX 211 REAL HFLX 212 REAL LWDN 213 Cdule REAL MXSNAL 214 REAL PLFLX 215 REAL PRCP 216 REAL PTU 217 REAL Q1K 218 REAL Q2K 219 REAL Q2SAT 220 REAL RNOF1K 221 REAL RNOF2K 222 REAL SFCPRS 223 REAL SFCSPD 224 REAL SFCTH2 225 REAL SFCTMP 226 REAL SH2OK 227 REAL SI 228 REAL SLDPTH 229 REAL SMCK 230 REAL SMELTK 231 REAL SNDENS 232 REAL SNO 233 REAL SNOALB 234 REAL SNODPK 235 REAL SNOWH 236 REAL SOILQM 237 REAL SOILQW 238 REAL SOLDN 239 REAL STCK 240 REAL T1K 241 REAL TBOT 242 REAL VGFRCK 243 REAL Z 244 C----------------------------------------------------------------------- 245 C*** INCLUDE COMMON BLOCKS. 246 C*** COMMON BLOCKS SOIL, ACMPRE, ACMSFC WERE ADDED FOR GCIP. 247 C*** COMMON BLOCK OPTIONS WAS ADDED FOR THE POST. 248 C----------------------------------------------------------------------- 249 INCLUDE "CTLBLK.comm" 250 C----------------------------------------------------------------------- 260 INCLUDE "LOOPS.comm" 261 C----------------------------------------------------------------------- 268 INCLUDE "MASKS.comm" Page 4 Source Listing SURFCE 2014-12-17 20:47 SURFCE.F 269 C----------------------------------------------------------------------- 280 INCLUDE "PHYS.comm" 281 C----------------------------------------------------------------------- 309 INCLUDE "VRBLS.comm" 310 C----------------------------------------------------------------------- 320 INCLUDE "PVRBLS.comm" 321 C----------------------------------------------------------------------- 351 INCLUDE "SOIL.comm" 352 C----------------------------------------------------------------------- 365 INCLUDE "ACMPRE.comm" 366 C----------------------------------------------------------------------- 373 INCLUDE "ACMSFC.comm" 374 C----------------------------------------------------------------------- 384 INCLUDE "ACMRDS.comm" 385 C----------------------------------------------------------------------- 394 INCLUDE "ACMRDL.comm" 395 C----------------------------------------------------------------------- 404 INCLUDE "OPTIONS.comm" 405 C----------------------------------------------------------------------- 447 C H A R A C T E R 448 & WORD*80 449 DATA LFIRST /.TRUE./ 450 C DATA LFIRST /.FALSE./ 451 DATA LFIRSTa /.TRUE./ 452 C*********************************************************************** 453 C START SURFCE HERE 454 C 455 C 456 C*** initial ize errors WNE 2012-11 457 IERR1 = 0 458 IERR2 = 0 459 460 C*** INITIALIZE SOME WORKING ARRAYS 461 C 462 CALL ZERO2(QLM) 463 CALL ZERO2(QLM) 464 CALL ZERO2(QLMS) 465 C*** 466 C*** SET CONSTANTS CALCULATED HERE FOR CLARITY. 467 C*** 468 FDTLIW=DTQ2/ROWLIW 469 FDTLIV=DTQ2/ROWLIV 470 FDTW=DTQ2/2.5E9 471 C*** 472 C*** SET NOAH LSM CONSTANTS AND TIME INDEPENDENT VARIABLES 473 C*** INITIALIZE NOAH LSM HISTORICAL VARIABLES 474 C*** 475 C----------------------------------------------------------------------- 476 IF(NTSD.LT.NPHS)THEN 477 !$omp parallel do private(i,j) 478 DO 50 J=MYJS,MYJE 479 DO 50 I=MYIS,MYIE 480 PS(I,J)=PD(I,J)+PT 481 APES(I,J)=(1.E5/PS(I,J))**CAPA 482 PCTSNO(I,J)=-999.0 483 484 C Page 5 Source Listing SURFCE 2014-12-17 20:47 SURFCE.F 485 C ---------------------------------------------------------------------- 486 C Set default values for sea-ice or ocean states 487 C open ocean, SM=1 488 C sea-ice, SM=0, SICE=1 489 C land, SM=0, SICE=0 490 C*** SET ZERO-VALUE FOR SOME OUTPUT DIAGNOSTIC ARRAYS 491 IF(SM(I,J).LT.0.5)THEN 492 IF(SICE(I,J).GT.0.5) THEN 493 C*** SEA-ICE CASE 494 SMSTAV(I,J)=1.0 495 SMSTOT(I,J)=1.0 496 SSROFF(I,J)=0.0 497 BGROFF(I,J)=0.0 498 CMC(I,J)=0.0 499 DO NS=1,NSOIL 500 SMC(I,J,NS)=1.0 501 SH2O(I,J,NS)=1.0 502 ENDDO 503 ENDIF 504 ELSE 505 C*** Water Case 506 SMSTAV(I,J)=1.0 507 SMSTOT(I,J)=1.0 508 SSROFF(I,J)=0.0 509 BGROFF(I,J)=0.0 510 SOILTB(I,J)=280.99 511 GRNFLX(I,J)=0. 512 SUBSHX(I,J)=0.0 513 ACSNOW(I,J)=0.0 514 ACSNOM(I,J)=0.0 515 SNOPCX(I,J)=0.0 516 CMC(I,J)=0.0 517 SNO(I,J)=0.0 518 c add SI (snow depth), ^^^SNO=snow water equivalent 519 SI(I,J)=0.0 520 DO NS=1,NSOIL 521 SMC(I,J,NS)=1.0 522 SH2O(I,J,NS)=1.0 523 STC(I,J,NS)=273.16 524 ENDDO 525 ENDIF 526 C 527 50 CONTINUE 528 ENDIF 529 C----------------------------------------------------------------------- 530 C*** 531 C*** SET LOWEST MODEL LAYER VARIABLES. 532 C*** 533 !$omp parallel do private(i,j,llmh) 534 DO 100 J=MYJS2,MYJE2 535 DO 100 I=MYIS,MYIE 536 LLMH=LMH(I,J) 537 ETALM(I,J)=AETA(LLMH) 538 APELM(I,J)=APE(I,J,LLMH) 539 TLM(I,J)=T(I,J,LLMH) 540 QLM(I,J)=Q(I,J,LLMH) 541 ZLM(I,J)=(ZINT(I,J,LLMH)-ZINT(I,J,LLMH+1))*0.50 Page 6 Source Listing SURFCE 2014-12-17 20:47 SURFCE.F 542 100 CONTINUE 543 C 544 !$omp parallel do private(i,j) 545 DO 110 J=MYJS2,MYJE2 546 DO 110 I=MYIS,MYIE 547 PS(I,J)=PD(I,J)+PT 548 APES(I,J)=(1.E5/PS(I,J))**CAPA 549 PLM(I,J)=ETALM(I,J)*PD(I,J)*RES(I,J)+PT 550 QLMS(I,J)=((1.-SM(I,J))*PQ0+SM(I,J)*PQ0SEA) 551 1 /PLM(I,J)*EXP(A2*(TLM(I,J)-A3)/(TLM(I,J)-A4)) 552 DQSDT(I,J)=QLMS(I,J)*A23M4/(TLM(I,J)-A4)**2 553 FFSK=AKHS(I,J)*PLM(I,J)*HBM2(I,J)/((QLM(I,J)*.608+1.)*TLM(I,J)*R) 554 QFC1(I,J)=APES(I,J)*FFSK*ELWV 555 FFS(I,J)=FFSK*CP 556 110 CONTINUE 557 C----------------------------------------------------------------------- 558 !$omp parallel do private(i,j,factrs,factrl,tlmh) 559 DO 120 J=MYJS2,MYJE2 560 DO 120 I=MYIS,MYIE 561 C*** 562 C*** COMPUTE RADIN AND RDSIN FOR THIS TIMESTEP 563 C*** CZEN IS IN PHYS COMMON AND IS CURRENT FROM CALL TO RDTEMP 564 C*** 565 IF(CZMEAN(I,J).GT.0.)THEN 566 FACTRS=CZEN(I,J)/CZMEAN(I,J) 567 ELSE 568 FACTRS=0. 569 ENDIF 570 C 571 IF(SIGT4(I,J).GT.0.)THEN 572 TLMH=TLM(I,J) 573 FACTRL=STBOL*TLMH*TLMH*TLMH*TLMH/SIGT4(I,J) 574 ELSE 575 FACTRL=0. 576 ENDIF 577 C 578 c Ek 10 feb 2000 - RADIN no longer needed in SFLX (via FK) 579 c now use RADIN array for incoming longwave 580 c perhaps change the name later to e.g. RDLIN for consistency 581 c RADIN(I,J)=((RSWIN(I,J)-RSWOUT(I,J))*FACTRS+ 582 c & RLWIN(I,J)*FACTRL)*HBM2(I,J) 583 c if(i.eq.25.and.j.eq.31.and.mype.eq.1) then 584 c print*,'RLWIN,FACTRL,HBM2=',rlwin(i,j),factrl,hbm2(i,j) 585 c endif 586 RADIN(I,J)= RLWIN(I,J)*FACTRL*HBM2(I,J) 587 RDSIN(I,J)= RSWIN(I,J)*FACTRS*HBM2(I,J) 588 C*** 589 C*** DIAGNOSTIC RADIATION ACCUMULATION 590 C*** 591 ASWIN (I,J)=ASWIN (I,J)+RSWIN (I,J)*HBM2(I,J)*FACTRS 592 ASWOUT(I,J)=ASWOUT(I,J)-RSWOUT(I,J)*HBM2(I,J)*FACTRS 593 ASWTOA(I,J)=ASWTOA(I,J)+RSWTOA(I,J)*HBM2(I,J)*FACTRS 594 ALWIN (I,J)=ALWIN (I,J)+RLWIN (I,J)*HBM2(I,J)*FACTRL 595 ALWOUT(I,J)=ALWOUT(I,J)-RADOT (I,J)*HBM2(I,J) 596 ALWTOA(I,J)=ALWTOA(I,J)+RLWTOA(I,J)*HBM2(I,J) 597 C*** 598 C*** CHECK FOR SATURATION AT THE LOWEST MODEL LEVEL Page 7 Source Listing SURFCE 2014-12-17 20:47 SURFCE.F 599 C*** 600 IF((QLM(I,J).GE.QLMS(I,J)*TRESH).AND.(QLM(I,J).LT.QZ0(I,J)))THEN 601 CKLQ(I,J)=0. 602 ELSE 603 CKLQ(I,J)=HBM2(I,J) 604 ENDIF 605 120 CONTINUE 606 C----------------------------------------------------------------------- 607 C*** 608 C*** THS, THLM, CHEATING WET FOR PROFS 609 C*** 610 !$omp parallel do private(i,j) 611 DO 130 J=MYJS2,MYJE2 612 DO 130 I=MYIS,MYIE 613 THLM(I,J)=TLM(I,J)*APELM(I,J) 614 QFC1(I,J)=QFC1(I,J)*CKLQ(I,J) 615 130 CONTINUE 616 C 617 c Ek 10 feb 2000 - update these private statements 618 c add new variables: alb2d,snoalb,alb,ISPTPK 619 c remove old variables no longer needed: 620 C 621 !!$omp parallel do 622 !!$omp& private(chk,chkff,cmck,dqsdtk,dtk,elflx,fk,gflx) 623 !!$omp& private (hflx,i,ice,isltpk,ivgtpk,j,ns,plflx,prcp) 624 !!$omp& private (q1k,q2k,q2sat,rnof1k,rnof2k,satflg,scheck) 625 !!$omp& private (sfcprs,sfcth2,sfctmp,smck,smeltk,snodpk) 626 !!$omp& private (soilqm,soilqw,soldn,stck,t1k,tbot,vgfrck,z) 627 c Ek 10 feb 2000 - private statements 628 c add new variables 629 c remove old variables no longer needed later 630 !!$omp& private (lwdn,sh2ok,alb2d,snoalb,alb,ISPTPK,snowh) 631 C 632 C Ek 18 jan 2000 - temporarily set ISPTPK=1 (2-D fixed field: x,y) 633 c comes from ISLSCP data set 2-d fixed field 634 ISPTPK=1 635 C ---------------------------------------------------------------------- 636 C Begin main 'workhorse' loop over entire model domain 637 C ---------------------------------------------------------------------- 638 DO 160 J=MYJS2,MYJE2 639 DO 155 I=MYIS,MYIE 640 C ---------------------------------------------------------------------- 641 IF(HBM2(I,J).LT.0.5)GO TO 155 642 c Check to see that when ocean, ALBASE=ALBEDO=0.06,MXSNAL=0, 643 IF (SM(I,J) .GT. 0.5) THEN 644 IF ((ALBASE(I,J) .NE. 0.0) .OR. 645 . (ALBEDO(I,J) .LT. 0.059) .OR. 646 . (ALBEDO(I,J) .GT. 0.061) .OR. 647 . (MXSNAL(I,J) .NE. 0.0) ) THEN 648 WRITE(6,*)'ALBo:I,J,MYPE,ICE,SNODPK,ALB,ALB2D,SNOALB=', 649 . I,J,MYPE,ICE,SNO(I,J),ALBASE(I,J),ALBEDO(I,J),MXSNAL(I,J) 650 IERR1=1 651 ENDIF 652 ENDIF 653 C ---------------------------------------------------------------------- 654 IF(SM(I,J).GT.0.5)THEN 655 THS(I,J)=SST(I,J)*APES(I,J) Page 8 Source Listing SURFCE 2014-12-17 20:47 SURFCE.F 656 QS(I,J)=HBM2(I,J)*PQ0SEA/PS(I,J) 657 1 *EXP(A2*(THS(I,J)-A3*APES(I,J))/(THS(I,J)-A4*APES(I,J))) 658 ENDIF 659 C ---------------------------------------------------------------------- 660 C Land or sea-ice 661 C ---------------------------------------------------------------------- 662 C*** 663 C*** LOADING AND UNLOADING NOAH LSM LAND SOIL VARIABLES 664 C*** 665 IF(SM(I,J).LT.0.5)THEN 666 c ICE=INT(SICE(I,J)+0.3) 667 ICE=NINT(SICE(I,J)) 668 c Ek 10 feb 2000 - SATFLG no longer needed in SFLX 669 c SATFLG=CKLQ(I,J) 670 C 671 DTK=DTQ2 672 Z=ZLM(I,J) 673 c Ek 10 feb 2000 - FK no longer needed in SFLX 674 c FK=RADIN(I,J) 675 c Ek 18 jan 2000 - add longwave radiation calc needed for call SFLX 676 LWDN=RADIN(I,J) 677 SOLDN=RDSIN(I,J) 678 SFCPRS=PLM(I,J) 679 PRCP=PREC(I,J)*ROW/DTQ2 680 Q2K=QLM(I,J) 681 Q2SAT=QLMS(I,J) 682 C ---------------------------------------------------------------------- 683 C Q2K may slightly exceed Q2SAT in some cases due to atmospheric physics 684 C parameterizations previously called 685 IF (Q2K .GT. Q2SAT) Q2K=Q2SAT 686 DQSDTK=DQSDT(I,J) 687 TBOT=TG(I,J) 688 CHK=AKHS(I,J) 689 CHKFF=FFS(I,J) 690 IVGTPK=IVGTYP(I,J) 691 ISLTPK=ISLTYP(I,J) 692 C MEB PREVENT ROUTINES IN SFLX FROM GOING OUT OF BOUNDS 693 IF (IVGTPK.EQ.0) IVGTPK=13 694 IF (ISLTPK.EQ.0) ISLTPK=9 695 C MEB PREVENT ROUTINES IN SFLX FROM GOING OUT OF BOUNDS 696 VGFRCK=VEGFRC(I,J) 697 Q1K=QS(I,J) 698 SFCTMP=THLM(I,J)/APELM(I,J) 699 SFCTH2=THLM(I,J)/APES(I,J) 700 T1K=THS(I,J)/APES(I,J) 701 CMCK=CMC(I,J) 702 SNODPK=SNO(I,J) 703 c use 2-d prognostic field of snowdepth, SI(x,y) for 704 C SNOWH (local snowdepth variable) 705 C Ek 17 Jan 2001 706 SNOWH=SI(I,J) 707 C 708 DO 140 NS=1,NSOIL 709 SMCK(NS)=SMC(I,J,NS) 710 c print*,'i,j,ns,smc(i,j,ns),smck(ns)=', 711 c * i,j,ns,smc(i,j,ns),smck(ns) 712 C use 3-d prognostic field of liquid soil moisture, SH2O(x,y,4) for Page 9 Source Listing SURFCE 2014-12-17 20:47 SURFCE.F 713 C SH2OK(NS) (local liquid soil moisture variable) 714 C Ek 11 Jan 2001 715 SH2OK(NS)=SH2O(I,J,NS) 716 c print*,'mype,i,j,ns,sh2ok=',mype,i,j,ns,sh2ok(ns) 717 C 718 STCK(NS)=STC(I,J,NS) 719 c if(mype.eq.13) then 720 c print*,'i,j,ns,stc(i,j,ns)=',i,j,ns,stc(i,j,ns) 721 c endif 722 140 CONTINUE 723 C 724 c OLD CALL SFLX 725 C----------------------------------------------------------------------- 726 c CALL SFLX 727 c & (ICE ,SATFLG,DTK ,Z, NSOIL, NROOT, SLDPTH 728 c &, FK ,SOLDN ,SFCPRS,PRCP ,SFCTMP,SFCTH2 729 c &, Q2K ,Q2SAT ,DQSDTK,TBOT ,CHK, CHKFF 730 c &, IVGTPK,ISLTPK,VGFRCK 731 c &, PLFLX ,ELFLX ,HFLX ,GFLX ,RNOF1K,RNOF2K 732 c &, Q1K ,SMELTK,T1K ,CMCK ,SMCK ,STCK ,SNODPK 733 c &, SOILQW,SOILQM ) 734 C----------------------------------------------------------------------- 735 C 736 C Ek 18 jan 2000 - temporarily set ISPTPK=1 (2-D fixed field: x,y) 737 c comes from ISLSCP data set 2-d fixed field 738 c ISPTPK=1 739 C SNOALB (fixed value, max snow albedo) from MXSNAL 740 c via 2-d fixed field from David Robinson 741 SNOALB=MXSNAL(I,J) 742 C ALB (fixed value, snow-free albedo) from ALBASE 743 C via 2-d fixed field from Matthews 744 ALB=ALBASE(I,J) 745 C Set dynamic albedo from the dynamic albedo 2-d array, which is updated 746 C only for the land in SFLX, not for sea-ice, so we must 'pass through' 747 C ALB2D=0.60 for sea-ice. 748 C turn this off, and instead, do it within SFLX 749 c ALB2D=ALBEDO(I,J) 750 C 751 C ---------------------------------------------------------------------- 752 c Initial range check for variables/parameters for entire I,J domain for 753 C first timestep (when LFIRST=true). Set LFIRST=false after end of the 754 C 155/160 loop. 755 756 IF (LFIRST) THEN 757 c IF ( (LFIRST) .OR. 758 c . (NTSD .EQ. 2) .OR. 759 c . (NTSD .EQ. 3) .OR. 760 c . (NTSD .EQ. NTSTM/2) .OR. 761 c . (NTSD .EQ. NTSTM) ) THEN 762 C ---------------------------------------------------------------------- 763 C land OR sea-ice checks 764 C land checks first 765 IF (ICE .LT. 0.5) THEN 766 C ---------------------------------------------------------------------- 767 C albedo checks 768 C ALB = ALBASE(I,J) = snow free albedo 769 C min = 0.11 (Matthews data base) Page 10 Source Listing SURFCE 2014-12-17 20:47 SURFCE.F 770 C max = 0.80 (Matthews data base) 771 C ALBEDO(I,J) = dynamic albedo (=ALBASE when SNODPK=0) 772 C (=ALB2D on return from SFLX) 773 C SNOALB = MAXSNAL(I,J) = maximum snow albedo 774 C min = 0.21 (Robinson data base) 775 C max = 0.75 (Robinson data base) 776 IF ( (ALB .GT.(SNOALB+0.051)) .OR. 777 . (ALB .GT.(ALBEDO(I,J)+0.051)) .OR. 778 . (ALBEDO(I,J) .GT.(SNOALB+0.051) ) ) THEN 779 write(6,*)'ALBl1:I,J,MYPE,ICE,SNODPK,ALB,ALB2D,SNOALB=', 780 . I,J,MYPE,ICE,SNODPK,ALB,ALBEDO(I,J),SNOALB 781 IERR1=1 782 ENDIF 783 IF ( (ALB .LT. 0.10) .OR. 784 . (ALB .GT. 0.81) .OR. 785 . (SNOALB .LT. 0.20) .OR. 786 . (SNOALB .GT. 0.81) ) THEN 787 write(6,*)'ALBl2:I,J,MYPE,ICE,SNODPK,ALB,ALB2D,SNOALB=', 788 . I,J,MYPE,ICE,SNODPK,ALB,ALBEDO(I,J),SNOALB 789 IERR1=1 790 ENDIF 791 C ---------------------------------------------------------------------- 792 C Veg,soil,slope type, veg fraction, No. soil layers checks 793 IF ( ( (IVGTPK .LT. 1) .OR. (IVGTPK .GT. 13) ) .OR. 794 . ( (ISLTPK .LT. 1) .OR. (ISLTPK .GT. 9) ) .OR. 795 . (ISPTPK .NE. 1) .OR. 796 . ( (VGFRCK .LT. 0.) .OR. (VGFRCK .GT. 1.) ) .OR. 797 . (NSOIL .NE. 4) ) THEN 798 WRITE(6,*)'LANDSFC:I,J,MYPE,IVGTPK,ISLTPK,ISPTPK,VGFRCK=', 799 . I,J,MYPE,IVGTPK,ISLTPK,ISPTPK,VGFRCK 800 IERR1=1 801 ENDIF 802 C ---------------------------------------------------------------------- 803 DO index=1,NSOIL 804 c do index=1,nsoil 805 C ---------------------------------------------------------------------- 806 C debug 807 indexp = min(index+1,nsoil) 808 indexm = max(index-1,1) 809 C ---------------------------------------------------------------------- 810 C Soil temp (STC) range check 811 c IF ((STCK(index) .LT. 223.15) .OR. 812 IF ((STCK(index) .LT. 200.00) .OR. 813 . (STCK(index) .GT. 323.15)) THEN 814 write(6,*)'STCl:INDEX,I,J,MYPE,STC=', 815 . index,I,J,MYPE,STCK(index) 816 IERR1=2 817 ENDIF 818 C ---------------------------------------------------------------------- 819 C Total soil moisture (SMC) check 820 IF ( (SMCK(index) .LT. 0.02) .OR. 821 . (SMCK(index) .GT. 0.468) ) THEN 822 write(6,*)'SMC:INDEX,I,J,MYPE,STCK,SMC,SH2O=', 823 . index,I,J,MYPE,STCK(index),SMCK(index),SH2OK(index) 824 IERR1=1 825 ENDIF 826 C ---------------------------------------------------------------------- Page 11 Source Listing SURFCE 2014-12-17 20:47 SURFCE.F 827 C Liquid soil moisture<=total soil moisture (SH2O<=SMC) maximum check 828 IF ( (SH2OK(index) .LT. 0.02) .OR. 829 . (SH2OK(index) .GT. SMCK(index)) ) THEN 830 write(6,*)'aSH2Ol1:INDEX,I,J,MYPE,ICE,STCK,SMC,SH2O=', 831 . index,I,J,MYPE,ICE,STCK(index),SMCK(index),SH2OK(index) 832 IERR1=1 833 ENDIF 834 C ---------------------------------------------------------------------- 835 C Note SH2O, SMC when STC > +1.5C 836 IF (STCK(index) .GT. T0+1.5) THEN 837 IF (SMCK(index)-SH2OK(index) .GT. 0.03) THEN 838 write(6,*)'SH2Ol2a:INDEX,I,J,MYPE,STCK,SMC,SH2O=', 839 . index,I,J,MYPE,STCK(index),SMCK(index),SH2OK(index) 840 write(6,*)'SH2Ol2a:I,J,MYPE,N-1,N,N+1, STCK(N-1),STCK(N),ST 841 *CK(N+1), =', 842 . I,J,MYPE,indexm,index,indexp, 843 . STCK(indexm),STCK(index),STCK(indexp) 844 IERR1=1 845 ENDIF 846 ELSEIF (STCK(index) .LT. T0-0.5) THEN 847 C Note SH2O, SMC when STC < -0.5C 848 IF (SMCK(index)-SH2OK(index) .LT. 0.005) THEN 849 write(6,*)'SH2Ol2b:INDEX,I,J,MYPE,STCK,SMC,SH2O=', 850 . index,I,J,MYPE,STCK(index),SMCK(index),SH2OK(index) 851 write(6,*)'SH2Ol2b:I,J,MYPE,N-1,N,N+1, STCK(N-1),STCK(N),ST 852 *CK(N+1), =', 853 . I,J,MYPE,indexm,index,indexp, 854 . STCK(indexm),STCK(index),STCK(indexp) 855 IERR1=1 856 ENDIF 857 ENDIF 858 C ---------------------------------------------------------------------- 859 c print*,'index at the end of loop=',i,j,index 860 END DO 861 C ---------------------------------------------------------------------- 862 C Soil column bottom temp (TBOT) check 863 c IF ((TBOT .LT. 223.15) .OR. (TBOT .GT. 323.15)) THEN 864 IF ((TBOT .LT. 200.00) .OR. (TBOT .GT. 323.15)) THEN 865 write(6,*)'TBOTl:INDEX,I,J,MYPE,TBOT=', 866 . index,I,J,MYPE,TBOT 867 IERR2=1 868 ENDIF 869 C ---------------------------------------------------------------------- 870 C sfc/skin temp (T1K) check 871 c IF ((T1K .LT. 223.15) .OR. (T1K .GT. 323.15)) THEN 872 IF ((T1K .LT. 200.00) .OR. (T1K .GT. 323.15)) THEN 873 write(6,*)'T1:INDEX,I,J,MYPE,T1=', 874 . index,I,J,MYPE,T1K 875 IERR2=1 876 ENDIF 877 C ---------------------------------------------------------------------- 878 C Canopy water content (CMC) check 879 IF ((CMCK .LT. 0.) .OR. (CMCK .GT. 0.5E-3)) THEN 880 write(6,*)'CMC:INDEX,I,J,MYPE,CMC=', 881 . index,I,J,MYPE,CMCK 882 c IERR1=1 883 ENDIF Page 12 Source Listing SURFCE 2014-12-17 20:47 SURFCE.F 884 C ---------------------------------------------------------------------- 885 C Snow water equivalent, snow depth check 886 IF (((SNODPK .GT. 0.) .AND. (SNOWH .LT. 1.0E-09)) .OR. 887 . ((SNODPK .LT. 1.0E-09) .AND. (SNOWH .GT. 0.)) .OR. 888 . (SNODPK .GT. SNOWH)) THEN 889 WRITE(6,*)'SNOW:I,J,MYPE,SNODPK,SNOWH=', 890 . I,J,MYPE,SNODPK,SNOWH 891 IERR1=1 892 ENDIF 893 C ---------------------------------------------------------------------- 894 C Snow density check 895 IF (SNODPK .GT. 0.) THEN 896 SNDENS=SNODPK/SNOWH 897 IF (SNDENS .LT. 0.05) THEN 898 WRITE(6,*)'SNDENS<5%:I,J,MYPE,SNODPK,SNOWH,SNDENS=', 899 . I,J,MYPE,SNODPK,SNOWH,SNDENS 900 IERR1=1 901 ENDIF 902 IF (SNDENS .GT. 0.42) THEN 903 WRITE(6,*)'SNDENS>42%:I,J,MYPE,SNODPK,SNOWH,SNDENS=', 904 . I,J,MYPE,SNODPK,SNOWH,SNDENS 905 IERR1=1 906 ENDIF 907 ENDIF 908 C ---------------------------------------------------------------------- 909 C end land checks 910 C ---------------------------------------------------------------------- 911 ELSE 912 C ---------------------------------------------------------------------- 913 C sea-ice checks next 914 C ---------------------------------------------------------------------- 915 C sea-ice bottom temp (TBOT) check 916 IF ( (TBOT .LT. 271.159) .OR. 917 . (TBOT .GT. 271.161) ) THEN 918 WRITE(6,*)'TBOTi:INDEX,I,J,MYPE,TBOT=', 919 . index,I,J,MYPE,TBOT 920 ENDIF 921 C ---------------------------------------------------------------------- 922 C sea-ice temp with depth (STC) range check 923 DO index=1,4 924 c IF ((STCK(index) .LT. 223.15) .OR. 925 IF ((STCK(index) .LT. 200.00) .OR. 926 c . (STCK(index) .GT. 323.15)) THEN 927 . (STCK(index) .GT. 274.15)) THEN 928 write(6,*)'STCi:INDEX,I,J,MYPE,STC=', 929 . index,I,J,MYPE,STCK(index) 930 c IERR1=2 931 ENDIF 932 END DO 933 C ---------------------------------------------------------------------- 934 C sfc/skin temp (T1K) check 935 c IF ((T1K .LT. 223.15) .OR. (T1K .GT. 323.15)) THEN 936 IF ((T1K .LT. 200.00) .OR. (T1K .GT. 323.15)) THEN 937 write(6,*)'T1:INDEX,I,J,MYPE,ICE,T1=', 938 . index,I,J,MYPE,ICE,T1K 939 IERR2=1 940 ENDIF Page 13 Source Listing SURFCE 2014-12-17 20:47 SURFCE.F 941 C ---------------------------------------------------------------------- 942 C Snow water equivalent, snow depth check 943 IF (((SNODPK .GT. 0.) .AND. (SNOWH .LT. 1.0E-09)) .OR. 944 . ((SNODPK .LT. 1.0E-09) .AND. (SNOWH .GT. 0.)) .OR. 945 . (SNODPK .GT. SNOWH)) THEN 946 WRITE(6,*)'SNOW:I,J,MYPE,SNODPK,SNOWH=', 947 . I,J,MYPE,SNODPK,SNOWH 948 IERR1=1 949 ENDIF 950 C ---------------------------------------------------------------------- 951 C Snow density check 952 IF (SNODPK .GT. 0.) THEN 953 SNDENS=SNODPK/SNOWH 954 IF (SNDENS .LT. 0.05) THEN 955 WRITE(6,*)'SNDENS<5%:I,J,MYPE,SNODPK,SNOWH,SNDENS=', 956 . I,J,MYPE,SNODPK,SNOWH,SNDENS 957 IERR1=1 958 ENDIF 959 IF (SNDENS .GT. 0.42) THEN 960 WRITE(6,*)'SNDENS>42%:I,J,MYPE,SNODPK,SNOWH,SNDENS=', 961 . I,J,MYPE,SNODPK,SNOWH,SNDENS 962 IERR1=1 963 ENDIF 964 ENDIF 965 C ---------------------------------------------------------------------- 966 c Check to see that when sea-ice, ALBASE=ALBEDO=0.65,MXSNAL=0, 967 IF ( (ALB .NE. 0.0) .OR. 968 . (ALBEDO(I,J) .LT. 0.64) .OR. 969 . (ALBEDO(I,J) .GT. 0.66) .OR. 970 . (SNOALB .NE. 0.0) ) THEN 971 WRITE(6,*)'ALBi:I,J,MYPE,ICE,SNODPK,ALB,ALB2D,SNOALB=', 972 . I,J,MYPE,ICE,SNODPK,ALB,ALBEDO(I,J),SNOALB 973 IERR1=1 974 ENDIF 975 C ---------------------------------------------------------------------- 976 c Check to see that when sea-ice, SH2O=SMC=1.0 977 DO index=1,4 978 IF ( (SMCK(index) .NE. 1.0) .OR. 979 . (SMCK(index) .NE. SH2OK(index)) ) THEN 980 write(6,*)'SMCi:INDEX,I,J,MYPE,ICE,STCK,SMC,SH2O=', 981 . index,I,J,MYPE,ICE,STCK(index),SMCK(index),SH2OK(index) 982 IERR1=1 983 ENDIF 984 END DO 985 C ---------------------------------------------------------------------- 986 C check to see that veg type=soil type=veg frac=0 987 IF ( (IVGTYP(I,J) .NE. 0 ) .OR. 988 . (ISLTYP(I,J) .NE. 0 ) .OR. 989 . (VGFRCK .GT. 0.) ) THEN 990 WRITE(6,*)'IVGTYPi:I,J,MYPE,IVGTYP,ISLTYP,VGFRCK=', 991 . I,J,MYPE,IVGTYP(I,J),ISLTYP(I,J),VGFRCK 992 WRITE(6,*)'IVGTYPi:I,J,MYPE,SNODPK,ALB,ALBEDO,SNOALB=', 993 . I,J,MYPE,SNODPK,ALB,ALBEDO(I,J),SNOALB 994 ENDIF 995 C ---------------------------------------------------------------------- 996 C end sea-ice checks 997 C end of separate land AND sea-ice checks Page 14 Source Listing SURFCE 2014-12-17 20:47 SURFCE.F 998 C ---------------------------------------------------------------------- 999 ENDIF 1000 C ---------------------------------------------------------------------- 1001 C both land AND sea-ice checks 1002 C Snow water equivalent, snow depth check 1003 IF (((SNODPK .GT. 0.) .AND. (SNOWH .LE. 0.)) .OR. 1004 . ((SNODPK .LE. 0.) .AND. (SNOWH .GT. 0.)) .OR. 1005 . (SNODPK .GT. SNOWH)) THEN 1006 WRITE(6,*)'SNOW:I,J,MYPE,SNODPK,SNOWH=', 1007 . I,J,MYPE,SNODPK,SNOWH 1008 c IERR1=1 1009 ENDIF 1010 C ---------------------------------------------------------------------- 1011 C Snow density check 1012 IF (SNODPK .GT. 0.) THEN 1013 SNDENS=SNODPK/SNOWH 1014 IF (SNDENS .LT. 0.05) THEN 1015 WRITE(6,*)'SNDENS<5%:I,J,MYPE,SNODPK,SNOWH,SNDENS=', 1016 . I,J,MYPE,SNODPK,SNOWH,SNDENS 1017 c IERR1=1 1018 ENDIF 1019 IF (SNDENS .GT. 0.42) THEN 1020 WRITE(6,*)'SNDENS>42%:I,J,MYPE,SNODPK,SNOWH,SNDENS=', 1021 . I,J,MYPE,SNODPK,SNOWH,SNDENS 1022 c IERR1=1 1023 ENDIF 1024 ENDIF 1025 C ---------------------------------------------------------------------- 1026 C sfc/skin temp (T1K) check 1027 c IF ((T1K .LT. 223.15) .OR. (T1K .GT. 323.15)) THEN 1028 IF ((T1K .LT. 200.00) .OR. (T1K .GT. 323.15)) THEN 1029 write(6,*)'T1:INDEX,I,J,MYPE,T1=', 1030 . index,I,J,MYPE,T1K 1031 c IERR2=1 1032 ENDIF 1033 C ---------------------------------------------------------------------- 1034 c check to see that 223.15K (-50C) =< SFCTMP,SFCTH2 <= 323.15K (+50C) 1035 C SFCTMP = lowest model level temp 1036 C SFCTH2 = lowest model level pot temp 1037 IF ( ( (SFCTMP .LT. 223.15) .OR. (SFCTMP .GT. 323.15) ) .OR. 1038 . ( (SFCTH2 .LT. 223.15) .OR. (SFCTH2 .GT. 323.15) ) ) THEN 1039 WRITE(6,*)'SFCTMP:I,J,MYPE,SFCTMP,SFCTH2=', 1040 . I,J,MYPE,SFCTMP,SFCTH2 1041 ENDIF 1042 C ---------------------------------------------------------------------- 1043 c check to see that 0W/m2 =< LWDN <= 500W/m2 1044 c check to see that 0W/m2 =< SOLDN <= 1200W/m2 1045 C LWDN = downward longwave radiation 1046 C SOLDN = downward solar radiation 1047 IF ( ( (LWDN .LT. 0.) .OR. (LWDN .GT. 500.) ) .OR. 1048 . ( (SOLDN .LT. 0.) .OR. (SOLDN .GT. 1200.) ) ) THEN 1049 WRITE(6,*)'LWSOLDN:I,J,MYPE,LWDN,SOLDN=', 1050 . I,J,MYPE,LWDN,SOLDN 1051 ENDIF 1052 C ---------------------------------------------------------------------- 1053 c check to see that 0g/kg < Q2K,Q2SAT <= 40g/kg 1054 c check to see that Q2K <= Q2SAT Page 15 Source Listing SURFCE 2014-12-17 20:47 SURFCE.F 1055 C Q2K = lowest model level spec hum 1056 C Q2SAT = lowest model level sat spec hum 1057 c IF ( ( (Q2K .LE. 0.) .OR. (Q2K .GT. 0.04) ) .OR. 1058 c . ( (Q2SAT .LE. 0.) .OR. (Q2SAT .GT. 0.04) ) .OR. 1059 IF ( ( (Q2K .LE. 0.) .OR. (Q2K .GT. 0.05) ) .OR. 1060 . ( (Q2SAT .LE. 0.) .OR. (Q2SAT .GT. 0.05) ) .OR. 1061 . (Q2K .GT. Q2SAT) ) THEN 1062 WRITE(6,*)'Q2:I,J,MYPE,Q2K,Q2SAT=', 1063 . I,J,MYPE,Q2K,Q2SAT 1064 ENDIF 1065 C ---------------------------------------------------------------------- 1066 c check to see that 600mb =< SFCPRS <= 1050mb 1067 C SFCPRS = surface pressure (Pa) 1068 IF ( (SFCPRS .LE. 60000.) .OR. (SFCPRS .GT. 105000.) ) THEN 1069 WRITE(6,*)'SFCPRS:I,J,MYPE,SFCPRS=', 1070 . I,J,MYPE,SFCPRS 1071 ENDIF 1072 C ---------------------------------------------------------------------- 1073 c check to see that 0 =< PRCP <= 0.04 KG M-2 S-1 (=0.04mm/s = 144mm/hr) 1074 C PRCP = precip rate (KG M-2 S-1) 1075 IF ( (PRCP .LT. 0.) .OR. (PRCP .GT. 0.04) ) THEN 1076 WRITE(6,*)'PRCP:I,J,MYPE,PRCP=', 1077 . I,J,MYPE,PRCP 1078 ENDIF 1079 C ---------------------------------------------------------------------- 1080 c check to see that 0m/s < CHK <= 0.1m/s 1081 C CHK = sfc heat exchange coeff (m/s) 1082 IF ( (CHK .LE. 0.) .OR. (CHK .GT. 0.1) ) THEN 1083 WRITE(6,*)'CH:I,J,MYPE,CHK=', 1084 . I,J,MYPE,CHK 1085 ENDIF 1086 C ---------------------------------------------------------------------- 1087 IF (IERR2 .EQ. 1) THEN 1088 WRITE(6,*) 'RANGE CHECK IN SURFCE: EXTREME VALUES BEFORE SFLX' 1089 ENDIF 1090 IF (IERR1 .EQ. 1) THEN 1091 c WRITE(6,*) 'RANGE CHECK FAILURE IN SURFCE - STOP' 1092 c STOP 1093 ENDIF 1094 C ---------------------------------------------------------------------- 1095 C End of initial (logical LFIRST) range check for variables/parameters. 1096 ENDIF 1097 C ---------------------------------------------------------------------- 1098 C Ek 18 jan 2000 - NEW CALL SFLX 1099 CALL SFLX 1100 I (ICE,DTK,Z,NSOIL,SLDPTH, 1101 I LWDN,SOLDN,SFCPRS,PRCP,SFCTMP,SFCTH2,Q2K,SFCSPD,Q2SAT,DQSDTK, 1102 I IVGTPK,ISLTPK,ISPTPK, 1103 I VGFRCK,PTU,TBOT,ALB,SNOALB, 1104 2 CMCK,T1K,STCK,SMCK,SH2OK,SNOWH,SNODPK,ALB2D,CHK,CMK, 1105 O PLFLX,ELFLX,HFLX,GFLX,RNOF1K,RNOF2K,Q1K,SMELTK, 1106 O SOILQW,SOILQM,DUM1,DUM2,DUM3,DUM4) 1107 C----------------------------------------------------------------------- 1108 IF (LFIRSTa) THEN 1109 c IF ( (LFIRST) .OR. 1110 c . (NTSD .EQ. 2) .OR. 1111 c . (NTSD .EQ. 3) .OR. Page 16 Source Listing SURFCE 2014-12-17 20:47 SURFCE.F 1112 c . (NTSD .EQ. NTSTM/2) .OR. 1113 c . (NTSD .EQ. NTSTM) ) THEN 1114 C ---------------------------------------------------------------------- 1115 C land OR sea-ice checks 1116 C land checks first 1117 IF (ICE .LT. 0.5) THEN 1118 C ---------------------------------------------------------------------- 1119 C albedo checks 1120 C ALB = ALBASE(I,J) = snow free albedo 1121 C min = 0.11 (Matthews data base) 1122 C max = 0.80 (Matthews data base) 1123 C ALBEDO(I,J) = dynamic albedo (=ALBASE when SNODPK=0) 1124 C (=ALB2D on return from SFLX) 1125 C SNOALB = MAXSNAL(I,J) = maximum snow albedo 1126 C min = 0.21 (Robinson data base) 1127 C max = 0.75 (Robinson data base) 1128 IF ( (ALB .GT.(SNOALB+0.051)) .OR. 1129 . (ALB .GT.(ALBEDO(I,J)+0.051)) .OR. 1130 . (ALBEDO(I,J) .GT.(SNOALB+0.051) ) ) THEN 1131 write(6,*)'ALBl1:I,J,MYPE,ICE,SNODPK,ALB,ALB2D,SNOALB=', 1132 . I,J,MYPE,ICE,SNODPK,ALB,ALBEDO(I,J),SNOALB 1133 IERR1=1 1134 ENDIF 1135 IF ( (ALB .LT. 0.10) .OR. 1136 . (ALB .GT. 0.81) .OR. 1137 . (SNOALB .LT. 0.20) .OR. 1138 . (SNOALB .GT. 0.81) ) THEN 1139 write(6,*)'ALBl2:I,J,MYPE,ICE,SNODPK,ALB,ALB2D,SNOALB=', 1140 . I,J,MYPE,ICE,SNODPK,ALB,ALBEDO(I,J),SNOALB 1141 IERR1=1 1142 ENDIF 1143 C ---------------------------------------------------------------------- 1144 C Veg,soil,slope type, veg fraction, No. soil layers checks 1145 IF ( ( (IVGTPK .LT. 1) .OR. (IVGTPK .GT. 13) ) .OR. 1146 . ( (ISLTPK .LT. 1) .OR. (ISLTPK .GT. 9) ) .OR. 1147 . (ISPTPK .NE. 1) .OR. 1148 . ( (VGFRCK .LT. 0.) .OR. (VGFRCK .GT. 1.) ) .OR. 1149 . (NSOIL .NE. 4) ) THEN 1150 WRITE(6,*)'LANDSFC:I,J,MYPE,IVGTPK,ISLTPK,ISPTPK,VGFRCK=', 1151 . I,J,MYPE,IVGTPK,ISLTPK,ISPTPK,VGFRCK 1152 IERR1=1 1153 ENDIF 1154 C ---------------------------------------------------------------------- 1155 DO index=1,NSOIL 1156 C ---------------------------------------------------------------------- 1157 C debug 1158 indexp = min(index+1,nsoil) 1159 indexm = max(index-1,1) 1160 C ---------------------------------------------------------------------- 1161 C Soil temp (STC) range check 1162 c IF ((STCK(index) .LT. 223.15) .OR. 1163 IF ((STCK(index) .LT. 200.00) .OR. 1164 . (STCK(index) .GT. 323.15)) THEN 1165 write(6,*)'STCl:INDEX,I,J,MYPE,STC=', 1166 . index,I,J,MYPE,STCK(index) 1167 IERR1=2 1168 ENDIF Page 17 Source Listing SURFCE 2014-12-17 20:47 SURFCE.F 1169 C ---------------------------------------------------------------------- 1170 C Total soil moisture (SMC) check 1171 IF ( (SMCK(index) .LT. 0.02) .OR. 1172 . (SMCK(index) .GT. 0.468) ) THEN 1173 write(6,*)'SMC:INDEX,I,J,MYPE,STCK,SMC,SH2O=', 1174 . index,I,J,MYPE,STCK(index),SMCK(index),SH2OK(index) 1175 IERR1=1 1176 ENDIF 1177 C ---------------------------------------------------------------------- 1178 C Liquid soil moisture<=total soil moisture (SH2O<=SMC) maximum check 1179 IF ( (SH2OK(index) .LT. 0.02) .OR. 1180 . (SH2OK(index) .GT. SMCK(index)) ) THEN 1181 write(6,*)'bSH2Ol1:INDEX,I,J,MYPE,ICE,STCK,SMC,SH2O=', 1182 . index,I,J,MYPE,STCK(index),SMCK(index),SH2OK(index) 1183 IERR1=1 1184 ENDIF 1185 C ---------------------------------------------------------------------- 1186 C Note SH2O, SMC when STC > +1.5C 1187 IF (STCK(index) .GT. T0+1.5) THEN 1188 IF (SMCK(index)-SH2OK(index) .GT. 0.005) THEN 1189 write(6,*)'SH2Ol2a:INDEX,I,J,MYPE,STCK,SMC,SH2O=', 1190 . index,I,J,MYPE,STCK(index),SMCK(index),SH2OK(index) 1191 write(6,*)'SH2Ol2a:I,J,MYPE,N-1,N,N+1, STCK(N-1),STCK(N),STCK 1192 *(N+1), =', 1193 . I,J,MYPE,indexm,index,indexp, 1194 . STCK(indexm),STCK(index),STCK(indexp) 1195 IERR1=1 1196 ENDIF 1197 ELSEIF (STCK(index) .LT. T0-0.5) THEN 1198 C Note SH2O, SMC when STC < -0.5C 1199 IF (SMCK(index)-SH2OK(index) .LT. 0.005) THEN 1200 write(6,*)'SH2Ol2b:INDEX,I,J,MYPE,STCK,SMC,SH2O=', 1201 . index,I,J,MYPE,STCK(index),SMCK(index),SH2OK(index) 1202 write(6,*)'SH2Ol2b:I,J,MYPE,N-1,N,N+1, STCK(N-1),STCK(N),STCK 1203 *(N+1), =', 1204 . I,J,MYPE,indexm,index,indexp, 1205 . STCK(indexm),STCK(index),STCK(indexp) 1206 IERR1=1 1207 ENDIF 1208 ENDIF 1209 C ---------------------------------------------------------------------- 1210 END DO 1211 C ---------------------------------------------------------------------- 1212 C Soil column bottom temp (TBOT) check 1213 c IF ((TBOT .LT. 223.15) .OR. (TBOT .GT. 323.15)) THEN 1214 IF ((TBOT .LT. 200.00) .OR. (TBOT .GT. 323.15)) THEN 1215 write(6,*)'TBOTl:INDEX,I,J,MYPE,TBOT=', 1216 . index,I,J,MYPE,TBOT 1217 IERR2=1 1218 ENDIF 1219 C ---------------------------------------------------------------------- 1220 C sfc/skin temp (T1K) check 1221 c IF ((T1K .LT. 223.15) .OR. (T1K .GT. 323.15)) THEN 1222 IF ((T1K .LT. 200.00) .OR. (T1K .GT. 323.15)) THEN 1223 write(6,*)'T1:INDEX,I,J,MYPE,T1=', 1224 . index,I,J,MYPE,T1K 1225 IERR2=1 Page 18 Source Listing SURFCE 2014-12-17 20:47 SURFCE.F 1226 ENDIF 1227 C ---------------------------------------------------------------------- 1228 C Canopy water content (CMC) check 1229 IF ((CMCK .LT. 0.) .OR. (CMCK .GT. 0.5E-3)) THEN 1230 write(6,*)'CMC:INDEX,I,J,MYPE,CMC=', 1231 . index,I,J,MYPE,CMCK 1232 IERR1=1 1233 ENDIF 1234 C ---------------------------------------------------------------------- 1235 C Snow water equivalent, snow depth check 1236 IF (((SNODPK .GT. 0.) .AND. (SNOWH .LT. 1.0E-09)) .OR. 1237 . ((SNODPK .LT. 1.0E-09) .AND. (SNOWH .GT. 0.)) .OR. 1238 . (SNODPK .GT. SNOWH)) THEN 1239 WRITE(6,*)'SNOW:I,J,MYPE,SNODPK,SNOWH=', 1240 . I,J,MYPE,SNODPK,SNOWH 1241 IERR1=1 1242 ENDIF 1243 C ---------------------------------------------------------------------- 1244 C Snow density check 1245 IF (SNODPK .GT. 0.) THEN 1246 SNDENS=SNODPK/SNOWH 1247 IF (SNDENS .LT. 0.05) THEN 1248 WRITE(6,*)'SNDENS<5%:I,J,MYPE,SNODPK,SNOWH,SNDENS=', 1249 . I,J,MYPE,SNODPK,SNOWH,SNDENS 1250 IERR1=1 1251 ENDIF 1252 IF (SNDENS .GT. 0.42) THEN 1253 WRITE(6,*)'SNDENS>42%:I,J,MYPE,SNODPK,SNOWH,SNDENS=', 1254 . I,J,MYPE,SNODPK,SNOWH,SNDENS 1255 IERR1=1 1256 ENDIF 1257 ENDIF 1258 C ---------------------------------------------------------------------- 1259 C end land checks 1260 C ---------------------------------------------------------------------- 1261 ELSE 1262 C ---------------------------------------------------------------------- 1263 C sea-ice checks next 1264 C ---------------------------------------------------------------------- 1265 C sea-ice bottom temp (TBOT) check 1266 IF ( (TBOT .LT. 271.159) .OR. 1267 . (TBOT .GT. 271.161) ) THEN 1268 WRITE(6,*)'TBOTi:INDEX,I,J,MYPE,TBOT=', 1269 . index,I,J,MYPE,TBOT 1270 ENDIF 1271 C ---------------------------------------------------------------------- 1272 C sea-ice temp with depth (STC) range check 1273 DO index=1,4 1274 c IF ((STCK(index) .LT. 223.15) .OR. 1275 IF ((STCK(index) .LT. 200.00) .OR. 1276 c . (STCK(index) .GT. 323.15)) THEN 1277 . (STCK(index) .GT. 274.15)) THEN 1278 write(6,*)'STCi:INDEX,I,J,MYPE,STC=', 1279 . index,I,J,MYPE,STCK(index) 1280 IERR1=2 1281 ENDIF 1282 END DO Page 19 Source Listing SURFCE 2014-12-17 20:47 SURFCE.F 1283 C ---------------------------------------------------------------------- 1284 C sfc/skin temp (T1K) check 1285 c IF ((T1K .LT. 223.15) .OR. (T1K .GT. 323.15)) THEN 1286 IF ((T1K .LT. 200.00) .OR. (T1K .GT. 323.15)) THEN 1287 write(6,*)'T1:INDEX,I,J,MYPE,ICE,T1=', 1288 . index,I,J,MYPE,ICE,T1K 1289 IERR2=1 1290 ENDIF 1291 C ---------------------------------------------------------------------- 1292 C Snow water equivalent, snow depth check 1293 IF (((SNODPK .GT. 0.) .AND. (SNOWH .LT. 1.0E-09)) .OR. 1294 . ((SNODPK .LT. 1.0E-09) .AND. (SNOWH .GT. 0.)) .OR. 1295 . (SNODPK .GT. SNOWH)) THEN 1296 WRITE(6,*)'SNOW:I,J,MYPE,SNODPK,SNOWH=', 1297 . I,J,MYPE,SNODPK,SNOWH 1298 IERR1=1 1299 ENDIF 1300 C ---------------------------------------------------------------------- 1301 C Snow density check 1302 IF (SNODPK .GT. 0.) THEN 1303 SNDENS=SNODPK/SNOWH 1304 IF (SNDENS .LT. 0.05) THEN 1305 WRITE(6,*)'SNDENS<5%:I,J,MYPE,SNODPK,SNOWH,SNDENS=', 1306 . I,J,MYPE,SNODPK,SNOWH,SNDENS 1307 IERR1=1 1308 ENDIF 1309 IF (SNDENS .GT. 0.42) THEN 1310 WRITE(6,*)'SNDENS>42%:I,J,MYPE,SNODPK,SNOWH,SNDENS=', 1311 . I,J,MYPE,SNODPK,SNOWH,SNDENS 1312 IERR1=1 1313 ENDIF 1314 ENDIF 1315 C ---------------------------------------------------------------------- 1316 c Check to see that when sea-ice, ALBASE=ALBEDO=0.65,MXSNAL=0, 1317 IF ( (ALB .NE. 0.0 ) .OR. 1318 . (ALBEDO(I,J) .LT. 0.64) .OR. 1319 . (ALBEDO(I,J) .GT. 0.66) .OR. 1320 . (SNOALB .NE. 0.0 ) ) THEN 1321 WRITE(6,*)'ALBi:I,J,MYPE,ICE,SNODPK,ALB,ALB2D,SNOALB=', 1322 . I,J,MYPE,ICE,SNODPK,ALB,ALBEDO(I,J),SNOALB 1323 IERR1=1 1324 ENDIF 1325 C ---------------------------------------------------------------------- 1326 c Check to see that when sea-ice, SH2O=SMC=1.0 1327 DO index=1,4 1328 IF ( (SMCK(index) .NE. 1.0) .OR. 1329 . (SMCK(index) .NE. SH2OK(index)) ) THEN 1330 write(6,*)'SMCi:INDEX,I,J,MYPE,ICE,STCK,SMC,SH2O=', 1331 . index,I,J,MYPE,ICE,STCK(index),SMCK(index),SH2OK(index) 1332 IERR1=1 1333 ENDIF 1334 END DO 1335 C ---------------------------------------------------------------------- 1336 C check to see that veg type=soil type=veg frac=0 1337 IF ( (IVGTYP(I,J) .NE. 0 ) .OR. 1338 . (ISLTYP(I,J) .NE. 0 ) .OR. 1339 . (VGFRCK .GT. 0.) ) THEN Page 20 Source Listing SURFCE 2014-12-17 20:47 SURFCE.F 1340 WRITE(6,*)'IVGTYPi:I,J,MYPE,IVGTYP,ISLTYP,VGFRCK=', 1341 . I,J,MYPE,IVGTYP(I,J),ISLTYP(I,J),VGFRCK 1342 WRITE(6,*)'IVGTYPi:I,J,MYPE,SNODPK,ALB,ALBEDO,SNOALB=', 1343 . I,J,MYPE,SNODPK,ALB,ALBEDO(I,J),SNOALB 1344 ENDIF 1345 C ---------------------------------------------------------------------- 1346 C end sea-ice checks 1347 C end of separate land AND sea-ice checks 1348 C ---------------------------------------------------------------------- 1349 ENDIF 1350 C ---------------------------------------------------------------------- 1351 C both land AND sea-ice checks 1352 C Snow water equivalent, snow depth check 1353 IF (((SNODPK .GT. 0.) .AND. (SNOWH .LE. 0.)) .OR. 1354 . ((SNODPK .LE. 0.) .AND. (SNOWH .GT. 0.)) .OR. 1355 . (SNODPK .GT. SNOWH)) THEN 1356 WRITE(6,*)'SNOW:I,J,MYPE,SNODPK,SNOWH=', 1357 . I,J,MYPE,SNODPK,SNOWH 1358 IERR1=1 1359 ENDIF 1360 C ---------------------------------------------------------------------- 1361 C Snow density check 1362 IF (SNODPK .GT. 0.) THEN 1363 SNDENS=SNODPK/SNOWH 1364 IF (SNDENS .LT. 0.05) THEN 1365 WRITE(6,*)'SNDENS<5%:I,J,MYPE,SNODPK,SNOWH,SNDENS=', 1366 . I,J,MYPE,SNODPK,SNOWH,SNDENS 1367 IERR1=1 1368 ENDIF 1369 IF (SNDENS .GT. 0.42) THEN 1370 WRITE(6,*)'SNDENS>42%:I,J,MYPE,SNODPK,SNOWH,SNDENS=', 1371 . I,J,MYPE,SNODPK,SNOWH,SNDENS 1372 IERR1=1 1373 ENDIF 1374 ENDIF 1375 C ---------------------------------------------------------------------- 1376 C sfc/skin temp (T1K) check 1377 c IF ((T1K .LT. 223.15) .OR. (T1K .GT. 323.15)) THEN 1378 IF ((T1K .LT. 200.00) .OR. (T1K .GT. 323.15)) THEN 1379 write(6,*)'T1:INDEX,I,J,MYPE,T1=', 1380 . index,I,J,MYPE,T1K 1381 IERR2=1 1382 ENDIF 1383 C ---------------------------------------------------------------------- 1384 c check to see that 223.15K (-50C) =< SFCTMP,SFCTH2 <= 323.15K (+50C) 1385 C SFCTMP = lowest model level temp 1386 C SFCTH2 = lowest model level pot temp 1387 IF ( ( (SFCTMP .LT. 223.15) .OR. (SFCTMP .GT. 323.15) ) .OR. 1388 . ( (SFCTH2 .LT. 223.15) .OR. (SFCTH2 .GT. 323.15) ) ) THEN 1389 WRITE(6,*)'SFCTMP:I,J,MYPE,SFCTMP,SFCTH2=', 1390 . I,J,MYPE,SFCTMP,SFCTH2 1391 ENDIF 1392 C ---------------------------------------------------------------------- 1393 c check to see that 0W/m2 =< LWDN <= 500W/m2 1394 c check to see that 0W/m2 =< SOLDN <= 1200W/m2 1395 C LWDN = downward longwave radiation 1396 C SOLDN = downward solar radiation Page 21 Source Listing SURFCE 2014-12-17 20:47 SURFCE.F 1397 IF ( ( (LWDN .LT. 0.) .OR. (LWDN .GT. 500.) ) .OR. 1398 . ( (SOLDN .LT. 0.) .OR. (SOLDN .GT. 1200.) ) ) THEN 1399 WRITE(6,*)'LWSOLDN:I,J,MYPE,LWDN,SOLDN=', 1400 . I,J,MYPE,LWDN,SOLDN 1401 ENDIF 1402 C ---------------------------------------------------------------------- 1403 c check to see that 0g/kg < Q2K,Q2SAT <= 40g/kg 1404 c check to see that Q2K <= Q2SAT 1405 C Q2K = lowest model level spec hum 1406 C Q2SAT = lowest model level sat spec hum 1407 c IF ( ( (Q2K .LE. 0.) .OR. (Q2K .GT. 0.04) ) .OR. 1408 c . ( (Q2SAT .LE. 0.) .OR. (Q2SAT .GT. 0.04) ) .OR. 1409 IF ( ( (Q2K .LE. 0.) .OR. (Q2K .GT. 0.05) ) .OR. 1410 . ( (Q2SAT .LE. 0.) .OR. (Q2SAT .GT. 0.05) ) .OR. 1411 . (Q2K .GT. Q2SAT) ) THEN 1412 WRITE(6,*)'Q2:I,J,MYPE,Q2K,Q2SAT=', 1413 . I,J,MYPE,Q2K,Q2SAT 1414 ENDIF 1415 C ---------------------------------------------------------------------- 1416 c check to see that 600mb =< SFCPRS <= 1050mb 1417 C SFCPRS = surface pressure (Pa) 1418 IF ( (SFCPRS .LE. 60000.) .OR. (SFCPRS .GT. 105000.) ) THEN 1419 WRITE(6,*)'SFCPRS:I,J,MYPE,SFCPRS=', 1420 . I,J,MYPE,SFCPRS 1421 ENDIF 1422 C ---------------------------------------------------------------------- 1423 c check to see that 0 =< PRCP <= 0.04 KG M-2 S-1 (=0.04mm/s = 144mm/hr) 1424 C PRCP = precip rate (KG M-2 S-1) 1425 IF ( (PRCP .LT. 0.) .OR. (PRCP .GT. 0.04) ) THEN 1426 WRITE(6,*)'PRCP:I,J,MYPE,PRCP=', 1427 . I,J,MYPE,PRCP 1428 ENDIF 1429 C ---------------------------------------------------------------------- 1430 c check to see that 0m/s < CHK <= 0.1m/s 1431 C CHK = sfc heat exchange coeff (m/s) 1432 IF ( (CHK .LE. 0.) .OR. (CHK .GT. 0.1) ) THEN 1433 WRITE(6,*)'CH:I,J,MYPE,CHK=', 1434 . I,J,MYPE,CHK 1435 ENDIF 1436 C ---------------------------------------------------------------------- 1437 IF (IERR2 .EQ. 1) THEN 1438 WRITE(6,*) 'RANGE CHECK IN SURFCE: EXTREME VALUES AFTER SFLX' 1439 ENDIF 1440 IF (IERR1 .EQ. 1) THEN 1441 c WRITE(6,*) 'RANGE CHECK FAILURE IN SURFCE - STOP' 1442 c STOP 1443 ENDIF 1444 C ---------------------------------------------------------------------- 1445 C End of initial (logical LFIRST) range check for variables/parameters. 1446 ENDIF 1447 C ---------------------------------------------------------------------- 1448 1449 SCHECK=Z*CHK 1450 IF(SCHECK.LE.1.3E-3)THEN 1451 PLFLX=0. 1452 ELFLX=0. 1453 ENDIF Page 22 Source Listing SURFCE 2014-12-17 20:47 SURFCE.F 1454 C*** 1455 C*** GCIP DIAGNOSTICS & MODIFICATION OF QFC1 OVER SNOW 1456 C*** 1457 SSROFF(I,J)=SSROFF(I,J)+RNOF1K*DTQ2 1458 BGROFF(I,J)=BGROFF(I,J)+RNOF2K*DTQ2 1459 SMSTAV(I,J)=SOILQW 1460 SOILTB(I,J)=TBOT 1461 SFCEXC(I,J)=CHK 1462 GRNFLX(I,J)=GFLX 1463 IF(SNO (I,J).GT.0..OR.SICE(I,J).GT.0.5)THEN 1464 QFC1(I,J)=QFC1(I,J)*RLIVWV 1465 ENDIF 1466 IF(SNO(I,J).GT.0.)THEN 1467 ACSNOM(I,J)=ACSNOM(I,J)+SMELTK 1468 SNOPCX(I,J)=SNOPCX(I,J)-SMELTK/FDTLIW 1469 ENDIF 1470 POTEVP(I,J)=POTEVP(I,J)+PLFLX*FDTW 1471 POTFLX(I,J)=POTFLX(I,J)-PLFLX 1472 SUBSHX(I,J)=SUBSHX(I,J)+GFLX 1473 C*** 1474 C*** ETA MODEL LOWER BOUNDARY CONDITIONS 1475 C*** 1476 C THS(I,J)=THLM(I,J)+HFLX*APES(I,J)/FFS(I,J) 1477 THS(I,J)=T1K*APES(I,J) 1478 IF(QFC1(I,J).GT.0.) 1479 1 QS(I,J)=QLM(I,J)+ELFLX*APES(I,J)/QFC1(I,J) 1480 C*** 1481 C*** HISTORICAL VARIABLES 1482 C*** 1483 c dynamic albedo, ALBEDO, to be passed to RADTN.f 1484 ALBEDO(I,J)=ALB2D 1485 SNO(I,J)=SNODPK 1486 c snow depth, SI 1487 SI(I,J)=SNOWH 1488 CMC(I,J)=CMCK 1489 SMSTOT(I,J)=SOILQM 1490 DO 150 NS=1,NSOIL 1491 SMC(I,J,NS)=SMCK(NS) 1492 c SH2O array (liquid soil moisture) 1493 SH2O(I,J,NS)=SH2OK(NS) 1494 STC(I,J,NS)=STCK(NS) 1495 150 CONTINUE 1496 ENDIF 1497 C 1498 155 CONTINUE 1499 160 CONTINUE 1500 C ---------------------------------------------------------------------- 1501 C Set LFIRST=false so that there are not variable/parameter range checks 1502 C for the next 155/160 loop 1503 LFIRSTa = .FALSE. 1504 LFIRST = .FALSE. 1505 C 1506 C*** VARIABLES TWBS AND QWBS COMPUTED HERE FOR GCIP. 1507 C*** ACCUMULATE SURFACE HEAT FLUXES HERE. 1508 C*** FOR GCIP ACCUMULATE ACTUAL AND POTENTIAL EVAPORATION. 1509 C*** FOR GCIP ACCUMULATE TOTAL SNOW MELT AND 1510 C*** THE ASSOCIATED NET HEAT FLUX. Page 23 Source Listing SURFCE 2014-12-17 20:47 SURFCE.F 1511 C 1512 !$omp parallel do private(i,j) 1513 DO 200 J=MYJS2,MYJE2 1514 DO 200 I=MYIS,MYIE 1515 TWBS(I,J)=(THLM(I,J)-THS(I,J)*(1.-SM(I,J))-THZ0(I,J)*SM(I,J)) 1516 1 *FFS (I,J)/APES(I,J) 1517 QWBS(I,J)=(QLM (I,J)-QS (I,J)*(1.-SM(I,J))-QZ0 (I,J)*SM(I,J)) 1518 1 *QFC1(I,J)/APES(I,J) 1519 SFCSHX(I,J)=SFCSHX(I,J)+TWBS(I,J) 1520 SFCLHX(I,J)=SFCLHX(I,J)+QWBS(I,J) 1521 SFCEVP(I,J)=SFCEVP(I,J)-QWBS(I,J)*FDTW 1522 POTEVP(I,J)=POTEVP(I,J)-QWBS(I,J)*SM(I,J)*FDTW 1523 POTFLX(I,J)=POTFLX(I,J)+QWBS(I,J)*SM(I,J) 1524 C 1525 C*** IF COLD ENOUGH, IT SNOWS (IN NOAH LSM)... 1526 C*** FOR GCIP ACCUMULATE TOTAL SNOWFALL. 1527 C 1528 IF(THLM(I,J)/APELM(I,J).LE.T0.AND.SICE(I,J)+SM(I,J).LT.0.5)THEN 1529 ACSNOW(I,J)=ACSNOW(I,J)+PREC(I,J) 1530 C*** 1531 C*** ... OTHERWISE IT RAINS. 1532 C*** 1533 ELSE 1534 ACCLIQ(I,J)=ACCLIQ(I,J)+PREC(I,J) 1535 ENDIF 1536 C 1537 PREC(I,J)=0. 1538 200 CONTINUE 1539 C*** 1540 C*** LONGWAVE OUTGOING RADIATION 1541 C*** 1542 !$omp parallel do private(i,j,tsfc,tsfc2) 1543 DO 210 J=MYJS2,MYJE2 1544 DO 210 I=MYIS,MYIE 1545 TSFC=THS(I,J)/APES(I,J) 1546 TSFC2=TSFC*TSFC 1547 RADOT(I,J)=HBM2(I,J)*EPSR(I,J)*STBOL*TSFC2*TSFC2 1548 210 CONTINUE 1549 C 1550 C----------------------------------------------------------------------- 1551 C 1552 C INCREMENT TIME STEP COUNTERS FOR USE IN COMPUTING TIME AVE VALUES 1553 C 1554 APHTIM = APHTIM + 1. 1555 ARDSW = ARDSW + 1. 1556 ARDLW = ARDLW + 1. 1557 ASRFC = ASRFC + 1. 1558 C----------------------------------------------------------------------- 1559 RETURN 1560 END Page 24 Source Listing SURFCE 2014-12-17 20:47 Entry Points SURFCE.F ENTRY POINTS Name surfce_ SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References 100 Label 282 274,275 110 Label 296 285,286 120 Label 345 299,300 130 Label 355 351,352 140 Label 462 448 150 Label 1235 1230 155 Label 1238 379,381 160 Label 1239 378 200 Label 1278 1253,1254 210 Label 1288 1283,1284 50 Label 267 218,219 A2 Param 60 R(4) 4 scalar 66,291,397 A23M4 Param 66 R(4) 4 scalar 292 A3 Param 60 R(4) 4 scalar 66,291,397 A4 Param 60 R(4) 4 scalar 66,291,292,397 ACCLIQ Scalar 13 R(4) 4 2 17955 COM 1274 ACMPRE Common 2 287284 ACMRDL Common 2 3662832 ACMRDS Common 2 3662832 ACMSFC Common 2 574576 ACPREC Scalar 12 R(4) 4 2 17955 COM ACSNOM Scalar 4 R(4) 4 2 17955 COM 254,1207 ACSNOW Scalar 4 R(4) 4 2 17955 COM 253,1269 AETA Scalar 9 R(4) 4 1 45 COM 277 AFSI Scalar 26 R(4) 4 2 17955 COM AKHS Scalar 7 R(4) 4 2 17955 COM 293,428 AKMS Scalar 7 R(4) 4 2 17955 COM ALB Local 115 R(4) 4 scalar 484,516,517,520,523,524,528,707,71 2,733,843,868,869,872,875,876,880, 1057,1062,1083 ALB2D Local 116 R(4) 4 scalar 844,1224 ALBASE Scalar 117 R(4) 4 2 17955 COM 384,389,484 ALBEDO Scalar 118 R(4) 4 2 17955 COM 385,386,389,517,518,520,528,708,70 9,712,733,869,870,872,880,1058,105 9,1062,1083,1224 ALWIN Scalar 5 R(4) 4 2 17955 COM 334 ALWOUT Scalar 6 R(4) 4 2 17955 COM 335 ALWTOA Scalar 6 R(4) 4 2 17955 COM 336 APE Dummy 1 R(4) 4 3 807975 ARG,INOUT 278 APELM Local 89 R(4) 4 2 17955 278,353,438,1268 APES Local 87 R(4) 4 2 17955 221,288,294,395,397,439,440,1217,1 219,1256,1258,1285 APHTIM Scalar 8 R(4) 4 scalar COM 1294 ARDLW Scalar 3 R(4) 4 scalar COM 1296 Page 25 Source Listing SURFCE 2014-12-17 20:47 Symbol Table SURFCE.F Name Object Declared Type Bytes Dimen Elements Attributes References ARDSW Scalar 3 R(4) 4 scalar COM 1295 ASRFC Scalar 3 R(4) 4 scalar COM 1297 ASWIN Scalar 5 R(4) 4 2 17955 COM 331 ASWOUT Scalar 6 R(4) 4 2 17955 COM 332 ASWTOA Scalar 6 R(4) 4 2 17955 COM 333 BGROFF Scalar 5 R(4) 4 2 17955 COM 237,249,1198 CAPA Param 61 R(4) 4 scalar 221,288 CHK Local 121 R(4) 4 scalar 428,822,824,844,1172,1174,1189,120 1 CHKFF Local 429 R(4) 4 scalar 429 CI Scalar 6 R(4) 4 scalar COM CKLQ Dummy 1 R(4) 4 2 17955 ARG,INOUT 341,343,354 CLDEFI Scalar 11 R(4) 4 2 17955 COM CMC Scalar 8 R(4) 4 2 17955 COM 238,256,441,1228 CMCK Local 122 R(4) 4 scalar 441,619,621,844,969,971,1228 CMK Local 844 R(4) 4 scalar 844 CNVBOT Scalar 18 R(4) 4 2 17955 COM CNVTOP Scalar 18 R(4) 4 2 17955 COM CP Param 62 R(4) 4 scalar 295 CS Scalar 6 R(4) 4 scalar COM CTLBLK Common 4 112 CUPREC Scalar 13 R(4) 4 2 17955 COM CZEN Scalar 16 R(4) 4 2 17955 COM 306 CZMEAN Scalar 23 R(4) 4 2 17955 COM 305,306 DETA Scalar 9 R(4) 4 1 45 COM DFRLG Scalar 9 R(4) 4 1 46 COM DI Scalar 6 R(4) 4 scalar COM DQSDT Local 92 R(4) 4 2 17955 292,426 DQSDTK Local 119 R(4) 4 scalar 426,841 DS Scalar 6 R(4) 4 scalar COM DT Scalar 6 R(4) 4 scalar COM DTD Scalar 5 R(4) 4 scalar COM DTK Local 120 R(4) 4 scalar 411,840 DTQ2 Scalar 5 R(4) 4 scalar COM 208,209,210,411,419,1197,1198 DUM1 Local 846 R(4) 4 scalar 846 DUM2 Local 846 R(4) 4 scalar 846 DUM3 Local 846 R(4) 4 scalar 846 DUM4 Local 846 R(4) 4 scalar 846 ELFLX Local 123 R(4) 4 scalar 845,1192,1219 ELIV Param 63 R(4) 4 scalar 67 ELIW Param 63 R(4) 4 scalar 67 ELWV Param 63 R(4) 4 scalar 67,294 EPSR Scalar 13 R(4) 4 2 17955 COM 1287 EPSWET Param 58 R(4) 4 scalar ETALM Local 88 R(4) 4 2 17955 277,289 EXP Func 291 scalar 291,397 FACTRL Local 313 R(4) 4 scalar 313,315,326,334 FACTRS Local 306 R(4) 4 scalar 306,308,327,331,332,333 FDTLIV Local 209 R(4) 4 scalar 209 FDTLIW Local 208 R(4) 4 scalar 208,1208 FDTW Local 210 R(4) 4 scalar 210,1210,1261,1262 FFS Local 94 R(4) 4 2 17955 295,429,1256 FFSK Local 293 R(4) 4 scalar 293,294,295 FIRST Scalar 83 L(4) 4 scalar COM FIS Scalar 7 R(4) 4 2 17955 COM Page 26 Source Listing SURFCE 2014-12-17 20:47 Symbol Table SURFCE.F Name Object Declared Type Bytes Dimen Elements Attributes References G2LI Scalar 55 I(4) 4 1 239 COM G2LJ Scalar 55 I(4) 4 1 389 COM GFFC Scalar 19 R(4) 4 2 17955 COM GFLX Local 124 R(4) 4 scalar 845,1202,1212 GLAT Scalar 15 R(4) 4 2 17955 COM GLB_TABLE Common 37 128 GLON Scalar 15 R(4) 4 2 17955 COM GRNFLX Scalar 5 R(4) 4 2 17955 COM 251,1202 HBM2 Scalar 8 R(4) 4 2 17955 COM 293,326,327,331,332,333,334,335,33 6,343,381,396,1287 HBM3 Scalar 8 R(4) 4 2 17955 COM HBOT Scalar 17 R(4) 4 2 17955 COM HDAC Scalar 22 R(4) 4 2 17955 COM HDACV Scalar 22 R(4) 4 2 17955 COM HFLX Local 125 R(4) 4 scalar 845 HTM Scalar 6 R(4) 4 3 807975 COM HTMG Scalar 52 R(4) 4 3 4183695 COM HTOP Scalar 17 R(4) 4 2 17955 COM I Local 219 I(4) 4 scalar 219,220,221,222,231,232,234,235,23 6,237,238,240,241,246,247,248,249, 250,251,252,253,254,255,256,257,25 9,261,262,263,275,276,277,278,279, 280,281,286,287,288,289,290,291,29 2,293,294,295,300,305,306,311,312, 313,326,327,331,332,333,334,335,33 6,340,341,343,352,353,354,379,381, 383,384,385,386,387,389,394,395,39 6,397,405,407,412,416,417,418,419, 420,421,426,427,428,429,430,431,43 6,437,438,439,440,441,442,446,449, 455,458,481,484,517,518,520,528,53 9,555,563,571,579,582,590,593,606, 614,621,630,639,644,659,669,678,68 7,696,701,708,709,712,721,727,728, 731,733,747,756,761,770,780,790,80 3,810,817,824,869,870,872,880,891, 906,914,922,930,933,941,944,956,96 4,971,980,989,994,1009,1019,1028,1 037,1046,1051,1058,1059,1062,1071, 1077,1078,1081,1083,1097,1106,1111 ,1120,1130,1140,1153,1160,1167,117 4,1197,1198,1199,1200,1201,1202,12 03,1204,1206,1207,1208,1210,1211,1 212,1217,1218,1219,1224,1225,1227, 1228,1229,1231,1233,1234,1254,1255 ,1256,1257,1258,1259,1260,1261,126 2,1263,1268,1269,1274,1277,1284,12 85,1287 IBESSL Scalar 40 I(4) 4 scalar COM IBROW Scalar 22 I(4) 4 scalar COM ICE Local 109 I(4) 4 scalar 389,407,505,520,528,571,678,712,72 1,840,857,872,880,1028,1062,1071 ICHUNKTAB Scalar 29 I(4) 4 1 8 COM IDAT Scalar 5 I(4) 4 1 3 COM IDIM1 Param 19 I(4) 4 scalar 3,4,5,6,7,8,9,10,11,12,13,14,15,16 Page 27 Source Listing SURFCE 2014-12-17 20:47 Symbol Table SURFCE.F Name Object Declared Type Bytes Dimen Elements Attributes References ,17,18,19,20,21,22,23,26,86,87,88, 89,90,91,92,93,94,95,96 IDIM2 Param 19 I(4) 4 scalar 3,4,5,6,7,8,9,10,11,12,13,14,15,16 ,17,18,19,20,21,22,23,26,86,87,88, 89,90,91,92,93,94,95,96 IDTAD Scalar 6 I(4) 4 scalar COM IERR1 Local 197 I(4) 4 scalar 197,390,521,529,540,556,564,572,58 4,595,631,640,645,688,697,702,713, 722,830,873,881,892,907,915,923,93 5,946,972,981,990,995,1020,1038,10 47,1052,1063,1072,1098,1107,1112,1 180 IERR2 Local 198 I(4) 4 scalar 198,607,615,679,827,957,965,1029,1 121,1177 IE_GLB_TABLE Scalar 38 I(4) 4 1 8 COM IE_LOC_TABLE Scalar 28 I(4) 4 1 8 COM IFLAG Scalar 40 I(4) 4 scalar COM IGSTL Param 14 I(4) 4 scalar 19 IGSTR Param 14 I(4) 4 scalar 19 IHHA Scalar 3 I(4) 4 1 760 COM IHLA Scalar 3 I(4) 4 1 760 COM IHRST Scalar 5 I(4) 4 scalar COM ILCOL Scalar 22 I(4) 4 scalar COM ILPAD1 Scalar 23 I(4) 4 scalar COM ILPAD2 Scalar 23 I(4) 4 scalar COM ILPAD3 Scalar 23 I(4) 4 scalar COM ILPAD4 Scalar 23 I(4) 4 scalar COM ILPAD5 Scalar 23 I(4) 4 scalar COM IM Param 3 I(4) 4 scalar 16,19,43,44,45,46,47,51,52,57 INDEX Local 543 I(4) 4 scalar 543,547,548,552,553,555,560,561,56 3,568,569,571,576,577,579,582,583, 586,588,590,593,594,606,614,621,65 9,663,665,667,669,678,717,718,719, 721,770,895,898,899,903,904,906,91 1,912,914,919,920,922,927,928,930, 933,934,937,939,941,944,945,956,96 4,971,1009,1013,1015,1017,1019,102 8,1067,1068,1069,1071,1120 INDEXM Local 548 I(4) 4 scalar 548,582,583,593,594,899,933,934,94 4,945 INDEXP Local 547 I(4) 4 scalar 547,582,583,593,594,898,933,934,94 4,945 INPES Param 11 I(4) 4 scalar 16,19,27,28,29,38,39 INUMQ Scalar 34 I(4) 4 1 100 COM IOFFS Scalar 40 I(4) 4 scalar COM IOUT Scalar 5 I(4) 4 scalar COM IQUILT_GROUP Scalar 33 I(4) 4 scalar COM IRCOL Scalar 22 I(4) 4 scalar COM IRPAD1 Scalar 24 I(4) 4 scalar COM IRPAD2 Scalar 24 I(4) 4 scalar COM IRPAD3 Scalar 24 I(4) 4 scalar COM IRPAD4 Scalar 24 I(4) 4 scalar COM IRPAD5 Scalar 24 I(4) 4 scalar COM ISLOPE Scalar 7 I(4) 4 2 17955 COM ISLTPK Local 110 I(4) 4 scalar 431,434,534,539,842,886,891 Page 28 Source Listing SURFCE 2014-12-17 20:47 Symbol Table SURFCE.F Name Object Declared Type Bytes Dimen Elements Attributes References ISLTYP Scalar 6 I(4) 4 2 17955 COM 431,728,731,1078,1081 ISPTPK Local 113 I(4) 4 scalar 374,535,539,842,887,891 IS_GLB_TABLE Scalar 38 I(4) 4 1 8 COM IS_LOC_TABLE Scalar 27 I(4) 4 1 8 COM ITAIL Param 16 I(4) 4 scalar ITB Param 1 I(4) 4 scalar 10,25 ITBQ Param 1 I(4) 4 scalar 11,25 ITEMP Scalar 47 I(4) 4 2 91719 COM ITEMP2 Scalar 47 I(4) 4 2 91719 COM ITROW Scalar 22 I(4) 4 scalar COM IVGTPK Local 111 I(4) 4 scalar 430,433,533,539,842,885,891 IVGTYP Scalar 6 I(4) 4 2 17955 COM 430,727,731,1077,1081 IVHA Scalar 3 I(4) 4 1 760 COM IVLA Scalar 3 I(4) 4 1 760 COM J Local 218 I(4) 4 scalar 218,220,221,222,231,232,234,235,23 6,237,238,240,241,246,247,248,249, 250,251,252,253,254,255,256,257,25 9,261,262,263,274,276,277,278,279, 280,281,285,287,288,289,290,291,29 2,293,294,295,299,305,306,311,312, 313,326,327,331,332,333,334,335,33 6,340,341,343,351,353,354,378,381, 383,384,385,386,387,389,394,395,39 6,397,405,407,412,416,417,418,419, 420,421,426,427,428,429,430,431,43 6,437,438,439,440,441,442,446,449, 455,458,481,484,517,518,520,528,53 9,555,563,571,579,582,590,593,606, 614,621,630,639,644,659,669,678,68 7,696,701,708,709,712,721,727,728, 731,733,747,756,761,770,780,790,80 3,810,817,824,869,870,872,880,891, 906,914,922,930,933,941,944,956,96 4,971,980,989,994,1009,1019,1028,1 037,1046,1051,1058,1059,1062,1071, 1077,1078,1081,1083,1097,1106,1111 ,1120,1130,1140,1153,1160,1167,117 4,1197,1198,1199,1200,1201,1202,12 03,1204,1206,1207,1208,1210,1211,1 212,1217,1218,1219,1224,1225,1227, 1228,1229,1231,1233,1234,1253,1255 ,1256,1257,1258,1259,1260,1261,126 2,1263,1268,1269,1274,1277,1283,12 85,1287 JAM Param 80 I(4) 4 scalar 3 JBPAD1 Scalar 25 I(4) 4 scalar COM JBPAD2 Scalar 25 I(4) 4 scalar COM JBPAD3 Scalar 25 I(4) 4 scalar COM JBPAD4 Scalar 25 I(4) 4 scalar COM JBPAD5 Scalar 25 I(4) 4 scalar COM JDIM1 Param 20 I(4) 4 scalar 3,4,5,6,7,8,9,10,11,12,13,14,15,16 ,17,18,19,20,21,22,23,26,86,87,88, 89,90,91,92,93,94,95,96 JDIM2 Param 20 I(4) 4 scalar 3,4,5,6,7,8,9,10,11,12,13,14,15,16 ,17,18,19,20,21,22,23,26,86,87,88, Page 29 Source Listing SURFCE 2014-12-17 20:47 Symbol Table SURFCE.F Name Object Declared Type Bytes Dimen Elements Attributes References 89,90,91,92,93,94,95,96 JE_GLB_TABLE Scalar 39 I(4) 4 1 8 COM JE_LOC_TABLE Scalar 28 I(4) 4 1 8 COM JGSTL Param 15 I(4) 4 scalar 20 JGSTR Param 15 I(4) 4 scalar 20 JM Param 3 I(4) 4 scalar 17,20,43,44,45,46,47,51,52,57,80 JNPES Param 11 I(4) 4 scalar 17,20,27,28,29,38,39 JRA Scalar 3 I(4) 4 1 760 COM JS_GLB_TABLE Scalar 39 I(4) 4 1 8 COM JS_LOC_TABLE Scalar 27 I(4) 4 1 8 COM JTAIL Param 17 I(4) 4 scalar JTB Param 1 I(4) 4 scalar 10,25 JTBQ Param 1 I(4) 4 scalar 25 JTPAD1 Scalar 26 I(4) 4 scalar COM JTPAD2 Scalar 26 I(4) 4 scalar COM JTPAD3 Scalar 26 I(4) 4 scalar COM JTPAD4 Scalar 26 I(4) 4 scalar COM JTPAD5 Scalar 26 I(4) 4 scalar COM KSB Scalar 40 I(4) 4 scalar COM KTM Scalar 5 I(4) 4 scalar COM L2GI Scalar 57 I(4) 4 1 239 COM L2GJ Scalar 57 I(4) 4 1 389 COM LFIRST Local 106 L(4) 4 scalar 189,496,1244 LFIRSTA Local 107 L(4) 4 scalar 191,848,1243 LIST Scalar 5 I(4) 4 scalar COM LLMH Local 276 I(4) 4 scalar 276,277,278,279,280,281 LM Param 3 I(4) 4 scalar 5,6,7,9,21,52,80,95 LMH Scalar 4 I(4) 4 2 17955 COM 276 LMV Scalar 4 I(4) 4 2 17955 COM LOOPS Common 2 158840 LP1 Param 80 I(4) 4 scalar 9,96 LSM Param 3 I(4) 4 scalar LWDN Local 126 R(4) 4 scalar 416,787,790,841,1137,1140 MAPPINGS Common 56 5024 MASKS Common 2 6894720 MAX Func 548 scalar 548,899 MIN Func 547 scalar 547,898 MPI_COMM_COMP Scalar 30 I(4) 4 scalar COM MPI_COMM_INTER Scalar 31 I(4) 4 scalar COM MPI_COMM_INTER_ARRAY Scalar 32 I(4) 4 1 100 COM MPPCOM Common 1 1464 MXSNAL Scalar 2 R(4) 4 2 17955 COM 387,389,481 MYIE Scalar 4 I(4) 4 scalar COM 219,275,286,300,352,379,1254,1284 MYIE1 Scalar 4 I(4) 4 scalar COM MYIE1_P1 Scalar 8 I(4) 4 scalar COM MYIE1_P2 Scalar 8 I(4) 4 scalar COM MYIE1_P3 Scalar 8 I(4) 4 scalar COM MYIE1_P4 Scalar 8 I(4) 4 scalar COM MYIE2 Scalar 4 I(4) 4 scalar COM MYIE2_P1 Scalar 9 I(4) 4 scalar COM MYIE_P1 Scalar 7 I(4) 4 scalar COM MYIE_P2 Scalar 7 I(4) 4 scalar COM MYIE_P3 Scalar 7 I(4) 4 scalar COM MYIE_P4 Scalar 7 I(4) 4 scalar COM MYIE_P5 Scalar 7 I(4) 4 scalar COM Page 30 Source Listing SURFCE 2014-12-17 20:47 Symbol Table SURFCE.F Name Object Declared Type Bytes Dimen Elements Attributes References MYIS Scalar 4 I(4) 4 scalar COM 219,275,286,300,352,379,1254,1284 MYIS1 Scalar 4 I(4) 4 scalar COM MYIS1_P1 Scalar 6 I(4) 4 scalar COM MYIS1_P2 Scalar 6 I(4) 4 scalar COM MYIS1_P3 Scalar 6 I(4) 4 scalar COM MYIS1_P4 Scalar 6 I(4) 4 scalar COM MYIS2 Scalar 4 I(4) 4 scalar COM MYIS_P1 Scalar 5 I(4) 4 scalar COM MYIS_P2 Scalar 5 I(4) 4 scalar COM MYIS_P3 Scalar 5 I(4) 4 scalar COM MYIS_P4 Scalar 5 I(4) 4 scalar COM MYIS_P5 Scalar 5 I(4) 4 scalar COM MYJE Scalar 15 I(4) 4 scalar COM 218 MYJE1 Scalar 15 I(4) 4 scalar COM MYJE1_P1 Scalar 17 I(4) 4 scalar COM MYJE1_P2 Scalar 17 I(4) 4 scalar COM MYJE1_P3 Scalar 17 I(4) 4 scalar COM MYJE1_P4 Scalar 17 I(4) 4 scalar COM MYJE2 Scalar 15 I(4) 4 scalar COM 274,285,299,351,378,1253,1283 MYJE2_P1 Scalar 18 I(4) 4 scalar COM MYJE2_P2 Scalar 18 I(4) 4 scalar COM MYJE2_P3 Scalar 18 I(4) 4 scalar COM MYJE2_P4 Scalar 18 I(4) 4 scalar COM MYJE3 Scalar 15 I(4) 4 scalar COM MYJE3_P4 Scalar 18 I(4) 4 scalar COM MYJE4 Scalar 15 I(4) 4 scalar COM MYJE4_P1 Scalar 19 I(4) 4 scalar COM MYJE4_P4 Scalar 19 I(4) 4 scalar COM MYJE5 Scalar 15 I(4) 4 scalar COM MYJE5_P1 Scalar 19 I(4) 4 scalar COM MYJE5_P2 Scalar 19 I(4) 4 scalar COM MYJE_P1 Scalar 16 I(4) 4 scalar COM MYJE_P2 Scalar 16 I(4) 4 scalar COM MYJE_P3 Scalar 16 I(4) 4 scalar COM MYJE_P4 Scalar 16 I(4) 4 scalar COM MYJE_P5 Scalar 16 I(4) 4 scalar COM MYJS Scalar 10 I(4) 4 scalar COM 218 MYJS1 Scalar 10 I(4) 4 scalar COM MYJS1_P1 Scalar 12 I(4) 4 scalar COM MYJS1_P2 Scalar 12 I(4) 4 scalar COM MYJS1_P3 Scalar 12 I(4) 4 scalar COM MYJS1_P4 Scalar 12 I(4) 4 scalar COM MYJS2 Scalar 10 I(4) 4 scalar COM 274,285,299,351,378,1253,1283 MYJS2_P1 Scalar 13 I(4) 4 scalar COM MYJS2_P2 Scalar 13 I(4) 4 scalar COM MYJS2_P3 Scalar 13 I(4) 4 scalar COM MYJS2_P4 Scalar 13 I(4) 4 scalar COM MYJS3 Scalar 10 I(4) 4 scalar COM MYJS3_P4 Scalar 13 I(4) 4 scalar COM MYJS4 Scalar 10 I(4) 4 scalar COM MYJS4_P1 Scalar 14 I(4) 4 scalar COM MYJS4_P4 Scalar 14 I(4) 4 scalar COM MYJS5 Scalar 10 I(4) 4 scalar COM MYJS5_P1 Scalar 14 I(4) 4 scalar COM MYJS5_P2 Scalar 14 I(4) 4 scalar COM Page 31 Source Listing SURFCE 2014-12-17 20:47 Symbol Table SURFCE.F Name Object Declared Type Bytes Dimen Elements Attributes References MYJS_P1 Scalar 11 I(4) 4 scalar COM MYJS_P2 Scalar 11 I(4) 4 scalar COM MYJS_P3 Scalar 11 I(4) 4 scalar COM MYJS_P4 Scalar 11 I(4) 4 scalar COM MYJS_P5 Scalar 11 I(4) 4 scalar COM MYPE Scalar 2 I(4) 4 scalar COM 389,520,528,539,555,563,571,579,58 2,590,593,606,614,621,630,639,644, 659,669,678,687,696,701,712,721,73 1,733,747,756,761,770,780,790,803, 810,817,824,872,880,891,906,914,92 2,930,933,941,944,956,964,971,980, 989,994,1009,1019,1028,1037,1046,1 051,1062,1071,1081,1083,1097,1106, 1111,1120,1130,1140,1153,1160,1167 ,1174 MY_E Scalar 20 I(4) 4 scalar COM MY_IE_GLB Scalar 2 I(4) 4 scalar COM MY_IE_LOC Scalar 3 I(4) 4 scalar COM MY_IS_GLB Scalar 2 I(4) 4 scalar COM MY_IS_LOC Scalar 3 I(4) 4 scalar COM MY_JE_GLB Scalar 2 I(4) 4 scalar COM MY_JE_LOC Scalar 3 I(4) 4 scalar COM MY_JS_GLB Scalar 2 I(4) 4 scalar COM MY_JS_LOC Scalar 3 I(4) 4 scalar COM MY_N Scalar 20 I(4) 4 scalar COM MY_NE Scalar 21 I(4) 4 scalar COM MY_NEB Scalar 21 I(4) 4 1 8 COM MY_NW Scalar 21 I(4) 4 scalar COM MY_S Scalar 20 I(4) 4 scalar COM MY_SE Scalar 21 I(4) 4 scalar COM MY_SW Scalar 21 I(4) 4 scalar COM MY_W Scalar 20 I(4) 4 scalar COM NBC Scalar 5 I(4) 4 scalar COM NBOCO Scalar 6 I(4) 4 scalar COM NCNVC Scalar 7 I(4) 4 scalar COM NCP Scalar 6 I(4) 4 scalar COM NEST Scalar 7 I(4) 4 scalar COM NFCST Scalar 5 I(4) 4 scalar COM NINT Func 407 scalar 407 NPES Scalar 2 I(4) 4 scalar COM NPHS Scalar 7 I(4) 4 scalar COM 216 NPREC Scalar 6 I(4) 4 scalar COM NRADL Scalar 7 I(4) 4 scalar COM NRADS Scalar 7 I(4) 4 scalar COM NRDLW Scalar 3 I(4) 4 scalar COM NRDSW Scalar 3 I(4) 4 scalar COM NROOT Param 1 I(4) 4 scalar NS Local 239 I(4) 4 scalar 239,240,241,260,261,262,263,448,44 9,455,458,1230,1231,1233,1234 NSHDE Scalar 6 I(4) 4 scalar COM NSOIL Param 1 I(4) 4 scalar 8,9,10,100,239,260,448,537,543,547 ,840,889,895,898,1230 NSRFC Scalar 3 I(4) 4 scalar COM NSTART Scalar 6 I(4) 4 scalar COM NTDDMP Scalar 6 I(4) 4 scalar COM Page 32 Source Listing SURFCE 2014-12-17 20:47 Symbol Table SURFCE.F Name Object Declared Type Bytes Dimen Elements Attributes References NTSD Scalar 6 I(4) 4 scalar COM 216 NTSTM Scalar 6 I(4) 4 scalar COM OPTIONS Common 40 24 PCTSNO Scalar 5 R(4) 4 2 17955 COM 222 PD Scalar 3 R(4) 4 2 17955 COM 220,287,289 PHYS Common 4 1788916 PL Scalar 7 R(4) 4 scalar COM PLFLX Local 128 R(4) 4 scalar 845,1191,1210,1211 PLM Local 88 R(4) 4 2 17955 289,291,293,418 PLQ Scalar 8 R(4) 4 scalar COM POTEVP Scalar 7 R(4) 4 2 17955 COM 1210,1262 POTFLX Scalar 7 R(4) 4 2 17955 COM 1211,1263 PQ0 Param 59 R(4) 4 scalar 66,290 PQ0C Param 66 R(4) 4 scalar PQ0SEA Param 66 R(4) 4 scalar 290,396 PRCP Local 129 R(4) 4 scalar 419,815,817,841,1165,1167 PREC Scalar 12 R(4) 4 2 17955 COM 419,1269,1274,1277 PS Local 87 R(4) 4 2 17955 220,221,287,288,396 PSHLTR Scalar 19 R(4) 4 2 17955 COM PT Scalar 5 R(4) 4 scalar COM 220,287,289 PTBL Scalar 25 R(4) 4 2 10184 COM PTU Local 130 R(4) 4 scalar 843 PVRBLS Common 2 5530140 Q Scalar 6 R(4) 4 3 807975 COM 280 Q10 Scalar 16 R(4) 4 2 17955 COM Q1K Local 131 R(4) 4 scalar 437,845 Q2 Scalar 21 R(4) 4 3 807975 COM Q2K Local 132 R(4) 4 scalar 420,425,799,801,803,841,1149,1151, 1153 Q2SAT Local 133 R(4) 4 scalar 421,425,800,801,803,841,1150,1151, 1153 Q30 Scalar 14 R(4) 4 2 17955 COM QFC1 Local 94 R(4) 4 2 17955 294,354,1204,1218,1219,1258 QLM Local 91 R(4) 4 2 17955 202,203,280,293,340,420,1219,1257 QLMS Local 91 R(4) 4 2 17955 204,290,292,340,421 QS Scalar 6 R(4) 4 2 17955 COM 396,437,1219,1257 QS0 Scalar 10 R(4) 4 1 134 COM QSHLTR Scalar 18 R(4) 4 2 17955 COM QWBS Scalar 9 R(4) 4 2 17955 COM 1257,1260,1261,1262,1263 QZ0 Scalar 5 R(4) 4 2 17955 COM 340,1257 R Param 62 R(4) 4 scalar 293 RADIN Scalar 14 R(4) 4 2 17955 COM 326,416 RADOT Scalar 14 R(4) 4 2 17955 COM 335,1287 RDP Scalar 7 R(4) 4 scalar COM RDPQ Scalar 8 R(4) 4 scalar COM RDQ Scalar 7 R(4) 4 scalar COM RDSIN Local 89 R(4) 4 2 17955 327,417 RDTH Scalar 7 R(4) 4 scalar COM RDTHE Scalar 7 R(4) 4 scalar COM RDTHEQ Scalar 8 R(4) 4 scalar COM RES Scalar 7 R(4) 4 2 17955 COM 289 RESTRT Scalar 83 L(4) 4 scalar COM RF Scalar 8 R(4) 4 2 17955 COM RLIVWV Param 67 R(4) 4 scalar 1204 RLWIN Scalar 4 R(4) 4 2 17955 COM 326,334 Page 33 Source Listing SURFCE 2014-12-17 20:47 Symbol Table SURFCE.F Name Object Declared Type Bytes Dimen Elements Attributes References RLWOUT Scalar 4 R(4) 4 2 17955 COM RLWTOA Scalar 5 R(4) 4 2 17955 COM 336 RLWTT Scalar 7 R(4) 4 3 807975 COM RNOF1K Local 134 R(4) 4 scalar 845,1197 RNOF2K Local 135 R(4) 4 scalar 845,1198 ROI Scalar 6 R(4) 4 scalar COM ROS Scalar 6 R(4) 4 scalar COM ROW Param 62 R(4) 4 scalar 67,419 ROWLIV Param 67 R(4) 4 scalar 209 ROWLIW Param 67 R(4) 4 scalar 208 RSWIN Scalar 4 R(4) 4 2 17955 COM 327,331 RSWOUT Scalar 4 R(4) 4 2 17955 COM 332 RSWTOA Scalar 5 R(4) 4 2 17955 COM 333 RSWTT Scalar 7 R(4) 4 3 807975 COM RTDPTH Scalar 10 R(4) 4 1 4 COM RUN Scalar 83 L(4) 4 scalar COM SATDEL Scalar 40 R(4) 4 scalar COM SCHECK Local 1189 R(4) 4 scalar 1189,1190 SEAFC Param 59 R(4) 4 scalar 66 SFCEVP Scalar 6 R(4) 4 2 17955 COM 1261 SFCEXC Scalar 3 R(4) 4 2 17955 COM 1201 SFCLHX Scalar 4 R(4) 4 2 17955 COM 1260 SFCPRS Local 136 R(4) 4 scalar 418,808,810,841,1158,1160 SFCSHX Scalar 4 R(4) 4 2 17955 COM 1259 SFCSPD Local 137 R(4) 4 scalar 841 SFCTH2 Local 138 R(4) 4 scalar 439,778,780,841,1128,1130 SFCTMP Local 139 R(4) 4 scalar 438,777,780,841,1127,1130 SFCUVX Scalar 6 R(4) 4 2 17955 COM SFLX Subr 839 839 SH2O Scalar 10 R(4) 4 3 71820 COM 241,262,455,1233 SH2OK Local 100 R(4) 4 1 4 455,563,568,569,571,577,579,588,59 0,719,721,844,914,919,920,922,928, 930,939,941,1069,1071,1233 SI Scalar 141 R(4) 4 2 17955 COM 259,446,1227 SICE Scalar 4 R(4) 4 2 17955 COM 232,407,1203,1268 SIGMA Scalar 83 L(4) 4 scalar COM SIGT4 Scalar 23 R(4) 4 2 17955 COM 311,313 SINGLRST Local 2 L(4) 4 scalar SLDPTH Scalar 142 R(4) 4 1 4 COM 840 SM Scalar 4 R(4) 4 2 17955 COM 231,290,383,394,405,1255,1257,1262 ,1263,1268 SMC Scalar 8 R(4) 4 3 71820 COM 240,261,449,1231 SMCK Local 100 R(4) 4 1 4 449,560,561,563,569,571,577,579,58 8,590,718,719,721,844,911,912,914, 920,922,928,930,939,941,1068,1069, 1071,1231 SMELTK Local 144 R(4) 4 scalar 845,1207,1208 SMSTAV Scalar 4 R(4) 4 2 17955 COM 234,246,1199 SMSTOT Scalar 4 R(4) 4 2 17955 COM 235,247,1229 SNDENS Local 145 R(4) 4 scalar 636,637,639,642,644,693,694,696,69 9,701,753,754,756,759,761,986,987, 989,992,994,1043,1044,1046,1049,10 51,1103,1104,1106,1109,1111 SNO Scalar 146 R(4) 4 2 17955 COM 257,389,442,1203,1206,1225 SNOALB Local 147 R(4) 4 scalar 481,516,518,520,525,526,528,710,71 Page 34 Source Listing SURFCE 2014-12-17 20:47 Symbol Table SURFCE.F Name Object Declared Type Bytes Dimen Elements Attributes References 2,733,843,868,870,872,877,878,880, 1060,1062,1083 SNODPK Local 148 R(4) 4 scalar 442,520,528,626,627,628,630,635,63 6,639,644,683,684,685,687,692,693, 696,701,712,733,743,744,745,747,75 2,753,756,761,844,872,880,976,977, 978,980,985,986,989,994,1033,1034, 1035,1037,1042,1043,1046,1051,1062 ,1083,1093,1094,1095,1097,1102,110 3,1106,1111,1225 SNOPCX Scalar 5 R(4) 4 2 17955 COM 255,1208 SNOWH Local 149 R(4) 4 scalar 446,626,627,628,630,636,639,644,68 3,684,685,687,693,696,701,743,744, 745,747,753,756,761,844,976,977,97 8,980,986,989,994,1033,1034,1035,1 037,1043,1046,1051,1093,1094,1095, 1097,1103,1106,1111,1227 SOIL Common 2 1651892 SOILQM Local 150 R(4) 4 scalar 846,1229 SOILQW Local 151 R(4) 4 scalar 846,1199 SOILTB Scalar 3 R(4) 4 2 17955 COM 250,1200 SOLDN Local 152 R(4) 4 scalar 417,788,790,841,1138,1140 SPVAL Scalar 40 R(4) 4 scalar COM SQS Scalar 10 R(4) 4 1 134 COM SSROFF Scalar 5 R(4) 4 2 17955 COM 236,248,1197 SST Scalar 20 R(4) 4 2 17955 COM 395 STBOL Param 62 R(4) 4 scalar 313,1287 STC Scalar 9 R(4) 4 3 71820 COM 263,458,1234 STCK Local 100 R(4) 4 1 4 458,552,553,555,563,571,576,579,58 3,586,590,594,665,667,669,721,844, 903,904,906,914,922,927,930,934,93 7,941,945,1015,1017,1019,1071,1234 STHE Scalar 10 R(4) 4 1 76 COM STHEQ Scalar 11 R(4) 4 1 152 COM SUBPOST Scalar 2 L(4) 4 scalar COM SUBSHX Scalar 5 R(4) 4 2 17955 COM 252,1212 SURFCE Subr 1 T Scalar 5 R(4) 4 3 807975 COM 279 T0 Param 61 R(4) 4 scalar 576,586,927,937,1268 T1 Param 61 R(4) 4 scalar T1K Local 154 R(4) 4 scalar 440,612,614,676,678,768,770,844,96 2,964,1026,1028,1118,1120,1217 TBOT Local 155 R(4) 4 scalar 427,604,606,656,657,659,843,954,95 6,1006,1007,1009,1200 TDTD Scalar 5 R(4) 4 scalar COM TDTQ2 Scalar 5 R(4) 4 scalar COM TEMP1 Scalar 43 R(4) 4 2 91719 COM TEMP10 Scalar 45 R(4) 4 2 91719 COM TEMP11 Scalar 45 R(4) 4 2 91719 COM TEMP12 Scalar 45 R(4) 4 2 91719 COM TEMP13 Scalar 46 R(4) 4 2 91719 COM TEMP14 Scalar 46 R(4) 4 2 91719 COM TEMP15 Scalar 46 R(4) 4 2 91719 COM TEMP16 Scalar 46 R(4) 4 2 91719 COM TEMP2 Scalar 43 R(4) 4 2 91719 COM Page 35 Source Listing SURFCE 2014-12-17 20:47 Symbol Table SURFCE.F Name Object Declared Type Bytes Dimen Elements Attributes References TEMP2X Scalar 51 R(4) 4 2 92971 COM TEMP3 Scalar 43 R(4) 4 2 91719 COM TEMP4 Scalar 43 R(4) 4 2 91719 COM TEMP5 Scalar 44 R(4) 4 2 91719 COM TEMP6 Scalar 44 R(4) 4 2 91719 COM TEMP7 Scalar 44 R(4) 4 2 91719 COM TEMP8 Scalar 44 R(4) 4 2 91719 COM TEMP9 Scalar 45 R(4) 4 2 91719 COM TEMPCOM Common 42 6603768 TG Scalar 19 R(4) 4 2 17955 COM 427 TH10 Scalar 16 R(4) 4 2 17955 COM TH30 Scalar 14 R(4) 4 2 17955 COM THE0 Scalar 10 R(4) 4 1 76 COM THE0Q Scalar 11 R(4) 4 1 152 COM THL Scalar 7 R(4) 4 scalar COM THLM Local 90 R(4) 4 2 17955 353,438,439,1255,1268 THS Scalar 6 R(4) 4 2 17955 COM 395,397,440,1217,1255,1285 THZ0 Scalar 5 R(4) 4 2 17955 COM 1255 TLM Local 90 R(4) 4 2 17955 279,291,292,293,312,353 TLMH Local 312 R(4) 4 scalar 312,313 TOPO Common 50 17478548 TPREC Scalar 3 R(4) 4 scalar COM TRDLW Scalar 3 R(4) 4 scalar COM TRDSW Scalar 3 R(4) 4 scalar COM TRESH Param 59 R(4) 4 scalar 66,340 TSFC Local 1285 R(4) 4 scalar 1285,1286 TSFC2 Local 1286 R(4) 4 scalar 1286,1287 TSHLTR Scalar 18 R(4) 4 2 17955 COM TSRFC Scalar 3 R(4) 4 scalar COM TTBL Scalar 25 R(4) 4 2 10184 COM TTBLQ Scalar 25 R(4) 4 2 66880 COM TTVG Scalar 51 R(4) 4 2 92971 COM TWBS Scalar 9 R(4) 4 2 17955 COM 1255,1259 U Scalar 5 R(4) 4 3 807975 COM U10 Scalar 17 R(4) 4 2 17955 COM U30 Scalar 15 R(4) 4 2 17955 COM USTAR Scalar 3 R(4) 4 2 17955 COM UZ0 Scalar 4 R(4) 4 2 17955 COM V Scalar 6 R(4) 4 3 807975 COM V10 Scalar 17 R(4) 4 2 17955 COM V30 Scalar 15 R(4) 4 2 17955 COM VBM2 Scalar 3 R(4) 4 2 17955 COM VBM3 Scalar 3 R(4) 4 2 17955 COM VEGFRC Scalar 7 R(4) 4 2 17955 COM 436 VGFRCK Local 156 R(4) 4 scalar 436,536,539,729,731,843,888,891,10 79,1081 VRBLS Common 2 13143060 VTM Scalar 7 R(4) 4 3 807975 COM VZ0 Scalar 4 R(4) 4 2 17955 COM WORD Local 188 CHAR 80 scalar Z Local 157 R(4) 4 scalar 412,840,1189 Z0 Scalar 3 R(4) 4 2 17955 COM ZERO2 Subr 202 202,203,204 ZINT Dummy 1 R(4) 4 3 825930 ARG,INOUT 281 ZLM Local 86 R(4) 4 2 17955 281,412 Page 36 Source Listing SURFCE 2014-12-17 20:47 SURFCE.F 1561 C 1562 BLOCK DATA OPT 1563 COMMON /OPTIONS/ SPVAL,IBESSL,KSB,IOFFS,IFLAG,SATDEL 1564 DATA SPVAL / 99999 / 1565 DATA IBESSL / 0 / 1566 DATA KSB / 3 / 1567 DATA IOFFS / 2 / 1568 DATA IFLAG / 0 / 1569 DATA SATDEL / 0.05 / 1570 END BLOCK DATA OPT SYMBOL CROSS REFERENCE Name Object Declared Type Bytes Dimen Elements Attributes References IBESSL Scalar 1303 I(4) 4 scalar COM 1305 IFLAG Scalar 1303 I(4) 4 scalar COM 1308 IOFFS Scalar 1303 I(4) 4 scalar COM 1307 KSB Scalar 1303 I(4) 4 scalar COM 1306 OPT Block 1302 scalar OPTIONS Common 1303 24 SATDEL Scalar 1303 R(4) 4 scalar COM 1309 SPVAL Scalar 1303 R(4) 4 scalar COM 1304 Page 37 Source Listing OPT 2014-12-17 20:47 Subprograms/Common Blocks SURFCE.F SUBPROGRAMS/COMMON BLOCKS Name Object Declared Type Bytes Dimen Elements Attributes References ACMPRE Common 2 287284 ACMRDL Common 2 3662832 ACMRDS Common 2 3662832 ACMSFC Common 2 574576 CTLBLK Common 4 112 GLB_TABLE Common 37 128 LOOPS Common 2 158840 MAPPINGS Common 56 5024 MASKS Common 2 6894720 MPPCOM Common 1 1464 OPT Block 1302 scalar OPTIONS Common 40 24 OPTIONS Common 1303 24 PHYS Common 4 1788916 PVRBLS Common 2 5530140 SOIL Common 2 1651892 SURFCE Subr 1 TEMPCOM Common 42 6603768 TOPO Common 50 17478548 VRBLS Common 2 13143060 COMPILER OPTIONS BEING USED -align nocommons -align nodcommons -align noqcommons -align records -align nosequence -align norec1byte -align norec2byte -align norec4byte -align norec8byte -align norec16byte -altparam -assume accuracy_sensitive -assume nobscc -assume nobuffered_io -assume byterecl -assume nocc_omp -assume nocstring -assume nodummy_aliases -assume nofpe_summary -assume noieee_fpe_flags -assume nominus0 -assume noold_boz -assume old_unit_star -assume old_ldout_format -assume noold_logical_ldio -assume old_maxminloc -assume old_xor -assume protect_constants -assume noprotect_parens -assume split_common -assume source_include -assume nostd_intent_in -assume nostd_mod_proc_name -assume norealloc_lhs -assume underscore -assume no2underscores no -auto -auto_scalar no -bintext -ccdefault default -check noargs -check noarg_temp_created -check nobounds -check noformat -check nooutput_conversion -check nooverflow -check nopointers -check power -check noshape -check nounderflow -check nouninitialized -coarray-num-procs 0 no -coarray-config-file -convert big_endian -cross_reference -D __INTEL_COMPILER=1210 Page 38 Source Listing OPT 2014-12-17 20:47 SURFCE.F -D __unix__ -D __unix -D __linux__ -D __linux -D __gnu_linux__ -D unix -D linux -D __ELF__ -D __x86_64 -D __x86_64__ -D _MT -D __INTEL_COMPILER_BUILD_DATE=20120612 -D __i686 -D __i686__ -D __pentiumpro -D __pentiumpro__ -D __pentium4 -D __pentium4__ -D __tune_pentium4__ -D __SSE2__ -D __SSE__ -D __MMX__ -double_size 64 no -d_lines no -Qdyncom -error_limit 30 no -f66 no -f77rtl no -fast -fpscomp nofilesfromcmd -fpscomp nogeneral -fpscomp noioformat -fpscomp noldio_spacing -fpscomp nologicals -fixed no -fpconstant -fpe3 -fprm nearest no -ftz -fp_model precise -fp_model nofast -fp_model nostrict -fp_model nosource -fp_model nodouble -fp_model noextended -fp_model novery_fast -fp_model noexcept -fp_model nono_except -fp_modbits nofp_contract -fp_modbits nono_fp_contract -fp_modbits nofenv_access -fp_modbits nono_fenv_access -fp_modbits nocx_limited_range -fp_modbits nono_cx_limited_range -fp_modbits noprec_div -fp_modbits nono_prec_div -fp_modbits noprec_sqrt -fp_modbits nono_prec_sqrt -fp_modbits noftz -fp_modbits no_ftz -fp_modbits nointrin_limited_range -fp_modbits nono_intrin_limited_range -fp_modbits notrunc_compares -fp_modbits nono_trunc_compares -fp_modbits noieee_nan_compares -fp_modbits nono_ieee_nan_compares -fp_modbits nohonor_f32_conversion -fp_modbits nono_honor_f32_conversion -fp_modbits nohonor_f64_conversion -fp_modbits nono_honor_f64_conversion -fp_modbits nono_x87_copy -fp_modbits nono_no_x87_copy -fp_modbits noexception_semantics -fp_modbits nono_exception_semantics -fp_modbits noprecise_libm_functions -fp_modbits nono_precise_libm_functions -heap_arrays 0 no -threadprivate_compat -g2 -iface nomixed_str_len_arg -iface nono_mixed_str_len_arg no -intconstant -integer_size 32 no -mixed_str_len_arg no -module -names lowercase no -noinclude -O2 no -pad_source -real_size 32 no -recursive -reentrancy none no -sharable_localsaves -vec=simd -show noinclude -show map -show options no -syntax_only no -threadcom no -U no -vms -w noall -w nonone -w alignments -w noargument_checking -w nodeclarations -w general -w noignore_bounds -w noignore_loc -w nointerfaces -w notruncated_source -w uncalled -w uninitialized -w nounused Page 39 Source Listing OPT 2014-12-17 20:47 SURFCE.F -w usage -includepath : /usrx/local/intel/composerxe/tbb/include/,/usr/include/,./,/opt/ibmhpc/pe1308/mpich2/intel/include64/, /opt/ibmhpc/pe1308/base/include64/,/usrx/local/intel/composerxe/mkl/include/,/usrx/local/intel/composerxe/tbb/include/, /gpfs/tp1/usrx/local/intel/composer_xe_2011_sp1.11.339/compiler/include/intel64/,/gpfs/tp1/usrx/local/intel/composer_xe_2011_sp1.11.339/compiler/include/, /usr/local/include/,/usr/lib/gcc/x86_64-redhat-linux/4.4.7/include/,/usr/include/,/usr/include/ -list filename : SURFCE.lst -o filename : none COMPILER: Intel(R) Fortran 12.1-2100