@@ -339,6 +339,8 @@ SUBROUTINE SFCDRV(LUGB, IDIM,JDIM,LSM,LENSFC,LSOIL,DELTSFC, &
339
339
INTEGER :: IDUM(IDIM,JDIM)
340
340
integer :: num_parthds, num_threads
341
341
342
+ LOGICAL :: IS_NOAHMP= .FALSE.
343
+
342
344
real (kind= kind_io8) :: min_ice(lensfc)
343
345
344
346
REAL :: SLMASK(LENSFC), OROG(LENSFC)
@@ -475,7 +477,8 @@ SUBROUTINE SFCDRV(LUGB, IDIM,JDIM,LSM,LENSFC,LSOIL,DELTSFC, &
475
477
! READ THE INPUT SURFACE DATA ON THE CUBED-SPHERE TILE.
476
478
!- -------------------------------------------------------------------------------
477
479
478
- CALL READ_DATA(LSOIL,LENSFC,DO_NSST,.false. ,TSFFCS= TSFFCS,SMCFCS= SMCFCS, &
480
+ CALL READ_DATA(LSOIL,LENSFC,DO_NSST,.false. ,IS_NOAHMP= IS_NOAHMP, &
481
+ TSFFCS= TSFFCS,SMCFCS= SMCFCS, &
479
482
SWEFCS= SWEFCS,STCFCS= STCFCS,TG3FCS= TG3FCS,ZORFCS= ZORFCS, &
480
483
CVFCS= CVFCS, CVBFCS= CVBFCS,CVTFCS= CVTFCS,ALBFCS= ALBFCS, &
481
484
VEGFCS= VEGFCS,SLIFCS= SLIFCS,CNPFCS= CNPFCS,F10M= F10M , &
@@ -712,14 +715,24 @@ SUBROUTINE SFCDRV(LUGB, IDIM,JDIM,LSM,LENSFC,LSOIL,DELTSFC, &
712
715
! WRITE OUT UPDATED SURFACE DATA ON THE CUBED-SPHERE TILE.
713
716
!- -------------------------------------------------------------------------------
714
717
715
- CALL WRITE_DATA(SLIFCS,TSFFCS,SWEFCS,TG3FCS,ZORFCS, &
716
- ALBFCS,ALFFCS,VEGFCS,CNPFCS,F10M, &
717
- T2M,Q2M,VETFCS,SOTFCS,USTAR,FMM,FHH, &
718
- SICFCS,SIHFCS,SITFCS, &
719
- TPRCP,SRFLAG,SNDFCS, &
720
- VMNFCS,VMXFCS,SLPFCS,ABSFCS, &
721
- SLCFCS,SMCFCS,STCFCS, &
722
- IDIM,JDIM,LENSFC,LSOIL,DO_NSST,NSST)
718
+ IF (IS_NOAHMP) THEN
719
+
720
+ CALL WRITE_DATA(LENSFC,IDIM,JDIM,LSOIL,DO_NSST,NSST,VEGFCS= VEGFCS)
721
+
722
+ ELSE
723
+
724
+ CALL WRITE_DATA(LENSFC,IDIM,JDIM,LSOIL, &
725
+ DO_NSST,NSST,SLIFCS= SLIFCS,TSFFCS= TSFFCS,VEGFCS= VEGFCS, &
726
+ SWEFCS= SWEFCS,TG3FCS= TG3FCS,ZORFCS= ZORFCS, &
727
+ ALBFCS= ALBFCS,ALFFCS= ALFFCS,CNPFCS= CNPFCS, &
728
+ F10M= F10M,T2M= T2M,Q2M= Q2M,VETFCS= VETFCS, &
729
+ SOTFCS= SOTFCS,USTAR= USTAR,FMM= FMM,FHH= FHH, &
730
+ SICFCS= SICFCS,SIHFCS= SIHFCS,SITFCS= SITFCS,TPRCP= TPRCP, &
731
+ SRFLAG= SRFLAG,SWDFCS= SNDFCS,VMNFCS= VMNFCS, &
732
+ VMXFCS= VMXFCS,SLPFCS= SLPFCS,ABSFCS= ABSFCS, &
733
+ SLCFCS= SLCFCS,SMCFCS= SMCFCS,STCFCS= STCFCS)
734
+
735
+ ENDIF
723
736
724
737
IF (DO_NSST) THEN
725
738
DEALLOCATE (NSST% C_0)
0 commit comments